/*
Theme Name: BOS
Theme URI: https://example.com/
Author: lovable-to-wordpress converter
Description: Block theme generated automatically from a Lovable (React/Vite/Tailwind) project.
Version: 1.0.1793544824
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bos
*/

/* Most styling lives in theme.json. Keep only small helpers here. */
.is-style-rounded img {
  border-radius: 0.75rem;
}
/* Links inside explicitly-colored text keep that color (muted links etc.) */
p.has-text-color a {
  color: inherit;
}
.converted-form-placeholder {
  border: 1px dashed currentColor;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  opacity: 0.7;
}
/* Icon-only links (header cart, footer socials) */
.converted-cart,
.converted-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #e2e7dc;
  border-radius: 0.375rem;
  color: inherit;
}
/* Live cart count badge (filled by WooCommerce cart fragments) */
.converted-cart {
  position: relative;
}
.converted-cart-count {
  position: absolute;
  top: -0.4rem;
  right: -0.4rem;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 0.25rem;
  border-radius: 9999px;
  background: var(--wp--preset--color--primary, #1e293b);
  color: var(--wp--preset--color--primary-foreground, #ffffff);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.1rem;
  text-align: center;
}
.converted-cart-count.is-empty {
  display: none;
}
/* Converted footer: links inherit the footer text color, no underline,
   and link lists render without bullets (nav-style lists) */
.converted-footer a {
  color: inherit;
  text-decoration: none;
}
.converted-footer a:hover {
  text-decoration: underline;
}
.converted-footer ul {
  list-style: none;
  padding-left: 0;
}
/* Template-level blocks (header, content, footer) sit flush */
.wp-site-blocks > * + * {
  margin-block-start: 0;
}
/* Page sections stack flush like the source — vertical rhythm lives inside
   each section's own padding, not in a block gap between them */
.wp-block-post-content > * + * {
  margin-block-start: 0 !important;
}
/* The source header is sticky */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 50;
}

/* Translucent blurred header bar (backdrop-blur in the source) */
.converted-blur {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
/* A backdrop-filter makes its element a containing block for fixed-position
   descendants, which traps the navigation block's full-screen mobile menu
   inside the header. The blur has nothing to show while that menu covers the
   page, so it is dropped for as long as the menu is open. */
.has-modal-open .converted-blur {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
/* Desktop popover for tel: links */
.converted-tel-popup {
  position: absolute;
  z-index: 100;
  background: #ffffff;
  border: 1px solid #e2e7dc;
  border-radius: 0.75rem;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
  padding: 1rem 1.25rem;
  max-width: 20rem;
}
.converted-tel-popup p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}
.converted-tel-popup .converted-tel-number {
  margin-top: 0.375rem;
  font-weight: 700;
  font-size: 1.0625rem;
}
/* Kept absolute decorations (card corner numbers) */
.converted-abs {
  position: absolute;
  margin: 0;
  pointer-events: none;
}
.wp-block-group:has(> .converted-abs) {
  position: relative;
}
/* Circular avatars / rounded media (radius lives here — inline radius on
   the img/figure is not part of the core blocks' save output) */
.converted-circle img {
  border-radius: 9999px;
}
.wp-block-video.converted-rounded video {
  border-radius: 0.75rem;
}
/* Buttons in one row stretch to equal height (the source rows are flex
   containers whose default alignment stretches every button) */
.wp-block-buttons.is-layout-flex {
  align-items: stretch;
}
.wp-block-buttons.is-layout-flex > .wp-block-button {
  display: flex;
}
.wp-block-buttons.is-layout-flex > .wp-block-button > .wp-block-button__link {
  display: inline-flex;
  align-items: center;
}
/* Flex-column cards (blog articles etc.): the body grows and the trailing
   call-to-action pins to the bottom, so buttons align across the row */
/* Sections with a source min-height and items-center: center the content
   vertically (constrained layout keeps centering children horizontally). */
/* Touch targets: menu links, quantity controls and shop buttons reach 44px */
.wp-block-navigation .wp-block-navigation-item__content,
.woocommerce .quantity .qty,
.wc-block-components-quantity-selector button {
  min-height: 44px;
}
/* Loop buttons: one predictable size in both the classic and block markup —
   inline-flex so the height is padding + text, not a stray line box. */
.woocommerce ul.products li.product .button,
.wc-block-product-template .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  padding: 0.5rem 1.125rem;
  font-size: 0.9375rem;
  line-height: 1.3;
}
.wp-block-navigation .wp-block-navigation-item__content {
  display: inline-flex;
  align-items: center;
}
/* Navigation dropdown as the source designs it: a rounded, bordered card
   whose deeper level sits inline under its parent with a rule on the left,
   instead of WordPress's bare box with a second flyout to the side. */
.wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
  background: #ffffff;
  border: 1px solid #e2e7dc;
  border-radius: 0.75rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  padding: 0.5rem;
}
/* Core opens the dropdown at a fixed 200px, which wraps most labels; the
   width is widened only while it is open so the closed one stays collapsed. */
.wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
  min-width: 18rem;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  min-height: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 0.25rem;
  color: #5a6054;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: #eef2e9;
  color: #161a12;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .has-child {
  flex-direction: column;
  align-items: stretch;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-icon {
  display: none;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container {
  position: static;
  display: flex;
  flex-direction: column;
  height: auto;
  width: auto;
  min-width: 0;
  opacity: 1;
  visibility: visible;
  overflow: visible;
  margin: 0 0 0 0.75rem;
  padding: 0 0 0 0.5rem;
  background: transparent;
  border: none;
  border-left: 1px solid #e2e7dc;
  border-radius: 0;
  box-shadow: none;
}
/* In the phone overlay every level is a plain indented list with that rule */
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
  margin: 0.25rem 0 0 0.75rem;
  padding: 0 0 0 0.75rem !important;
  min-width: 0 !important;
  background: transparent;
  border: none;
  border-left: 1px solid #e2e7dc;
  border-radius: 0;
  box-shadow: none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0.25rem 0;
  border-radius: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: transparent;
}
/* A top-level parent that only groups its children reads as a heading */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #5a6054;
}
/* Product photos on phones stay within the first screen so price and
   add-to-cart are visible without scrolling */
@media (max-width: 781px) {
  .woocommerce-product-gallery__image img,
  .wp-block-woocommerce-product-image-gallery img {
    max-height: 60vh;
    width: auto;
    margin: 0 auto;
    object-fit: contain;
  }
}
.wp-block-group.converted-vcenter {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.wp-block-group.converted-vcenter > * {
  width: 100%;
}
.converted-flex-card {
  display: flex;
  flex-direction: column;
}
/* Fixed-height cropped preview boxes (h-48 overflow-hidden): the inline
   min-height becomes the exact height and the overflow is clipped. */
.wp-block-group.converted-clip {
  height: 0;
  overflow: hidden;
}
.converted-flex-card > .wp-block-buttons:last-child {
  margin-top: auto;
  padding-top: 1.5rem;
}
.converted-flex-card > .wp-block-group:last-child:not(.wp-block-buttons) {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.converted-flex-card > .wp-block-group:last-child > .wp-block-buttons:last-child {
  margin-top: auto;
  padding-top: 1.5rem;
}
/* A photo that filled its box with position:absolute in the source */
.wp-block-group.converted-cover {
  position: relative;
  overflow: hidden;
  /* Stretch to the row when the source sized the box from its neighbour
     (md:min-h-full); the inline min-height is the floor. */
  height: 100%;
  align-self: stretch;
}
.wp-block-group.converted-cover > .wp-block-image {
  position: absolute;
  inset: 0;
  margin: 0;
  height: 100%;
  width: 100%;
}
.wp-block-group.converted-cover > .wp-block-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
/* Crossfade image carousel (stacked absolute slides in the source) */
.converted-carousel {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}
.converted-carousel .wp-block-image {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transition: opacity 0.7s ease;
}
.converted-carousel .wp-block-image.is-active {
  opacity: 1;
}
.converted-carousel .wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.converted-carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.8);
  color: #111111;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  transition: background 150ms ease;
  z-index: 1;
}
.converted-carousel-nav:hover {
  background: #ffffff;
}
.converted-carousel-nav.is-prev {
  left: 0.75rem;
}
.converted-carousel-nav.is-next {
  right: 0.75rem;
}
.converted-carousel-dots {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
  z-index: 1;
}
.converted-carousel-dots button {
  width: 0.5rem;
  height: 0.5rem;
  padding: 0;
  border: none;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  transition: all 0.3s ease;
}
.converted-carousel-dots button.is-active {
  width: 1.5rem;
  background: var(--wp--preset--color--primary, #333333);
}
/* Cards that lift on hover in the source design */
.converted-lift {
  transition: transform 0.25s ease;
}
.converted-lift:hover {
  transform: translateY(-0.25rem);
}
/* Inline icons inside text and buttons */
.converted-inline-icon {
  width: 1.1em;
  height: 1.1em;
  display: inline-block;
  vertical-align: -0.15em;
  margin-right: 0.35em;
}
.converted-icon-solo {
  margin-right: 0 !important;
}
/* Source lists carry their own markers */
ul.converted-check-list {
  list-style: none;
  padding-left: 0;
}
ul.converted-dot-list {
  list-style: disc;
  padding-left: 1.25rem;
}
/* Quotes: no decorative side bar unless the source added one */
.wp-block-quote {
  border: none;
  margin: 0 0 1rem;
  padding: 0;
}
.wp-block-quote cite {
  font-style: normal;
  font-weight: 600;
}
/* A details block marked as a popup opens over the page instead of pushing
   the content below it down. <details> already carries the open/closed
   state, so the panel needs no script to appear — only to be dismissed by
   the backdrop or the Escape key. */
.wp-block-details.details-popup {
  border: none;
  padding: 0;
}
.wp-block-details.details-popup > summary {
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.wp-block-details.details-popup > summary::-webkit-details-marker {
  display: none;
}
.wp-block-details.details-popup[open] > summary::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.5);
}
.wp-block-details.details-popup[open] > .converted-popup-panel {
  position: fixed;
  z-index: 201;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  width: min(30rem, calc(100vw - 2rem));
  max-height: min(34rem, calc(100vh - 2rem));
  overflow: auto;
  margin: 0;
  padding: 1.75rem;
  background: #ffffff;
  border: 1px solid #e2e7dc;
  border-radius: 1rem;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.22);
  text-align: left;
}
/* FAQ accordions (core/details) */
.wp-block-details {
  border-bottom: 1px solid #e2e7dc;
  padding: 1.25rem 0;
}
.wp-block-details summary {
  font-size: 1.25rem;
  font-weight: 600;
  cursor: pointer;
}
.wp-block-details[open] summary {
  margin-bottom: 0.75rem;
}
/* Single-post featured image: shown at its natural size, never upscaled */
.single .wp-block-post-featured-image {
  margin-bottom: 0;
}
.single .wp-block-post-featured-image img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 26rem;
  margin-inline: auto;
}
/* An audio player fills its box. The browser gives the control set a
   minimum width of its own — around 300px — which on a phone pushes it out
   past the card holding it, so that minimum is released. */
.wp-block-audio audio {
  width: 100%;
  min-width: 0;
}
/* Grid layouts collapse to one column on small screens */
@media (max-width: 781px) {
  .wp-block-group.is-layout-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Hover states carried over from the source design */
.wp-block-button.converted-hover-1 .wp-block-button__link {
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
.wp-block-button.converted-hover-1 .wp-block-button__link:hover {
  background-color:#eef2e9 !important;
}
.wp-block-button.converted-hover-2 .wp-block-button__link {
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
.wp-block-button.converted-hover-2 .wp-block-button__link:hover {
  background-color:rgba(255,255,255,0.1) !important;
}

/* Accents carried over from the source design */
.converted-accent-1 img {
  border-style:solid;
  border-color:#e2e7dc;
  border-width:1px;
}
.converted-accent-2 {
  border-left:4px solid #688f31;
  padding-left:1.25rem;
}

/* Native forms (Contact Form 7) styled like the source design */
.wpcf7 {
  background: #ffffff;
  border: 1px solid #e2e7dc;
  border-radius: 1rem;
  padding: 2rem;
}
.wpcf7 form > p {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
/* Short fields share a row only once there is room for them. The source
   pairs them at Tailwind's sm breakpoint and gives each its own row
   below it, where two inputs side by side are too narrow to use. */
@media (min-width: 640px) {
  .wpcf7 form > p {
    grid-template-columns: 1fr 1fr;
  }
}
.wpcf7 form > p > br {
  display: none;
}
/* Contact Form 7 splits a form into several <p> groups, and the grid gap
   only spaces the fields inside one of them. Without this the first field
   of a group sits flush against the last field of the one before it, and
   the submit button lands right under the message box. */
.wpcf7 form > p + p {
  margin-top: 1rem;
}
.wpcf7 label {
  display: block;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #5a6054;
}
/* Long fields (email, message) take the full row */
.wpcf7 form > p > label:has(textarea),
.wpcf7 form > p > label:has([type="email"]),
.wpcf7 form > p > label:has([type="url"]) {
  grid-column: 1 / -1;
}
.wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.5rem;
}
.wpcf7 .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
  width: 100%;
  border: 1px solid #e2e7dc;
  border-radius: 0.375rem;
  padding: 0.625rem 0.75rem;
  font: inherit;
  font-size: 1rem;
  line-height: 1.5rem;
  box-sizing: border-box;
  color: #161a12;
  background: #ffffff;
  outline: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.wpcf7 .wpcf7-form-control:not([type="submit"]):focus {
  border-color: #161a12;
  box-shadow: 0 0 0 2px rgba(22,26,18,0.2);
}
/* Contact Form 7 defaults to a 10-row textarea — match the source's compact
   message field */
.wpcf7 textarea.wpcf7-form-control {
  height: 7.375rem;
  min-height: 7.375rem;
  resize: vertical;
  /* Inline-level by default, which leaves a stray baseline gap below it
     inside the label and unbalances the space around the button. */
  display: block;
}
/* A phone has the room to spare and no comfortable way to drag the resize
   handle, so the message field starts taller there. */
@media (max-width: 781px) {
  .wpcf7 textarea.wpcf7-form-control {
    height: 11rem;
    min-height: 11rem;
  }
}
.wpcf7 [type="submit"] {
  grid-column: 1 / -1;
  width: 100%;
  /* With the group margin above it, this leaves the button the same room
     above as the card's padding leaves below it. */
  margin-top: 1.25rem;
  border: none;
  cursor: pointer;
  border-radius: 0.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  color: #ffffff;
  background: #688f31;
  transition: transform 150ms ease, filter 150ms ease;
}
.wpcf7 [type="submit"]:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}
/* The spinner shows only while the form is submitting, but Contact Form 7
   hides it with visibility, so its box still reserves a row under the
   button and pushes the card's bottom edge away from it. */
.wpcf7 .wpcf7-spinner {
  margin: 0.5rem auto 0;
  display: none;
}
.wpcf7 form.submitting .wpcf7-spinner {
  display: block;
}
.wpcf7 .wpcf7-not-valid-tip {
  font-size: 0.8125rem;
  margin-top: 0.25rem;
}
.wpcf7 .wpcf7-response-output {
  margin: 1rem 0 0;
  border-radius: 0.375rem;
  padding: 0.625rem 0.75rem;
}

/* Slot 2 keeps its own source card chrome */
.converted-form-slot-2 .wpcf7 {
  background: #ffffff;
  border: 1px solid #e2e7dc;
  border-radius: 1rem;
  padding: 2rem;
}

/* CSS variables from the source project */
:root {
--radius: 0.75rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.21 0.015 129);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.21 0.015 129);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.21 0.015 129);
  --primary: oklch(0.601 0.13 128.9);
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.965 0.015 128);
  --secondary-foreground: oklch(0.21 0.015 129);
  --muted: oklch(0.955 0.012 128);
  --muted-foreground: oklch(0.48 0.02 129);
  --accent: oklch(0.95 0.03 127);
  --accent-foreground: oklch(0.42 0.12 129);
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.92 0.015 128);
  --input: oklch(0.88 0.02 128);
  --ring: oklch(0.601 0.13 128.9);
  --chart-1: oklch(0.601 0.13 128.9);
  --chart-2: oklch(0.45 0.1 129);
  --chart-3: oklch(0.72 0.14 128);
  --chart-4: oklch(0.85 0.12 127);
  --chart-5: oklch(0.3 0.04 129);
  --sidebar: oklch(0.965 0.015 128);
  --sidebar-foreground: oklch(0.21 0.015 129);
  --sidebar-primary: oklch(0.601 0.13 128.9);
  --sidebar-primary-foreground: oklch(1 0 0);
  --sidebar-accent: oklch(0.95 0.03 127);
  --sidebar-accent-foreground: oklch(0.21 0.015 129);
  --sidebar-border: oklch(0.92 0.015 128);
  --sidebar-ring: oklch(0.601 0.13 128.9);
  /* Three pale lime tints for cards/sections (token names kept for compatibility) */
  --sun: oklch(0.955 0.035 126);
  --sun-foreground: oklch(0.42 0.12 129);
  --mint: oklch(0.935 0.06 128);
  --mint-foreground: oklch(0.4 0.12 129);
  --sky: oklch(0.945 0.045 122);
  --sky-foreground: oklch(0.42 0.11 126);
  --shadow-soft: 0 1px 2px oklch(0.21 0.02 129 / 0.05), 0 12px 32px -12px oklch(0.5 0.12 129 / 0.18);
  --shadow-lift: 0 2px 4px oklch(0.21 0.02 129 / 0.06), 0 24px 48px -16px oklch(0.55 0.13 129 / 0.3);
}

/* Ported from the source project's @utility bg-glow */
.bg-glow:not(.wp-block-button) {
background: var(--background);
}
.wp-block-button.bg-glow .wp-block-button__link {
background: var(--background);
}

/* Ported from the source project's @utility bg-warm */
.bg-warm:not(.wp-block-button) {
background: var(--accent);
}
.wp-block-button.bg-warm .wp-block-button__link {
background: var(--accent);
}

/* Ported from the source project's @utility bg-cta */
.bg-cta:not(.wp-block-button) {
background: linear-gradient(120deg, var(--foreground), var(--primary));
}
.wp-block-button.bg-cta .wp-block-button__link {
background: linear-gradient(120deg, var(--foreground), var(--primary));
}

/* AI fix: "How BOS compares" renders as a real table grid (5 columns: label + BOS/Uscreen/Passion.io/Marvelous), matching the source <table> instead of a stacked list of paragraphs */
.converted-compare-table > .wp-block-group {
  overflow-x: auto;
}
.converted-compare-table > .wp-block-group > .wp-block-group {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr));
  align-items: center;
  min-width: 40rem;
  margin-top: 0 !important;
  padding: 0 !important;
}
.converted-compare-table > .wp-block-group > .wp-block-group > p {
  margin: 0;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.converted-compare-table > .wp-block-group > .wp-block-group.has-background > p {
  font-weight: 600;
  color: #161a12;
}
.converted-compare-table > .wp-block-group > .wp-block-group.has-background > p:nth-child(1) {
  font-size: 0;
}
.converted-compare-table > .wp-block-group > .wp-block-group.has-background > p:nth-child(2) {
  font-size: 0.875rem;
  color: #688f31;
}
.converted-compare-table > .wp-block-group > .wp-block-group:not(.has-background) > p:first-child {
  font-weight: 500;
  color: #161a12;
}
.converted-compare-table > .wp-block-group > .wp-block-group:not(.has-background) > p:nth-child(2) {
  font-weight: 500;
  color: #161a12;
}
.converted-compare-table > .wp-block-group > .wp-block-group:not(.has-background) > p:nth-child(n+3) {
  color: #5a6054;
}

/* AI fix: footer nav links render as a compact text-sm grid (no padded card boxes), matching the source's bare <ul> grid; hover only changes color, no underline */
.converted-footer .converted-footer-links {
  row-gap: 0.75rem;
}
.converted-footer .converted-footer-links > p {
  margin: 0;
}
.converted-footer .converted-footer-links a:hover {
  color: #161a12;
  text-decoration: none;
}

/* AI fix: the center (Pro) pricing card is the source's "highlighted" plan — raise it and give it a deeper shadow so it reads as a bit bigger/more prominent than the Free and App cards, matching md:-translate-y-3 + shadow-lift in the design */
@media (min-width: 782px) {
  .converted-pricing-highlight {
    transform: translateY(-0.75rem);
  }
}
.converted-pricing-highlight {
  box-shadow: var(--shadow-lift);
}

/* AI fix: Docs page nav sits as a left sidebar column next to the article (md:grid-cols-4 in the source), instead of stacked above it */
.converted-docs-layout {
  align-items: flex-start;
}
.converted-docs-layout > .wp-block-column:first-child {
  position: sticky;
  top: 6rem;
}
.converted-docs-layout > .wp-block-column:first-child ul.wp-block-list li {
  margin: 0;
}
.converted-docs-layout > .wp-block-column:first-child ul.wp-block-list li a {
  display: block;
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
}
.converted-docs-layout > .wp-block-column:first-child ul.wp-block-list li:first-child a {
  background: var(--accent);
}
@media (max-width: 781px) {
  .converted-docs-layout > .wp-block-column:first-child {
    position: static;
  }
}
