/* ==========================================================================
   R2C refresh — Sept 2026 (theme 1.6.0)
   Loaded last. From the 17 Sept call with Ellie:
   - softer palette: the bright pink is swapped for the pastel set from the
     client's Canva brand pack, with navy kept for a corporate feel;
   - some dark bands become pastel;
   - header basket / mini-cart fixes; sharper product images;
   - What We Offer rebuilt as three packages; brand icons; video embeds.
   Client palette (email 24 Aug 2026): navy 072956, pink fc2468,
   yellow fec21d, blue 05a5d4, pastel pink febdd1, pastel yellow ffedbb,
   pastel blue c6e2ec.
   ========================================================================== */

:root {
  --pm-navy: #072956;
  --r2c-pastel-pink: #febdd1;
  --r2c-pastel-yellow: #ffedbb;
  --r2c-pastel-blue: #c6e2ec;
  --r2c-blue-text: #0a6f91; /* brand blue darkened for AA text on cream */

  /* Card tints: a lighter step of each pastel so text stays crisp. */
  --pm-pink-soft: #ffe6ee;
  --pm-sky-soft: #e4f1f6;
  --pm-sun-soft: #fff5da;

  --pm-palette-primary: #072956;
  --pm-palette-accent: #febdd1;
  --pm-palette-on-accent: #072956;
  --pm-color-text: #072956;
  --pm-color-surface-inverse: #072956;
  --pm-shadow-focus: 0 0 0 3px rgb(5 165 212 / 0.28);
}

/* ------------------------------------------------------------------ schemes */

/* Former bright-pink bands → pastel pink with navy text. */
.pm-scheme-accent {
  --pm-bg: var(--r2c-pastel-pink);
  --pm-fg: var(--pm-navy);
  --pm-fg-muted: #3d4f73;
  --pm-border-color: var(--pm-navy);
  --pm-border-soft: rgb(7 41 86 / 0.18);
  --pm-surface: #ffd3e0;
  --pm-surface-raised: #ffdbe6;
  --pm-btn-bg: var(--pm-navy);
  --pm-btn-fg: #fff;
  --pm-btn-border: var(--pm-navy);
  --pm-shadow-focus: 0 0 0 3px rgb(7 41 86 / 0.25);
}
.pm-scheme-accent .pm-carousel__dot { background-color: rgb(7 41 86 / 0.25); }
.pm-scheme-accent .pm-carousel__dot[aria-current="true"] { background-color: var(--pm-navy); }

/* Pastel bands used in place of some navy sections. */
.r2c-bg-blue { --pm-bg: var(--r2c-pastel-blue); background-color: var(--r2c-pastel-blue); background-image: none; }
.r2c-bg-yellow { --pm-bg: var(--r2c-pastel-yellow); background-color: var(--r2c-pastel-yellow); background-image: none; }
.r2c-bg-pink { --pm-bg: var(--r2c-pastel-pink); background-color: var(--r2c-pastel-pink); background-image: none; }
.r2c-bg-blue,
.r2c-bg-yellow,
.r2c-bg-pink { --pm-fg-muted: #3d4f73; }
.r2c-bg-blue .layout-298__card .pm-icon { color: var(--pm-navy); }

/* Dark bands: keep navy but trade the hot-pink glow for a soft pastel one. */
.pm-scheme-dark {
  background-image: radial-gradient(55rem 38rem at 100% 18%, rgb(5 165 212 / 0.2), transparent 60%),
    radial-gradient(55rem 38rem at 0% 82%, rgb(254 189 209 / 0.14), transparent 62%);
}

/* ------------------------------------------------------------------ buttons */

/* Primary: navy on light grounds, brand blue on dark. */
.pm-scheme-light .pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt),
.pm-scheme-subtle .pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt),
.pm-scheme-accent .pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt) {
  --_btn-bg: var(--pm-navy);
  --_btn-fg: #fff;
  --_btn-border: var(--pm-navy);
}
.pm-scheme-dark .pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt) {
  --_btn-bg: #05a5d4;
  --_btn-fg: #fff;
  --_btn-border: #05a5d4;
  font-weight: 700;
}
.pm-scheme-dark .pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt):hover {
  opacity: 1;
  --_btn-bg: #0493bd;
  --_btn-border: #0493bd;
}
.pm-scheme-light .pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt):hover,
.pm-scheme-accent .pm-btn:not(.pm-btn--secondary):not(.pm-btn--tertiary):not(.pm-btn--link):not(.pm-btn--link-alt):hover {
  opacity: 1;
  --_btn-bg: #133d75;
  --_btn-border: #133d75;
}

.pm-eyebrow--mono,
.pm-scheme-light .pm-eyebrow { color: var(--r2c-blue-text); }
.pm-scheme-dark .pm-eyebrow--mono { color: var(--r2c-pastel-pink); }

/* WooCommerce accents that were bright pink. */
.woocommerce ul.products li.product .price,
.r2c-mini-product__price { color: var(--pm-navy); }
.woocommerce span.onsale { background: var(--r2c-pastel-pink); color: var(--pm-navy); }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit {
  background-color: var(--pm-navy) !important;
  border-color: var(--pm-navy) !important;
  color: #fff !important;
}
.r2c-basket-flyout__panel .woocommerce-mini-cart__buttons .button.checkout {
  background-color: #05a5d4;
  color: #fff;
}

/* ------------------------------------------------------------ pastel blobs */

/* Soft organic shapes from the client's Canva pack, tucked into the corners
   of light sections. Decorative only, sit behind the content. */
.layout-238,
.faq-04,
.testi-grid,
.r2c-packages,
.layout-396,
.team-15 {
  position: relative;
  overflow: hidden;
}
.layout-238::before,
.faq-04::before,
.testi-grid::before,
.r2c-packages::before,
.layout-396::before,
.team-15::before,
.layout-238::after,
.faq-04::after,
.testi-grid::after,
.r2c-packages::after,
.layout-396::after,
.team-15::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: contain;
}
.layout-238::before,
.faq-04::before,
.testi-grid::before,
.r2c-packages::before,
.layout-396::before,
.team-15::before {
  top: -3rem;
  right: -5rem;
  width: clamp(10rem, 22vw, 20rem);
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23febdd1' d='M45.3-58.9C57.6-47.7 65.4-31.5 70.6-13.6 75.8 4.3 78.3 23.9 70.1 37.7 61.9 51.4 43 59.3 24.5 65.4 6 71.6-12.2 76-29.5 71.3-46.7 66.6-63 52.8-71.4 35.3-79.8 17.9-80.3-3.3-73.2-20.7-66.1-38.1-51.4-51.7-35.8-62.2-20.2-72.7-3.6-80.1 11.2-77.6 26-75.1 33-70.1 45.3-58.9Z' transform='translate(100 100)'/%3E%3C/svg%3E");
  opacity: 0.55;
}
.layout-238::after,
.faq-04::after,
.testi-grid::after,
.r2c-packages::after,
.layout-396::after,
.team-15::after {
  bottom: 2rem;
  left: -6rem;
  width: clamp(9rem, 18vw, 16rem);
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath fill='%23c6e2ec' d='M39.9-51.2C52.9-44.5 64.6-33.1 70.7-18.6 76.8-4.1 77.3 13.4 70.3 27.3 63.2 41.2 48.6 51.4 33.3 58.7 17.9 66 1.8 70.4-15.6 69.3-33 68.2-51.6 61.6-62.8 48.3-74 35.1-77.8 15.2-74.1-2.8-70.4-20.9-59.2-37.1-45.1-43.7-31-50.3-15.5-47.3-.4-46.8 14.7-46.3 26.9-57.9 39.9-51.2Z' transform='translate(100 100)'/%3E%3C/svg%3E");
  opacity: 0.8;
}
.layout-238 > .pm-container,
.faq-04 > .pm-container,
.testi-grid > .pm-container,
.r2c-packages > .pm-container,
.layout-396 > .pm-container,
.team-15 > .pm-container { position: relative; z-index: 1; }
.r2c-wave-divider { z-index: 2; }

/* ------------------------------------------------------------ header fixes */

/* The basket was being cut off: at laptop widths (roughly 992–1280px) the
   logo + seven links + icons were wider than the bar, so the grid pushed the
   icons past the right edge. Tighten the header at those widths and let the
   middle column shrink instead of overflowing. */
@media (min-width: 992px) {
  .navbar-02 .pm-nav__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .navbar-02__menu { flex-wrap: nowrap; min-width: 0; }
  .navbar-02 .pm-nav__link { white-space: nowrap; }
  .navbar-02__actions { flex-shrink: 0; overflow: visible; }
}
@media (min-width: 992px) and (max-width: 1279px) {
  .navbar-02 .pm-nav__inner { gap: var(--pm-space-3); }
  .navbar-02 .pm-nav__logo img { height: 2.9rem; }
  .navbar-02 .pm-nav__link,
  .navbar-02 .pm-nav__link:first-child {
    padding-inline: 0.45rem;
    font-size: 0.82rem;
  }
  .navbar-02__actions { padding-left: var(--pm-space-3); gap: var(--pm-space-3); }
}

/* Give each icon a fixed, roomy box so the basket (and its count) is never
   clipped, whatever the line-height around it. */
.r2c-nav-icon {
  width: 2.5rem;
  height: 2.5rem;
  overflow: visible;
  line-height: 1;
}
.r2c-nav-icon--account svg,
.r2c-nav-icon--basket svg { width: 1.75rem; height: 1.75rem; }
.r2c-nav-icon__count {
  /* Centred on the bag body rather than on the icon box. The 1.75rem svg is
     centred inside the 2.5rem box, and the bag body spans y8-21 of the 24
     viewBox, so its middle lands 57.3% down the box, not 50%. */
  top: 57.3%;
  bottom: auto;
  transform: translateY(-50%);
  font-size: 0.62rem;
  color: #fff;
}

/* Basket flyout: fully opaque white panel that sits clear of the header,
   is never clipped by the viewport edge, and keeps hover while the pointer
   crosses the gap. */
.r2c-basket-flyout { overflow: visible; }
.r2c-basket-flyout__panel {
  top: calc(100% + 0.9rem);
  margin-top: 0;
  right: -0.5rem;
  z-index: 1000;
  width: 21rem;
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 8rem);
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  background-color: #fff;
  color: var(--pm-navy);
  border: 1px solid rgb(7 41 86 / 0.08);
  box-shadow: 0 18px 40px rgb(7 41 86 / 0.18);
  text-align: left;
}
.r2c-basket-flyout__panel::before {
  top: -1rem;
  height: 1rem;
}
.r2c-basket-flyout::after {
  /* invisible hover bridge between icon and panel */
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  width: 3rem;
  height: 1rem;
}
.r2c-basket-flyout__panel .widget_shopping_cart_content { width: 100%; }
.r2c-basket-flyout__panel .woocommerce-mini-cart__empty-message,
.r2c-basket-flyout__panel .r2c-mini-cart__empty-icon { text-align: center; }
.r2c-basket-flyout__panel:has(.woocommerce-mini-cart__empty-message) { text-align: center; }
.r2c-basket-flyout__panel .woocommerce-mini-cart-item {
  padding-right: 1.75rem;
  flex-wrap: wrap;
}
.r2c-basket-flyout__panel .woocommerce-mini-cart-item a:not(.remove) {
  display: flex;
  align-items: center;
  gap: var(--pm-space-3);
  flex: 1 1 0;
  min-width: 0;
  line-height: 1.3;
}
.r2c-basket-flyout__panel .woocommerce-mini-cart-item .quantity {
  flex-basis: 100%;
  padding-left: calc(3.25rem + var(--pm-space-3));
}
.r2c-basket-flyout__panel .woocommerce-mini-cart-item img {
  float: none !important;
  margin: 0 !important;
  width: 3.25rem !important;
  height: 3.25rem !important;
}
.r2c-basket-flyout__panel .woocommerce-mini-cart__buttons .button {
  float: none !important;
  margin: 0 !important;
  white-space: normal;
}
.r2c-basket-flyout__panel .woocommerce-mini-cart__buttons::before,
.r2c-basket-flyout__panel .woocommerce-mini-cart__buttons::after { display: none; }

/* ----------------------------------------------------- sharper product art */

/* Full-resolution image, still presented as a square card. */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
}

/* Theme-compat sidebar is removed in PHP; hide any stray copy just in case. */
.woocommerce-page #sidebar,
.post-type-archive-product #sidebar { display: none !important; }

/* --------------------------------------------------------------- icons */

.r2c-brand-icon {
  display: block;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
}
.layout-396__card .r2c-brand-icon { margin-bottom: var(--pm-space-2); }
.r2c-brand-icon--center { margin: 0 auto var(--pm-space-5); }
.r2c-brand-icon--sm { width: 2.75rem; height: 2.75rem; flex: none; }

/* --------------------------------------------------------------- video */

.r2c-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--pm-radius-image);
  overflow: hidden;
  background: var(--pm-navy);
  box-shadow: 0 18px 40px rgb(7 41 86 / 0.16);
}
.r2c-video--vertical { aspect-ratio: 9 / 16; max-width: 22rem; margin-inline: auto; }
.r2c-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.r2c-video-feature {
  display: grid;
  gap: var(--pm-space-8);
  align-items: center;
  margin-top: var(--pm-space-16);
}
@media (min-width: 992px) {
  .r2c-video-feature { grid-template-columns: 5fr 7fr; gap: var(--pm-space-16); }
}
.r2c-video-feature__copy .pm-btn-group { margin-top: var(--pm-space-6); }
.r2c-video-section__frame { max-width: 56rem; margin-inline: auto; }

/* -------------------------------------------------- What We Offer packages */

.r2c-offer-hero .pm-btn-group { margin-top: var(--pm-space-6); flex-wrap: wrap; }

.r2c-pkg-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  font-family: var(--pm-font-display);
  font-size: 1.35rem;
  line-height: 1;
  color: #fff;
  background: var(--pm-navy);
}
.r2c-pkg--pink .r2c-pkg-num,
.r2c-pkg-nav__item--pink .r2c-pkg-num { background: #fc2468; }
.r2c-pkg--blue .r2c-pkg-num,
.r2c-pkg-nav__item--blue .r2c-pkg-num { background: #05a5d4; }
.r2c-pkg--yellow .r2c-pkg-num,
.r2c-pkg-nav__item--yellow .r2c-pkg-num { background: #fec21d; color: var(--pm-navy); }

.r2c-pkg-nav {
  display: grid;
  gap: var(--pm-space-4);
  margin-bottom: var(--pm-space-12);
}
@media (min-width: 768px) {
  .r2c-pkg-nav { grid-template-columns: repeat(3, 1fr); }
}
.r2c-pkg-nav__item {
  display: flex;
  align-items: center;
  gap: var(--pm-space-4);
  padding: var(--pm-space-5);
  border-radius: var(--pm-radius-card);
  text-decoration: none !important;
  color: var(--pm-navy);
  transition: transform .2s ease, box-shadow .2s ease;
}
.r2c-pkg-nav__item:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgb(7 41 86 / 0.12); }
.r2c-pkg-nav__item--pink { background: var(--pm-pink-soft); }
.r2c-pkg-nav__item--blue { background: var(--pm-sky-soft); }
.r2c-pkg-nav__item--yellow { background: var(--pm-sun-soft); }
.r2c-pkg-nav__text { display: flex; flex-direction: column; gap: 0.15rem; line-height: 1.3; }
.r2c-pkg-nav__text strong { font-family: var(--pm-font-display); font-weight: 400; font-size: 1.15rem; }
.r2c-pkg-nav__text span { font-size: var(--pm-text-sm); color: #3d4f73; }

.r2c-pkg {
  scroll-margin-top: 9rem;
  background: #fff;
  border-radius: 2rem;
  border-top: 6px solid var(--_pkg, var(--pm-navy));
  box-shadow: 0 14px 36px rgb(7 41 86 / 0.08);
  padding: var(--pm-space-8) var(--pm-space-6);
}
.r2c-pkg + .r2c-pkg { margin-top: var(--pm-space-10); }
@media (min-width: 768px) {
  .r2c-pkg { padding: var(--pm-space-10) var(--pm-space-12); }
}
.r2c-pkg--pink { --_pkg: var(--r2c-pastel-pink); --_pkg-text: #c2124a; --_pkg-soft: var(--pm-pink-soft); }
.r2c-pkg--blue { --_pkg: var(--r2c-pastel-blue); --_pkg-text: var(--r2c-blue-text); --_pkg-soft: var(--pm-sky-soft); }
.r2c-pkg--yellow { --_pkg: var(--r2c-pastel-yellow); --_pkg-text: #946800; --_pkg-soft: var(--pm-sun-soft); }

.r2c-pkg__head {
  display: flex;
  align-items: flex-start;
  gap: var(--pm-space-4);
  margin-bottom: var(--pm-space-8);
}
.r2c-pkg__title { margin: 0; font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.15; }
.r2c-pkg__intro { margin-top: var(--pm-space-2); font-size: var(--pm-text-lg); color: #3d4f73; }
.r2c-pkg__badge {
  display: inline-block;
  margin: 0 0 var(--pm-space-2);
  padding: 0.25rem 0.8rem;
  border-radius: 999px;
  background: var(--r2c-pastel-yellow);
  color: var(--pm-navy);
  font-size: var(--pm-text-sm);
  font-weight: 700;
}

.r2c-pkg__body {
  display: grid;
  gap: var(--pm-space-8);
}
@media (min-width: 992px) {
  .r2c-pkg__body { grid-template-columns: 1.25fr 1fr 0.9fr; gap: var(--pm-space-10); }
  .r2c-pkg__body--shop { grid-template-columns: 1fr 2fr; }
  .r2c-pkg__col + .r2c-pkg__col { border-left: 2px solid var(--_pkg); padding-left: var(--pm-space-10); }
  .r2c-pkg__body--shop .r2c-pkg__products { border-left: 2px solid var(--_pkg); padding-left: var(--pm-space-10); }
}
.r2c-pkg__label {
  margin: 0 0 var(--pm-space-4);
  font-family: var(--pm-font-sans);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--_pkg-text);
}
.r2c-pkg__col > .r2c-pkg__label:not(:first-child) { margin-top: var(--pm-space-8); }
.r2c-pkg__price {
  font-family: var(--pm-font-display);
  font-size: 1.75rem;
  color: var(--pm-navy);
  margin: 0 0 var(--pm-space-5);
}
.r2c-pkg__note { margin-top: var(--pm-space-3); font-size: var(--pm-text-sm); color: #3d4f73; }
.r2c-pkg__more { margin-top: var(--pm-space-6); padding-inline: 0; }

.r2c-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--pm-space-3); }
.r2c-ticks li { display: flex; gap: var(--pm-space-3); align-items: flex-start; line-height: 1.45; }
.r2c-ticks .pm-icon {
  flex: none;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0.2rem;
  margin-top: 0.05rem;
  border-radius: 50%;
  background: var(--_pkg-soft, var(--pm-sky-soft));
  color: var(--pm-navy);
}

.r2c-prices { margin: 0 0 var(--pm-space-6); display: grid; gap: var(--pm-space-3); }
.r2c-prices > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--pm-space-3);
  padding: var(--pm-space-3) var(--pm-space-4);
  border-radius: 1rem;
  background: var(--_pkg-soft);
}
.r2c-prices dt { font-weight: 600; font-size: var(--pm-text-sm); }
.r2c-prices dd { margin: 0; font-family: var(--pm-font-display); font-size: 1.35rem; white-space: nowrap; }

.r2c-topics { display: grid; gap: var(--pm-space-4); }
.r2c-topics__group {
  display: flex;
  gap: var(--pm-space-4);
  align-items: flex-start;
  padding: var(--pm-space-4);
  border-radius: 1.25rem;
}
.r2c-topics__group p { margin: 0; line-height: 1.4; }
.r2c-topics__group--pink { background: var(--pm-pink-soft); }
.r2c-topics__group--blue { background: var(--pm-sky-soft); }
.r2c-topics__group--yellow { background: var(--pm-sun-soft); }
.r2c-topics__name {
  font-family: var(--pm-font-display);
  font-size: 1.15rem;
  margin-bottom: 0.2rem !important;
}
.r2c-topics__group--pink .r2c-topics__name { color: #c2124a; }
.r2c-topics__group--blue .r2c-topics__name { color: var(--r2c-blue-text); }
.r2c-topics__group--yellow .r2c-topics__name { color: #946800; }

.r2c-screen {
  background: var(--pm-navy);
  border-radius: 1.25rem;
  padding: 0.6rem;
  max-width: 22rem;
}
.r2c-screen ul {
  list-style: none;
  margin: 0;
  padding: var(--pm-space-5);
  background: #fff;
  border-radius: 0.8rem;
  text-align: center;
  display: grid;
  gap: 0.35rem;
}
.r2c-screen li { font-family: var(--pm-font-display); color: var(--pm-navy); font-size: 1.05rem; }

.r2c-pkg__products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pm-space-5);
  align-content: start;
}
@media (min-width: 1200px) {
  .r2c-pkg__products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.r2c-mini-product {
  display: flex;
  flex-direction: column;
  gap: var(--pm-space-2);
  text-decoration: none !important;
  color: var(--pm-navy);
}
.r2c-mini-product__img {
  display: block;
  border-radius: 1.1rem;
  overflow: hidden;
  background: var(--pm-pink-soft);
  transition: transform .2s ease, box-shadow .2s ease;
}
.r2c-mini-product:hover .r2c-mini-product__img { transform: translateY(-3px); box-shadow: 0 12px 28px rgb(7 41 86 / 0.14); }
.r2c-mini-product__img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.r2c-mini-product__name { font-weight: 700; font-size: var(--pm-text-sm); line-height: 1.3; }
.r2c-mini-product__price { font-weight: 700; font-size: var(--pm-text-sm); }

/* Foundation cards: soft outline, buttons aligned to the bottom. */
.layout-396__card {
  display: flex;
  flex-direction: column;
  border-color: rgb(7 41 86 / 0.1);
}
.layout-396__card .pm-btn-group { margin-top: auto; padding-top: var(--pm-space-6); }

/* Mini-cart rows: undo WooCommerce's widget list offsets inside the flyout. */
.r2c-basket-flyout__panel ul.cart_list li,
.r2c-basket-flyout__panel .woocommerce-mini-cart-item {
  padding-left: 0 !important;
  padding-right: 1.75rem !important;
}
.r2c-basket-flyout__panel .woocommerce-mini-cart-item a.remove {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  top: var(--pm-space-3) !important;
  width: 1.4rem;
  height: 1.4rem;
  line-height: 1.3rem;
  text-align: center;
  border-radius: 50%;
  color: var(--pm-navy) !important;
  background: var(--pm-pink-soft);
  font-size: 1rem !important;
}
.r2c-basket-flyout__panel .woocommerce-mini-cart-item:first-child a.remove { top: 0 !important; }
.r2c-basket-flyout__panel .woocommerce-mini-cart-item a.remove:hover { background: var(--r2c-pastel-pink); }
.r2c-basket-flyout__panel .woocommerce-mini-cart-item .quantity {
  margin-top: -0.35rem;
  font-size: var(--pm-text-sm);
}
.r2c-basket-flyout__panel .woocommerce-mini-cart__total { border-top: 0; padding-top: var(--pm-space-2); }
.woocommerce .r2c-basket-flyout__panel .woocommerce-mini-cart__buttons a.button.checkout,
.r2c-basket-flyout__panel .woocommerce-mini-cart__buttons a.button.checkout {
  background-color: #05a5d4 !important;
  border-color: #05a5d4 !important;
  color: #fff !important;
}

/* WooCommerce's ".woocommerce-page img { height:auto }" was blowing the
   footer credit logo up on shop pages. */
.r2c-pm-credit img.r2c-pm-credit__logo { height: 1.1rem !important; width: auto !important; }

/* ------------------------------------------------ testimonials (20 Sept) */

/* Ellie asked for the written testimonial to be smaller. The featured quote
   inherited pm-h5 (24px desktop, 22px mobile), which left a 17-line
   paragraph towering over the photo beside it. */
.testi-featured__quote {
  font-size: 1.125rem;
  line-height: 1.7;
}
