/* IBS Product Add-ons. Uses the IBS template tokens when present, with fallbacks. */
.ibs-pa{border:0;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.ibs-pa__legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--ibs-slate-400,#94a3b8);margin:0 0 10px;padding:0}
.ibs-pa__row{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px;border:2px solid var(--ibs-line,#e2e8f0);border-radius:12px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}
.ibs-pa__row:hover{border-color:#cbd5e1}
.ibs-pa__row input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ibs-pa__box{flex:none;width:20px;height:20px;margin-top:1px;border:2px solid #cbd5e1;border-radius:6px;transition:.15s}
.ibs-pa__text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ibs-pa__label{font-size:14px;font-weight:700;color:var(--ibs-navy,#1a2332)}
.ibs-pa__note{font-size:12px;color:var(--ibs-slate-500,#64748b)}
.ibs-pa__price,.ibs-pa__price .amount{font-size:14px;font-weight:700;color:var(--ibs-magenta,#a1318a);white-space:nowrap}
.ibs-pa__row:has(input:checked){border-color:var(--ibs-magenta,#a1318a);background:var(--ibs-magenta-soft,#f7eef6)}
.ibs-pa__row:has(input:checked) .ibs-pa__box{border-color:var(--ibs-magenta,#a1318a);background:var(--ibs-magenta,#a1318a) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat}
.ibs-pa__row:has(input:focus-visible){outline:2px solid var(--ibs-magenta,#a1318a);outline-offset:2px}

/* ---- Total label + breakdown (shown only when an add-on is ticked) ---- */
.ibs-pa-total-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--ibs-magenta,#a1318a);line-height:1;margin:0 0 4px;text-align:right}
.ibs-pa-breakdown{display:block;font-size:12px;font-weight:500;color:var(--ibs-slate-500,#64748b);margin-top:4px;text-align:right;white-space:nowrap}
.ibs-pa-is-total{transition:color .15s}

/* Column holding label / price / breakdown. Right-aligned in the IBS buy box,
   left-aligned on standard WooCommerce pages where the price sits left. */
.ibs-pa-pricecol{display:flex;flex-direction:column;align-items:flex-end;flex:none}
.ibs-pa-pricecol > .ibs-buybox__price{margin:0}
.summary .ibs-pa-pricecol,.entry-summary .ibs-pa-pricecol{align-items:flex-start}
.summary .ibs-pa-total-label,.summary .ibs-pa-breakdown,
.entry-summary .ibs-pa-total-label,.entry-summary .ibs-pa-breakdown{text-align:left}
/* Range-page buy cards stack the head vertically, so align left there too */
.ibs-range-buy .ibs-pa-pricecol{align-items:flex-start}
.ibs-range-buy .ibs-pa-total-label,.ibs-range-buy .ibs-pa-breakdown{text-align:left}
