/* Plugmind Studio brand layer for Divi and WooCommerce. */

/* ---------- Fonts ---------- */
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/dm-mono-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('../fonts/dm-mono-latin-500-normal.woff2') format('woff2'); }

/* ---------- Brand colours ---------- */
:root {
  --pm-midnight: #141A2E;
  --pm-midnight-deep: #0E1324;
  --pm-panel: #1F2742;
  --pm-synapse: #7C5CFF;
  --pm-synapse-deep: #5B3FE0;
  --pm-synapse-hover: #4A31C4;
  --pm-mist: #F5F4FA;
  --pm-slate: #535A6E;
  --pm-line: #E6E4EE;
  --pm-muted-on-dark: #A9AEC0;
}

::selection { background: var(--pm-synapse); color: #FFFFFF; }

/* Visible keyboard focus everywhere (accessibility). */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
.et_pb_button:focus-visible {
  outline: 3px solid var(--pm-synapse); outline-offset: 3px; border-radius: 6px;
}

/* Respect people who ask for less motion. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Hidden text for screen readers. */
.pm-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.pm-menu-toggle { display: none; }
.pm-basket--bar.plugmind-nav-basket { display: none; }
/* Narrow phones: three buttons beside the logo leave no room for its "studio". */
@media (max-width: 479px) {
  .et-l--header .et_pb_text a[href="/"] > span:last-of-type { display: none; }
}

/* ---------- Back-to-top button ---------- */
.pm-to-top {
  position: fixed; right: 20px; bottom: 20px; z-index: 99;
  width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 14px; background: var(--pm-synapse-deep); color: #FFFFFF; cursor: pointer;
  box-shadow: 0 8px 24px rgba(20, 26, 46, .28);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s, background .2s ease;
}
.pm-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.pm-to-top:hover { background: var(--pm-synapse-hover); }
/* Hide Divi's own back-to-top button if it's switched on, so there aren't two. */
.et_pb_scroll_top { display: none !important; }
/* Keep it clear of the open mobile menu. */
.pm-menu-open .pm-to-top { opacity: 0; visibility: hidden; }
/* Above the docs' help bubble (BetterDocs Instant Answers) where there is one, rather than on top of it. */
body:has(.betterdocs-ia-launcher-wrapper) .pm-to-top { bottom: 84px; }
/* The help bubble: Home and Resources only. Its Ask tab is left out; questions go through Support. */
.betterdocs-ia-tabs .betterdocs-ia-message { display: none !important; }

/* ---------- Divi buttons used by the layouts ---------- */
.et_pb_button { border-radius: 12px; }
.et_pb_button::after { display: none !important; }

/* ---------- WooCommerce: product page ---------- */
.woocommerce div.product .product_title {
  font-family: 'Outfit', sans-serif; font-weight: 700; letter-spacing: -0.035em; line-height: 1.04;
}
/* The product template's first section is the dark hero. */
.et-l--body .et_pb_section:first-of-type .product_title { color: var(--pm-mist); font-size: 52px; }
.et-l--body .et_pb_section:first-of-type .woocommerce-product-details__short-description,
.et-l--body .et_pb_section:first-of-type .woocommerce-product-details__short-description p { color: #C4C8D6; font-size: 18px; line-height: 1.55; }
.et-l--body .et_pb_section:first-of-type p.price,
.et-l--body .et_pb_section:first-of-type span.price,
.et-l--body .et_pb_section:first-of-type .price ins { color: var(--pm-mist) !important; }
.et-l--body .et_pb_section:first-of-type .price del { color: var(--pm-muted-on-dark) !important; }
/* Divi 5's WooCommerce modules (Product Title draws a plain h1, without .product_title). */
.et-l--body .et_pb_section:first-of-type .et_pb_wc_title h1 {
  color: var(--pm-mist); font-family: 'Outfit', sans-serif; font-weight: 700; letter-spacing: -0.035em; line-height: 1.04;
  font-size: clamp(34px, 6vw, 52px); margin: 0 0 16px; text-wrap: balance;
}
.et-l--body .et_pb_section:first-of-type .et_pb_wc_description,
.et-l--body .et_pb_section:first-of-type .et_pb_wc_description p { color: #C4C8D6; font-size: 18px; line-height: 1.55; }
.et-l--body .et_pb_section:first-of-type .et_pb_wc_price .subscription-details,
.et-l--body .et_pb_section:first-of-type .et_pb_wc_price .from { color: #C4C8D6; font-weight: 400; font-size: .6em; }
.et-l--body .et_pb_section:first-of-type .et_pb_wc_add_to_cart .variations label,
.et-l--body .et_pb_section:first-of-type .et_pb_wc_add_to_cart .variations th { color: var(--pm-muted-on-dark); }
.et-l--body .et_pb_section:first-of-type .et_pb_wc_add_to_cart .reset_variations { color: var(--pm-muted-on-dark); }

.woocommerce div.product p.price, .woocommerce div.product span.price {
  font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 34px; letter-spacing: -0.02em;
}
.woocommerce div.product .woocommerce-variation-price .price { font-size: 26px; }

/* Brand tier dropdown (3 / 15 / unlimited brands) */
.woocommerce div.product form.cart .variations { margin-bottom: 18px; }
.woocommerce div.product form.cart .variations th.label label {
  font-family: 'DM Mono', monospace; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--pm-muted-on-dark);
}
.woocommerce div.product form.cart .variations select {
  background-color: #FFFFFF; color: var(--pm-midnight); border: 1px solid #DEDCE8; border-radius: 12px;
  padding: 12px 14px; font-size: 16px; min-width: 260px;
}
.woocommerce div.product form.cart .reset_variations { color: var(--pm-muted-on-dark); font-size: 14px; }
.woocommerce div.product form.cart div.quantity { display: none; }

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--pm-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 10px 10px 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight: 600; color: var(--pm-slate); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #FFFFFF; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--pm-synapse-deep); }

/* ---------- WooCommerce: buttons everywhere ---------- */
.woocommerce .single_add_to_cart_button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #place_order, .woocommerce .checkout-button,
.woocommerce-page .single_add_to_cart_button {
  background: var(--pm-synapse-deep) !important; color: #FFFFFF !important; border: 0 !important; border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important; font-weight: 600 !important; font-size: 16px !important;
  padding: 14px 26px !important; line-height: 1.2 !important; letter-spacing: 0 !important;
}
.woocommerce .single_add_to_cart_button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce #place_order:hover, .woocommerce .checkout-button:hover { background: var(--pm-synapse-hover) !important; }

.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: #FFFFFF !important; color: var(--pm-midnight) !important; border: 1px solid var(--pm-midnight) !important;
  border-radius: 12px !important; font-family: 'Outfit', sans-serif !important; font-weight: 600 !important; font-size: 15px !important;
  padding: 11px 20px !important; letter-spacing: 0 !important;
}
.woocommerce a.button::after, .woocommerce button.button::after, .woocommerce input.button::after,
.woocommerce .single_add_to_cart_button::after, .woocommerce #place_order::after { display: none !important; }

/* ---------- WooCommerce: basket and checkout ---------- */
.woocommerce table.shop_table { border: 1px solid var(--pm-line); border-radius: 16px; overflow: hidden; border-collapse: separate; }
.woocommerce table.shop_table th { font-family: 'DM Mono', monospace; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--pm-slate); font-weight: 500; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  border: 1px solid #DEDCE8 !important; border-radius: 10px !important; padding: 12px 14px; font-size: 16px; background: #FFFFFF;
}
.woocommerce-checkout .select2-container .select2-selection--single { height: auto; }
.woocommerce-checkout #payment { background: var(--pm-mist); border-radius: 16px; }
/* Which licence key the order goes on (Plugmind Licensing), under the billing details. */
.ndc-key-choice { display: grid; gap: 10px; margin: 24px 0 0; padding: 18px 20px; border: 1px solid var(--pm-line); border-radius: 14px; }
.ndc-key-choice legend { padding: 0 6px; font-weight: 700; color: var(--pm-midnight); }
.ndc-key-choice__lead { margin: 0; padding: 0; font-size: 15px; color: var(--pm-slate); }
.ndc-key-choice__option { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; }
.ndc-key-choice__option input { margin-top: 5px; accent-color: var(--pm-synapse-deep); }
.ndc-key-choice__option label { display: grid; gap: 2px; cursor: pointer; }
.ndc-key-choice__option label span { font-size: 14px; color: var(--pm-slate); overflow-wrap: anywhere; }
/* Notices ("added to your basket", errors): a quiet card with a coloured edge instead of Divi's blue bar, its button
   on the right. Divi sets their colour, size and padding with !important, and its Cart Notice module more specifically still, so these start from the page's ID. */
#page-container :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px;
  margin: 0 0 20px !important; padding: 14px 18px !important; list-style: none;
  background: var(--pm-mist) !important; color: var(--pm-midnight) !important;
  border: 0 !important; border-left: 4px solid var(--pm-synapse-deep) !important; border-radius: 12px;
  font-size: 16px !important; line-height: 1.5;
}
#page-container .woocommerce-error { background: #FFF1EE !important; border-left-color: #C2431F !important; }
#page-container :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { display: none !important; }
#page-container :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button) { color: var(--pm-synapse-deep) !important; font-weight: 600; }
#page-container :is(.woocommerce-message, .woocommerce-info) a.button { order: 2; margin-left: auto !important; float: none !important; }
#page-container .woocommerce-error li { margin: 0; padding: 0; list-style: none; }
/* Checkout's payment module: no grey box of Divi's own; it sits in the white card already. */
.et-l .et_pb_wc_checkout_payment_info { background-color: transparent !important; }

/* "Pay for order" (after the details: Paddle's form) and the order received page (the licence key). The checkout
   template's billing column is empty on both, so it goes, and the payment card takes a comfortable width in the middle.
   The heading says which of the two it is (pm-when-paying / pm-when-done, from the site generator). */
.pm-when-done { display: none; }
.woocommerce-order-received .pm-when-paying { display: none; }
.woocommerce-order-received .pm-when-done { display: block; }
:is(.woocommerce-order-pay, .woocommerce-order-received) .et_pb_column.pm-checkout-details { display: none !important; }
:is(.woocommerce-order-pay, .woocommerce-order-received) .et_pb_column.pm-checkout-pay {
  flex: 0 1 720px !important; width: 100% !important; max-width: 720px !important; margin: 0 auto !important;
}
/* The order's number, date, total and payment method: a row of labelled facts. */
:is(.woocommerce-order-pay, .woocommerce-order-received) ul.order_details {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 14px 20px;
  margin: 0 0 20px !important; padding: 0 0 18px !important; border-bottom: 1px solid var(--pm-line); list-style: none;
}
:is(.woocommerce-order-pay, .woocommerce-order-received) ul.order_details::before, :is(.woocommerce-order-pay, .woocommerce-order-received) ul.order_details::after { display: none !important; }
:is(.woocommerce-order-pay, .woocommerce-order-received) ul.order_details li {
  float: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
  font-family: 'DM Mono', monospace; font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--pm-slate);
}
:is(.woocommerce-order-pay, .woocommerce-order-received) ul.order_details li strong {
  display: block; margin-top: 4px; font-family: 'Outfit', sans-serif; font-size: 17px !important; font-weight: 600;
  letter-spacing: 0; text-transform: none; color: var(--pm-midnight);
}
.woocommerce-order-pay .pm-checkout-pay .et_pb_module_inner > p { color: var(--pm-slate); font-size: 15px; margin: 0 0 14px; }

/* Notices WooCommerce prints above a page's layout get the page's width rather than the screen's. */
.woocommerce-notices-wrapper:not(:empty):not(.et_pb_module *) { width: 90%; max-width: 1200px; margin: 24px auto 0; }

/* ---------- WooCommerce: My Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 12px 16px; border-radius: 10px; color: var(--pm-midnight); font-weight: 500; text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--pm-mist); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--pm-midnight); color: #FFFFFF; }
.woocommerce-account .woocommerce-MyAccount-content { background: #FFFFFF; border: 1px solid var(--pm-line); border-radius: 18px; padding: 28px; }
/* Plain links in the shop's own pages (My Account, basket, checkout): the brand's purple, not Divi's blue. */
/* Not My Account's menu: its links have no class either. */
#page-container :is(.woocommerce-MyAccount-content, .woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce) a:not([class]) { color: var(--pm-synapse-deep); font-weight: 600; }
#page-container :is(.woocommerce-MyAccount-content, .woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce) a:not([class]):hover { color: var(--pm-synapse-hover); text-decoration: underline; }

/* My Account > Licences and Downloads (Plugmind Licensing) */
.woocommerce-account .ndc-licence { padding-bottom: 24px; border-bottom: 1px solid var(--pm-line); }
.woocommerce-account .ndc-licence:last-child { border-bottom: 0; padding-bottom: 0; }
.woocommerce-account .ndc-licence h3 {
  display: inline-block; font-family: 'DM Mono', monospace !important; font-size: 17px; letter-spacing: .06em !important;
  background: var(--pm-midnight); color: #FFFFFF; border-radius: 10px; padding: 10px 14px; user-select: all;
}
.woocommerce-account .ndc-licence h4 { font-size: 16px; margin-top: 20px; }
.woocommerce-account .ndc-licence li { flex-wrap: wrap; }
.woocommerce-account .ndc-licence li small { color: var(--pm-slate); }
.woocommerce-account .ndc-licence button.button { padding: 6px 14px !important; font-size: 14px !important; }
.woocommerce-account .woocommerce-table--order-downloads td.download-expires { color: var(--pm-slate); }

/* ---------- Phones ---------- */
@media (max-width: 767px) {
  .et-l--body .et_pb_section:first-of-type .product_title { font-size: 38px; }
  .woocommerce div.product form.cart .variations select { min-width: 0; width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-content { padding: 20px; }
}

/* ---------- Tablets and phones ----------
   Divi 5 rows are flex rows that don't wrap, so columns squeeze side by side on small
   screens. Let them wrap and give each column the full width. */
@media (max-width: 980px) {
  .et-l .et_flex_row { flex-wrap: wrap !important; }
  .et-l .et_flex_row > .et_flex_column {
    flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important;
    margin-left: 0 !important; margin-right: 0 !important;
  }
  .et-l--body .et_flex_column { margin-bottom: 18px; }

  /* Header: logo with a menu button; the links open as a full-width menu. */
  .et-l--header .et_pb_section { position: relative; padding-top: 12px !important; padding-bottom: 12px !important; }
  .et-l--header .et_flex_row { row-gap: 0 !important; gap: 0 !important; }
  .et-l--header .et_flex_column { margin-bottom: 0 !important; padding: 0 !important; }
  .et-l--header .et_pb_text, .et-l--header .et_pb_module { margin-bottom: 0 !important; text-align: left !important; }

  .pm-menu-toggle {
    display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 9px; right: 4%;
    width: 46px; height: 46px; border: 0; border-radius: 12px; background: var(--pm-midnight); color: #FFFFFF; cursor: pointer; z-index: 20;
  }
  /* The basket beside ☰ (plugmind-menu.js copies it there), and not again inside the menu. */
  .pm-basket--bar.plugmind-nav-basket { display: inline-flex; position: absolute; top: 12px; right: calc(4% + 56px); z-index: 20; width: 44px; height: 44px; }
  .pm-has-basket .plugmind-nav-item--basket { display: none !important; }
  .pm-menu-icon { position: relative; width: 20px; height: 14px; display: block; }
  .pm-menu-icon span { position: absolute; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease, top .2s ease; }
  .pm-menu-icon span:nth-child(1) { top: 0; }
  .pm-menu-icon span:nth-child(2) { top: 6px; }
  .pm-menu-icon span:nth-child(3) { top: 12px; }
  .pm-menu-open .pm-menu-icon span:nth-child(1) { top: 6px; transform: rotate(45deg); }
  .pm-menu-open .pm-menu-icon span:nth-child(2) { opacity: 0; }
  .pm-menu-open .pm-menu-icon span:nth-child(3) { top: 6px; transform: rotate(-45deg); }

  /* Links are hidden until the button opens them (only once the button exists). */
  .pm-has-toggle nav[aria-label="Main"] { display: none !important; }
  .pm-menu-open .pm-has-toggle nav[aria-label="Main"] {
    display: flex !important; flex-direction: column !important; align-items: stretch !important;
    gap: 0 !important; padding: 10px 0 6px; white-space: normal;
  }
  /* Only the menu's own links: the mega menu's panels (Plugmind Product Pages) style theirs. */
  .pm-menu-open .pm-has-toggle nav[aria-label="Main"] > a {
    padding: 15px 2px; font-size: 18px; font-weight: 600 !important; border-bottom: 1px solid var(--pm-line);
  }
  .pm-menu-open .pm-has-toggle nav[aria-label="Main"] > a:last-child {
    border-bottom: 0; margin-top: 14px; text-align: center; padding: 15px !important; font-size: 17px;
  }
}


/* ---------- Phones ---------- */
@media (max-width: 767px) {
  /* Footer: brand across the top, then link lists in two columns. */
  .et-l--footer .et_flex_row:first-of-type { display: grid !important; grid-template-columns: 1fr 1fr; gap: 4px 24px !important; }
  .et-l--footer .et_flex_row:first-of-type > .et_flex_column { margin: 0 0 16px !important; }
  .et-l--footer .et_flex_row:first-of-type > .et_flex_column:first-child { grid-column: 1 / -1; }
  .et-l--footer .et_pb_section { padding-top: 44px !important; }

  /* Pages imported before the phone-sized layouts: keep headings and spacing in proportion. */
  .et-l--body h1 { font-size: clamp(32px, 9vw, 44px) !important; }
  .et-l--body h2 { font-size: clamp(24px, 6.5vw, 32px) !important; }
  .et-l--body .et_pb_section { padding-top: 48px !important; padding-bottom: 48px !important; }

  html, body { overflow-x: hidden; }
}

/* ---------- Divi's Contact Form (the Contact page) ---------- */
.et_pb_contact_form_container .et_pb_contact_field input,
.et_pb_contact_form_container .et_pb_contact_field textarea,
.et_pb_contact_form_container .et_pb_contact_captcha {
  background: #FFFFFF; border: 1px solid #DEDCE8; border-radius: 12px; color: var(--pm-midnight); font-size: 16px; padding: 14px 16px;
}
.et_pb_contact_form_container .et_pb_contact_field input:focus,
.et_pb_contact_form_container .et_pb_contact_field textarea:focus { border-color: var(--pm-synapse-deep); outline: 2px solid var(--pm-synapse); outline-offset: 1px; }
.et_pb_contact_form_container .et_pb_contact_submit {
  background: var(--pm-synapse-deep) !important; color: #FFFFFF !important; border: 0 !important; border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important; font-weight: 600 !important; font-size: 16px !important; padding: 14px 26px !important;
}
.et_pb_contact_form_container .et_pb_contact_submit:hover { background: var(--pm-synapse-hover) !important; }
.et_pb_contact_form_container .et_pb_contact_submit::after { display: none !important; }
.et_pb_contact_form_container .et-pb-contact-message { color: var(--pm-midnight); font-size: 16px; }

/* ---------- Buy page: the Description tab (the product's long description) ---------- */
.woocommerce div.product .woocommerce-tabs .panel { font-size: 16px; line-height: 1.65; color: #353B4E; max-width: 78ch; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 22px; letter-spacing: -.02em; color: var(--pm-midnight); margin: 28px 0 10px; }
.woocommerce div.product .woocommerce-tabs .panel ul { margin: 0 0 16px; padding-left: 1.2em; }
.woocommerce div.product .woocommerce-tabs .panel li { margin: 0 0 8px; }
.woocommerce div.product .woocommerce-tabs .panel a { color: var(--pm-synapse-deep); font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 15px; }

/* ---------- Docs (BetterDocs articles, from Website/docs) ---------- */
#betterdocs-single-content { font-size: 17px; line-height: 1.7; color: #353B4E; }
#betterdocs-single-content h2, #betterdocs-single-content h3 {
  font-family: 'Outfit', sans-serif; font-weight: 700; letter-spacing: -.02em; color: var(--pm-midnight); line-height: 1.2;
}
#betterdocs-single-content h2 { font-size: 26px; margin: 36px 0 12px; }
#betterdocs-single-content h3 { font-size: 21px; margin: 28px 0 10px; }
#betterdocs-single-content p { margin: 0 0 14px; }
#betterdocs-single-content ul, #betterdocs-single-content ol { margin: 0 0 18px; padding-left: 1.5em; }
#betterdocs-single-content ul { list-style: disc; }
#betterdocs-single-content ol { list-style: decimal; }
#betterdocs-single-content li { margin: 0 0 8px; padding: 0; }
#betterdocs-single-content li > ul, #betterdocs-single-content li > ol { margin: 8px 0 6px; }
#betterdocs-single-content li > p { margin: 8px 0 0; }
#betterdocs-single-content a { color: var(--pm-synapse-deep); font-weight: 600; }
#betterdocs-single-content code {
  font-family: 'DM Mono', ui-monospace, monospace; font-size: .86em; background: var(--pm-mist); color: var(--pm-midnight);
  padding: 2px 6px; border-radius: 6px;
}
#betterdocs-single-content pre {
  background: var(--pm-midnight); color: var(--pm-mist); padding: 16px 18px; border-radius: 12px; overflow-x: auto; margin: 0 0 18px;
}
#betterdocs-single-content pre code { background: none; color: inherit; padding: 0; font-size: 14px; }
#betterdocs-single-content table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15.5px; display: block; overflow-x: auto; }
#betterdocs-single-content th {
  text-align: left; font-family: 'DM Mono', ui-monospace, monospace; font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--pm-slate); padding: 8px 12px 8px 0; border-bottom: 1px solid var(--pm-line);
}
#betterdocs-single-content td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--pm-line); vertical-align: top; }
#betterdocs-single-content .plugmind-doc-note {
  background: var(--pm-mist); border: 1px solid var(--pm-line); border-radius: 12px; padding: 14px 18px; margin: 0 0 18px; font-size: 16px;
}
#betterdocs-single-content .plugmind-doc-note p:last-child { margin-bottom: 0; }

/* ---------- Docs pages (BetterDocs): heroes, cards, sidebar and lists in the site's look ---------- */
/* The search hero on /docs/ and each knowledge base: the site's dark hero band. */
.betterdocs-search-layout-1 {
  background: var(--pm-midnight) !important; margin: 0 auto !important; padding: 72px 16px 64px !important;
}
.betterdocs-search-layout-1 .search-header { margin-bottom: 28px !important; }
.betterdocs-search-layout-1 .search-header::before {
  content: "Docs"; display: block; margin: 0 0 14px; font-family: 'DM Mono', ui-monospace, monospace; font-size: 13px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--pm-muted-on-dark);
}
.betterdocs-search-layout-1 .search-header .search-heading {
  color: var(--pm-mist) !important; font-family: 'Outfit', sans-serif !important; font-weight: 700 !important;
  font-size: clamp(32px, 6vw, 52px) !important; letter-spacing: -.035em; line-height: 1.05 !important;
}
.betterdocs-search-layout-1 .search-header .search-subheading { color: #C4C8D6 !important; font-size: 19px !important; }
.betterdocs-search-layout-1 .search-bar {
  border: 0 !important; border-radius: 14px !important; padding: 8px 8px 8px 20px !important; box-shadow: 0 12px 32px rgba(0, 0, 0, .25);
}
.betterdocs-search-layout-1 .search-bar .search-input { color: var(--pm-midnight) !important; font-size: 17px !important; }
.betterdocs-search-layout-1 .search-bar .search-button {
  background: var(--pm-synapse-deep) !important; border-radius: 10px !important; font-weight: 600 !important; padding: 12px 26px !important;
}
.betterdocs-search-layout-1 .search-bar .search-button:hover { background: var(--pm-synapse-hover) !important; }

/* Knowledge base and category cards: the site's white cards. */
.betterdocs-category-box-wrapper .betterdocs-category-box-inner-wrapper.layout-4 {
  display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 20px;
  width: 90%; max-width: 1200px; margin: 0 auto; padding: 56px 0 80px; border: 0 !important;
}
.betterdocs-category-box-wrapper .betterdocs-category-box-inner-wrapper.betterdocs-categories-folder.layout-4 .category-box {
  width: auto !important; max-width: none !important; margin: 0 !important; padding: 28px !important; background: #FFFFFF !important;
  border: 1px solid var(--pm-line) !important; border-radius: 18px; text-align: left;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.betterdocs-categories-folder.layout-4 .category-box:hover,
.betterdocs-categories-folder.layout-4 .category-box:focus-visible {
  border-color: var(--pm-synapse) !important; box-shadow: 0 10px 28px rgba(20, 26, 46, .08); background: #FFFFFF !important;
}
.betterdocs-categories-folder.layout-4 .category-box .betterdocs-category-header-inner { align-items: flex-start !important; text-align: left !important; }
.betterdocs-categories-folder.layout-4 .category-box .betterdocs-folder-icon,
.betterdocs-categories-folder.layout-4 .category-box .betterdocs-category-icon {
  width: 48px !important; height: 48px !important; background: none !important; margin: 0 0 16px !important;
}
.betterdocs-categories-folder.layout-4 .category-box .betterdocs-category-folder-img { width: 48px !important; height: 48px !important; border-radius: 12px; }
.betterdocs-categories-folder.layout-4 .category-box .betterdocs-category-title-counts { align-items: flex-start !important; }
.betterdocs-category-box-wrapper .betterdocs-category-box-inner-wrapper .betterdocs-category-title,
.betterdocs-categories-folder.layout-4 .category-box .betterdocs-category-title {
  font-family: 'Outfit', sans-serif !important; font-weight: 700 !important; font-size: 21px !important; letter-spacing: -.02em;
  color: var(--pm-midnight) !important; margin: 0 0 10px !important; text-align: left;
}
.betterdocs-categories-folder.layout-4 .category-box:hover .betterdocs-category-title { color: var(--pm-synapse-deep) !important; }

/* "Last updated" and counts: quiet labels rather than coloured pills. */
.betterdocs-last-update, .betterdocs-title-excerpt-list .betterdocs-last-update {
  background: none !important; padding: 0 !important; color: var(--pm-slate) !important;
  font-family: 'DM Mono', ui-monospace, monospace; font-size: 11.5px !important; letter-spacing: .04em;
}
.betterdocs-category-items-counts, .betterdocs-sub-category-items-counts {
  background: var(--pm-mist) !important; color: var(--pm-slate) !important; border-radius: 999px !important;
  font-family: 'DM Mono', ui-monospace, monospace; font-size: 11px !important;
}

/* Sidebar (category and article pages). */
.betterdocs-sidebar .betterdocs-category-title {
  font-family: 'Outfit', sans-serif !important; font-weight: 600 !important; font-size: 16px !important; color: var(--pm-midnight) !important;
}
.betterdocs-sidebar .betterdocs-category-folder-img { border-radius: 6px; }
.betterdocs-sidebar .betterdocs-articles-list a { color: var(--pm-slate) !important; font-size: 14.5px !important; }
.betterdocs-sidebar .betterdocs-articles-list a:hover,
.betterdocs-sidebar .betterdocs-articles-list .active a, .betterdocs-sidebar .betterdocs-articles-list a.active {
  color: var(--pm-synapse-deep) !important;
}

/* Breadcrumbs and article titles. */
.betterdocs-breadcrumb, .betterdocs-breadcrumb a, .betterdocs-breadcrumb-item {
  font-family: 'DM Mono', ui-monospace, monospace !important; font-size: 12.5px !important; color: var(--pm-slate) !important; background: none !important;
}
.betterdocs-entry-title, .betterdocs-entry-header .betterdocs-entry-title {
  font-family: 'Outfit', sans-serif !important; font-weight: 700 !important; letter-spacing: -.03em; color: var(--pm-midnight) !important;
}
.betterdocs-title-excerpt-list .betterdocs-entry-title, .betterdocs-title-excerpt-list .betterdocs-entry-title a {
  font-size: 21px !important; color: var(--pm-midnight) !important;
}
.betterdocs-title-excerpt-list:hover .betterdocs-entry-title a { color: var(--pm-synapse-deep) !important; }

/* A category's header box: the site's dark band, with its icon. */
.betterdocs-taxonomy-wrapper .betterdocs-content-area .betterdocs-category-header {
  background: var(--pm-midnight) !important; border-radius: 18px; padding: 36px !important;
}
.betterdocs-taxonomy-wrapper .betterdocs-content-area .betterdocs-category-header .betterdocs-category-title,
.betterdocs-taxonomy-wrapper .betterdocs-content-area .betterdocs-category-header h1 {
  color: var(--pm-mist) !important; font-family: 'Outfit', sans-serif !important; font-weight: 700 !important;
}
.betterdocs-taxonomy-wrapper .betterdocs-content-area .betterdocs-category-header p,
.betterdocs-taxonomy-wrapper .betterdocs-content-area .betterdocs-category-header span { color: #C4C8D6 !important; }

/* Reactions and sharing: a quieter card. */
.betterdocs-article-reactions { background: var(--pm-mist) !important; border: 1px solid var(--pm-line) !important; border-radius: 14px !important; }
.betterdocs-article-reactions-subheading { font-family: 'Outfit', sans-serif !important; font-weight: 600; color: var(--pm-midnight) !important; }
.betterdocs-social-share-heading, .betterdocs-social-share-title-tag { font-family: 'Outfit', sans-serif !important; font-weight: 700 !important; font-size: 20px !important; color: var(--pm-midnight) !important; }
.betterdocs-toc, .betterdocs-toc a { color: var(--pm-slate) !important; }

/* The search hero's heading, wherever BetterDocs' script puts it inside the hero. */
.betterdocs-search-layout-1 h1, .betterdocs-search-layout-1 h2, .betterdocs-search-layout-1 .search-heading {
  color: var(--pm-mist) !important; font-family: 'Outfit', sans-serif !important; font-weight: 700 !important;
  font-size: clamp(32px, 6vw, 52px) !important; letter-spacing: -.035em; line-height: 1.05 !important;
}
.betterdocs-search-layout-1 h1::before, .betterdocs-search-layout-1 .search-heading::before {
  content: "Docs"; display: block; margin: 0 0 16px; font-family: 'DM Mono', ui-monospace, monospace; font-size: 13px;
  font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: var(--pm-muted-on-dark);
}
.betterdocs-search-layout-1 .search-header::before { content: none !important; }
.betterdocs-search-layout-1 p, .betterdocs-search-layout-1 .search-subheading { color: #C4C8D6 !important; }

/* Card dates: left-aligned, on one line. */
.betterdocs-categories-folder.layout-4 .category-box .betterdocs-last-update { text-align: left !important; white-space: nowrap; margin: 0 !important; }

/* A category's header: the folder is the dark band, its header sits inside it. */
.betterdocs-category-archive-wrapper.betterdocs-wraper .betterdocs-main-category-folder,
.betterdocs-category-archive-wrapper.betterdocs-wraper .betterdocs-main-category-folder:hover {
  background: var(--pm-midnight) !important; border-radius: 18px; padding: 40px 32px !important; margin-bottom: 24px;
}
.betterdocs-taxonomy-wrapper .betterdocs-content-area .betterdocs-category-header,
.betterdocs-category-archive-wrapper .betterdocs-main-category-folder .betterdocs-category-header {
  background: none !important; padding: 0 !important; border-radius: 0;
}
.betterdocs-category-archive-wrapper.betterdocs-wraper .betterdocs-main-category-folder .betterdocs-category-header-inner .betterdocs-category-title {
  color: var(--pm-mist) !important; font-family: 'Outfit', sans-serif !important; font-weight: 700 !important; letter-spacing: -.03em;
}
.betterdocs-category-archive-wrapper.betterdocs-wraper .betterdocs-main-category-folder .betterdocs-category-folder-img { border-radius: 14px; }
.betterdocs-category-archive-wrapper.betterdocs-wraper .betterdocs-main-category-folder .betterdocs-sub-category-items-counts,
.betterdocs-category-archive-wrapper.betterdocs-wraper .betterdocs-main-category-folder .betterdocs-sub-category-items-counts span {
  background: none !important; color: var(--pm-muted-on-dark) !important; font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 13px !important; letter-spacing: .08em; text-transform: uppercase;
}

/* The category's article list. */
.betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list { padding: 22px 4px !important; border-bottom: 1px solid var(--pm-line) !important; }
.betterdocs-title-excerpt-lists .betterdocs-entry-title, .betterdocs-title-excerpt-lists .betterdocs-entry-title a {
  font-family: 'Outfit', sans-serif !important; font-weight: 700 !important; font-size: 21px !important; letter-spacing: -.02em;
  color: var(--pm-midnight) !important; text-decoration: none !important;
}
.betterdocs-title-excerpt-lists .betterdocs-entry-title a:hover { color: var(--pm-synapse-deep) !important; }
.betterdocs-title-excerpt-lists .betterdocs-entry-title > span { display: none !important; }
.betterdocs-title-excerpt-lists .update-date {
  display: inline-block; margin: 6px 0 8px; background: none !important; padding: 0 !important; color: var(--pm-slate) !important;
  font-family: 'DM Mono', ui-monospace, monospace; font-size: 11.5px !important; letter-spacing: .04em;
}
.betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p { color: #353B4E !important; font-size: 16px !important; margin: 0 !important; }

/* The category header's icon: no frame behind it (the icon has its own rounded shape). */
.betterdocs-category-archive-wrapper .betterdocs-main-category-folder .betterdocs-folder-icon,
.betterdocs-category-archive-wrapper .betterdocs-main-category-folder .betterdocs-category-icon { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.woocommerce-order-received .woocommerce-thankyou-order-received { margin: 0 0 14px; color: var(--pm-slate); }

/* Buy pages: the trial is said once, by the chosen option's price and the button, and a product with options drops its
   "From" price (the tier cards show every price). */
.single-product .woocommerce-subscriptions-product-details__trial { display: none; }
.pm-buy-options .et_pb_wc_price { display: none; }

/* A panel beside a taller column keeps its own height instead of stretching (buy pages, product page heroes). */
.pm-top-panel { align-self: flex-start; height: auto !important; }

/* Basket and checkout: one licence of each product, so no quantity or "Update cart"; the subtotals only repeated the
   totals ("Due today" and "Renews at", functions.php). */
.woocommerce-cart .product-quantity, .woocommerce-cart button[name="update_cart"] { display: none !important; }
.woocommerce-cart .cart_totals .cart-subtotal, .woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal { display: none; }
.pm-trial-note { margin: 14px 0; padding: 12px 14px; border-radius: 12px; background: #F1EEFF; color: var(--pm-midnight, #141A2E); font-size: 14px; line-height: 1.5; }
/* The basket's products get two thirds of the width on wide screens, so a product's name isn't one word a line. */
@media (min-width: 981px) {
	.pm-basket-items { flex: 2 1 0 !important; max-width: none !important; }
	.pm-basket-totals { flex: 1 1 0 !important; max-width: none !important; }
}

/* The checkout's details get three fifths of the width and the order two fifths (Divi otherwise splits them evenly). */
@media (min-width: 981px) {
	.woocommerce-checkout:not(.woocommerce-order-pay):not(.woocommerce-order-received) .pm-checkout-details { flex: 3 1 0 !important; max-width: none !important; }
	.woocommerce-checkout:not(.woocommerce-order-pay):not(.woocommerce-order-received) .pm-checkout-pay { flex: 2 1 0 !important; max-width: none !important; }
}

/* ---------- Blocks both sites share (Website/divi/blocks.py): plugmindstudio.com and plugmindweb.com. ---------- */
/* The home page's picture: a browser window with tags floating round it; on phones the tags line up underneath. */
.pm-art { position: relative; padding: 28px 22px 34px; }
.pm-window { background: #FFFFFF; border-radius: 16px; overflow: hidden; box-shadow: 0 30px 60px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .06); transform: rotate(-1.5deg); }
.pm-chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: #FFFFFF; color: #141A2E; font-size: 14px; font-weight: 600; white-space: nowrap; box-shadow: 0 10px 24px rgba(0, 0, 0, .28); }
.pm-chip--a { top: 4px; left: -6px; }
.pm-chip--b { top: 38%; right: -10px; }
.pm-chip--c { bottom: 6px; left: 12%; }
.pm-chip--d { top: 2px; right: 18%; background: #1F2742; color: #F5F4FA; }
@media (max-width: 980px) {
	.pm-art { padding: 8px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
	.pm-window { flex: 1 1 100%; transform: none; margin-bottom: 6px; }
	.pm-chip { position: static; }
}
/* What's included everywhere: four in a row, two on tablets, one on phones. */
.pm-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 28px; }
@media (max-width: 980px) { .pm-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pm-trust { grid-template-columns: minmax(0, 1fr); } }
/* Hosting price tiles: each lifts and takes its product's colour on hover. */
.pm-price-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.pm-price-tile { display: block; background: #FFFFFF; border: 1px solid #E6E4EE; border-top: 4px solid var(--pm-acc, #7C5CFF); border-radius: 16px; padding: 22px 20px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.pm-price-tile:hover, .pm-price-tile:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(20, 26, 46, .10); }
/* The plan most people should pick stands a little taller. */
@media (min-width: 981px) { .pm-featured { transform: translateY(-10px); box-shadow: 0 24px 48px rgba(20, 26, 46, .22); } }
@media (prefers-reduced-motion: reduce) { .pm-price-tile, .pm-price-tile:hover { transition: none; transform: none; } .pm-window { transform: none; } }
/* A product card rises a little on hover. */
.pm-lift { transition: transform .15s ease, box-shadow .15s ease; }
.pm-lift:hover, .pm-lift:focus-within { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(20, 26, 46, .10); }
@media (prefers-reduced-motion: reduce) { .pm-lift, .pm-lift:hover { transition: none; transform: none; } }
