/* VCG Slab Party public styles — deliberately scoped to plugin markup only. */
.vcg-sp-page,
.vcg-sp-page * { box-sizing: border-box; }
.vcg-sp-page {
  --vcg-sp-navy: #101A2C;
  --vcg-sp-navy-2: #29334A;
  --vcg-sp-purple: #7C3AED;
  --vcg-sp-purple-light: #9B5CFF;
  --vcg-sp-gray: #F3F4F6;
  --vcg-sp-text: #111827;
  margin: 0;
  padding: clamp(30px,5vw,68px) 20px clamp(54px,7vw,90px);
  color: var(--vcg-sp-text);
  background: #fff;
  font-family: Inter, "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.vcg-sp-shell { width: min(1080px, 100%); margin: 0 auto; }
.vcg-sp-hero { padding: clamp(36px,6vw,76px) clamp(22px,6vw,78px) 28px; overflow: hidden; text-align: center; color: #fff; border-radius: 24px; background: radial-gradient(circle at 65% 0%, rgba(124,58,237,.23), transparent 35%), linear-gradient(135deg, #121f34 0%, #0d1728 100%); box-shadow: 0 22px 55px rgba(16,26,44,.16); }
.vcg-sp-eyebrow { margin: 0 0 12px; color: #AFBBD0; font-size: 12px; font-weight: 800; letter-spacing: .17em; line-height: 1.25; text-transform: uppercase; }
.vcg-sp-hero h1,
.vcg-sp-submission h1 { margin: 0; color: inherit; font-size: clamp(42px,7.4vw,78px); font-weight: 850; line-height: .98; letter-spacing: .02em; text-transform: uppercase; }
.vcg-sp-offer { margin: 18px 0 8px; color: #fff; font-size: clamp(28px,4.6vw,48px); font-weight: 800; line-height: 1.1; text-transform: uppercase; }
.vcg-sp-tagline { margin: 0 0 27px; color: #C6D0E1; font-size: clamp(17px,2.25vw,24px); }
.vcg-sp-status-panel { width: min(780px,100%); margin: 0 auto 19px; padding: 22px 28px; border: 1px solid rgba(255,255,255,.07); border-radius: 19px; background: rgba(52,65,89,.72); box-shadow: 0 1px 0 rgba(255,255,255,.04) inset; }
.vcg-sp-status-title { margin: 0 0 14px; color: #fff; font-size: clamp(17px,2vw,23px); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.vcg-sp-time-grid { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: clamp(8px,2vw,24px); }
.vcg-sp-time-grid div { display: grid; gap: 4px; }
.vcg-sp-time-grid strong { color: #fff; font-family: Georgia, serif; font-size: clamp(38px,6.5vw,68px); font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.vcg-sp-time-grid b { color: #E8EAF0; font-family: Georgia, serif; font-size: clamp(27px,4.7vw,45px); }
.vcg-sp-time-grid span { color: #D1D8E5; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.vcg-sp-availability-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; color: #fff; font-size: 20px; font-weight: 800; text-transform: uppercase; }
.vcg-sp-availability-head strong { font-family: Georgia, serif; font-size: clamp(28px,4vw,42px); font-weight: 600; font-variant-numeric: tabular-nums; }
.vcg-sp-progress { height: 16px; margin: 17px 0 14px; overflow: hidden; border-radius: 99px; background: #657086; }
.vcg-sp-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7C3AED, #A75BFF); transition: width .25s ease-out; }
.vcg-sp-availability p,
.vcg-sp-message-panel > p:last-child { margin: 0; color: #D4DBE6; font-size: 15px; line-height: 1.5; }
.vcg-sp-claim,
.vcg-sp-claim:visited,
.vcg-sp-claim:hover,
.vcg-sp-claim:focus,
.vcg-sp-claim:active { color: #fff !important; text-decoration: none !important; }
.vcg-sp-claim { display: inline-flex; width: min(780px,100%); min-height: 68px; align-items: center; justify-content: center; padding: 14px 22px; border: 0; border-radius: 999px; color: #fff; background: linear-gradient(90deg, #7130EE, #934AFF); box-shadow: 0 12px 25px rgba(84,39,190,.28); cursor: pointer; font: inherit; font-size: clamp(20px,2.6vw,28px); font-weight: 850; letter-spacing: .01em; text-transform: uppercase; transition: background .18s ease, transform .18s cubic-bezier(.23,1,.32,1), box-shadow .18s ease; }
.vcg-sp-claim:hover { transform: translateY(-2px); background: linear-gradient(90deg, #8243F2, #A45DFF); box-shadow: 0 16px 30px rgba(84,39,190,.36); }
.vcg-sp-claim:active { transform: scale(.98); }
.vcg-sp-claim--disabled { cursor: not-allowed; opacity: .72; box-shadow: none; }
.vcg-sp-claim--disabled:hover { transform: none; }
.vcg-sp-claim-form { margin: 0; }
.vcg-sp-shipping-line { margin: 18px 0 0; color: #C7D0DF; font-size: 16px; }
.vcg-sp-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 24px 0; }
.vcg-sp-steps article { min-height: 187px; padding: 24px 20px; text-align: center; border-radius: 17px; background: var(--vcg-sp-gray); }
.vcg-sp-step-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 16px; border: 3px solid #101A2C; border-radius: 11px; color: #101A2C; font-size: 30px; font-weight: 700; line-height: 1; }
.vcg-sp-steps h2 { margin: 0 0 7px; color: #101A2C; font-size: clamp(20px,2.3vw,25px); line-height: 1.15; }
.vcg-sp-steps p { max-width: 160px; margin: 0 auto; color: #3B4558; font-size: 16px; line-height: 1.43; }
.vcg-sp-details,
.vcg-sp-faq,
.vcg-sp-notify,
.vcg-sp-submission { margin-top: 24px; padding: clamp(26px,4vw,43px); border-radius: 19px; background: var(--vcg-sp-gray); }
.vcg-sp-details h2,
.vcg-sp-faq h2,
.vcg-sp-notify h2 { margin: 0 0 16px; color: #101A2C; font-size: clamp(25px,3.4vw,33px); line-height: 1.1; }
.vcg-sp-details ul { margin: 0; padding-left: 24px; }
.vcg-sp-details li { margin: 7px 0; color: #273246; font-size: 16px; line-height: 1.42; }
.vcg-sp-faq { padding-bottom: 26px; }
.vcg-sp-accordion { overflow: hidden; border: 1px solid #E2E4E9; border-radius: 12px; background: #fff; }
.vcg-sp-accordion details + details { border-top: 1px solid #E2E4E9; }
.vcg-sp-accordion summary { position: relative; padding: 18px 52px 18px 20px; cursor: pointer; color: #182338; font-size: 17px; font-weight: 650; list-style: none; }
.vcg-sp-accordion summary::-webkit-details-marker { display: none; }
.vcg-sp-accordion summary:after { position: absolute; right: 21px; content: '+'; color: #101A2C; font-size: 25px; font-weight: 400; line-height: .7; }
.vcg-sp-accordion details[open] summary:after { content: '–'; }
.vcg-sp-accordion details > div { padding: 0 20px 18px; color: #425069; font-size: 15px; line-height: 1.56; }
.vcg-sp-accordion p { margin: 0; }
.vcg-sp-notify { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: clamp(22px,5vw,65px); align-items: center; border: 1px solid #E5E7EB; background: #fff; box-shadow: 0 10px 30px rgba(16,26,44,.07); }
.vcg-sp-notify .vcg-sp-eyebrow { color: #7C3AED; }
.vcg-sp-notify p { margin: 0; color: #475569; font-size: 16px; line-height: 1.5; }
.vcg-sp-notify form { display: grid; gap: 11px; }
.vcg-sp-notify input[type="email"] { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #CDD4DF; border-radius: 9px; color: #101A2C; font: inherit; }
.vcg-sp-notify button { min-height: 50px; border: 0; border-radius: 9px; color: #fff; background: #7C3AED; cursor: pointer; font: inherit; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.vcg-sp-consent { display: flex; align-items: flex-start; gap: 9px; color: #475569; font-size: 13px; line-height: 1.4; }
.vcg-sp-consent input { margin-top: 3px; accent-color: #7C3AED; }
.vcg-sp-form-success { color: #276749 !important; font-weight: 700; }
.vcg-sp-submission { color: #101A2C; background: #fff; border: 1px solid #E5E7EB; box-shadow: 0 10px 30px rgba(16,26,44,.07); }
.vcg-sp-submission h1 { color: #101A2C; font-size: clamp(35px,5vw,58px); }
.vcg-sp-submission-form { margin-top: 30px; }
.vcg-sp-submission-form fieldset { margin: 16px 0; padding: 20px; border: 1px solid #DCE1EA; border-radius: 12px; }
.vcg-sp-submission-form legend { padding: 0 7px; color: #101A2C; font-size: 18px; font-weight: 800; }
.vcg-sp-card-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.vcg-sp-card-fields label { display: grid; gap: 6px; color: #344156; font-size: 13px; font-weight: 700; }
.vcg-sp-card-fields input,
.vcg-sp-card-fields select,
.vcg-sp-card-fields textarea { width: 100%; min-height: 41px; padding: 8px 10px; border: 1px solid #C9D0DB; border-radius: 7px; color: #101A2C; background: #fff; font: inherit; }
.vcg-sp-card-fields textarea { min-height: 72px; resize: vertical; }
.vcg-sp-full { grid-column: 1 / -1; }
.vcg-sp-eligibility { margin: 18px 0; padding: 14px; border-left: 4px solid #7C3AED; color: #39475D; background: #F6F3FF; font-size: 14px; line-height: 1.5; }
.vcg-sp-final-notice,
.vcg-sp-admin-message { margin: 20px auto; padding: 18px 20px; border-radius: 12px; color: #1E5631; background: #F0FFF4; font-family: Inter, "DM Sans", sans-serif; }
.vcg-sp-admin-message { width: min(760px,calc(100% - 40px)); color: #553C9A; background: #FAF5FF; }
.vcg-sp-page :focus-visible { outline: 3px solid #7C3AED; outline-offset: 3px; }
@media (max-width: 720px) { .vcg-sp-page { padding: 20px 14px 48px; } .vcg-sp-hero { border-radius: 18px; } .vcg-sp-status-panel { padding: 18px 13px; } .vcg-sp-time-grid { gap: 5px; } .vcg-sp-time-grid b { font-size: 25px; } .vcg-sp-time-grid strong { font-size: clamp(31px,9vw,45px); } .vcg-sp-time-grid span { font-size: 8px; letter-spacing: .05em; } .vcg-sp-steps { gap: 10px; } .vcg-sp-steps article { min-height: 169px; padding: 19px 9px; } .vcg-sp-steps p { font-size: 14px; } .vcg-sp-step-icon { width: 39px; height: 39px; margin-bottom: 12px; font-size: 24px; } .vcg-sp-notify { grid-template-columns: 1fr; } .vcg-sp-card-fields { grid-template-columns: 1fr; } .vcg-sp-full { grid-column: auto; } }
@media (max-width: 430px) { .vcg-sp-steps { grid-template-columns: 1fr; } .vcg-sp-steps article { min-height: 0; } .vcg-sp-time-grid { grid-template-columns: 1fr auto 1fr; row-gap: 10px; } .vcg-sp-time-grid div:nth-of-type(3) { grid-column: 1; } .vcg-sp-time-grid b:nth-of-type(2) { display: none; } .vcg-sp-time-grid b:nth-of-type(3) { grid-column: 2; grid-row: 2; } .vcg-sp-time-grid div:nth-of-type(4) { grid-column: 3; } }
@media (prefers-reduced-motion: reduce) { .vcg-sp-claim, .vcg-sp-progress i { transition: none; } }


/* VCG checkout layer — scoped to WooCommerce checkout only; no checkout logic is changed. */
body.woocommerce-checkout {
  --vcg-checkout-navy: #0A0E1A;
  --vcg-checkout-navy-2: #0D1529;
  --vcg-checkout-blue: #2563EB;
  --vcg-checkout-orange: #F97316;
  --vcg-checkout-ink: #17233D;
  --vcg-checkout-muted: #64748B;
  --vcg-checkout-line: #DDE5F0;
  --vcg-checkout-surface: #FFFFFF;
  --vcg-checkout-canvas: #F4F7FC;
  background: var(--vcg-checkout-canvas);
}
body.woocommerce-checkout .site-content,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout .ast-container {
  max-width: none;
}
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .page-header { display: none; }
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce { max-width: 1180px; margin: 0 auto; }
body.woocommerce-checkout .entry-content {
  padding: clamp(28px, 5vw, 72px) 20px clamp(52px, 7vw, 92px);
}
body.woocommerce-checkout .woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: start;
}
body.woocommerce-checkout .woocommerce-checkout:before,
body.woocommerce-checkout .woocommerce-checkout:after { display: none !important; }
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review {
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid var(--vcg-checkout-line);
  border-radius: 18px;
  background: var(--vcg-checkout-surface);
  box-shadow: 0 18px 42px rgba(10, 14, 26, .08);
}
body.woocommerce-checkout #customer_details { width: auto; margin: 0; }
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
body.woocommerce-checkout #customer_details .col-2 { margin-top: 22px; }
body.woocommerce-checkout #order_review_heading {
  margin: 0 0 16px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--vcg-checkout-line);
  color: var(--vcg-checkout-navy);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1;
  text-transform: uppercase;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #ship-to-different-address label {
  margin: 0 0 20px;
  color: var(--vcg-checkout-navy);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(27px, 3vw, 37px);
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1;
  text-transform: uppercase;
}
body.woocommerce-checkout .form-row { margin: 0 0 16px; }
body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .woocommerce-form__label { margin: 0 0 7px; color: var(--vcg-checkout-ink); font-family: "DM Sans", Arial, sans-serif; font-size: 13px; font-weight: 800; letter-spacing: .025em; }
body.woocommerce-checkout .form-row .required { color: var(--vcg-checkout-orange); }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection,
body.woocommerce-checkout .woocommerce-input-wrapper > input,
body.woocommerce-checkout .woocommerce-input-wrapper > textarea {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #C9D5E5;
  border-radius: 9px;
  color: var(--vcg-checkout-ink);
  background: #FFFFFF;
  box-shadow: none;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.3;
  transition: border-color .18s ease, box-shadow .18s ease;
}
body.woocommerce-checkout .form-row textarea { min-height: 108px; resize: vertical; }
body.woocommerce-checkout .select2-container .select2-selection { display: flex; align-items: center; height: 48px; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 0; color: var(--vcg-checkout-ink); line-height: 1.3; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 11px; right: 10px; }
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .select2-container--open .select2-selection,
body.woocommerce-checkout .select2-container--focus .select2-selection {
  border-color: var(--vcg-checkout-blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}
body.woocommerce-checkout #order_review { position: sticky; top: 28px; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table { margin: 0 0 20px; border: 0; font-family: "DM Sans", Arial, sans-serif; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table td { padding: 14px 0; border: 0; border-bottom: 1px solid #E8EDF4; color: var(--vcg-checkout-ink); }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th { color: var(--vcg-checkout-muted); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-name { font-weight: 800; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .cart-subtotal td,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td { font-weight: 800; text-align: right; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td { padding-top: 20px; border-bottom: 0; color: var(--vcg-checkout-navy); font-size: 19px; }
body.woocommerce-checkout #payment {
  padding: 18px;
  border: 1px solid #D6E0ED;
  border-radius: 13px;
  background: #F7FAFE;
}
body.woocommerce-checkout #payment ul.payment_methods { padding: 0; border-bottom: 0; }
body.woocommerce-checkout #payment ul.payment_methods li { padding: 9px 0; }
body.woocommerce-checkout #payment .payment_box { margin: 12px 0 0; border-radius: 10px; color: #36445C; background: #EAF2FF; font-size: 14px; }
body.woocommerce-checkout #payment .payment_box:before { border-bottom-color: #EAF2FF; }
body.woocommerce-checkout #payment div.form-row { margin: 18px 0 0; padding: 0; }
body.woocommerce-checkout #place_order,
body.woocommerce-checkout #place_order:visited,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus,
body.woocommerce-checkout #place_order:active {
  min-height: 56px;
  width: 100%;
  padding: 13px 20px;
  border: 0;
  border-radius: 10px;
  color: #FFFFFF !important;
  background: var(--vcg-checkout-orange);
  box-shadow: 0 12px 23px rgba(249, 115, 22, .24);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 850;
  letter-spacing: .035em;
  line-height: 1.1;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background .18s ease, box-shadow .18s ease, transform .18s cubic-bezier(.23, 1, .32, 1);
}
body.woocommerce-checkout #place_order:hover { background: #EA680C; box-shadow: 0 15px 28px rgba(249, 115, 22, .32); transform: translateY(-1px); }
body.woocommerce-checkout #place_order:active { transform: scale(.98); }
body.woocommerce-checkout .vcg-sp-checkout-terms {
  margin: 18px 0 !important;
  padding: 18px 18px 18px 21px !important;
  border: 1px solid #BED4FF !important;
  border-left: 4px solid var(--vcg-checkout-blue) !important;
  border-radius: 10px;
  color: #263650 !important;
  background: #F2F7FF !important;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.55;
}
body.woocommerce-checkout .woocommerce-notices-wrapper > .woocommerce-error,
body.woocommerce-checkout .woocommerce-notices-wrapper > .woocommerce-info,
body.woocommerce-checkout .woocommerce-notices-wrapper > .woocommerce-message {
  margin: 0 0 22px;
  padding: 15px 18px 15px 48px;
  border: 1px solid #BFD4FF;
  border-top: 0;
  border-radius: 10px;
  color: #23406F;
  background: #F1F6FF;
  box-shadow: 0 8px 18px rgba(35, 64, 111, .06);
  font-family: "DM Sans", Arial, sans-serif;
}
body.woocommerce-checkout .woocommerce-error { border-color: #F8B4B4 !important; color: #8C2020 !important; background: #FFF4F4 !important; }
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--vcg-checkout-muted); font-family: "DM Sans", Arial, sans-serif; font-size: 13px; line-height: 1.55; }
body.woocommerce-checkout .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a { color: var(--vcg-checkout-blue); font-weight: 700; text-decoration: none; }
body.woocommerce-checkout .woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: 9px; }
body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"] { margin-top: 4px; accent-color: var(--vcg-checkout-blue); }
body.woocommerce-checkout .woocommerce-shipping-methods label { font-weight: 700; }
body.woocommerce-checkout .woocommerce-additional-fields { margin-top: 22px; }
body.woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout .woocommerce-checkout-review-order-table { border-radius: 0; }
body.woocommerce-checkout :focus-visible { outline: 3px solid rgba(37, 99, 235, .45); outline-offset: 2px; }
@media (max-width: 900px) {
  body.woocommerce-checkout .woocommerce-checkout { grid-template-columns: 1fr; }
  body.woocommerce-checkout #order_review { position: static; }
}
@media (max-width: 600px) {
  body.woocommerce-checkout .entry-content { padding: 26px 14px 54px; }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout #order_review { padding: 20px 17px; border-radius: 14px; }
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last { float: none; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-checkout #place_order { transition: none; }
}

/* Keep the classic WooCommerce three-node checkout structure in two visual columns. */
body.woocommerce-checkout .woocommerce-checkout > #customer_details { grid-column: 1; grid-row: 1 / span 2; }
body.woocommerce-checkout .woocommerce-checkout > #order_review_heading { grid-column: 2; grid-row: 1; align-self: end; }
body.woocommerce-checkout .woocommerce-checkout > #order_review { grid-column: 2; grid-row: 2; }
@media (max-width: 900px) {
  body.woocommerce-checkout .woocommerce-checkout > #customer_details,
  body.woocommerce-checkout .woocommerce-checkout > #order_review_heading,
  body.woocommerce-checkout .woocommerce-checkout > #order_review { grid-column: auto; grid-row: auto; }
}

/* Astra/classic WooCommerce may retain percentage widths and floats on these
   direct form nodes. Explicitly reset them for the desktop grid. */
@media (min-width: 901px) {
  body.woocommerce-checkout .woocommerce-checkout {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
    gap: clamp(32px, 5vw, 64px) !important;
  }
  body.woocommerce-checkout .woocommerce-checkout > #customer_details,
  body.woocommerce-checkout .woocommerce-checkout > #order_review_heading,
  body.woocommerce-checkout .woocommerce-checkout > #order_review {
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.woocommerce-checkout .woocommerce-checkout > #customer_details { align-self: start; }
  body.woocommerce-checkout #customer_details .col-1,
  body.woocommerce-checkout #customer_details .col-2 { width: 100% !important; }
}


/* VCG Cart layer — scoped to WooCommerce Cart only; no cart logic is changed. */
body.woocommerce-cart {
  --vcg-cart-navy: #0A0E1A;
  --vcg-cart-navy-2: #0D1529;
  --vcg-cart-blue: #2563EB;
  --vcg-cart-orange: #F97316;
  --vcg-cart-ink: #17233D;
  --vcg-cart-muted: #64748B;
  --vcg-cart-line: #DDE5F0;
  --vcg-cart-surface: #FFFFFF;
  --vcg-cart-canvas: #F4F7FC;
  background: var(--vcg-cart-canvas);
}
body.woocommerce-cart .site-content,
body.woocommerce-cart .content-area,
body.woocommerce-cart .ast-container { max-width: none; }
body.woocommerce-cart .entry-header,
body.woocommerce-cart .page-header { display: none; }
body.woocommerce-cart .entry-content,
body.woocommerce-cart .woocommerce { max-width: 1180px; margin: 0 auto; }
body.woocommerce-cart .entry-content { padding: clamp(28px, 5vw, 72px) 20px clamp(52px, 7vw, 92px); }
body.woocommerce-cart .woocommerce-cart-form {
  float: left;
  width: calc(61% - 17px);
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid var(--vcg-cart-line);
  border-radius: 18px;
  background: var(--vcg-cart-surface);
  box-shadow: 0 18px 42px rgba(10, 14, 26, .08);
}
body.woocommerce-cart .cart-collaterals {
  float: right;
  width: calc(39% - 17px);
  margin: 0;
}
body.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--vcg-cart-line);
  border-radius: 18px;
  color: var(--vcg-cart-ink);
  background: var(--vcg-cart-surface);
  box-shadow: 0 18px 42px rgba(10, 14, 26, .08);
}
body.woocommerce-cart .cart-collaterals h2 {
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--vcg-cart-line);
  color: var(--vcg-cart-navy);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(29px, 3vw, 39px);
  font-weight: 400;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}
body.woocommerce-cart table.shop_table { margin: 0; border: 0; border-collapse: collapse; font-family: "DM Sans", Arial, sans-serif; }
body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td { padding: 15px 10px; border: 0; border-bottom: 1px solid #E8EDF4; color: var(--vcg-cart-ink); vertical-align: middle; }
body.woocommerce-cart table.shop_table thead th { color: var(--vcg-cart-muted); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
body.woocommerce-cart table.shop_table .product-name a,
body.woocommerce-cart table.shop_table .product-name a:visited { color: var(--vcg-cart-navy) !important; font-weight: 850; text-decoration: none !important; }
body.woocommerce-cart table.shop_table .product-name a:hover { color: var(--vcg-cart-blue) !important; }
body.woocommerce-cart table.shop_table .product-thumbnail img { width: 72px; border: 1px solid #E1E8F3; border-radius: 8px; }
body.woocommerce-cart table.shop_table .product-price,
body.woocommerce-cart table.shop_table .product-subtotal { font-weight: 800; }
body.woocommerce-cart table.shop_table .product-remove a.remove,
body.woocommerce-cart table.shop_table .product-remove a.remove:visited { display: inline-grid; width: 24px; height: 24px; place-items: center; border: 1px solid #F6C2BF; border-radius: 50%; color: #C9463E !important; font-size: 17px; line-height: 1; text-decoration: none !important; }
body.woocommerce-cart table.shop_table .product-remove a.remove:hover { color: #fff !important; background: #C9463E; }
body.woocommerce-cart .quantity .qty {
  min-height: 40px;
  width: 62px;
  border: 1px solid #C9D5E5;
  border-radius: 7px;
  color: var(--vcg-cart-ink);
  background: #fff;
  font: 700 14px "DM Sans", Arial, sans-serif;
}
body.woocommerce-cart .coupon { display: flex; gap: 8px; align-items: center; }
body.woocommerce-cart .coupon #coupon_code {
  min-height: 43px;
  width: min(180px, 55vw);
  padding: 9px 11px;
  border: 1px solid #C9D5E5;
  border-radius: 8px;
  color: var(--vcg-cart-ink);
  font: 14px "DM Sans", Arial, sans-serif;
}
body.woocommerce-cart .coupon #coupon_code:focus,
body.woocommerce-cart .quantity .qty:focus { border-color: var(--vcg-cart-blue); outline: none; box-shadow: 0 0 0 3px rgba(37, 99, 235, .15); }
body.woocommerce-cart button.button,
body.woocommerce-cart .coupon button.button,
body.woocommerce-cart button[name="update_cart"] {
  min-height: 43px;
  padding: 10px 15px;
  border: 1px solid #C8D8F2;
  border-radius: 8px;
  color: #174EA6;
  background: #EDF4FF;
  font: 800 12px "DM Sans", Arial, sans-serif;
  letter-spacing: .035em;
  text-transform: uppercase;
}
body.woocommerce-cart button.button:hover,
body.woocommerce-cart .coupon button.button:hover { border-color: #A9C6FA; color: #fff; background: var(--vcg-cart-blue); }
body.woocommerce-cart button[name="update_cart"][disabled] { opacity: .45; }
body.woocommerce-cart .cart-collaterals .shop_table th,
body.woocommerce-cart .cart-collaterals .shop_table td { padding: 14px 0; border: 0; border-bottom: 1px solid #E8EDF4; color: var(--vcg-cart-ink); }
body.woocommerce-cart .cart-collaterals .shop_table td { font-weight: 800; text-align: right; }
body.woocommerce-cart .cart-collaterals .order-total th,
body.woocommerce-cart .cart-collaterals .order-total td { padding-top: 20px; border-bottom: 0; color: var(--vcg-cart-navy); font-size: 19px; }
body.woocommerce-cart .wc-proceed-to-checkout { padding: 20px 0 0; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:visited,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
  min-height: 56px;
  margin: 0;
  padding: 14px 19px;
  border: 0;
  border-radius: 10px;
  color: #fff !important;
  background: var(--vcg-cart-orange);
  box-shadow: 0 12px 23px rgba(249, 115, 22, .24);
  font: 850 15px "DM Sans", Arial, sans-serif;
  letter-spacing: .04em;
  line-height: 1.15;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background .18s ease, box-shadow .18s ease, transform .18s cubic-bezier(.23, 1, .32, 1);
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #EA680C; box-shadow: 0 15px 28px rgba(249, 115, 22, .32); transform: translateY(-1px); }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active { transform: scale(.98); }
body.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-error,
body.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-info,
body.woocommerce-cart .woocommerce-notices-wrapper > .woocommerce-message {
  margin: 0 0 22px;
  padding: 15px 18px 15px 48px;
  border: 1px solid #BFD4FF;
  border-top: 0;
  border-radius: 10px;
  color: #23406F;
  background: #F1F6FF;
  box-shadow: 0 8px 18px rgba(35, 64, 111, .06);
  font-family: "DM Sans", Arial, sans-serif;
}
body.woocommerce-cart .woocommerce-error { border-color: #F8B4B4 !important; color: #8C2020 !important; background: #FFF4F4 !important; }
body.woocommerce-cart .return-to-shop a.button,
body.woocommerce-cart .return-to-shop a.button:visited,
body.woocommerce-cart .return-to-shop a.button:hover,
body.woocommerce-cart .return-to-shop a.button:focus { border-radius: 9px; color: #fff !important; background: var(--vcg-cart-blue); font-family: "DM Sans", Arial, sans-serif; font-weight: 800; text-decoration: none !important; }
body.woocommerce-cart :focus-visible { outline: 3px solid rgba(37, 99, 235, .45); outline-offset: 2px; }
@media (max-width: 900px) {
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals { float: none; width: 100%; }
  body.woocommerce-cart .cart-collaterals { margin-top: 22px; }
}
@media (max-width: 600px) {
  body.woocommerce-cart .entry-content { padding: 26px 14px 54px; }
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals .cart_totals { padding: 17px; border-radius: 14px; }
  body.woocommerce-cart .coupon { align-items: stretch; flex-wrap: wrap; }
  body.woocommerce-cart .coupon #coupon_code { flex: 1 1 160px; }
  body.woocommerce-cart .coupon button.button { flex: 1 1 auto; }
  body.woocommerce-cart table.shop_table .product-thumbnail img { width: 54px; }
}
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { transition: none; }
}


/* Context-aware Cart panel. Insert with [vcg_cart_next_steps] in an Elementor Shortcode widget. */
body.woocommerce-cart .vcg-cart-next-steps {
  max-width: 1180px;
  margin: 34px auto 0;
  padding: clamp(30px, 5vw, 54px);
  border: 1px solid rgba(92, 142, 238, 0.35);
  border-radius: 18px;
  color: #ffffff;
  background: radial-gradient(circle at 92% 10%, rgba(37, 99, 235, 0.28), transparent 33%), linear-gradient(120deg, #091120, #0e2040);
  box-shadow: 0 20px 44px rgba(5, 10, 22, 0.2);
  font-family: "DM Sans", Arial, sans-serif;
}
body.woocommerce-cart .vcg-cart-next-steps__eyebrow {
  margin: 0 0 10px;
  color: #9fc3ff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
body.woocommerce-cart .vcg-cart-next-steps h2 {
  margin: 0 0 24px;
  color: #ffffff;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(35px, 4vw, 52px);
  font-weight: 400;
  letter-spacing: 0.025em;
  line-height: 0.95;
  text-transform: uppercase;
}
body.woocommerce-cart .vcg-cart-next-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(159, 195, 255, 0.24);
  border-radius: 12px;
  background: rgba(159, 195, 255, 0.2);
}
body.woocommerce-cart .vcg-cart-next-steps article {
  min-height: 190px;
  padding: 25px;
  background: rgba(8, 19, 38, 0.82);
}
body.woocommerce-cart .vcg-cart-next-steps b {
  display: block;
  margin-bottom: 24px;
  color: #f97316;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 36px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}
body.woocommerce-cart .vcg-cart-next-steps h3 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 850;
}
body.woocommerce-cart .vcg-cart-next-steps p:not(.vcg-cart-next-steps__eyebrow) {
  margin: 0;
  color: #bed0e8;
  font-size: 14px;
  line-height: 1.55;
}
@media (max-width: 680px) {
  body.woocommerce-cart .vcg-cart-next-steps { margin-top: 22px; padding: 26px 18px; }
  body.woocommerce-cart .vcg-cart-next-steps__grid { grid-template-columns: 1fr; }
  body.woocommerce-cart .vcg-cart-next-steps article { min-height: 0; padding: 21px 19px; }
  body.woocommerce-cart .vcg-cart-next-steps b { margin-bottom: 13px; }
}
