.insieme-checkout { --checkout-ink:#183653; --checkout-blue:#0d4087; --checkout-line:#dce8ee; color:var(--checkout-ink); padding-top:40px; padding-bottom:64px; }
.insieme-checkout .checkout-heading { max-width:760px; margin-bottom:28px; }
.insieme-checkout .checkout-eyebrow { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#526676; margin:16px 0 10px; }
.insieme-checkout h1 { color:var(--checkout-blue); font-size:clamp(28px,3.4vw,42px); line-height:1.18; letter-spacing:-.025em; margin-bottom:16px; }
.insieme-checkout h2 { font-size:21px; color:var(--checkout-ink); line-height:1.4; margin:0 0 16px; }
.insieme-checkout p { line-height:1.6; }
.insieme-checkout .checkout-back,.insieme-checkout .checkout-help a { color:var(--checkout-blue); text-decoration:underline; text-underline-offset:4px; }
.insieme-checkout .checkout-progress { display:flex; gap:28px; padding:18px 0; margin:0 0 28px; list-style:none; border-block:1px solid var(--checkout-line); }
.insieme-checkout .checkout-progress li,.insieme-checkout .checkout-progress a { display:flex; gap:10px; align-items:center; color:#526676; }
.insieme-checkout .checkout-progress span,.insieme-checkout .checkout-section-icon { display:inline-grid; place-items:center; width:30px; height:30px; flex-shrink:0; border-radius:50%; background:#edf4fa; font-size:14px; }
.insieme-checkout .checkout-progress [aria-current] { color:var(--checkout-blue); font-weight:700; }
.insieme-checkout .checkout-progress [aria-current] span { background:var(--checkout-blue); color:#fff; }
.insieme-checkout .checkout-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr); gap:32px; align-items:start; }
.insieme-checkout .checkout-sections { display:grid; gap:20px; min-width:0; }
.insieme-checkout .checkout-card,.insieme-checkout .checkout-summary { border:1px solid var(--checkout-line); border-radius:18px; background:white; padding:28px; }
.insieme-checkout .checkout-card h2 { display:flex; align-items:center; gap:12px; }
.insieme-checkout .checkout-card > p { color:#526676; font-size:15px; }
.insieme-checkout .checkout-choices { display:grid; gap:10px; border:0; padding:0; margin:0 0 20px; min-width:0; }
.insieme-checkout .checkout-choice { display:flex; align-items:flex-start; gap:14px; padding:16px; border:1px solid #bdcfdc; border-radius:12px; cursor:pointer; background:white; margin:0; transition:background .15s,border-color .15s; }
.insieme-checkout .checkout-choice:has(input:checked) { border-color:var(--checkout-blue); background:#edf5fa; box-shadow:inset 0 0 0 1px var(--checkout-blue); }
.insieme-checkout .checkout-choice input { accent-color:var(--checkout-blue); width:19px; height:19px; min-width:19px; margin:3px 0 0; }
.insieme-checkout .checkout-choice strong,.insieme-checkout .checkout-choice small { display:block; }
.insieme-checkout .checkout-choice small { margin-top:5px; color:#526676; font-size:13px; line-height:1.5; font-weight:400; }
.insieme-checkout .form-control,.insieme-checkout .form-select,.insieme-checkout select { font-size:16px; border:1px solid #bdcfdc; border-radius:10px; min-height:48px; padding:10px 12px; max-width:100%; }
.insieme-checkout textarea.form-control { min-height:100px; height:110px; }
.insieme-checkout .form-label,.insieme-checkout label:not(.checkout-choice) { font-size:15px; }
.insieme-checkout .checkout-address-actions { display:flex; flex-wrap:wrap; gap:8px 20px; }
.insieme-checkout .checkout-address-actions button { background:none; border:0; color:var(--checkout-blue); padding:8px 0; min-height:44px; text-decoration:underline; text-underline-offset:4px; font-size:14px; }
.insieme-checkout .checkout-aside { position:sticky; top:28px; }
.insieme-checkout .checkout-summary { background:#f1f6f9; border-color:#e3edf2; }
.insieme-checkout .checkout-summary .checkout-eyebrow { margin-top:0; }
.insieme-checkout .checkout-items { list-style:none; padding:0; margin:0 0 24px; }
.insieme-checkout .checkout-items li { display:flex; gap:16px; justify-content:space-between; border-bottom:1px solid var(--checkout-line); padding:14px 0; font-size:14px; }
.insieme-checkout .checkout-items small { display:block; color:#526676; margin-top:5px; }
.insieme-checkout .checkout-items strong { white-space:nowrap; font-size:14px; }
.insieme-checkout .checkout-amounts { margin:0; }
.insieme-checkout .checkout-amounts > div { display:flex; gap:16px; justify-content:space-between; padding:8px 0; }
.insieme-checkout .checkout-amounts dt { font-weight:400; }
.insieme-checkout .checkout-amounts dd { margin:0; text-align:right; white-space:nowrap; }
.insieme-checkout .checkout-total { border-top:1px solid var(--checkout-line); margin-top:10px; }
.insieme-checkout .checkout-total dt,.insieme-checkout .checkout-total dd { font-weight:700; }
.insieme-checkout .checkout-amounts .checkout-due { background:#fff; padding:16px; margin:16px -12px; border-radius:12px; color:var(--checkout-blue); font-size:18px; }
.insieme-checkout .checkout-due dt,.insieme-checkout .checkout-due dd { font-weight:700; }
.insieme-checkout .checkout-note,.insieme-checkout .checkout-help { color:#526676; font-size:13px; line-height:1.6; margin:16px 0 0; }
.insieme-checkout summary { cursor:pointer; padding:12px 0; font-weight:600; }
.insieme-checkout summary span { font-weight:400; color:#526676; }
.insieme-checkout .checkout-tax { font-size:13px; margin-top:16px; border-top:1px solid var(--checkout-line); }
.insieme-checkout .checkout-final details { margin-bottom:20px; }
.insieme-checkout .btn-primary { background:var(--checkout-blue); border-color:var(--checkout-blue); border-radius:10px; text-transform:none; letter-spacing:0; }
.insieme-checkout .btn-primary:hover { background:#173354; }
.insieme-checkout .checkout-confirm { width:100%; min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }
.insieme-checkout :focus-visible { outline:3px solid #016db6; outline-offset:4px; }
.insieme-checkout .checkout-status { min-height:24px; font-size:14px; margin:12px 0 0; }
.insieme-checkout .checkout-status[data-error='true'] { color:#9e2834; }
.insieme-checkout [hidden] { display:none!important; }
.insieme-checkout [aria-busy='true'] { opacity:.65; }
.insieme-checkout .camp-steps li { border-radius:20px; font-size:14px; }
.insieme-checkout .camp-participant { border-radius:12px; }
.insieme-checkout .camp-checkout-layout { grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr); gap:32px; }
.insieme-checkout .camp-checkout-layout .card { border:1px solid var(--checkout-line); border-radius:18px; }
.insieme-checkout .camp-checkout-layout aside { align-self:start; position:sticky; top:28px; }
.insieme-checkout .checkout__totals,.insieme-checkout .shopping-cart__totals { border:1px solid var(--checkout-line); border-radius:18px; padding:24px; background:#f1f6f9; width:100%; }
.insieme-checkout .checkout-steps__item-number { color:var(--checkout-blue); }
.insieme-checkout .checkout-steps { margin-bottom:28px; }
.insieme-checkout .page-title { margin-bottom:24px; }
.insieme-checkout .order-complete { max-width:940px; margin:auto; }
.insieme-checkout .order-info { border-radius:16px; background:#f1f6f9; }
.insieme-checkout .checkout-address-form { max-width:760px; margin:auto; }
.insieme-checkout .checkout-address-form .btn { margin-top:16px; }
@media(max-width:991px) { .insieme-checkout .checkout-layout,.insieme-checkout .camp-checkout-layout { grid-template-columns:minmax(0,1fr); } .insieme-checkout .checkout-aside,.insieme-checkout .camp-checkout-layout aside { position:static; } .insieme-checkout .checkout-aside { grid-row:1; } .insieme-checkout .checkout-summary { padding:20px; } }
@media(max-width:575px) { .insieme-checkout { padding-top:24px; padding-bottom:36px; } .insieme-checkout .checkout-card { padding:20px 16px; } .insieme-checkout .checkout-progress { gap:14px; font-size:13px; } .insieme-checkout .checkout-progress li,.insieme-checkout .checkout-progress a { gap:6px; } .insieme-checkout .checkout-progress span { width:24px; height:24px; } .insieme-checkout h2 { font-size:19px; } .insieme-checkout .checkout-items li { gap:10px; } .insieme-checkout .checkout-amounts .checkout-due { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .insieme-checkout * { transition:none!important; } }

.insieme-checkout .checkout-payment-summary {
  margin: 1.5rem 0;
  padding: 1rem;
  background: #f3f7fc;
  border-radius: 12px;
}
.insieme-checkout .checkout-payment-summary > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .5rem 0;
}
.insieme-checkout .checkout-payment-summary dd {
  margin: 0;
  text-align: right;
  flex-shrink: 0;
}
