/* ==========================================================================
   IP Cleaning Group — regular blocks in the design
   --------------------------------------------------------------------------
   Text pages (Privacy Policy, Terms), blog posts and any regular blocks
   placed between sections. Everything is scoped to .entry-content, so the
   sections are never affected.

   The same file styles the editor canvas: inc/editor.php replaces the
   scope with the canvas root. Rules that must not touch section blocks in
   the editor skip [data-type^="carbon-fields/"].

   Element rules use :where() to stay easy to override; core block rules
   are one class stronger than the block library of WordPress.

   1.  Layout and rhythm
   2.  Text
   3.  Lists
   4.  Quotes
   5.  Images, gallery, video, embeds
   6.  Buttons and file
   7.  Separator, table
   8.  Group, columns, media & text
   9.  Details (like the FAQ accordion)
   10. Block styles from the design
   ========================================================================== */


/* ==========================================================================
   1. Layout and rhythm
   ========================================================================== */

.entry-content {
  --content-width: 820px;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--c-charcoal);
}

/* Block styles of WordPress are printed after the theme styles (only the
   blocks used on a page are loaded, late) and give many blocks
   margin: 0 0 1em. The layout rules below are one class stronger, so the
   column width and the rhythm of the design always win. */
.entry-content > :not([data-type^="carbon-fields/"], .alignwide, .alignfull, .alignleft, .alignright) {
  max-width: var(--content-width);
  margin-inline: auto;
  margin-bottom: 0;
}

.entry-content > .alignwide {
  max-width: var(--container);
  margin-inline: auto;
  margin-bottom: 0;
}

.entry-content > .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-bottom: 0;
}

.entry-content > :first-child {
  margin-top: 0;
}

.entry-content > :where(:not([data-type^="carbon-fields/"])) + :not([data-type^="carbon-fields/"]) {
  margin-top: 1.25em;
}

.entry-content > :where(h2, h3, h4, h5, h6) + :not([data-type^="carbon-fields/"]) {
  margin-top: 0.75em;
}

.entry-content > :where(:not([data-type^="carbon-fields/"])) + :is(h2, h3, h4, h5, h6):not([data-type^="carbon-fields/"]) {
  margin-top: 2em;
}

/* Blocks with their own inner flow */
.entry-content :where(.wp-block-group, .wp-block-column, .wp-block-media-text__content, .wp-block-cover__inner-container, .wp-block-quote, blockquote) > * + * {
  margin-top: 1em;
}


/* ==========================================================================
   2. Text
   ========================================================================== */

.entry-content :where(h1, h2, h3, h4) {
  font-family: var(--ff-serif);
  font-weight: 500;
  letter-spacing: var(--ls-serif);
  color: var(--c-black);
}

.entry-content :where(h1) {
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
}

.entry-content :where(h2) {
  font-size: var(--fs-h3);
  line-height: 1.2;
}

.entry-content :where(h3) {
  font-size: var(--fs-h4);
  line-height: 1.25;
}

.entry-content :where(h4) {
  font-size: var(--fs-h5);
  line-height: var(--lh-h5);
}

/* Small headings look like the uppercase labels of the design */
.entry-content :where(h5, h6) {
  font-family: var(--ff-sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-olive);
}

.entry-content :where(strong, b) {
  font-weight: 700;
  color: var(--c-black);
}

.entry-content :where(a:not(.wp-block-button__link, .wp-block-file__button)) {
  color: var(--c-olive);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.3s var(--ease);
}

.entry-content :where(a:not(.wp-block-button__link, .wp-block-file__button)):hover {
  color: var(--c-olive-dark);
}

.entry-content :where(small) {
  font-size: 0.875em;
}

.entry-content :where(mark) {
  padding: 0 0.15em;
  color: inherit;
  background-color: rgb(197 204 192 / 0.6);
}

.entry-content :where(code, kbd) {
  padding: 0.1em 0.35em;
  font-size: 0.9em;
  background-color: var(--c-light);
}


/* ==========================================================================
   3. Lists
   ========================================================================== */

.entry-content :where(ul.wp-block-list, ul:not([class]), ol.wp-block-list, ol:not([class])) {
  padding-left: 1.75em;
}

.entry-content :where(ul.wp-block-list, ul:not([class])) {
  list-style: none;
}

.entry-content :where(ul.wp-block-list, ul:not([class])) > li {
  position: relative;
}

/* Short olive dash instead of a bullet — the line of the section labels */
.entry-content :where(ul.wp-block-list, ul:not([class])) > li::before {
  content: "";
  position: absolute;
  top: 0.85em;
  left: -1.75em;
  width: 12px;
  height: 1px;
  background-color: var(--c-olive);
}

.entry-content :where(ol.wp-block-list, ol:not([class])) {
  list-style: decimal;
}

.entry-content :where(ol.wp-block-list, ol:not([class])) > li::marker {
  font-weight: 600;
  color: var(--c-olive);
}

.entry-content :where(li + li, li > ul, li > ol) {
  margin-top: 0.5em;
}


/* ==========================================================================
   4. Quotes
   ========================================================================== */

.entry-content :where(.wp-block-quote, :not(.wp-block-pullquote) > blockquote:not([class])) {
  padding: 5px 0 5px 30px;
  font-family: var(--ff-serif);
  font-size: var(--fs-h5);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: var(--ls-serif);
  color: var(--c-black);
  border-left: 2px solid var(--c-olive);
}

.entry-content :where(.wp-block-quote, .wp-block-pullquote, blockquote) cite {
  display: block;
  margin-top: 15px;
  font-family: var(--ff-sans);
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-olive);
}

.entry-content .wp-block-pullquote {
  padding: clamp(30px, 22px + 2vw, 45px) 0;
  text-align: center;
  border-top: 1px solid var(--c-olive);
  border-bottom: 1px solid var(--c-olive);
}

.entry-content .wp-block-pullquote blockquote p {
  font-family: var(--ff-serif);
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: var(--ls-serif);
  color: var(--c-black);
}


/* ==========================================================================
   5. Images, gallery, video, embeds
   ========================================================================== */

.entry-content :where(img, video) {
  height: auto;
}

.entry-content :where(figcaption, .wp-element-caption, .wp-caption-text) {
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: center;
  color: #6f6f69;
}

.entry-content :where(a[data-lightbox]) {
  cursor: zoom-in;
}

.entry-content :where(.alignleft) {
  float: left;
  max-width: 50%;
  margin: 0.35em 30px 15px 0;
}

.entry-content :where(.alignright) {
  float: right;
  max-width: 50%;
  margin: 0.35em 0 15px 30px;
}

.entry-content :where(.aligncenter) {
  margin-inline: auto;
}

@media (max-width: 599.98px) {
  .entry-content :where(.alignleft, .alignright) {
    float: none;
    max-width: 100%;
    margin: 0;
  }
}

.entry-content .wp-block-gallery.has-nested-images {
  --wp--style--unstable-gallery-gap: 15px;
  gap: 15px;
}

.entry-content .wp-block-video video,
.entry-content .wp-block-embed iframe {
  width: 100%;
}


/* ==========================================================================
   6. Buttons and file
   ========================================================================== */

.entry-content .wp-block-buttons {
  gap: 15px 30px;
}

.entry-content .wp-block-button .wp-block-button__link,
.entry-content .wp-block-file .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: var(--btn-py) 30px;
  font-family: var(--ff-sans);
  font-size: var(--fs-btn);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  color: var(--c-white);
  background-color: var(--c-olive);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition:
    background-color 0.35s var(--ease),
    color 0.35s var(--ease),
    gap 0.45s var(--ease-out);
}

/* The arrow of the design buttons */
.entry-content .wp-block-button .wp-block-button__link::after {
  content: "";
  flex: none;
  width: 20px;
  height: 8px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 8' preserveAspectRatio='none'%3E%3Cpath transform='matrix(-1 0 0 1 20 0)' fill-rule='evenodd' d='M4.18491 2.29297C4.10676 2.39979 4.03648 2.51303 3.97405 2.63267C3.96045 2.63848 3.95504 2.64979 3.95783 2.66664C3.94701 2.66664 3.94161 2.6723 3.94161 2.68363C3.84347 2.82043 3.75155 2.96198 3.66586 3.10825C3.58796 3.19194 3.51768 3.28252 3.45499 3.38001C3.43877 3.38567 3.42795 3.397 3.42255 3.41398C8.94337 3.44233 14.4693 3.45932 20 3.46494C20 3.86692 20 4.26889 20 4.67087C14.4623 4.66522 8.93643 4.67087 3.42255 4.68786C3.42255 4.7105 3.43337 4.72183 3.45499 4.72183C3.4946 4.77667 3.53784 4.82763 3.58475 4.87469C3.58357 4.90063 3.59439 4.91761 3.61719 4.92565C3.65966 5.00909 3.71374 5.08269 3.7794 5.14645C3.79302 5.18642 3.81466 5.22039 3.84428 5.24836C3.87583 5.32031 3.91909 5.38259 3.97405 5.4352C4.05255 5.57706 4.13906 5.71294 4.23358 5.84284C4.27281 5.91942 4.31607 5.99302 4.36334 6.06364C4.49468 6.29921 4.62985 6.53134 4.76886 6.76003C4.91079 7.04031 5.05677 7.31773 5.20681 7.59229C5.21968 7.64919 5.2413 7.68882 5.27169 7.71119C5.25007 7.71684 5.25007 7.72251 5.27169 7.72817C5.30285 7.81327 5.34071 7.89535 5.38524 7.97445C5.37672 7.98621 5.3659 7.9947 5.3528 7.99993C4.95878 8.00069 4.56409 7.99502 4.16869 7.98295C4.16869 7.97162 4.16329 7.96596 4.15247 7.96596C4.11698 7.903 4.07372 7.84639 4.02271 7.79611C4.00193 7.74606 3.96949 7.70641 3.92538 7.67722C3.8534 7.57717 3.7777 7.48092 3.6983 7.38847C3.46607 7.10001 3.21736 6.82825 2.95215 6.57319C2.91971 6.52789 2.88187 6.48827 2.8386 6.4543C2.80537 6.40249 2.76211 6.36287 2.70884 6.3354C2.65429 6.2607 2.59483 6.20407 2.53041 6.16555C2.49157 6.10846 2.4429 6.06317 2.38443 6.02967C2.33544 5.97844 2.28136 5.93315 2.22222 5.89379C2.19966 5.8532 2.16722 5.82488 2.1249 5.80887C2.08662 5.7689 2.04336 5.73493 1.99513 5.70696C1.98277 5.67703 1.96114 5.66004 1.93025 5.656C1.91789 5.62607 1.89625 5.60909 1.86537 5.60505C1.63945 5.41303 1.40154 5.23753 1.15166 5.07851C1.04616 4.99775 0.93262 4.92981 0.81103 4.87469C0.803358 4.85081 0.787137 4.83948 0.762368 4.84072C0.719481 4.80296 0.670819 4.77467 0.616383 4.7558C0.548808 4.71191 0.478508 4.67228 0.405515 4.6369C0.360487 4.60477 0.311825 4.57645 0.25953 4.55198C0.250024 4.55553 0.241914 4.5612 0.235199 4.56896C0.228354 4.53625 0.209424 4.51926 0.178427 4.51801C0.116204 4.48261 0.0567234 4.44298 0 4.39911C0 4.17831 0 3.9575 0 3.7367C0 3.72537 0 3.71406 0 3.70273C0.135264 3.64321 0.265028 3.57244 0.389294 3.49042C0.378475 3.48476 0.367672 3.47909 0.356853 3.47343C0.37768 3.46181 0.39661 3.46465 0.413625 3.48192C0.472847 3.444 0.529619 3.40437 0.583942 3.36303C0.600032 3.36595 0.610835 3.36028 0.616383 3.34604C0.749375 3.28014 0.873723 3.20087 0.989457 3.10825C1.00028 3.10825 1.01108 3.10825 1.0219 3.10825C1.04667 3.10949 1.06289 3.09816 1.07056 3.07428C1.16094 3.01193 1.24204 2.94965 1.31387 2.88745C1.35632 2.86561 1.39416 2.83729 1.42741 2.80252C1.49054 2.77599 1.54461 2.73637 1.58962 2.68363C1.66092 2.64074 1.72581 2.58979 1.78427 2.53076C1.8449 2.49345 1.89896 2.44815 1.94647 2.39488C2.01252 2.36587 2.06659 2.32059 2.10868 2.259C2.30704 2.10799 2.49088 1.93814 2.66018 1.74945C2.67627 1.75238 2.68707 1.7467 2.69262 1.73247C2.71739 1.73371 2.73361 1.72238 2.74128 1.6985C2.81698 1.61357 2.89267 1.52865 2.96837 1.44372C3.01703 1.4041 3.06029 1.3588 3.09813 1.30784C3.33127 1.06941 3.55294 0.82029 3.76318 0.560505C3.774 0.560505 3.7794 0.554849 3.7794 0.54352C3.90396 0.401729 4.02292 0.25452 4.13625 0.10191C4.16858 0.0685005 4.20102 0.0345305 4.23358 0C4.56271 0.0020382 4.90334 0.0020382 5.25547 0C5.2788 0.00371971 5.30042 0.0122122 5.32036 0.0254775C5.13541 0.438281 4.94347 0.848757 4.74453 1.25689C4.5576 1.60318 4.37106 1.94853 4.18491 2.29297Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 8' preserveAspectRatio='none'%3E%3Cpath transform='matrix(-1 0 0 1 20 0)' fill-rule='evenodd' d='M4.18491 2.29297C4.10676 2.39979 4.03648 2.51303 3.97405 2.63267C3.96045 2.63848 3.95504 2.64979 3.95783 2.66664C3.94701 2.66664 3.94161 2.6723 3.94161 2.68363C3.84347 2.82043 3.75155 2.96198 3.66586 3.10825C3.58796 3.19194 3.51768 3.28252 3.45499 3.38001C3.43877 3.38567 3.42795 3.397 3.42255 3.41398C8.94337 3.44233 14.4693 3.45932 20 3.46494C20 3.86692 20 4.26889 20 4.67087C14.4623 4.66522 8.93643 4.67087 3.42255 4.68786C3.42255 4.7105 3.43337 4.72183 3.45499 4.72183C3.4946 4.77667 3.53784 4.82763 3.58475 4.87469C3.58357 4.90063 3.59439 4.91761 3.61719 4.92565C3.65966 5.00909 3.71374 5.08269 3.7794 5.14645C3.79302 5.18642 3.81466 5.22039 3.84428 5.24836C3.87583 5.32031 3.91909 5.38259 3.97405 5.4352C4.05255 5.57706 4.13906 5.71294 4.23358 5.84284C4.27281 5.91942 4.31607 5.99302 4.36334 6.06364C4.49468 6.29921 4.62985 6.53134 4.76886 6.76003C4.91079 7.04031 5.05677 7.31773 5.20681 7.59229C5.21968 7.64919 5.2413 7.68882 5.27169 7.71119C5.25007 7.71684 5.25007 7.72251 5.27169 7.72817C5.30285 7.81327 5.34071 7.89535 5.38524 7.97445C5.37672 7.98621 5.3659 7.9947 5.3528 7.99993C4.95878 8.00069 4.56409 7.99502 4.16869 7.98295C4.16869 7.97162 4.16329 7.96596 4.15247 7.96596C4.11698 7.903 4.07372 7.84639 4.02271 7.79611C4.00193 7.74606 3.96949 7.70641 3.92538 7.67722C3.8534 7.57717 3.7777 7.48092 3.6983 7.38847C3.46607 7.10001 3.21736 6.82825 2.95215 6.57319C2.91971 6.52789 2.88187 6.48827 2.8386 6.4543C2.80537 6.40249 2.76211 6.36287 2.70884 6.3354C2.65429 6.2607 2.59483 6.20407 2.53041 6.16555C2.49157 6.10846 2.4429 6.06317 2.38443 6.02967C2.33544 5.97844 2.28136 5.93315 2.22222 5.89379C2.19966 5.8532 2.16722 5.82488 2.1249 5.80887C2.08662 5.7689 2.04336 5.73493 1.99513 5.70696C1.98277 5.67703 1.96114 5.66004 1.93025 5.656C1.91789 5.62607 1.89625 5.60909 1.86537 5.60505C1.63945 5.41303 1.40154 5.23753 1.15166 5.07851C1.04616 4.99775 0.93262 4.92981 0.81103 4.87469C0.803358 4.85081 0.787137 4.83948 0.762368 4.84072C0.719481 4.80296 0.670819 4.77467 0.616383 4.7558C0.548808 4.71191 0.478508 4.67228 0.405515 4.6369C0.360487 4.60477 0.311825 4.57645 0.25953 4.55198C0.250024 4.55553 0.241914 4.5612 0.235199 4.56896C0.228354 4.53625 0.209424 4.51926 0.178427 4.51801C0.116204 4.48261 0.0567234 4.44298 0 4.39911C0 4.17831 0 3.9575 0 3.7367C0 3.72537 0 3.71406 0 3.70273C0.135264 3.64321 0.265028 3.57244 0.389294 3.49042C0.378475 3.48476 0.367672 3.47909 0.356853 3.47343C0.37768 3.46181 0.39661 3.46465 0.413625 3.48192C0.472847 3.444 0.529619 3.40437 0.583942 3.36303C0.600032 3.36595 0.610835 3.36028 0.616383 3.34604C0.749375 3.28014 0.873723 3.20087 0.989457 3.10825C1.00028 3.10825 1.01108 3.10825 1.0219 3.10825C1.04667 3.10949 1.06289 3.09816 1.07056 3.07428C1.16094 3.01193 1.24204 2.94965 1.31387 2.88745C1.35632 2.86561 1.39416 2.83729 1.42741 2.80252C1.49054 2.77599 1.54461 2.73637 1.58962 2.68363C1.66092 2.64074 1.72581 2.58979 1.78427 2.53076C1.8449 2.49345 1.89896 2.44815 1.94647 2.39488C2.01252 2.36587 2.06659 2.32059 2.10868 2.259C2.30704 2.10799 2.49088 1.93814 2.66018 1.74945C2.67627 1.75238 2.68707 1.7467 2.69262 1.73247C2.71739 1.73371 2.73361 1.72238 2.74128 1.6985C2.81698 1.61357 2.89267 1.52865 2.96837 1.44372C3.01703 1.4041 3.06029 1.3588 3.09813 1.30784C3.33127 1.06941 3.55294 0.82029 3.76318 0.560505C3.774 0.560505 3.7794 0.554849 3.7794 0.54352C3.90396 0.401729 4.02292 0.25452 4.13625 0.10191C4.16858 0.0685005 4.20102 0.0345305 4.23358 0C4.56271 0.0020382 4.90334 0.0020382 5.25547 0C5.2788 0.00371971 5.30042 0.0122122 5.32036 0.0254775C5.13541 0.438281 4.94347 0.848757 4.74453 1.25689C4.5576 1.60318 4.37106 1.94853 4.18491 2.29297Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  transition: transform 0.45s var(--ease-out);
}

.entry-content .wp-block-button .wp-block-button__link:hover {
  color: var(--c-white);
  background-color: var(--c-olive-dark);
}

.entry-content .wp-block-button .wp-block-button__link:hover::after {
  transform: translateX(5px);
}

.entry-content .wp-block-button.is-style-dark .wp-block-button__link,
.entry-content .wp-block-file .wp-block-file__button {
  background-color: var(--c-black);
}

.entry-content .wp-block-button.is-style-dark .wp-block-button__link:hover,
.entry-content .wp-block-file .wp-block-file__button:hover {
  background-color: var(--c-olive);
}

/* "Learn More →" */
.entry-content .wp-block-button.is-style-arrow .wp-block-button__link {
  padding: 0 0 12px;
  line-height: 1.26;
  letter-spacing: 0.15em;
  color: var(--c-olive);
  background: none;
  border-bottom: 1px solid currentColor;
}

.entry-content .wp-block-button.is-style-arrow .wp-block-button__link:hover {
  gap: 20px;
  color: var(--c-olive-dark);
  background: none;
}

.entry-content .wp-block-button.is-style-arrow .wp-block-button__link:hover::after {
  transform: none;
}

.entry-content .wp-block-file {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px 30px;
}

.entry-content .wp-block-file .wp-block-file__button {
  margin: 0;
  font-size: 1rem;
}


/* ==========================================================================
   7. Separator, table
   ========================================================================== */

.entry-content .wp-block-separator,
.entry-content :where(hr) {
  height: 0;
  margin-block: 2.5em;
  background: none;
  border: 0;
  border-top: 1px solid rgb(26 26 26 / 0.15);
  opacity: 1;
}

.entry-content .wp-block-separator.is-style-dots {
  color: var(--c-olive);
  border: 0;
}

.entry-content .wp-block-table {
  overflow-x: auto;
}

.entry-content .wp-block-table table,
.entry-content :where(table) {
  width: 100%;
  font-size: 0.9375rem;
  line-height: 1.5;
  border-collapse: collapse;
}

.entry-content .wp-block-table :is(th, td),
.entry-content :where(table:not([class])) :is(th, td) {
  padding: 12px 15px;
  text-align: left;
  vertical-align: top;
  border: 1px solid rgb(26 26 26 / 0.12);
}

.entry-content .wp-block-table thead,
.entry-content .wp-block-table tfoot {
  border: 0;
}

.entry-content .wp-block-table thead th,
.entry-content :where(table:not([class])) thead th {
  font-weight: 600;
  color: var(--c-white);
  background-color: var(--c-black);
  border-color: var(--c-black);
}

.entry-content .wp-block-table tfoot td {
  font-weight: 600;
}

.entry-content .wp-block-table.is-style-stripes {
  border-bottom: 0;
}

.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--c-light);
}

.entry-content .wp-block-table.is-style-stripes :is(td, th) {
  border-color: rgb(26 26 26 / 0.08);
}


/* ==========================================================================
   8. Group, columns, media & text
   ========================================================================== */

.entry-content .wp-block-columns {
  gap: 30px 45px;
  margin-bottom: 0;
}

.entry-content .wp-block-media-text .wp-block-media-text__content {
  padding: 30px 0 0;
}

@media (min-width: 600px) {
  .entry-content .wp-block-media-text .wp-block-media-text__content {
    padding: 0 0 0 45px;
  }

  .entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding: 0 45px 0 0;
  }
}


/* ==========================================================================
   9. Details — looks like the FAQ accordion
   ========================================================================== */

.entry-content .wp-block-details {
  background-color: var(--c-light);
}

.entry-content > .wp-block-details + .wp-block-details {
  margin-top: 15px;
}

.entry-content .wp-block-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 15px;
  font-family: var(--ff-serif);
  font-size: var(--fs-h5);
  font-weight: 500;
  line-height: var(--lh-h5);
  letter-spacing: var(--ls-serif);
  color: var(--c-black);
  list-style: none;
  cursor: pointer;
  transition: color 0.3s var(--ease);
}

.entry-content .wp-block-details summary::-webkit-details-marker {
  display: none;
}

/* Plus / minus from two bars on an olive square */
.entry-content .wp-block-details summary::after {
  content: "";
  flex: none;
  width: 30px;
  height: 30px;
  background:
    linear-gradient(var(--c-white), var(--c-white)) center / 15px 2px no-repeat,
    linear-gradient(var(--c-white), var(--c-white)) center / 2px 15px no-repeat,
    var(--c-olive);
}

.entry-content .wp-block-details[open] summary::after {
  background:
    linear-gradient(var(--c-white), var(--c-white)) center / 15px 2px no-repeat,
    var(--c-olive);
}

.entry-content .wp-block-details summary:hover {
  color: var(--c-olive);
}

.entry-content .wp-block-details > :not(summary) {
  margin-top: 0;
  padding-inline: 15px;
}

.entry-content .wp-block-details > :not(summary) + :not(summary) {
  margin-top: 1em;
}

.entry-content .wp-block-details > :last-child:not(summary) {
  padding-bottom: 15px;
}

@media (min-width: 1024px) {
  .entry-content .wp-block-details summary {
    gap: 30px;
    padding: 15px 30px;
  }

  .entry-content .wp-block-details > :not(summary) {
    padding-inline: 30px;
  }
}


/* ==========================================================================
   10. Block styles from the design (Styles panel in the editor)
   ========================================================================== */

/* Paragraph · Lead */
.entry-content p.is-style-lead {
  font-size: var(--fs-lead);
  line-height: 1.5;
  color: var(--c-black);
}

/* Paragraph · Label: — UPPERCASE — */
.entry-content p.is-style-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ff-sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-olive);
}

.entry-content p.is-style-label::before,
.entry-content p.is-style-label::after {
  content: "";
  flex: none;
  width: 20px;
  height: 1px;
  background-color: currentColor;
}

.entry-content p.is-style-label.has-text-align-center {
  justify-content: center;
}

.entry-content p.is-style-label.has-text-align-right {
  justify-content: flex-end;
}

/* List · No markers (serif) — the list of the "Scope includes" card */
.entry-content ul.is-style-plain,
.entry-content ol.is-style-plain {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding-left: 0;
  font-family: var(--ff-serif);
  font-size: var(--fs-h6);
  font-weight: 500;
  line-height: var(--lh-h6);
  letter-spacing: 0.03em;
  list-style: none;
}

.entry-content .is-style-plain > li::before {
  display: none;
}

.entry-content .is-style-plain > li + li {
  margin-top: 0;
}

/* List · Framed items — the counties of "Service area" */
.entry-content ul.is-style-boxed,
.entry-content ol.is-style-boxed {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding-left: 0;
  list-style: none;
}

.entry-content .is-style-boxed > li {
  margin: 0;
  padding: 13px 28px;
  font-family: var(--ff-serif);
  font-size: var(--fs-h5);
  font-weight: 500;
  line-height: var(--lh-h5);
  letter-spacing: var(--ls-serif);
  color: var(--c-black);
  border: 2px solid var(--c-olive);
}

.entry-content .is-style-boxed > li::before {
  display: none;
}

@media (min-width: 768px) {
  .entry-content ul.is-style-boxed,
  .entry-content ol.is-style-boxed {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .entry-content .is-style-boxed > li {
    flex: 1 1 0;
  }
}

/* Group · Light panel */
.entry-content .wp-block-group.is-style-light {
  padding: clamp(20px, 12px + 2.2vw, 45px);
  background-color: var(--c-light);
}

/* Group · Dark card */
.entry-content .wp-block-group.is-style-dark {
  padding: clamp(20px, 12px + 2.2vw, 45px);
  color: var(--c-light);
  background-color: var(--c-black);
}

.entry-content .wp-block-group.is-style-dark :where(h1, h2, h3, h4, strong, .is-style-boxed > li) {
  color: var(--c-white);
}

.entry-content .wp-block-group.is-style-dark :where(p.is-style-label, h5, h6) {
  color: var(--c-light);
}

.entry-content .wp-block-group.is-style-dark :where(a:not(.wp-block-button__link)) {
  color: var(--c-olive-light);
}

/* Image · Light frame */
.entry-content .wp-block-image.is-style-framed img {
  padding: 10px;
  background-color: var(--c-light);
}
