/* Parlo AOV Boost — front. Kody wizualne sterowane przez --pab-navy / --pab-gold. */
:root{ --pab-navy:#0A1F44; --pab-gold:#C8A028; }

/* ===== Order Bump =====
   Klasa High-Ticket: granat (Deep Navy) jako TŁO, stare złoto (Old Gold)
   jako akcent — ramka przerywana, checkbox, cena. */
.pab-bump{
	position:relative;
	border:2px dashed var(--pab-gold);
	background:var(--pab-navy);
	color:#fff;
	border-radius:10px;
	margin:18px 0;
	padding:0;
	transition:box-shadow .2s, border-color .2s;
}
.pab-bump--on{
	border-style:solid;
	box-shadow:0 0 0 3px rgba(200,160,40,.35);
}
.pab-bump__inner{
	display:flex;
	align-items:center;
	gap:14px;
	padding:16px 18px;
	cursor:pointer;
	margin:0;
}
/* Twarde ukrycie natywnego checkboxa — motyw (BuddyBoss) wymusza własny
   niebieski styl na input[type=checkbox], więc neutralizujemy go bezwzględnie. */
.pab-bump__check,
.pab-bump .pab-bump__check[type="checkbox"]{
	position:absolute !important;
	width:1px !important; height:1px !important;
	opacity:0 !important;
	-webkit-appearance:none !important; appearance:none !important;
	background:none !important; border:0 !important; box-shadow:none !important;
	margin:0 !important; padding:0 !important;
	pointer-events:none !important;
}
.pab-bump__box{
	flex:0 0 24px; width:24px; height:24px;
	border:2px solid var(--pab-gold);
	border-radius:5px; background:transparent;
	position:relative; transition:background .15s;
	color:var(--pab-navy) !important; /* nadpisz --bb-primary-color dla ::before motywu */
}
/* Motyw (BuddyBoss/Woo) rysuje własny niebieski ptaszek jako ::before na span
   następującym po inpucie. Neutralizujemy go całkowicie — rysujemy własny. */
.pab-bump__box::before{
	content:none !important;
	display:none !important;
}
.pab-bump__check:checked + .pab-bump__box{ background:var(--pab-gold) !important; border-color:var(--pab-gold) !important; }
.pab-bump__check:checked + .pab-bump__box::after{
	content:"" !important; position:absolute; left:7px; top:3px;
	width:6px !important; height:11px !important;
	border:solid var(--pab-navy) !important; border-width:0 3px 3px 0 !important;
	background:none !important;
	transform:rotate(45deg);
}
.pab-bump__media img{ width:56px; height:56px; object-fit:cover; border-radius:6px; display:block; border:1px solid rgba(200,160,40,.4); }
.pab-bump__text{ display:flex; flex-direction:column; gap:3px; line-height:1.35; }
.pab-bump__headline{ font-weight:700; color:var(--pab-gold); font-size:15px; letter-spacing:.2px; }
.pab-bump__desc{ font-size:13px; color:rgba(255,255,255,.78); }
.pab-bump__product{ font-size:14px; color:#fff; margin-top:2px; }
.pab-bump__price{ color:var(--pab-gold); font-weight:700; }
.pab-bump__spinner{
	display:none; position:absolute; right:14px; top:14px;
	width:18px; height:18px; border:2px solid var(--pab-gold);
	border-top-color:transparent; border-radius:50%;
	animation:pab-spin .7s linear infinite;
}
.pab-bump.is-loading .pab-bump__spinner{ display:block; }
.pab-bump.is-loading .pab-bump__inner{ opacity:.5; pointer-events:none; }
@keyframes pab-spin{ to{ transform:rotate(360deg); } }

/* ===== One-Time Offer ===== */
.pab-oto{ margin:26px 0 34px; }
.pab-oto__badge{
	display:inline-block; background:var(--pab-gold); color:var(--pab-navy);
	font-weight:700; font-size:14px; letter-spacing:.3px; line-height:1.2;
	padding:10px 22px;
	border-radius:12px 12px 0 0;
	margin:0 0 -2px 18px;       /* wsunięcie w kartę, brak szczeliny */
	position:relative; z-index:1;
}
.pab-oto__card{
	display:flex; gap:22px; align-items:center; flex-wrap:wrap;
	background:var(--pab-navy); color:#fff;
	border-radius:14px; padding:24px 26px;
	box-shadow:0 14px 40px rgba(10,31,68,.28);
}
.pab-oto__media img{ width:150px; height:auto; border-radius:10px; display:block; }
.pab-oto__body{ flex:1; min-width:240px; }
.pab-oto__title{ color:#fff; margin:0 0 6px; font-size:20px; }
.pab-oto__desc{ color:rgba(255,255,255,.8); margin:0 0 12px; font-size:14px; }
.pab-oto__price{ font-size:22px; margin:0 0 16px; }
.pab-oto__price del{ color:rgba(255,255,255,.55); font-size:16px; margin-right:10px; }
.pab-oto__price strong{ color:var(--pab-gold); }
.pab-oto__btn{
	display:inline-block; background:var(--pab-gold); color:var(--pab-navy)!important;
	font-weight:700; font-size:16px; text-decoration:none;
	padding:14px 28px; border-radius:8px; transition:transform .12s, filter .12s;
}
.pab-oto__btn:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.pab-oto__skip{ color:rgba(255,255,255,.55); font-size:12px; margin:12px 0 0; }

@media(max-width:560px){
	.pab-oto__card{ flex-direction:column; text-align:center; }
	.pab-oto__btn{ width:100%; }
}

/* ===== Cross-selling (strona koszyka) =====
   Odwrotnie niż Order Bump: jasna karta z granatową typografią i złotym
   akcentem — sekcja ma wspierać koszyk, nie krzyczeć głośniej niż on. */
.pab-xsell{
	margin:28px 0 32px;
	padding:22px 24px;
	border:1px solid rgba(10,31,68,.12);
	border-top:3px solid var(--pab-gold);
	border-radius:12px;
	background:#fff;
	box-shadow:0 6px 24px rgba(10,31,68,.07);
}
.pab-xsell__head{ margin-bottom:18px; }
.pab-xsell__headline{
	display:block;
	color:var(--pab-navy);
	font-weight:700;
	font-size:17px;
	letter-spacing:.2px;
	line-height:1.3;
}
.pab-xsell__desc{
	display:block;
	color:rgba(10,31,68,.62);
	font-size:13px;
	margin-top:4px;
	line-height:1.45;
}

.pab-xsell__grid{
	display:grid;
	/* max 220px na kolumnę — przy 1-2 produktach karty NIE rozciągają się
	   na całą szerokość koszyka (okładki to wysokie plakaty). */
	grid-template-columns:repeat(auto-fit,minmax(160px,220px));
	justify-content:center;
	gap:18px;
}
.pab-xsell__item{
	display:flex;
	flex-direction:column;
	position:relative;
	border:1px solid rgba(10,31,68,.1);
	border-radius:10px;
	padding:14px;
	background:#fff;
	transition:border-color .15s, box-shadow .15s, transform .15s;
}
.pab-xsell__item:hover{
	border-color:var(--pab-gold);
	box-shadow:0 8px 20px rgba(10,31,68,.1);
	transform:translateY(-2px);
}
.pab-xsell__media{
	display:block; position:relative;
	border-radius:8px; overflow:hidden;
	margin-bottom:10px; line-height:0;
}
.pab-xsell__media img{
	width:100% !important; display:block;
	/* Kadrujemy do panoramy — okładki produktów bywają bardzo wysokie,
	   bez tego jedna karta zajmowała pół ekranu. */
	aspect-ratio:16/10;
	height:auto !important; max-height:140px;
	object-fit:cover; object-position:center top;
}
.pab-xsell__badge{
	position:absolute; top:8px; left:8px;
	background:var(--pab-gold); color:var(--pab-navy);
	font-size:11px; font-weight:700; letter-spacing:.4px;
	text-transform:uppercase;
	padding:3px 9px; border-radius:4px; line-height:1.4;
}
.pab-xsell__name{
	color:var(--pab-navy) !important;
	font-weight:600; font-size:14px; line-height:1.35;
	text-decoration:none;
	margin-bottom:8px;
	display:block;
}
.pab-xsell__name:hover{ color:var(--pab-gold) !important; }
.pab-xsell__price{
	font-size:15px; color:var(--pab-navy);
	margin:0 0 12px; margin-top:auto;
}
.pab-xsell__price del{
	color:rgba(10,31,68,.45);
	font-size:13px; margin-right:6px; font-weight:400;
}
.pab-xsell__price strong{ color:var(--pab-navy); font-weight:700; }
.pab-xsell__price .amount{ white-space:nowrap; }

/* Przycisk — nadpisujemy motyw (BuddyBoss narzuca własny styl na button). */
.pab-xsell .pab-xsell__btn,
.pab-xsell button.pab-xsell__btn{
	position:relative;
	display:block; width:100%;
	background:var(--pab-navy) !important;
	color:#fff !important;
	border:0 !important;
	border-radius:7px !important;
	font-weight:700 !important;
	font-size:14px !important;
	line-height:1.2 !important;
	padding:11px 14px !important;
	cursor:pointer;
	text-transform:none !important;
	transition:background .15s, filter .15s;
	min-height:0 !important;
	box-shadow:none !important;
}
.pab-xsell .pab-xsell__btn:hover{
	background:var(--pab-gold) !important;
	color:var(--pab-navy) !important;
}

/* Stan ładowania — spinner zamiast etykiety. */
.pab-xsell__item.is-loading .pab-xsell__btn{ pointer-events:none; opacity:.75; }
.pab-xsell__item.is-loading .pab-xsell__btn-label{ visibility:hidden; }
.pab-xsell__item.is-loading .pab-xsell__btn::after{
	content:""; position:absolute; left:50%; top:50%;
	width:16px; height:16px; margin:-8px 0 0 -8px;
	border:2px solid rgba(255,255,255,.9); border-top-color:transparent;
	border-radius:50%;
	animation:pab-spin .7s linear infinite;
}

/* Stan dodany — złote potwierdzenie, przycisk nieaktywny. */
.pab-xsell__item.is-added{ border-color:var(--pab-gold); }
.pab-xsell .pab-xsell__item.is-added .pab-xsell__btn,
.pab-xsell .pab-xsell__item.is-added button.pab-xsell__btn{
	background:var(--pab-gold) !important;
	color:var(--pab-navy) !important;
	pointer-events:none;
}

/* Komunikat błędu (np. produkt zniknął z oferty). */
.pab-xsell__error{
	color:#b32d2e; font-size:12px; line-height:1.4;
	margin:8px 0 0; display:none;
}
.pab-xsell__item.has-error .pab-xsell__error{ display:block; }

@media(max-width:480px){
	.pab-xsell{ padding:18px 16px; }
	.pab-xsell__grid{ grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
	.pab-xsell__item{ padding:10px; }
}
