/* assets/css/store-framework.css — Phase A Bootstrap-compatible subset.
 *
 * Structural layer: CSS custom properties (:root), grid (container, row,
 * col-N, row-cols-N, g-N gutters), navbar + collapse, accordion. Every rule below is
 * copied verbatim (selectors + declarations, including SVG data-URIs and
 * var(--bs-*) custom properties) out of the self-hosted
 * assets/vendor/bootstrap/bootstrap.min.css (Bootstrap 5.3.2) — not
 * reconstructed from memory — filtered down to only the classes actually
 * used by index.php/cart.php/checkout.php/order_success.php/
 * includes/store_header.php/includes/store_footer.php/cart_indicator.php
 * per the Bootstrap removal audit.
 *
 * NOT linked from any page yet (Phase A only). bootstrap.min.css remains
 * the live stylesheet — see the audit's collision review for why these
 * three files stay unreferenced in HTML until a later phase.
 *
 * .navbar-light and .nav-item are used in the HTML but intentionally
 * produce zero rules here — Bootstrap 5.3.2 itself defines none for them
 * either (verified directly against bootstrap.min.css); both classes are
 * already inert no-ops today.
 */

:root,[data-bs-theme=light] {
  --bs-blue:#6366f1;
  --bs-indigo:#6610f2;
  --bs-purple:#6f42c1;
  --bs-pink:#d63384;
  --bs-red:#dc3545;
  --bs-orange:#fd7e14;
  --bs-yellow:#ffc107;
  --bs-green:#198754;
  --bs-teal:#20c997;
  --bs-cyan:#0dcaf0;
  --bs-black:#000;
  --bs-white:#fff;
  --bs-gray:#6c757d;
  --bs-gray-dark:#343a40;
  --bs-gray-100:#f8f9fa;
  --bs-gray-200:#e9ecef;
  --bs-gray-300:#dee2e6;
  --bs-gray-400:#ced4da;
  --bs-gray-500:#adb5bd;
  --bs-gray-600:#6c757d;
  --bs-gray-700:#495057;
  --bs-gray-800:#343a40;
  --bs-gray-900:#212529;
  --bs-primary:#6366f1;
  --bs-secondary:#6c757d;
  --bs-success:#198754;
  --bs-info:#0dcaf0;
  --bs-warning:#ffc107;
  --bs-danger:#dc3545;
  --bs-light:#f8f9fa;
  --bs-dark:#212529;
  --bs-primary-rgb:99, 102, 241;
  --bs-secondary-rgb:108,117,125;
  --bs-success-rgb:25,135,84;
  --bs-info-rgb:13,202,240;
  --bs-warning-rgb:255,193,7;
  --bs-danger-rgb:220,53,69;
  --bs-light-rgb:248,249,250;
  --bs-dark-rgb:33,37,41;
  --bs-primary-text-emphasis:#312e81;
  --bs-secondary-text-emphasis:#2b2f32;
  --bs-success-text-emphasis:#0a3622;
  --bs-info-text-emphasis:#055160;
  --bs-warning-text-emphasis:#664d03;
  --bs-danger-text-emphasis:#58151c;
  --bs-light-text-emphasis:#495057;
  --bs-dark-text-emphasis:#495057;
  --bs-primary-bg-subtle:#e0e7ff;
  --bs-secondary-bg-subtle:#e2e3e5;
  --bs-success-bg-subtle:#d1e7dd;
  --bs-info-bg-subtle:#cff4fc;
  --bs-warning-bg-subtle:#fff3cd;
  --bs-danger-bg-subtle:#f8d7da;
  --bs-light-bg-subtle:#fcfcfd;
  --bs-dark-bg-subtle:#ced4da;
  --bs-primary-border-subtle:#a5b4fc;
  --bs-secondary-border-subtle:#c4c8cb;
  --bs-success-border-subtle:#a3cfbb;
  --bs-info-border-subtle:#9eeaf9;
  --bs-warning-border-subtle:#ffe69c;
  --bs-danger-border-subtle:#f1aeb5;
  --bs-light-border-subtle:#e9ecef;
  --bs-dark-border-subtle:#adb5bd;
  --bs-white-rgb:255,255,255;
  --bs-black-rgb:0,0,0;
  --bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  --bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family:var(--bs-font-sans-serif);
  --bs-body-font-size:1rem;
  --bs-body-font-weight:400;
  --bs-body-line-height:1.5;
  --bs-body-color:#212529;
  --bs-body-color-rgb:33,37,41;
  --bs-body-bg:#fff;
  --bs-body-bg-rgb:255,255,255;
  --bs-emphasis-color:#000;
  --bs-emphasis-color-rgb:0,0,0;
  --bs-secondary-color:rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb:33,37,41;
  --bs-secondary-bg:#e9ecef;
  --bs-secondary-bg-rgb:233,236,239;
  --bs-tertiary-color:rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb:33,37,41;
  --bs-tertiary-bg:#f8f9fa;
  --bs-tertiary-bg-rgb:248,249,250;
  --bs-heading-color:inherit;
  --bs-link-color:#6366f1;
  --bs-link-color-rgb:99, 102, 241;
  --bs-link-decoration:underline;
  --bs-link-hover-color:#4338ca;
  --bs-link-hover-color-rgb:10,88,202;
  --bs-code-color:#d63384;
  --bs-highlight-color:#212529;
  --bs-highlight-bg:#fff3cd;
  --bs-border-width:1px;
  --bs-border-style:solid;
  --bs-border-color:#dee2e6;
  --bs-border-color-translucent:rgba(0, 0, 0, 0.175);
  --bs-border-radius:0.375rem;
  --bs-border-radius-sm:0.25rem;
  --bs-border-radius-lg:0.5rem;
  --bs-border-radius-xl:1rem;
  --bs-border-radius-xxl:2rem;
  --bs-border-radius-2xl:var(--bs-border-radius-xxl);
  --bs-border-radius-pill:50rem;
  --bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width:0.25rem;
  --bs-focus-ring-opacity:0.25;
  --bs-focus-ring-color:rgba(99, 102, 241, 0.25);
  --bs-form-valid-color:#198754;
  --bs-form-valid-border-color:#198754;
  --bs-form-invalid-color:#dc3545;
  --bs-form-invalid-border-color:#dc3545;
  --bs-breakpoint-xs:0;
  --bs-breakpoint-sm:576px;
  --bs-breakpoint-md:768px;
  --bs-breakpoint-lg:992px;
  --bs-breakpoint-xl:1200px;
  --bs-breakpoint-xxl:1400px;
}

/* Minimal reboot slice (hand-picked, not class-extracted — these are bare
   element selectors, invisible to the class-token extractor above): every
   grid, form and button box-model calculation below assumes border-box
   sizing, Bootstrap's own body/link/svg/form-control resets, or it
   silently drifts from the real Bootstrap render (confirmed by an actual
   pixel A/B — the plain `body{}` rule below is what a real headless-Chrome
   comparison caught missing: without it the page falls back to the
   browser's UA stylesheet body margin/font, which measurably changed the
   total page height). Inert today (bootstrap.min.css still loaded and
   still supplies its own copy of each of these rules) — kept here only so
   this file is self-sufficient once Phase C actually unlinks Bootstrap. */
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}
img,
svg {
  vertical-align: middle;
}
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
dl,
ol,
ul {
  margin-top: 0;
  margin-bottom: 1rem;
}
ol,
ul {
  padding-left: 2rem;
}
/* Bare h1-h6 margin/weight/line-height reset — real production case is
   index.php:944 "h2 class=accordion-header", which carries no .h4/.h5/.h6
   utility class, so only the bare-element half of Bootstrap's combined
   ".h1..h6,h1..h6{...}" rule reaches it. Found by the pixel A/B: without
   this, the accordion grew ~48px taller than the real Bootstrap render
   (unreset UA-stylesheet h2 margin). */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}
/* Without this, <label class="form-label"> falls back to the browser's
   default `display:inline`, which silently ate exactly 8px (the .form-label
   margin-bottom) per field group in the pixel A/B — inline-block is what
   lets that margin actually push the following control down. */
label {
  display: inline-block;
}
/* Real production case: checkout.php:602 renders the Econt office <select>
   disabled until a city is chosen. Without this, the browser's default
   :disabled dimming (~0.7 opacity) applies instead of Bootstrap's own
   opacity:1 override — found as a solid (non-shifted) diff region in the
   pixel A/B, isolated to exactly this element. */
select:disabled {
  opacity: 1;
}
/* Without border-collapse:collapse, <table> falls back to the browser
   default border-collapse:separate (2px border-spacing), adding a few px
   of extra height per row boundary — found in the pixel A/B as a steady
   +4px on the cart table (cart.php's table-responsive). th text-align is
   along for the ride from the same reboot block, not independently found
   as a visual diff (our <th> cells already carry explicit
   text-center/text-end where alignment matters). */
table {
  caption-side: bottom;
  border-collapse: collapse;
}
th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

/* ===== Grid / Navbar / Collapse / Accordion ===== */

/* ---- grid ---- */
.container {
  --bs-gutter-x:1.5rem;
  --bs-gutter-y:0;
  width:100%;
  padding-right:calc(var(--bs-gutter-x) * .5);
  padding-left:calc(var(--bs-gutter-x) * .5);
  margin-right:auto;
  margin-left:auto;
}
@media (min-width:576px) {
  .container {
    max-width:540px;
  }
}
@media (min-width:768px) {
  .container {
    max-width:720px;
  }
}
@media (min-width:992px) {
  .container {
    max-width:960px;
  }
}
@media (min-width:1200px) {
  .container {
    max-width:1140px;
  }
}
@media (min-width:1400px) {
  .container {
    max-width:1320px;
  }
}
.row {
  --bs-gutter-x:1.5rem;
  --bs-gutter-y:0;
  display:flex;
  flex-wrap:wrap;
  margin-top:calc(-1 * var(--bs-gutter-y));
  margin-right:calc(-.5 * var(--bs-gutter-x));
  margin-left:calc(-.5 * var(--bs-gutter-x));
}
.row>* {
  flex-shrink:0;
  width:100%;
  max-width:100%;
  padding-right:calc(var(--bs-gutter-x) * .5);
  padding-left:calc(var(--bs-gutter-x) * .5);
  margin-top:var(--bs-gutter-y);
}
.col {
  flex:1 0 0%;
}
.row-cols-1>* {
  flex:0 0 auto;
  width:100%;
}
.col-6 {
  flex:0 0 auto;
  width:50%;
}
.col-12 {
  flex:0 0 auto;
  width:100%;
}
.g-2 {
  --bs-gutter-x:0.5rem;
}
.g-2 {
  --bs-gutter-y:0.5rem;
}
.g-3 {
  --bs-gutter-x:1rem;
}
.g-3 {
  --bs-gutter-y:1rem;
}
.g-4 {
  --bs-gutter-x:1.5rem;
}
.g-4 {
  --bs-gutter-y:1.5rem;
}
@media (min-width:576px) {
  .row-cols-sm-2>* {
    flex:0 0 auto;
    width:50%;
  }
}
@media (min-width:768px) {
  .col-md-3 {
    flex:0 0 auto;
    width:25%;
  }
  .col-md-6 {
    flex:0 0 auto;
    width:50%;
  }
  .col-md-9 {
    flex:0 0 auto;
    width:75%;
  }
}
@media (min-width:992px) {
  .row-cols-lg-3>* {
    flex:0 0 auto;
    width:33.33333333%;
  }
  .row-cols-lg-4>* {
    flex:0 0 auto;
    width:25%;
  }
  .col-lg-3 {
    flex:0 0 auto;
    width:25%;
  }
  .col-lg-4 {
    flex:0 0 auto;
    width:33.33333333%;
  }
  .col-lg-5 {
    flex:0 0 auto;
    width:41.66666667%;
  }
  .col-lg-7 {
    flex:0 0 auto;
    width:58.33333333%;
  }
  .col-lg-8 {
    flex:0 0 auto;
    width:66.66666667%;
  }
}

/* ---- navbar-collapse ---- */
.collapse:not(.show) {
  display:none;
}
.collapsing {
  height:0;
  overflow:hidden;
  transition:height .35s ease;
}
@media (prefers-reduced-motion:reduce) {
  .collapsing {
    transition:none;
  }
}
.nav-link {
  display:block;
  padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size:var(--bs-nav-link-font-size);
  font-weight:var(--bs-nav-link-font-weight);
  color:var(--bs-nav-link-color);
  text-decoration:none;
  background:0 0;
  border:0;
  transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
  .nav-link {
    transition:none;
  }
}
.nav-link:focus,.nav-link:hover {
  color:var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline:0;
  box-shadow:0 0 0 .25rem rgba(99, 102, 241,.25);
}
.nav-link.disabled,.nav-link:disabled {
  color:var(--bs-nav-link-disabled-color);
  pointer-events:none;
  cursor:default;
}
.navbar {
  --bs-navbar-padding-x:0;
  --bs-navbar-padding-y:0.5rem;
  --bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y:0.3125rem;
  --bs-navbar-brand-margin-end:1rem;
  --bs-navbar-brand-font-size:1.25rem;
  --bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x:0.5rem;
  --bs-navbar-toggler-padding-y:0.25rem;
  --bs-navbar-toggler-padding-x:0.75rem;
  --bs-navbar-toggler-font-size:1.25rem;
  --bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius:var(--bs-border-radius);
  --bs-navbar-toggler-focus-width:0.25rem;
  --bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar>.container {
  display:flex;
  flex-wrap:inherit;
  align-items:center;
  justify-content:space-between;
}
.navbar-nav {
  --bs-nav-link-padding-x:0;
  --bs-nav-link-padding-y:0.5rem;
  --bs-nav-link-font-weight:;
  --bs-nav-link-color:var(--bs-navbar-color);
  --bs-nav-link-hover-color:var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);
  display:flex;
  flex-direction:column;
  padding-left:0;
  margin-bottom:0;
  list-style:none;
}
.navbar-nav .nav-link.active,.navbar-nav .nav-link.show {
  color:var(--bs-navbar-active-color);
}
.navbar-collapse {
  flex-basis:100%;
  flex-grow:1;
  align-items:center;
}
.navbar-toggler {
  padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size:var(--bs-navbar-toggler-font-size);
  line-height:1;
  color:var(--bs-navbar-color);
  background-color:transparent;
  border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius:var(--bs-navbar-toggler-border-radius);
  transition:var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion:reduce) {
  .navbar-toggler {
    transition:none;
  }
}
.navbar-toggler:hover {
  text-decoration:none;
}
.navbar-toggler:focus {
  text-decoration:none;
  outline:0;
  box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);
}
.navbar-toggler-icon {
  display:inline-block;
  width:1.5em;
  height:1.5em;
  vertical-align:middle;
  background-image:var(--bs-navbar-toggler-icon-bg);
  background-repeat:no-repeat;
  background-position:center;
  background-size:100%;
}
@media (min-width:992px) {
  .navbar-expand-lg {
    flex-wrap:nowrap;
    justify-content:flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction:row;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right:var(--bs-navbar-nav-link-padding-x);
    padding-left:var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-collapse {
    display:flex!important;
    flex-basis:auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display:none;
  }
}
.sticky-top {
  position:-webkit-sticky;
  position:sticky;
  top:0;
  z-index:1020;
}

/* ---- accordion ---- */
.accordion {
  --bs-accordion-color:var(--bs-body-color);
  --bs-accordion-bg:var(--bs-body-bg);
  --bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;
  --bs-accordion-border-color:var(--bs-border-color);
  --bs-accordion-border-width:var(--bs-border-width);
  --bs-accordion-border-radius:var(--bs-border-radius);
  --bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x:1.25rem;
  --bs-accordion-btn-padding-y:1rem;
  --bs-accordion-btn-color:var(--bs-body-color);
  --bs-accordion-btn-bg:var(--bs-accordion-bg);
  --bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width:1.25rem;
  --bs-accordion-btn-icon-transform:rotate(-180deg);
  --bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23312e81'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-border-color:#86b7fe;
  --bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(99, 102, 241, 0.25);
  --bs-accordion-body-padding-x:1.25rem;
  --bs-accordion-body-padding-y:1rem;
  --bs-accordion-active-color:var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg:var(--bs-primary-bg-subtle);
}
.accordion-button {
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size:1rem;
  color:var(--bs-accordion-btn-color);
  text-align:left;
  background-color:var(--bs-accordion-btn-bg);
  border:0;
  border-radius:0;
  overflow-anchor:none;
  transition:var(--bs-accordion-transition);
}
@media (prefers-reduced-motion:reduce) {
  .accordion-button {
    transition:none;
  }
}
.accordion-button:not(.collapsed) {
  color:var(--bs-accordion-active-color);
  background-color:var(--bs-accordion-active-bg);
  box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image:var(--bs-accordion-btn-active-icon);
  transform:var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink:0;
  width:var(--bs-accordion-btn-icon-width);
  height:var(--bs-accordion-btn-icon-width);
  margin-left:auto;
  content:"";
  background-image:var(--bs-accordion-btn-icon);
  background-repeat:no-repeat;
  background-size:var(--bs-accordion-btn-icon-width);
  transition:var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion:reduce) {
  .accordion-button::after {
    transition:none;
  }
}
.accordion-button:hover {
  z-index:2;
}
.accordion-button:focus {
  z-index:3;
  border-color:var(--bs-accordion-btn-focus-border-color);
  outline:0;
  box-shadow:var(--bs-accordion-btn-focus-box-shadow);
}
.accordion-header {
  margin-bottom:0;
}
.accordion-item {
  color:var(--bs-accordion-color);
  background-color:var(--bs-accordion-bg);
  border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius:var(--bs-accordion-border-radius);
  border-top-right-radius:var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type .accordion-button {
  border-top-left-radius:var(--bs-accordion-inner-border-radius);
  border-top-right-radius:var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top:0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius:var(--bs-accordion-border-radius);
  border-bottom-left-radius:var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius:var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius:var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius:var(--bs-accordion-border-radius);
  border-bottom-left-radius:var(--bs-accordion-border-radius);
}
.accordion-body {
  padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}
