/* AutoCam V8.4 bundled stylesheet: utility layer + site UI. */
/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-orange-50: oklch(98% 0.016 73.684);
    --color-orange-200: oklch(90.1% 0.076 70.697);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-orange-600: oklch(64.6% 0.222 41.116);
    --color-orange-700: oklch(55.3% 0.195 38.402);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-200: oklch(92.5% 0.084 155.995);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-emerald-50: oklch(97.9% 0.021 166.113);
    --color-emerald-100: oklch(95% 0.052 163.051);
    --color-emerald-200: oklch(90.5% 0.093 164.15);
    --color-emerald-700: oklch(50.8% 0.118 165.612);
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-purple-50: oklch(97.7% 0.014 308.299);
    --color-purple-100: oklch(94.6% 0.033 307.174);
    --color-purple-200: oklch(90.2% 0.063 306.703);
    --color-purple-700: oklch(49.6% 0.265 301.924);
    --color-rose-50: oklch(96.9% 0.015 12.422);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-200: oklch(89.2% 0.058 10.001);
    --color-rose-700: oklch(51.4% 0.222 16.935);
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --tracking-tight: -0.025em;
    --tracking-wider: 0.05em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-3 {
    bottom: calc(var(--spacing) * 3);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .z-10 {
    z-index: 10;
  }
  .z-40 {
    z-index: 40;
  }
  .z-50 {
    z-index: 50;
  }
  .col-span-full {
    grid-column: 1 / -1;
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-flex {
    display: inline-flex;
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-44 {
    height: calc(var(--spacing) * 44);
  }
  .h-full {
    height: 100%;
  }
  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-around {
    justify-content: space-around;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .self-center {
    align-self: center;
  }
  .self-start {
    align-self: flex-start;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .scroll-smooth {
    scroll-behavior: smooth;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-amber-200 {
    border-color: var(--color-amber-200);
  }
  .border-blue-100 {
    border-color: var(--color-blue-100);
  }
  .border-blue-200 {
    border-color: var(--color-blue-200);
  }
  .border-blue-600 {
    border-color: var(--color-blue-600);
  }
  .border-emerald-200 {
    border-color: var(--color-emerald-200);
  }
  .border-gray-100 {
    border-color: var(--color-gray-100);
  }
  .border-gray-200 {
    border-color: var(--color-gray-200);
  }
  .border-green-200 {
    border-color: var(--color-green-200);
  }
  .border-orange-200 {
    border-color: var(--color-orange-200);
  }
  .border-orange-500 {
    border-color: var(--color-orange-500);
  }
  .border-purple-100 {
    border-color: var(--color-purple-100);
  }
  .border-purple-200 {
    border-color: var(--color-purple-200);
  }
  .border-rose-200 {
    border-color: var(--color-rose-200);
  }
  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }
  .bg-blue-50 {
    background-color: var(--color-blue-50);
  }
  .bg-blue-700 {
    background-color: var(--color-blue-700);
  }
  .bg-emerald-50 {
    background-color: var(--color-emerald-50);
  }
  .bg-emerald-100 {
    background-color: var(--color-emerald-100);
  }
  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .bg-green-50 {
    background-color: var(--color-green-50);
  }
  .bg-orange-50 {
    background-color: var(--color-orange-50);
  }
  .bg-orange-500 {
    background-color: var(--color-orange-500);
  }
  .bg-purple-50 {
    background-color: var(--color-purple-50);
  }
  .bg-rose-50 {
    background-color: var(--color-rose-50);
  }
  .bg-rose-100 {
    background-color: var(--color-rose-100);
  }
  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .object-cover {
    object-fit: cover;
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-32 {
    padding-top: calc(var(--spacing) * 32);
  }
  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }
  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .text-center {
    text-align: center;
  }
  .text-right {
    text-align: right;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  .text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .leading-loose {
    --tw-leading: var(--leading-loose);
    line-height: var(--leading-loose);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .text-amber-600 {
    color: var(--color-amber-600);
  }
  .text-amber-700 {
    color: var(--color-amber-700);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-blue-700 {
    color: var(--color-blue-700);
  }
  .text-emerald-700 {
    color: var(--color-emerald-700);
  }
  .text-gray-400 {
    color: var(--color-gray-400);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-gray-700 {
    color: var(--color-gray-700);
  }
  .text-gray-900 {
    color: var(--color-gray-900);
  }
  .text-green-400 {
    color: var(--color-green-400);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-green-700 {
    color: var(--color-green-700);
  }
  .text-orange-600 {
    color: var(--color-orange-600);
  }
  .text-orange-700 {
    color: var(--color-orange-700);
  }
  .text-purple-700 {
    color: var(--color-purple-700);
  }
  .text-rose-700 {
    color: var(--color-rose-700);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-yellow-500 {
    color: var(--color-yellow-500);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .line-through {
    text-decoration-line: line-through;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .hover\:bg-blue-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-50);
      }
    }
  }
  .hover\:bg-gray-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-100);
      }
    }
  }
  .hover\:text-blue-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-blue-600);
      }
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:p-5 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 5);
    }
  }
  .md\:p-7 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 7);
    }
  }
  .md\:p-8 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .md\:p-10 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 10);
    }
  }
  .md\:text-3xl {
    @media (width >= 48rem) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }
  .md\:text-4xl {
    @media (width >= 48rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .md\:text-5xl {
    @media (width >= 48rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .md\:text-6xl {
    @media (width >= 48rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .md\:text-7xl {
    @media (width >= 48rem) {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  .md\:text-lg {
    @media (width >= 48rem) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }
  .lg\:col-span-2 {
    @media (width >= 64rem) {
      grid-column: span 2 / span 2;
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:justify-end {
    @media (width >= 64rem) {
      justify-content: flex-end;
    }
  }
  .lg\:gap-16 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 16);
    }
  }
  .lg\:text-right {
    @media (width >= 64rem) {
      text-align: right;
    }
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-duration: initial;
    }
  }
}


/* AutoCam component and page styles. */
/*
 * AutoCam UI
 * Shared presentation layer for page-home.php, page-all-products.php and single-dashcams.php.
 */

:root {
  --ac-primary: #2563eb;
  --ac-primary-dark: #1e3a8a;
  --ac-accent: #c2410c;
  --ac-accent-dark: #9a3412;
  --ac-success: #15803d;
  --ac-text: #111827;
  --ac-muted: #4b5563;
  --ac-subtle: #6b7280;
  --ac-border: #e5e7eb;
  --ac-surface: #ffffff;
  --ac-surface-soft: #f8fafc;
  --ac-hero-start: #eef4ff;
  --ac-hero-end: #f7f9fd;
  --ac-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
  --ac-shadow-md: 0 12px 32px rgba(15, 23, 42, 0.08);
  --ac-radius: 18px;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

body.autocam-page {
  margin: 0;
  font-family: "Heebo", Arial, sans-serif;
  background-color: var(--ac-surface-soft) !important;
  background-image: none !important;
  color: var(--ac-text) !important;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.autocam-page,
body.autocam-page button,
body.autocam-page input,
body.autocam-page select,
body.autocam-page textarea {
  font-family: "Heebo", Arial, sans-serif;
}

body.autocam-page p,
body.autocam-page li,
body.autocam-page .text-body {
  line-height: 1.75;
}

body.autocam-page h1,
body.autocam-page h2,
body.autocam-page h3 {
  line-height: 1.22;
  letter-spacing: -0.018em;
}

/* Tailwind 2's small sizes are too small for a Hebrew consumer website. */
body.autocam-page .text-xs { font-size: 0.8125rem; }
body.autocam-page .text-sm { font-size: 0.9375rem; }
body.autocam-page .text-gray-400 { color: #6b7280; }
body.autocam-page .text-gray-500 { color: #4b5563; }
body.autocam-page .text-gray-600 { color: #374151; }

body.autocam-page a,
body.autocam-page button {
  -webkit-tap-highlight-color: transparent;
}

body.autocam-page a:focus-visible,
body.autocam-page button:focus-visible,
body.autocam-page [tabindex]:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.32);
  outline-offset: 3px;
}

body.autocam-page button {
  border: 0;
}

body.autocam-page [hidden] {
  display: none !important;
}

.glass {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.card,
.product-card,
.home-product-card {
  background: var(--ac-surface);
  border: 1px solid var(--ac-border);
  box-shadow: var(--ac-shadow-sm), 0 10px 28px rgba(15, 23, 42, 0.055);
}

.card-glow {
  box-shadow: var(--ac-shadow-sm), var(--ac-shadow-md);
}

.gradient-text {
  color: var(--ac-primary);
  background: linear-gradient(to left, #1d4ed8, #6d28d9);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-bg {
  position: relative;
  isolation: isolate;
  background: linear-gradient(180deg, var(--ac-hero-start) 0%, #f3f7ff 58%, var(--ac-hero-end) 100%);
}

.hero-bg::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 140px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0), var(--ac-hero-end));
}

.hero-main {
  min-height: min(820px, 86vh);
  padding-top: 78px;
}

.hero-content {
  width: 100%;
  padding-top: clamp(3.5rem, 7vw, 6rem);
  padding-bottom: clamp(3.25rem, 6vw, 5.25rem);
}

.hero-orb {
  position: absolute;
  z-index: -2;
  width: clamp(240px, 34vw, 520px);
  aspect-ratio: 1;
  border-radius: 999px;
  filter: blur(10px);
  pointer-events: none;
  opacity: .72;
}

.hero-orb-blue {
  inset: 6% auto auto -10%;
  background: radial-gradient(circle, rgba(59, 130, 246, .17), rgba(59, 130, 246, 0) 68%);
}

.hero-orb-purple {
  inset: auto -12% 2% auto;
  background: radial-gradient(circle, rgba(124, 58, 237, .12), rgba(124, 58, 237, 0) 68%);
}

.rec-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  background: #dc2626;
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(220, 38, 38, 0.55);
  animation: recPulse 1.8s ease-in-out infinite;
}

@keyframes recPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(0.82); }
}

.autocam-nav-link {
  color: #374151;
  font-weight: 600;
  transition: color 0.2s ease;
}

.autocam-nav-link:hover { color: var(--ac-primary); }

.autocam-menu-button {
  min-width: 44px;
  min-height: 44px;
  border-radius: 12px;
  color: #111827;
  background: #f8fafc;
  border: 1px solid #e5e7eb !important;
}

.autocam-mobile-menu a {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}

.autocam-mobile-menu a:hover { background: #f8fafc; }

.autocam-update-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  color: #374151;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 999px;
  padding: 0.55rem 1rem;
  box-shadow: var(--ac-shadow-sm);
}

.autocam-update-badge time {
  display: inline;
  font-weight: 900;
  color: #1e3a8a !important;
  white-space: nowrap;
}

.autocam-update-label { font-weight: 700; }
.autocam-update-prefix { color: #4b5563; }

.autocam-hero-note {
  color: #1f2937;
  background: rgba(255, 255, 255, .82);
  border: 1px solid #cbd5e1;
  box-shadow: var(--ac-shadow-sm);
}

.autocam-hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  width: min(100%, 720px);
  margin-inline: auto;
}

.autocam-btn {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.9rem 1.35rem;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.autocam-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.11);
}

.autocam-btn:active,
.pressable:active { transform: scale(0.98); }

.autocam-btn-primary,
body.autocam-page a.autocam-btn-primary {
  color: #fff !important;
  background-color: var(--ac-accent) !important;
  border: 1px solid var(--ac-accent) !important;
  box-shadow: 0 10px 22px rgba(120, 53, 15, .2);
  text-decoration: none !important;
}

.autocam-btn-primary:hover,
body.autocam-page a.autocam-btn-primary:hover {
  color: #fff !important;
  background-color: var(--ac-accent-dark) !important;
  border-color: var(--ac-accent-dark) !important;
}

.autocam-btn-secondary,
body.autocam-page a.autocam-btn-secondary {
  color: #172554 !important;
  background-color: #fff !important;
  border: 1px solid #94a3b8 !important;
  text-decoration: none !important;
}

.autocam-btn-secondary:hover { color: var(--ac-primary) !important; border-color: #93c5fd !important; background: #eff6ff; }

.autocam-btn-facebook,
body.autocam-page a.autocam-btn-facebook {
  color: #fff !important;
  background-color: #1e40af !important;
  border: 1px solid #1e40af !important;
  box-shadow: 0 10px 22px rgba(30, 64, 175, .18);
  text-decoration: none !important;
}

.autocam-btn-facebook:hover,
body.autocam-page a.autocam-btn-facebook:hover {
  color: #fff !important;
  background-color: #172554 !important;
  border-color: #172554 !important;
}

.autocam-hero-actions-single { grid-template-columns: minmax(0, 420px); justify-content: center; }
.autocam-btn-catalog { font-size: 1.05rem; }

.autocam-quick-links {
  width: min(100%, 760px);
  margin: 1rem auto 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.7rem;
}

.autocam-quick-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.7rem 0.85rem;
  color: #1f2937 !important;
  background-color: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid #cbd5e1;
  border-radius: 13px;
  font-size: 0.9375rem;
  font-weight: 700;
  box-shadow: var(--ac-shadow-sm);
  transition: border-color .2s ease, color .2s ease, transform .2s ease, background-color .2s ease;
}

.autocam-quick-link:hover {
  color: #172554 !important;
  border-color: #60a5fa;
  background-color: #dbeafe !important;
  transform: translateY(-2px);
}

.autocam-stat-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #e2e8f0;
  box-shadow: var(--ac-shadow-sm);
}

/* Home page spacing and continuous surfaces. */
.autocam-home-section {
  padding-top: clamp(3.25rem, 5vw, 4.5rem);
  padding-bottom: clamp(3.25rem, 5vw, 4.5rem);
}

.autocam-section-heading {
  max-width: 780px;
  margin: 0 auto 2.25rem;
}

.autocam-section-heading h2 { margin-top: 0; }
.autocam-section-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .85rem;
  padding: .5rem .9rem;
  color: #78350f;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 999px;
  font-size: .9375rem;
  font-weight: 800;
}

.autocam-buying-guide {
  position: relative;
  padding-top: clamp(2.5rem, 4vw, 3.5rem);
  padding-bottom: clamp(3rem, 5vw, 4rem);
  background: var(--ac-surface-soft);
}

.autocam-callout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.autocam-callout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 20px;
  box-shadow: var(--ac-shadow-sm), 0 14px 34px rgba(15, 23, 42, .055);
}

.autocam-callout-kit { border-top: 4px solid #2563eb; }
.autocam-callout-memory { border-top: 4px solid #b45309; }

.autocam-callout-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 14px;
  background: #f1f5f9;
  font-size: 1.45rem;
}

.autocam-callout h3 {
  margin: 0 0 .65rem;
  color: #111827;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  font-weight: 900;
}

.autocam-callout-subtitle {
  display: inline;
  color: #4b5563;
  font-size: .9em;
  font-weight: 700;
}

.autocam-callout p {
  margin: 0;
  color: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.autocam-callout-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: 1rem;
  color: #1e40af !important;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.autocam-callout-link:hover { color: #172554 !important; }

.autocam-footer { padding-top: 3rem; padding-bottom: 3rem; }

/* High-contrast fallback for utility-based purchase buttons. */
body.autocam-page a.autocam-buy-link {
  color: #fff !important;
  background-color: var(--ac-accent) !important;
  border-color: var(--ac-accent) !important;
  text-decoration: none !important;
}
body.autocam-page a.autocam-buy-link:hover { background-color: var(--ac-accent-dark) !important; }
body.autocam-page a.bg-gray-800 {
  color: #fff !important;
  background-color: #1f2937 !important;
  text-decoration: none !important;
}
body.autocam-page a.bg-gray-800:hover { background-color: #111827 !important; }

/* Content entrance effects stay visible if JS is unavailable. */
.fade-up { opacity: 1; transform: none; }
.autocam-js .fade-up {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}
.autocam-js .fade-up.show { opacity: 1; transform: translateY(0); }

.spec-content {
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: max-height .35s ease, visibility .35s ease;
}

.spec-content.is-open { visibility: visible; }

.home-product-card,
.product-card {
  border-radius: 22px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home-product-card:hover,
.product-card:hover {
  transform: translateY(-4px);
  border-color: #cbd5e1;
  box-shadow: 0 15px 34px rgba(15, 23, 42, 0.095);
}

.home-product-card .product-summary,
.product-card .product-summary { font-size: 1rem; }

.filter-tab,
.camera-toggle,
.tab-btn {
  cursor: pointer;
  min-height: 42px;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 700;
  color: #475569;
  background: #fff;
  border: 1px solid #cbd5e1 !important;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.filter-tab:hover,
.filter-tab.active,
.filter-tab[aria-pressed="true"] {
  color: #fff;
  background: var(--ac-primary);
  border-color: var(--ac-primary) !important;
}

.camera-toggle.active,
.camera-toggle[aria-pressed="true"],
.tab-btn.active,
.tab-btn[aria-selected="true"] {
  color: #fff;
  background: #111827;
  border-color: #111827 !important;
}

.filter-tab:active,
.camera-toggle:active,
.tab-btn:active { transform: scale(.97); }

.ring-wrap { position: relative; width: 60px; height: 60px; }
.ring-wrap svg { transform: rotate(-90deg); }
.ring-bg { fill: none; stroke: #e5e7eb; stroke-width: 5; }
.ring-fill { fill: none; stroke-width: 5; stroke-linecap: round; transition: stroke-dashoffset 1s ease; }
.ring-label { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); font-size: 0.875rem; font-weight: 800; }

.coupon-badge { border-color: rgba(194, 65, 12, .28) !important; }

.compare-table {
  width: 100%;
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}

.compare-table caption {
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  position: absolute;
  white-space: nowrap;
}

.compare-table th,
.compare-table td {
  padding: 0.85rem 1rem;
  text-align: center;
  font-size: 0.9rem;
  border-top: 1px solid #edf1f5;
  white-space: nowrap;
}

.compare-table thead th {
  position: sticky;
  top: 88px;
  z-index: 8;
  background: #fff;
  border-top: 0;
  box-shadow: 0 1px 0 #e5e7eb;
}

.compare-table th:first-child,
.compare-table tbody th:first-child,
.compare-table td:first-child {
  position: sticky;
  right: 0;
  z-index: 7;
  min-width: 132px;
  text-align: right;
  background: #fff;
  box-shadow: -1px 0 0 #e5e7eb;
}

.compare-table thead th:first-child { z-index: 10; }
.compare-table tr:hover td,
.compare-table tr:hover th[scope="row"] { background: #f8fafc; }

.col-winner {
  background: rgba(194, 65, 12, .055);
  border-right: 2px solid rgba(194, 65, 12, .28);
  border-left: 2px solid rgba(194, 65, 12, .28);
}
.col-winner-top { border-top: 2px solid rgba(194, 65, 12, .28) !important; border-radius: 12px 12px 0 0; }
.col-winner-bot { border-bottom: 2px solid rgba(194, 65, 12, .28); border-radius: 0 0 12px 12px; }
.col-hidden { display: none; }

.table-scroll {
  position: relative;
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: var(--ac-shadow-sm);
  -webkit-overflow-scrolling: touch;
}

.table-scroll-hint {
  display: none;
  margin-bottom: .6rem;
  color: #4b5563;
  font-size: .875rem;
  text-align: center;
}

.faq-card {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 16px;
  box-shadow: var(--ac-shadow-sm);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.faq-card.faq-open { border-color: #93c5fd; box-shadow: 0 7px 20px rgba(37, 99, 235, .09); }

.faq-card button,
#specsAccordion button { min-height: 54px; }

.rotate-icon,
.faq-card .icon { flex-shrink: 0; }

.sticky-desktop { display: none; }
.autocam-sticky-offset { top: 70px; }

.sticky-buy {
  background: rgba(255, 255, 255, .96);
  border: 1px solid #dbe3ee;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.gallery-thumb {
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform .2s ease, opacity .2s ease, border-color .2s ease;
}
.gallery-thumb:hover { transform: translateY(-2px); opacity: .9; }
.gallery-thumb.active { border-color: var(--ac-primary); opacity: 1; }
.product-gallery-main { height: 280px; }

.text-micro { font-size: .75rem; }
.text-caption { font-size: .8125rem; }

.review-content,
.review-content * { color: #374151 !important; }
.review-content h2,
.review-content h2 * { font-size: 1.65rem; font-weight: 900; color: #111827 !important; margin: 1.5rem 0 1rem; }
.review-content h3,
.review-content h3 * { font-size: 1.25rem; font-weight: 800; color: #111827 !important; margin: 1.35rem 0 .75rem; }
.review-content p { line-height: 1.8; font-size: 1.05rem; margin-bottom: 1rem; }
.review-content ul,
.review-content ol { font-size: 1rem; margin: 0 1.25rem 1rem 0; }
.review-content li { margin-bottom: .45rem; }
.review-content blockquote,
.review-content blockquote * {
  border-inline-start: 4px solid #d97706;
  background: #fffbeb;
  padding: 1rem;
  border-radius: .75rem;
  font-size: 1rem;
  margin-bottom: 1rem;
}
.review-content img { border-radius: 1rem; margin: 1rem 0; height: auto; }
.review-content strong,
.review-content b { color: #111827 !important; }
.review-content a { color: var(--ac-primary) !important; text-decoration: underline; text-underline-offset: 3px; }

.autocam-buy-link { color: #fff !important; }

@media (min-width: 768px) {
  .sticky-desktop { display: flex; }
  .product-gallery-main { height: 380px; }
}

@media (max-width: 1024px) {
  .autocam-quick-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .autocam-callout-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .autocam-quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 78px; }
  body.autocam-home,
  body.autocam-single { padding-bottom: 92px; }

  .hero-main {
    min-height: auto;
    padding-top: 76px;
  }

  .hero-content {
    padding-top: 2.7rem;
    padding-bottom: 2.8rem;
  }

  .autocam-home-section {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

  .autocam-section-heading { margin-bottom: 1.75rem; }
  .autocam-hero-actions { grid-template-columns: 1fr; }
  .autocam-btn { min-height: 52px; }
  .autocam-quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .autocam-quick-link { min-height: 50px; padding-inline: .55rem; }
  .autocam-callout { grid-template-columns: 1fr; gap: .8rem; }
  .autocam-callout-icon { width: 42px; height: 42px; }

  .home-product-card:hover,
  .product-card:hover { transform: none; }

  .table-scroll-hint { display: block; }
  .compare-table thead th { top: 72px; }
  .compare-table th,
  .compare-table td { padding: .78rem .85rem; }
}

@media (max-width: 420px) {
  .autocam-update-badge { max-width: 100%; flex-wrap: wrap; row-gap: .15rem; }
  .autocam-quick-links { grid-template-columns: 1fr 1fr; gap: .55rem; }
  .autocam-quick-links .autocam-quick-link:last-child { grid-column: 1 / -1; }
  .autocam-quick-link { font-size: .875rem; }
  .product-gallery-main { height: 245px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .autocam-js .fade-up { opacity: 1; transform: none; }
}


/* ========================================================================== 
   AutoCam V5 — hybrid visual refresh
   Keeps the clarity of the light interface while restoring the richer,
   more product-led composition of the original design.
   ========================================================================== */

body.autocam-home {
  background:
    radial-gradient(circle at 12% 5%, rgba(99, 102, 241, .055), transparent 24rem),
    linear-gradient(180deg, #f8faff 0, #f7f9fd 34rem, #fff 60rem) !important;
}

.autocam-site-header {
  background: rgba(255, 255, 255, .88);
  border-bottom: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 8px 30px rgba(15, 23, 42, .045);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
}

.autocam-nav-shell {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.autocam-logo,
body.autocam-page a.autocam-logo {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #111827 !important;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

.autocam-desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.85rem, 1.6vw, 1.45rem);
  flex: 1;
}

.autocam-desktop-nav .autocam-nav-link {
  position: relative;
  padding-block: .45rem;
  font-size: .9rem;
  white-space: nowrap;
}

.autocam-desktop-nav .autocam-nav-link::after {
  content: "";
  position: absolute;
  inset-inline: 50%;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2563eb, #7c3aed);
  transition: inset-inline .2s ease;
}

.autocam-desktop-nav .autocam-nav-link:hover::after {
  inset-inline: 0;
}

.autocam-nav-actions {
  display: flex;
  align-items: center;
  gap: .65rem;
}

.autocam-nav-facebook,
body.autocam-page a.autocam-nav-facebook {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .58rem .9rem;
  color: #fff !important;
  background: linear-gradient(135deg, #1877f2, #1557b0);
  border: 1px solid rgba(30, 64, 175, .22);
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(24, 119, 242, .18);
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none !important;
}

.autocam-nav-facebook:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(24, 119, 242, .24);
}

.autocam-site-header .autocam-menu-button {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 1.35rem;
}

.autocam-mobile-menu {
  position: absolute;
  top: 100%;
  inset-inline: 0;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 18px 32px rgba(15, 23, 42, .08);
}

.autocam-site-header .autocam-mobile-menu.hidden { display: none !important; }
.autocam-site-header .autocam-mobile-menu:not(.hidden) { display: block; }

.autocam-mobile-menu .max-w-7xl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
}

.autocam-mobile-menu a {
  color: #1f2937 !important;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  font-weight: 700;
  text-decoration: none !important;
}

.autocam-mobile-menu a:hover {
  color: #1d4ed8 !important;
  background: #eff6ff;
  border-color: #bfdbfe;
}

.autocam-mobile-menu a.autocam-mobile-facebook {
  grid-column: 1 / -1;
  color: #fff !important;
  background: linear-gradient(135deg, #1877f2, #1557b0);
  border-color: transparent;
}

.autocam-home .hero-bg {
  background:
    radial-gradient(circle at 12% 22%, rgba(124, 58, 237, .12), transparent 26rem),
    radial-gradient(circle at 88% 10%, rgba(37, 99, 235, .14), transparent 30rem),
    linear-gradient(180deg, #eef4ff 0%, #f4f7ff 72%, #f7f9fd 100%);
}

.autocam-home .hero-bg::after {
  height: 72px;
  background: linear-gradient(180deg, rgba(247,249,253,0), #f7f9fd);
}

.autocam-home .hero-main {
  min-height: 0;
  padding-top: 70px;
}

.autocam-home .hero-content {
  padding-top: clamp(2.75rem, 5vw, 4.5rem);
  padding-bottom: clamp(2.5rem, 4.5vw, 4rem);
}

.hero-grid-pattern {
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .32;
  background-image:
    linear-gradient(rgba(37, 99, 235, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37, 99, 235, .055) 1px, transparent 1px);
  background-size: 42px 42px;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.65), transparent 86%);
  mask-image: linear-gradient(180deg, rgba(0,0,0,.65), transparent 86%);
}

.autocam-hero-grid {
  display: grid;
  grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr);
  grid-template-areas: "visual copy";
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.autocam-hero-grid-single {
  grid-template-columns: minmax(0, 860px);
  grid-template-areas: "copy";
  justify-content: center;
}

.autocam-hero-copy {
  grid-area: copy;
  text-align: right;
}

.autocam-home .autocam-update-badge {
  margin-bottom: 1.1rem;
  padding: .5rem .9rem;
  color: #334155;
  background: rgba(255,255,255,.88);
  border-color: rgba(148, 163, 184, .34);
  box-shadow: 0 7px 20px rgba(15,23,42,.055);
}

.autocam-hero-title {
  margin: 0;
  color: #111827;
  font-size: clamp(2.7rem, 5.2vw, 4.65rem);
  font-weight: 900;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
}

.autocam-hero-title > span {
  display: block;
}

.autocam-hero-title > span + span {
  margin-top: .12em;
}

.autocam-hero-subtitle {
  max-width: 700px;
  margin: 1.25rem 0 0;
  color: #475569;
  font-size: clamp(1.05rem, 1.7vw, 1.22rem);
  line-height: 1.72 !important;
}

.autocam-home .autocam-hero-note {
  width: fit-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.1rem;
  margin-bottom: 0;
  padding: .7rem .9rem;
  color: #334155;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(148,163,184,.3);
  border-radius: 13px;
  box-shadow: none;
  font-size: .95rem;
}

.autocam-home .autocam-hero-note > span:first-child {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #16a34a;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 900;
}

.autocam-home .autocam-hero-actions {
  width: min(100%, 700px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.45rem 0 0;
}

body.autocam-page a.autocam-btn-primary,
body.autocam-page a.autocam-btn-primary:hover {
  color: #fff !important;
  border-color: transparent !important;
  text-decoration: none !important;
}

body.autocam-page a.autocam-btn-primary {
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 56%, #7c3aed 100%) !important;
  box-shadow: 0 14px 28px rgba(79, 70, 229, .24);
}

body.autocam-page a.autocam-btn-primary:hover {
  background: linear-gradient(135deg, #1d4ed8 0%, #4338ca 56%, #6d28d9 100%) !important;
  box-shadow: 0 16px 32px rgba(79, 70, 229, .31);
}

body.autocam-page a.autocam-btn-secondary {
  color: #1e3a8a !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid #93c5fd !important;
  box-shadow: 0 10px 22px rgba(30,64,175,.09);
}

body.autocam-page a.autocam-btn-secondary:hover {
  color: #1d4ed8 !important;
  background: #eff6ff !important;
  border-color: #60a5fa !important;
}

.autocam-home .autocam-quick-links {
  width: min(100%, 760px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin: .8rem 0 0;
}

.autocam-home .autocam-quick-link {
  min-height: 44px;
  justify-content: flex-start;
  padding: .62rem .72rem;
  color: #334155 !important;
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(148,163,184,.3);
  box-shadow: none;
  font-size: .87rem;
}

.autocam-home .autocam-quick-link:hover {
  color: #1d4ed8 !important;
  background: #fff !important;
  border-color: #93c5fd;
  box-shadow: 0 9px 20px rgba(37,99,235,.08);
}

.autocam-home .autocam-quick-link-facebook {
  color: #1557b0 !important;
  border-color: rgba(24,119,242,.26);
}

.autocam-stats {
  width: min(100%, 700px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: 1.15rem;
}

.autocam-home .autocam-stat-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: .85rem .95rem;
  text-align: right;
  background: rgba(255,255,255,.72);
  border-color: rgba(148,163,184,.28);
  border-radius: 14px;
  box-shadow: none;
}

.autocam-home .autocam-stat-card strong {
  color: #1d4ed8;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.1;
}

.autocam-home .autocam-stat-card:nth-child(2) strong { color: #15803d; }
.autocam-home .autocam-stat-card:nth-child(3) strong { color: #7c3aed; }

.autocam-home .autocam-stat-card span {
  margin-top: .25rem;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.35;
}

.autocam-featured-card {
  grid-area: visual;
  position: relative;
  max-width: 470px;
  width: 100%;
  justify-self: center;
  padding: 1rem;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 28px;
  box-shadow: 0 30px 65px rgba(30, 64, 175, .14), 0 8px 24px rgba(15,23,42,.08);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.autocam-featured-glow {
  position: absolute;
  inset: 12% 12% auto;
  height: 54%;
  z-index: -1;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(37,99,235,.28), rgba(124,58,237,.2));
  filter: blur(38px);
}

.autocam-featured-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .15rem .25rem .8rem;
}

.autocam-featured-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem .7rem;
  color: #fff;
  background: linear-gradient(135deg, #f97316, #c2410c);
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 900;
  box-shadow: 0 7px 17px rgba(194,65,12,.18);
}

.autocam-featured-badge::before { content: "★"; }

.autocam-featured-label {
  color: #475569;
  font-size: .82rem;
  font-weight: 700;
}

.autocam-featured-media {
  min-height: 270px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, #f8fafc, #eef2ff);
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 20px;
}

.autocam-featured-media img {
  width: 100%;
  height: 300px;
  display: block;
  object-fit: contain;
  padding: 1rem;
  transition: transform .35s ease;
}

.autocam-featured-media:hover img { transform: scale(1.035); }

.autocam-featured-placeholder {
  font-size: 6rem;
  filter: drop-shadow(0 16px 20px rgba(30,64,175,.18));
}

.autocam-featured-body {
  padding: 1rem .25rem .2rem;
}

.autocam-featured-kicker {
  color: #64748b;
  font-size: .82rem;
  font-weight: 700;
}

.autocam-featured-body h2 {
  margin: .15rem 0 0;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 900;
}

.autocam-featured-body h2 a {
  color: #111827 !important;
  text-decoration: none !important;
}

.autocam-featured-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .7rem;
}

.autocam-featured-rating {
  color: #a16207;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 999px;
  padding: .38rem .65rem;
  font-weight: 900;
}

.autocam-featured-price {
  color: #111827;
  font-size: 1.45rem;
  font-weight: 900;
}

.autocam-featured-review {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .8rem;
  color: #1d4ed8 !important;
  font-weight: 800;
  text-decoration: none !important;
}

/* Tighter, more continuous home-page rhythm. */
.autocam-home .autocam-buying-guide {
  padding-top: clamp(1.9rem, 3vw, 2.6rem);
  padding-bottom: clamp(2.1rem, 3.4vw, 2.9rem);
  background: linear-gradient(180deg, #f7f9fd 0%, #f8fafc 100%);
  border-top: 1px solid rgba(148,163,184,.13);
}

.autocam-home .autocam-home-section {
  padding-top: clamp(2.65rem, 4vw, 3.5rem);
  padding-bottom: clamp(2.65rem, 4vw, 3.5rem);
}

.autocam-home .autocam-section-heading {
  margin-bottom: 1.65rem;
}

.autocam-home .autocam-section-heading h2 {
  margin-bottom: .65rem !important;
}

.autocam-home .autocam-section-eyebrow {
  margin-bottom: .7rem;
  color: #3730a3;
  background: #eef2ff;
  border-color: #c7d2fe;
}

.autocam-home .autocam-callout-grid { gap: .9rem; }

.autocam-home .autocam-callout {
  padding: clamp(1.05rem, 2vw, 1.45rem);
  text-align: right;
  border-radius: 18px;
  box-shadow: 0 9px 24px rgba(15,23,42,.055);
}

.autocam-home .autocam-callout-kit { border-top-color: #4f46e5; }
.autocam-home .autocam-callout-memory { border-top-color: #f97316; }

.autocam-home .autocam-callout h3 {
  margin-bottom: .45rem;
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
}

.autocam-home .autocam-callout p {
  font-size: .97rem;
  line-height: 1.68;
}

.autocam-home .autocam-callout-link { margin-top: .7rem; }

body.autocam-page a.autocam-buy-link {
  background: linear-gradient(135deg, #ea580c, #c2410c) !important;
  border-color: #c2410c !important;
  box-shadow: 0 10px 22px rgba(194,65,12,.18);
}

body.autocam-page a.autocam-buy-link:hover {
  background: linear-gradient(135deg, #c2410c, #9a3412) !important;
}

/* Restore a useful footer with all key destinations. */
.autocam-footer {
  padding: 2.75rem 0 1.2rem;
  color: #cbd5e1;
  background:
    radial-gradient(circle at 15% 0, rgba(79,70,229,.22), transparent 24rem),
    #0f172a;
  border-top: 0;
}

.autocam-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(180px, .65fr) minmax(180px, .65fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}

.autocam-footer-brand { max-width: 620px; }

.autocam-footer-logo,
body.autocam-page a.autocam-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: #fff !important;
  font-size: 2rem;
  font-weight: 900;
  text-decoration: none !important;
}

.autocam-footer-brand p {
  margin: 1rem 0 0;
  color: #cbd5e1;
  font-size: .93rem;
  line-height: 1.75;
}

.autocam-footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .65rem;
}

.autocam-footer-column h2 {
  margin: 0 0 .3rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
}

.autocam-footer-column a {
  color: #cbd5e1 !important;
  font-size: .92rem;
  text-decoration: none !important;
}

.autocam-footer-column a:hover { color: #93c5fd !important; }

.autocam-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1rem;
  color: #94a3b8;
  border-top: 1px solid rgba(148,163,184,.18);
  font-size: .82rem;
}

@media (min-width: 1181px) {
  .autocam-site-header .autocam-mobile-menu { display: none !important; }
}

@media (max-width: 1180px) {
  .autocam-desktop-nav { display: none; }
  .autocam-site-header .autocam-menu-button { display: inline-flex; }
}

@media (max-width: 900px) {
  .autocam-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "copy" "visual";
    gap: 2rem;
  }

  .autocam-hero-copy {
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
  }

  .autocam-hero-subtitle,
  .autocam-home .autocam-hero-actions,
  .autocam-home .autocam-quick-links,
  .autocam-stats {
    margin-inline: auto;
  }

  .autocam-home .autocam-hero-note { margin-inline: auto; }
  .autocam-featured-card { max-width: 540px; }
  .autocam-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; }
}

@media (max-width: 767px) {
  .autocam-home .hero-main { padding-top: 70px; }
  .autocam-home .hero-content { padding-top: 2.1rem; padding-bottom: 2.2rem; }
  .autocam-hero-title { font-size: clamp(2.35rem, 12vw, 3.25rem); }
  .autocam-hero-subtitle { margin-top: 1rem; font-size: 1.03rem; }
  .autocam-home .autocam-hero-actions { grid-template-columns: 1fr; }
  .autocam-home .autocam-quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .autocam-home .autocam-quick-link { justify-content: center; }
  .autocam-stats { gap: .45rem; }
  .autocam-home .autocam-stat-card { align-items: center; padding: .72rem .45rem; text-align: center; }
  .autocam-home .autocam-stat-card strong { font-size: 1.18rem; }
  .autocam-home .autocam-stat-card span { font-size: .74rem; }
  .autocam-featured-card { padding: .8rem; border-radius: 22px; }
  .autocam-featured-media { min-height: 210px; }
  .autocam-featured-media img { height: 230px; }
  .autocam-home .autocam-buying-guide { padding-top: 1.75rem; padding-bottom: 2rem; }
  .autocam-home .autocam-home-section { padding-top: 2.2rem; padding-bottom: 2.2rem; }
  .autocam-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.75rem 1.25rem; }
  .autocam-footer-brand { grid-column: 1 / -1; }
  .autocam-footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 560px) {
  .autocam-nav-facebook { display: none !important; }
  .autocam-mobile-menu .max-w-7xl { grid-template-columns: 1fr; max-height: calc(100vh - 78px); overflow-y: auto; }
  .autocam-hero-title { letter-spacing: -.035em !important; }
  .autocam-home .autocam-update-badge { justify-content: center; }
  .autocam-home .autocam-quick-links { grid-template-columns: 1fr 1fr; }
  .autocam-home .autocam-quick-link-facebook { grid-column: 1 / -1; }
  .autocam-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .autocam-footer-grid { grid-template-columns: 1fr; }
  .autocam-footer-brand,
  .autocam-footer-column { grid-column: auto; }
}


/* ========================================================================== 
   AutoCam V6 — reusable product cards, compact single-column hero and footer
   ========================================================================== */
.autocam-home .autocam-hero-grid-single {
  width: min(100%, 940px);
  margin-inline: auto;
}
.autocam-home .autocam-hero-grid-single .autocam-hero-copy { max-width: 900px; }
.autocam-home .autocam-quick-links { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.autocam-camera-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: #1f2937;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .07);
}
.autocam-camera-card-inner { flex: 1; padding: 1.35rem; }
.autocam-camera-card-header { text-align: right; }
.autocam-camera-badge {
  display: inline-flex;
  align-items: center;
  margin-bottom: .65rem;
  padding: .35rem .7rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
}
.autocam-camera-card-header h3 {
  margin: 0;
  color: #111827;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  font-weight: 900;
  line-height: 1.2;
}
.autocam-camera-card-header h3 a { color: inherit !important; text-decoration: none !important; }
.autocam-camera-card-header h3 a:hover { color: #1d4ed8 !important; }
.autocam-camera-subtitle { margin: .35rem 0 0; color: #64748b; font-size: .96rem; }
.autocam-camera-media {
  min-height: 210px;
  display: grid;
  place-items: center;
  margin-top: 1rem;
  overflow: hidden;
  background: linear-gradient(145deg, #f8fafc, #eef2ff);
  border: 1px solid #e2e8f0;
  border-radius: 18px;
}
.autocam-camera-media img {
  width: 100%;
  height: 235px;
  display: block;
  object-fit: contain;
  padding: .8rem;
  transition: transform .3s ease;
}
a.autocam-camera-media:hover img { transform: scale(1.035); }
.autocam-camera-placeholder { font-size: 4.5rem; }
.autocam-score-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin-top: 1.1rem;
}
.autocam-score-item { display: flex; flex-direction: column; align-items: center; gap: .2rem; color: #64748b; font-size: .78rem; font-weight: 700; }
.autocam-score-item .ring-wrap { width: 60px; height: 60px; }
.autocam-camera-summary { margin: 1rem 0 0; color: #475569; font-size: 1rem; line-height: 1.7; }
.autocam-card-coupon {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-top: 1rem;
  padding: .75rem .85rem;
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 14px;
}
.autocam-card-coupon > span { font-size: 1.35rem; }
.autocam-card-coupon small, .autocam-card-coupon strong { display: block; }
.autocam-card-coupon small { font-size: .76rem; font-weight: 700; }
.autocam-card-coupon strong { color: #7c2d12; font-size: .92rem; }
.autocam-card-accordions { display: grid; gap: .6rem; margin-top: 1rem; }
.autocam-card-accordion { overflow: hidden; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; }
.autocam-card-accordion > button {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .9rem;
  color: #1e293b;
  background: transparent;
  border: 0 !important;
  font-size: .95rem;
  font-weight: 800;
  text-align: right;
}
.autocam-card-accordion > button:hover { background: #f1f5f9; }
.autocam-card-accordion .icon { color: #2563eb; font-size: 1.3rem; line-height: 1; transition: transform .25s ease; }
.autocam-card-accordion .spec-content > * { margin: .1rem .75rem .75rem; }
.autocam-pros-cons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.autocam-pros-cons section { padding: .75rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; }
.autocam-pros-cons h4 { margin: 0 0 .5rem; color: #111827; font-size: .88rem; font-weight: 900; }
.autocam-pros-cons ul { margin: 0; padding: 0; list-style: none; }
.autocam-pros-cons li { display: flex; align-items: flex-start; gap: .45rem; margin-top: .42rem; color: #475569; font-size: .88rem; line-height: 1.5; }
.autocam-pros-list li > span:first-child { color: #15803d; font-weight: 900; }
.autocam-cons-list li > span:first-child { color: #dc2626; font-weight: 900; }
.autocam-spec-list { padding: .25rem .75rem .75rem; }
.autocam-spec-list > div { display: grid; grid-template-columns: minmax(95px, .8fr) minmax(0, 1.2fr); gap: .6rem; padding: .55rem 0; border-bottom: 1px solid #e2e8f0; }
.autocam-spec-list > div:last-child { border-bottom: 0; }
.autocam-spec-list dt { color: #334155; font-size: .86rem; font-weight: 800; }
.autocam-spec-list dd { margin: 0; color: #64748b; font-size: .86rem; }
.autocam-camera-card-footer { padding: 1rem 1.35rem 1.35rem; background: #f8fafc; border-top: 1px solid #e2e8f0; }
.autocam-card-price { min-height: 34px; display: flex; flex-wrap: wrap; align-items: baseline; gap: .55rem; margin-bottom: .75rem; }
.autocam-card-price strong { color: #111827; font-size: 1.65rem; font-weight: 900; }
.autocam-card-price del { color: #94a3b8; font-size: .88rem; }
.autocam-card-price span { padding: .22rem .48rem; color: #166534; background: #dcfce7; border-radius: 8px; font-size: .75rem; font-weight: 800; }
.autocam-camera-cta,
body.autocam-page a.autocam-camera-cta {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .8rem 1rem;
  color: #fff !important;
  background: linear-gradient(135deg, #ea580c, #c2410c) !important;
  border: 0 !important;
  border-radius: 14px;
  box-shadow: 0 10px 22px rgba(194,65,12,.18);
  font-size: .96rem;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  text-decoration: none !important;
}
body.autocam-page a.autocam-camera-cta:hover { background: linear-gradient(135deg, #c2410c, #9a3412) !important; transform: translateY(-1px); }
.autocam-accessory-badge { color: #6d28d9; background: #f5f3ff; border-color: #ddd6fe; }
.autocam-accessory-rating { display: flex; align-items: center; gap: .45rem; margin-top: .85rem; color: #64748b; font-size: .86rem; }
.autocam-accessory-rating > span { color: #d97706; }
.autocam-compatible { margin: .8rem 0 0; padding: .65rem .75rem; color: #475569; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; font-size: .86rem; }
.autocam-accessory-cta { background: linear-gradient(135deg, #2563eb, #4f46e5) !important; box-shadow: 0 10px 22px rgba(79,70,229,.18); }
body.autocam-page a.autocam-accessory-cta:hover { background: linear-gradient(135deg, #1d4ed8, #4338ca) !important; }

@media (max-width: 900px) {
  .autocam-home .autocam-hero-grid-single .autocam-hero-copy { text-align: center; }
  .autocam-home .autocam-quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .autocam-camera-card-inner { padding: 1.05rem; }
  .autocam-camera-media img { height: 210px; }
  .autocam-pros-cons { grid-template-columns: 1fr; }
  .autocam-camera-card-footer { padding: .9rem 1.05rem 1.1rem; }
}


/* ========================================================================== 
   AutoCam V7 — editable homepage metabox and revised hero actions
   ========================================================================== */
.autocam-home .autocam-quick-links {
  width: min(100%, 700px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.autocam-callout-copy > :first-child { margin-top: 0; }
.autocam-callout-copy > :last-child { margin-bottom: 0; }
.autocam-callout-copy p {
  margin: 0 0 .75rem;
  color: #374151;
  font-size: 1rem;
  line-height: 1.75;
}
.autocam-callout-copy ul,
.autocam-callout-copy ol {
  margin: .65rem 0;
  padding-inline-start: 1.3rem;
}
@media (max-width: 767px) {
  .autocam-home .autocam-quick-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .autocam-home .autocam-quick-links { grid-template-columns: 1fr; }
  .autocam-home .autocam-quick-link { justify-content: flex-start; padding-inline: 1rem; }
}

/* ========================================================================== 
   AutoCam Production hardening — accessibility, responsive media and states
   ========================================================================== */
.autocam-skip-link {
  position: fixed;
  inset-block-start: .75rem;
  inset-inline-start: .75rem;
  z-index: 10000;
  padding: .75rem 1rem;
  color: #fff !important;
  background: #0f172a;
  border-radius: .75rem;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .22);
  font-weight: 800;
  text-decoration: none;
  transform: translateY(-180%);
  transition: transform .18s ease;
}
.autocam-skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }
body.autocam-menu-open { overflow: hidden; }
[hidden] { display: none !important; }

.autocam-camera-media img,
.product-gallery-main img,
.gallery-thumb {
  display: block;
  max-width: 100%;
}

.autocam-product-image-placeholder {
  min-height: 360px;
  width: 100%;
  display: grid;
  place-items: center;
  color: #64748b;
  background:
    radial-gradient(circle at 25% 20%, rgba(37, 99, 235, .12), transparent 32%),
    linear-gradient(135deg, #f8fafc, #eef2ff);
  font-size: clamp(3.5rem, 10vw, 6rem);
}

.autocam-unavailable-notice {
  padding: 1rem 1.1rem;
  color: #475569;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}

.tab-panel:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .35);
  outline-offset: 4px;
  border-radius: 12px;
}

.spec-content[aria-hidden="true"] { visibility: hidden; }
.spec-content.is-open[aria-hidden="false"] { visibility: visible; }

@media (max-width: 767px) {
  .autocam-product-image-placeholder { min-height: 250px; }
}

@media (prefers-reduced-motion: reduce) {
  .autocam-skip-link { transition: none; }
}

/* ========================================================================== 
   AutoCam v8.2 — product detail flow, kit guide and unified catalogue cards
   ========================================================================== */

/* Product cards: centered identity and media that never gets cropped. */
.autocam-camera-card-header {
  min-height: 108px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}
.autocam-camera-card-header h3 {
  width: 100%;
  text-align: center;
  text-wrap: balance;
}
.autocam-camera-subtitle {
  width: 100%;
  text-align: center;
}
.autocam-camera-badge { margin-inline: auto; }
.autocam-camera-media {
  aspect-ratio: 4 / 3;
  min-height: 0;
  padding: 1rem;
  background:
    radial-gradient(circle at 50% 25%, rgba(59, 130, 246, .10), transparent 42%),
    linear-gradient(145deg, #ffffff, #f1f5f9);
}
.autocam-camera-media img {
  width: 100%;
  height: 100%;
  max-height: 250px;
  padding: 0;
  object-fit: contain;
  object-position: center;
}
.autocam-accessory-rating {
  justify-content: center;
  flex-wrap: wrap;
  width: fit-content;
  margin: 1rem auto 0;
  padding: .5rem .75rem;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 999px;
}
.autocam-accessory-rating small { color: #64748b; }

/* Catalogue section introductions. */
.autocam-catalog-section-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
  padding: 1.5rem 1.75rem;
  background: linear-gradient(135deg, #eff6ff, #ffffff 55%, #eef2ff);
  border: 1px solid #bfdbfe;
  border-radius: 24px;
}
.autocam-catalog-section-intro h2 {
  margin: .45rem 0 .35rem;
  color: #0f172a;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  font-weight: 900;
}
.autocam-catalog-section-intro p {
  max-width: 760px;
  margin: 0;
  color: #475569;
  line-height: 1.75;
}
.autocam-catalog-section-intro > strong {
  min-width: 112px;
  color: #1d4ed8;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}
.autocam-catalog-section-intro > strong small {
  display: block;
  margin-top: .45rem;
  color: #64748b;
  font-size: .82rem;
  font-weight: 800;
}
.autocam-catalog-accessory-intro {
  background: linear-gradient(135deg, #faf5ff, #ffffff 55%, #f5f3ff);
  border-color: #ddd6fe;
}
.autocam-catalog-accessory-intro > strong { color: #7c3aed; }

/* Single product hero. */
.autocam-single-title-model { display: block; margin-top: .15em; }
.autocam-single-subtitle {
  max-width: 620px;
  margin: -1rem 0 1.25rem;
  color: #334155;
  font-size: 1.15rem;
  font-weight: 700;
}
.autocam-single-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.autocam-single-hero-actions .autocam-btn { min-width: 185px; }
.autocam-btn-catalog,
body.autocam-page a.autocam-btn-catalog {
  color: #334155 !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}
body.autocam-page a.autocam-btn-catalog:hover {
  color: #1d4ed8 !important;
  border-color: #93c5fd !important;
  background: #eff6ff !important;
}
.autocam-single-gallery-card .product-gallery-main {
  height: clamp(300px, 38vw, 470px);
  padding: 1.25rem;
  background:
    radial-gradient(circle at 50% 18%, rgba(59,130,246,.12), transparent 42%),
    linear-gradient(145deg, #fff, #f1f5f9);
}
.autocam-single-gallery-card .product-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.autocam-single-gallery-card .gallery-thumb {
  padding: .25rem;
  background: #fff;
  object-fit: contain;
  object-position: center;
}

/* Review, rating and content panels. */
.autocam-single-review-section { background: #fff; }
.autocam-review-stack {
  display: grid;
  gap: 1.25rem;
}
.autocam-rating-summary {
  display: grid;
  grid-template-columns: minmax(230px, .85fr) minmax(0, 1.65fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1.15rem;
  background: linear-gradient(135deg, #0f172a, #1e3a8a);
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .18);
}
.autocam-rating-overall {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.25rem;
  color: #fff;
  text-align: center;
}
.autocam-rating-overall > span {
  color: #bfdbfe;
  font-size: .84rem;
  font-weight: 800;
}
.autocam-rating-overall > strong {
  margin: .15rem 0;
  font-size: clamp(3.4rem, 8vw, 5rem);
  font-weight: 900;
  line-height: 1;
}
.autocam-rating-overall > strong small {
  margin-inline-start: .15rem;
  color: #bfdbfe;
  font-size: 1rem;
}
.autocam-rating-stars { margin-top: .35rem; color: #fbbf24; font-size: 1rem; }
.autocam-rating-stars b { color: #fff; }
.autocam-rating-overall > small { margin-top: .5rem; color: #cbd5e1; font-size: .75rem; }
.autocam-rating-breakdown {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.autocam-rating-breakdown > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  color: #0f172a;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 18px;
  text-align: center;
}
.autocam-rating-breakdown span { color: #475569; font-size: .84rem; font-weight: 800; }
.autocam-rating-breakdown strong { margin-top: .35rem; color: #1d4ed8; font-size: 1.45rem; font-weight: 900; }
.autocam-single-pros,
.autocam-single-cons {
  padding: 1.5rem;
  border: 1px solid;
  border-radius: 20px;
}
.autocam-single-pros { background: #ecfdf5; border-color: #a7f3d0; }
.autocam-single-cons { background: #fff1f2; border-color: #fecdd3; }
.autocam-single-pros h3,
.autocam-single-cons h3 {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 1rem;
  font-size: 1.15rem;
  font-weight: 900;
}
.autocam-single-pros h3 { color: #047857; }
.autocam-single-cons h3 { color: #be123c; }
.autocam-single-pros ul,
.autocam-single-cons ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.autocam-single-pros li,
.autocam-single-cons li { display: flex; align-items: flex-start; gap: .55rem; color: #334155; line-height: 1.65; }
.autocam-single-pros li > span:first-child { color: #059669; font-weight: 900; }
.autocam-single-cons li > span:first-child { color: #e11d48; font-weight: 900; }
.autocam-extra-content { border-inline-start: 5px solid #7c3aed; }
.autocam-extra-content h2 { margin-top: 0 !important; }

/* Full technical specification in a dedicated, visible location. */
.autocam-specs-section { background: #f8fafc; }
.autocam-specs-card { overflow: hidden; }
.autocam-specs-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.autocam-specs-heading h2 {
  margin: .45rem 0 0;
  color: #0f172a;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 900;
}
.autocam-inline-link { color: #1d4ed8 !important; font-size: .9rem; font-weight: 900; text-decoration: none !important; }
.autocam-full-spec-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  overflow: hidden;
  border: 1px solid #dbe3ee;
  border-radius: 18px;
}
.autocam-full-spec-list > div {
  display: grid;
  grid-template-columns: minmax(120px, .85fr) minmax(0, 1.15fr);
  gap: 1rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
}
.autocam-full-spec-list > div:nth-child(odd) { border-inline-end: 1px solid #e2e8f0; }
.autocam-full-spec-list dt { color: #475569; font-size: .88rem; font-weight: 800; }
.autocam-full-spec-list dd { margin: 0; color: #0f172a; font-size: .92rem; font-weight: 700; overflow-wrap: anywhere; }

/* Buying guide and kit options. */
.autocam-purchase-section { background: linear-gradient(180deg, #fff, #fff7ed); }
.autocam-purchase-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .75fr);
  gap: 2rem;
  align-items: start;
  border: 1px solid #fed7aa;
}
.autocam-purchase-guide h2 {
  margin: .5rem 0 .75rem;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
}
.autocam-purchase-intro { max-width: 780px; margin: 0 0 1.25rem; color: #475569; font-size: 1.02rem; line-height: 1.8; }
.autocam-kit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.autocam-kit-option {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: .8rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .045);
}
.autocam-kit-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  background: #fff7ed;
  border-radius: 14px;
  font-size: 1.55rem;
}
.autocam-kit-option h3 { margin: 0 0 .35rem; color: #0f172a; font-size: 1rem; font-weight: 900; }
.autocam-kit-option h3 small { color: #64748b; font-size: .72rem; font-weight: 700; }
.autocam-kit-option p { margin: 0; color: #475569; font-size: .86rem; line-height: 1.65; }
.autocam-purchase-note { margin-top: 1rem; padding: .9rem 1rem; color: #7c2d12; background: #ffedd5; border: 1px solid #fdba74; border-radius: 14px; line-height: 1.7; }
.autocam-purchase-cta {
  position: sticky;
  top: 92px;
  padding: 1.4rem;
  background: #0f172a;
  border-radius: 22px;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .2);
  color: #fff;
  text-align: center;
}
.autocam-purchase-cta-icon { font-size: 2.5rem; }
.autocam-purchase-cta h3 { margin: .45rem 0 .65rem; color: #fff; font-size: 1.35rem; font-weight: 900; }
.autocam-purchase-cta > p { margin: 0; color: #cbd5e1; font-size: .9rem; line-height: 1.7; }
.autocam-current-price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .55rem; margin: 1.15rem 0; padding: 1rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; }
.autocam-current-price span { width: 100%; color: #bfdbfe; font-size: .75rem; font-weight: 800; }
.autocam-current-price strong { color: #fff; font-size: 2rem; font-weight: 900; }
.autocam-current-price del { color: #94a3b8; font-size: .85rem; }
.autocam-purchase-button { margin-top: 1rem; }
.autocam-purchase-cta > small { display: block; margin-top: .75rem; color: #94a3b8; font-size: .72rem; line-height: 1.6; }

/* Return to catalogue. */
.autocam-return-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, #eff6ff, #fff);
  border: 1px solid #bfdbfe;
  border-radius: 22px;
}
.autocam-return-card span { color: #64748b; font-size: .82rem; font-weight: 800; }
.autocam-return-card h2 { margin: .2rem 0 0; color: #0f172a; font-size: 1.45rem; font-weight: 900; }
.autocam-return-actions { display: flex; flex-wrap: wrap; gap: .7rem; }

@media (max-width: 900px) {
  .autocam-rating-summary,
  .autocam-purchase-layout { grid-template-columns: 1fr; }
  .autocam-purchase-cta { position: static; }
  .autocam-full-spec-list { grid-template-columns: 1fr; }
  .autocam-full-spec-list > div:nth-child(odd) { border-inline-end: 0; }
}

@media (max-width: 680px) {
  .autocam-camera-card-header { min-height: 94px; }
  .autocam-camera-media { aspect-ratio: 16 / 11; padding: .7rem; }
  .autocam-camera-media img { max-height: 220px; }
  .autocam-catalog-section-intro,
  .autocam-return-card,
  .autocam-specs-heading { align-items: stretch; flex-direction: column; text-align: center; }
  .autocam-catalog-section-intro > strong { min-width: 0; }
  .autocam-single-hero-actions { display: grid; grid-template-columns: 1fr; }
  .autocam-single-hero-actions .autocam-btn { width: 100%; min-width: 0; }
  .autocam-rating-breakdown,
  .autocam-kit-grid { grid-template-columns: 1fr; }
  .autocam-rating-summary { padding: .8rem; }
  .autocam-full-spec-list > div { grid-template-columns: 1fr; gap: .3rem; }
  .autocam-return-actions { display: grid; grid-template-columns: 1fr; }
  .autocam-return-actions .autocam-btn { width: 100%; }
  .autocam-single-gallery-card .product-gallery-main { height: 280px; padding: .8rem; }
}

/* ========================================================================== 
   AutoCam V8.3 — centered hero, community CTA and responsive comparison hub
   ========================================================================== */

/* Home hero: keep every element on one centered visual axis. */
.autocam-home .autocam-hero-grid-single .autocam-hero-copy {
  max-width: 940px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.autocam-home .autocam-update-badge,
.autocam-home .autocam-hero-subtitle,
.autocam-home .autocam-hero-note,
.autocam-home .autocam-hero-actions,
.autocam-home .autocam-quick-links,
.autocam-home .autocam-stats {
  margin-inline: auto;
}

.autocam-home .autocam-hero-subtitle { margin-top: 1.25rem; }
.autocam-home .autocam-hero-note { justify-content: center; }

.autocam-home .autocam-hero-actions {
  width: min(100%, 760px);
  justify-content: center;
}

.autocam-home .autocam-hero-actions-has-community {
  width: min(100%, 940px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.autocam-home .autocam-hero-community-btn { padding-inline: 1rem; }

.autocam-home .autocam-quick-links { justify-content: center; }
.autocam-home .autocam-quick-link { justify-content: center; text-align: center; }

.autocam-home .autocam-stats { margin-top: 1.15rem; }
.autocam-home .autocam-stat-card {
  align-items: center;
  justify-content: center;
  text-align: center;
}
.autocam-home .autocam-stat-year strong { color: #7c3aed; }
.autocam-home .autocam-stat-community strong { color: #15803d; }
.autocam-home .autocam-stat-tested strong { color: #1d4ed8; }

/* Lightweight bridge from the home page to the full catalog. */
.autocam-catalog-bridge {
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
  background: #f8fafc;
}

.autocam-catalog-bridge-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  align-items: center;
  gap: 2rem;
  padding: clamp(1.35rem, 3vw, 2.25rem);
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 55%, #eef4ff 100%);
  border: 1px solid #dbe7f5;
  border-radius: 26px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .07);
}

.autocam-catalog-bridge-copy h2 {
  margin: .65rem 0 .7rem;
  color: #0f172a;
  font-size: clamp(1.75rem, 3vw, 2.45rem);
  font-weight: 900;
  line-height: 1.2;
}

.autocam-catalog-bridge-copy p {
  margin: 0;
  color: #526174;
  font-size: 1rem;
  line-height: 1.75;
}

.autocam-catalog-bridge-actions {
  display: grid;
  gap: .75rem;
}

/* Trust cards and emoji alignment. */
.autocam-why-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.autocam-why-icon {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  margin-inline: auto;
  background: linear-gradient(145deg, #fff, #eff6ff);
  border: 1px solid #dbeafe;
  border-radius: 22px;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .08);
  line-height: 1;
}

/* Catalog header actions. */
.autocam-catalog-hero-actions,
.autocam-comparison-footer-actions {
  width: min(100%, 620px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.6rem auto 0;
}

/* Full comparison area now lives on the catalog page. */
.autocam-catalog-comparison {
  scroll-margin-top: 92px;
  padding-top: 2.8rem;
  padding-bottom: 3rem;
  background: linear-gradient(180deg, #f8fafc 0%, #f2f6fb 100%);
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
}

.autocam-catalog-comparison .autocam-section-heading {
  max-width: 760px;
  margin-inline: auto;
}

.autocam-catalog-comparison .autocam-section-heading h2 { margin: .7rem 0 .65rem; }
.autocam-catalog-comparison .autocam-section-heading p { margin: 0; line-height: 1.7; }

.autocam-catalog-table-scroll {
  max-width: 1180px;
  margin-inline: auto;
  border-radius: 22px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .08);
}

.autocam-catalog-compare-table {
  min-width: 980px;
  table-layout: fixed;
}

.autocam-catalog-compare-table th:first-child,
.autocam-catalog-compare-table tbody th:first-child {
  width: 150px;
  min-width: 150px;
}

.autocam-catalog-compare-table thead th:not(:first-child) { width: 205px; }
.autocam-catalog-compare-table th,
.autocam-catalog-compare-table td {
  padding: .95rem .8rem;
  white-space: normal;
  line-height: 1.45;
  vertical-align: middle;
}

.autocam-catalog-compare-table tbody tr:nth-child(even) td,
.autocam-catalog-compare-table tbody tr:nth-child(even) th[scope="row"] { background: #fbfdff; }

.autocam-catalog-compare-table thead th {
  top: 72px;
  padding-top: 1.1rem;
  padding-bottom: 1.1rem;
}

.autocam-compare-name {
  display: block;
  color: #111827 !important;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.3;
  text-decoration: none !important;
}
.autocam-compare-name:hover { color: #1d4ed8 !important; }
.autocam-catalog-compare-table thead small {
  display: block;
  margin-top: .35rem;
  color: #64748b;
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.35;
}

.autocam-compare-rating { color: #b45309; font-weight: 900; }

.autocam-compare-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: .45rem;
}

.autocam-compare-review,
.autocam-compare-buy {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .55rem .7rem;
  border-radius: 11px;
  font-size: .82rem;
  font-weight: 900;
  text-decoration: none !important;
}

.autocam-compare-review {
  color: #1e3a8a !important;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}
.autocam-compare-review:hover { background: #dbeafe; }
.autocam-compare-buy {
  color: #fff !important;
  background: linear-gradient(135deg, #ea580c, #c2410c);
  border: 1px solid transparent;
}
.autocam-compare-buy:hover { background: linear-gradient(135deg, #c2410c, #9a3412); }

.autocam-comparison-mobile { display: none; }

.autocam-mobile-compare-card {
  position: relative;
  padding: 1.15rem;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.autocam-mobile-compare-card.is-winner {
  border-color: #fdba74;
  box-shadow: 0 12px 30px rgba(234, 88, 12, .12);
}
.autocam-mobile-compare-badge {
  display: inline-flex;
  margin-bottom: .65rem;
  padding: .3rem .62rem;
  color: #9a3412;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
}
.autocam-mobile-compare-card h3 { margin: 0; font-size: 1.35rem; font-weight: 900; }
.autocam-mobile-compare-card h3 a { color: #111827 !important; text-decoration: none !important; }
.autocam-mobile-compare-subtitle { margin: .28rem 0 0; color: #64748b; font-size: .86rem; }
.autocam-mobile-compare-card dl { margin: 1rem 0 0; }
.autocam-mobile-compare-card dl > div {
  display: grid;
  grid-template-columns: minmax(105px, .85fr) minmax(0, 1.15fr);
  gap: .8rem;
  padding: .66rem 0;
  border-bottom: 1px solid #edf2f7;
}
.autocam-mobile-compare-card dl > div:last-child { border-bottom: 0; }
.autocam-mobile-compare-card dt { color: #475569; font-size: .84rem; font-weight: 800; }
.autocam-mobile-compare-card dd { margin: 0; color: #111827; font-size: .86rem; font-weight: 700; text-align: left; }
.autocam-mobile-compare-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin-top: 1rem;
}
.autocam-mobile-compare-actions .autocam-btn { min-height: 46px; padding: .65rem .5rem; font-size: .82rem; }

#cameras,
#accessories { scroll-margin-top: 96px; }

@media (max-width: 900px) {
  .autocam-home .autocam-hero-actions-has-community {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .autocam-home .autocam-hero-actions-has-community .autocam-hero-community-btn {
    grid-column: 1 / -1;
  }
  .autocam-catalog-bridge-card {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .autocam-catalog-bridge-copy .autocam-section-eyebrow { margin-inline: auto; }
  .autocam-catalog-bridge-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .autocam-home .autocam-hero-actions-has-community { grid-template-columns: 1fr; }
  .autocam-home .autocam-hero-actions-has-community .autocam-hero-community-btn { grid-column: auto; }
  .autocam-home .autocam-quick-links { grid-template-columns: 1fr; }
  .autocam-home .autocam-stats { width: 100%; }
  .autocam-home .autocam-stat-card { padding: .8rem .35rem; }

  .autocam-catalog-bridge { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .autocam-catalog-bridge-card { gap: 1.25rem; border-radius: 20px; }
  .autocam-catalog-bridge-actions,
  .autocam-catalog-hero-actions,
  .autocam-comparison-footer-actions { grid-template-columns: 1fr; }

  .autocam-catalog-comparison { padding-top: 2.25rem; padding-bottom: 2.35rem; }
  .autocam-comparison-desktop { display: none; }
  .autocam-comparison-mobile { display: grid; gap: .9rem; }
  .autocam-mobile-compare-actions { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .autocam-home .autocam-stats { gap: .35rem; }
  .autocam-home .autocam-stat-card strong { font-size: 1.08rem; }
  .autocam-home .autocam-stat-card span { font-size: .69rem; }
  .autocam-mobile-compare-card dl > div { grid-template-columns: 1fr 1fr; gap: .55rem; }
}

/* ========================================================================== 
   AutoCam V8.4 — robust catalogue bundle and compact product-detail UI
   ========================================================================== */

/* Compact community satisfaction rating: one clear score, no category grades. */
.autocam-rating-compact {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  max-width: 760px;
  margin: 0 auto 1.5rem;
  padding: 1rem 1.15rem .9rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .065);
}
.autocam-rating-compact-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #f59e0b, #d97706);
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(217, 119, 6, .22);
  font-size: 1.45rem;
  line-height: 1;
}
.autocam-rating-compact-copy { min-width: 0; }
.autocam-rating-compact-copy > span {
  display: block;
  color: #64748b;
  font-size: .76rem;
  font-weight: 800;
}
.autocam-rating-compact-copy > strong {
  display: block;
  margin-top: .12rem;
  color: #0f172a;
  font-size: 1.02rem;
  font-weight: 900;
}
.autocam-rating-compact-stars {
  margin-top: .25rem;
  color: #f59e0b;
  font-size: .9rem;
  letter-spacing: .04em;
}
.autocam-rating-compact-score { text-align: left; }
.autocam-rating-compact-score > strong {
  display: block;
  color: #1d4ed8;
  font-size: 1.85rem;
  font-weight: 950;
  line-height: 1;
}
.autocam-rating-compact-score > strong small {
  color: #64748b;
  font-size: .78rem;
  font-weight: 800;
}
.autocam-rating-compact-score > span {
  display: block;
  margin-top: .3rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
  white-space: nowrap;
}
.autocam-rating-compact-meter {
  grid-column: 1 / -1;
  height: 5px;
  overflow: hidden;
  background: #e2e8f0;
  border-radius: 999px;
}
.autocam-rating-compact-meter span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #f59e0b, #2563eb);
  border-radius: inherit;
}

/* Manufacturer/test data returns to a clean collapsed + accordion. */
.autocam-specs-accordion { overflow: hidden; padding: 0; }
.autocam-specs-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.35rem 1.5rem;
  color: #0f172a;
  background: #fff;
  border: 0;
  cursor: pointer;
  text-align: right;
}
.autocam-specs-toggle:hover { background: #f8fafc; }
.autocam-specs-toggle:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .35);
  outline-offset: -4px;
}
.autocam-specs-toggle-copy { display: block; min-width: 0; }
.autocam-specs-toggle-copy .autocam-section-eyebrow { display: inline-flex; margin-bottom: .4rem; }
.autocam-specs-toggle-copy > strong {
  display: block;
  color: #0f172a;
  font-size: clamp(1.35rem, 2.3vw, 1.9rem);
  font-weight: 950;
  line-height: 1.2;
}
.autocam-specs-toggle-copy > small {
  display: block;
  margin-top: .35rem;
  color: #64748b;
  font-size: .82rem;
  font-weight: 650;
}
.autocam-specs-plus {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #1d4ed8;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  font-size: 1.7rem;
  line-height: 1;
  transition: transform .25s ease, background .2s ease;
}
.autocam-specs-content-inner {
  padding: 0 1.5rem 1.5rem;
  border-top: 1px solid #e2e8f0;
}
.autocam-specs-content .autocam-full-spec-list { margin-top: 1rem; }
.autocam-specs-content .autocam-inline-link { margin-top: 1rem; }

/* Buying guide now uses the full width and finishes with one direct CTA. */
.autocam-purchase-layout.autocam-purchase-layout-wide { display: block; }
.autocam-purchase-layout-wide .autocam-kit-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.autocam-kit-remote {
  background: linear-gradient(145deg, #f5f3ff, #eef2ff);
  border-color: #c4b5fd;
}
.autocam-kit-remote .autocam-kit-icon {
  color: #5b21b6;
  background: #ede9fe;
  border-color: #c4b5fd;
}
.autocam-purchase-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 390px);
  align-items: center;
  gap: 1rem;
  margin-top: 1.35rem;
  padding: 1.15rem;
  color: #fff;
  background: linear-gradient(145deg, #0f172a, #1e293b);
  border: 1px solid #334155;
  border-radius: 19px;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .18);
}
.autocam-purchase-footer-copy > span {
  display: block;
  color: #cbd5e1;
  font-size: .8rem;
  font-weight: 750;
}
.autocam-purchase-footer-copy > strong {
  display: block;
  margin-top: .2rem;
  color: #fff;
  font-size: 1.12rem;
  font-weight: 950;
}
.autocam-purchase-footer-copy > small {
  display: block;
  margin-top: .25rem;
  color: #94a3b8;
  font-size: .72rem;
}
.autocam-purchase-footer .autocam-purchase-button {
  width: 100%;
  margin: 0;
}

/* Catalogue hardening: layout stays centered even when a cache serves only the bundle. */
body.autocam-catalog { width: 100%; overflow-x: hidden; }
body.autocam-catalog #main-content { width: 100%; }
body.autocam-catalog header > div,
body.autocam-catalog .autocam-catalog-comparison > div,
body.autocam-catalog #cameras > div,
body.autocam-catalog #accessories > div {
  width: min(100%, 1280px);
  margin-inline: auto;
}
body.autocam-catalog header > div { max-width: 900px; text-align: center; }
body.autocam-catalog .autocam-catalog-comparison .autocam-section-heading { text-align: center; }
.autocam-comparison-desktop { display: block; width: 100%; }
.autocam-catalog-table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.autocam-catalog-compare-table { width: 100%; min-width: 900px; }

@media (max-width: 767px) {
  .autocam-rating-compact {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .8rem;
    padding: .9rem;
  }
  .autocam-rating-compact-score {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    text-align: right;
  }
  .autocam-rating-compact-score > span { margin-top: 0; }
  .autocam-specs-toggle { padding: 1.1rem; }
  .autocam-specs-plus { width: 42px; height: 42px; }
  .autocam-specs-content-inner { padding: 0 1rem 1rem; }
  .autocam-purchase-layout-wide .autocam-kit-grid { grid-template-columns: 1fr; }
  .autocam-purchase-footer { grid-template-columns: 1fr; text-align: center; }
  .autocam-purchase-footer-copy { text-align: center; }
  .autocam-comparison-desktop { display: none; }
  .autocam-comparison-mobile { display: grid; gap: .9rem; }
}


/* ==========================================================================
   AutoCam V8.5 — selectable 3-camera comparison and refined product page
   ========================================================================== */

/* The comparison builder sits at the bottom of the catalogue, after products. */
.autocam-live-comparison {
  margin-top: 1rem;
  padding-top: clamp(3.5rem, 7vw, 5.5rem);
  padding-bottom: clamp(3.5rem, 7vw, 5rem);
  background:
    radial-gradient(circle at 85% 10%, rgba(37, 99, 235, .08), transparent 30%),
    linear-gradient(180deg, #f8fafc 0%, #eef4fa 100%);
  border-top: 1px solid #dbe3ee;
  border-bottom: 0;
}

.autocam-live-comparison .autocam-section-heading {
  max-width: 760px;
  margin-bottom: 1.55rem;
}

.autocam-compare-picker {
  max-width: 1120px;
  margin: 0 auto 1.15rem;
  padding: 1.15rem;
  background: rgba(255, 255, 255, .94);
  border: 1px solid #dbe3ee;
  border-radius: 22px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .07);
}

.autocam-compare-picker-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .95rem;
}

.autocam-compare-picker-heading > div {
  display: grid;
  gap: .22rem;
}

.autocam-compare-picker-heading strong {
  color: #0f172a;
  font-size: 1.05rem;
  font-weight: 900;
}

.autocam-compare-picker-heading span {
  color: #64748b;
  font-size: .84rem;
  line-height: 1.55;
}

.autocam-compare-reset {
  min-height: 40px;
  flex: 0 0 auto;
  padding: .55rem .85rem;
  color: #334155;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
}

.autocam-compare-reset:hover {
  color: #1d4ed8;
  background: #eff6ff;
  border-color: #93c5fd;
}

.autocam-compare-inputs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.autocam-compare-field {
  display: grid;
  gap: .4rem;
}

.autocam-compare-field > span {
  color: #475569;
  font-size: .76rem;
  font-weight: 900;
}

.autocam-compare-field input {
  width: 100%;
  min-height: 48px;
  padding: .7rem .85rem;
  color: #0f172a;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 13px;
  outline: none;
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.autocam-compare-field input:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, .13);
}

.autocam-compare-field input.is-invalid {
  background: #fff7f7;
  border-color: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, .09);
}

.autocam-compare-status {
  min-height: 1.25rem;
  margin: .65rem 0 0;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
}

.autocam-compare-status.is-error { color: #b91c1c; }

.autocam-live-table-shell {
  max-width: 1120px;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
  border: 1px solid #d8e1ec;
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .09);
}

.autocam-live-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  direction: rtl;
  color: #0f172a;
}

.autocam-live-table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.autocam-live-table th,
.autocam-live-table td {
  padding: .88rem .72rem;
  border-inline-start: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
  text-align: center;
  vertical-align: middle;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.autocam-live-table tr > *:first-child { border-inline-start: 0; }
.autocam-live-table tbody tr:last-child > * { border-bottom: 0; }

.autocam-live-table thead th {
  min-height: 150px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  background: #fff;
  font-weight: 900;
}

.autocam-live-table .autocam-live-criterion,
.autocam-live-table tbody th {
  width: 155px;
  color: #334155;
  background: #f8fafc;
  font-size: .84rem;
  font-weight: 900;
  text-align: right;
}

.autocam-live-table tbody tr:nth-child(even) td { background: #fbfdff; }
.autocam-live-table td { color: #334155; font-size: .86rem; font-weight: 700; }
.autocam-live-table td.is-price { color: #c2410c; font-size: .95rem; font-weight: 900; }
.autocam-live-table td.is-rating { color: #b45309; font-weight: 900; }

.autocam-live-table th.is-top-pick,
.autocam-live-table td.is-top-pick {
  background: #fff8f3;
  box-shadow: inset 2px 0 0 #fdba74, inset -2px 0 0 #fdba74;
}

.autocam-live-camera-head {
  position: relative;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  padding-top: .25rem;
}

.autocam-live-camera-head img,
.autocam-live-camera-placeholder {
  width: 78px;
  height: 56px;
  display: grid;
  place-items: center;
  object-fit: contain;
  object-position: center;
  background: #f8fafc;
  border-radius: 10px;
}

.autocam-live-camera-placeholder { font-size: 1.65rem; }

.autocam-live-camera-head a {
  color: #0f172a !important;
  font-size: .98rem;
  font-weight: 900;
  line-height: 1.3;
  text-decoration: none !important;
}

.autocam-live-camera-head a:hover { color: #1d4ed8 !important; }

.autocam-live-camera-head small {
  color: #64748b;
  font-size: .71rem;
  font-weight: 700;
  line-height: 1.3;
}

.autocam-live-winner {
  position: absolute;
  top: -.55rem;
  display: inline-flex;
  padding: .25rem .55rem;
  color: #9a3412;
  background: #ffedd5;
  border: 1px solid #fdba74;
  border-radius: 999px;
  font-size: .65rem;
  font-weight: 900;
}

.autocam-live-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}

.autocam-live-review,
.autocam-live-buy {
  min-height: 41px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .55rem .5rem;
  border-radius: 11px;
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none !important;
}

.autocam-live-review {
  color: #1e3a8a !important;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}

.autocam-live-buy {
  color: #fff !important;
  background: linear-gradient(135deg, #ea580c, #c2410c);
  border: 1px solid transparent;
}

.autocam-live-compare-empty {
  max-width: 1120px;
  margin: 0 auto;
  padding: 1.2rem;
  color: #64748b;
  background: #fff;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  text-align: center;
  font-weight: 800;
}

.autocam-live-compare-mobile { display: none; }
.autocam-live-compare-mobile[hidden],
.autocam-live-compare-desktop[hidden] { display: none !important; }
.autocam-live-mobile-head {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: .85rem;
}
.autocam-live-mobile-head img,
.autocam-live-mobile-head .autocam-live-camera-placeholder {
  width: 72px;
  height: 58px;
  object-fit: contain;
  background: #f8fafc;
  border-radius: 11px;
}
.autocam-live-mobile-head h3 { margin: 0; }

.autocam-live-comparison .autocam-comparison-footer-actions {
  margin-top: 1.3rem;
}

/* A single compact satisfaction signal — no category grades. */
.autocam-rating-strip {
  max-width: 820px;
  min-height: 76px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .9rem;
  margin: 0 auto 1.35rem;
  padding: .78rem 1rem;
  background: linear-gradient(135deg, #fff 0%, #f8fbff 100%);
  border: 1px solid #dbe3ee;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .055);
}

.autocam-rating-strip-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #f59e0b, #d97706);
  border-radius: 13px;
  box-shadow: 0 8px 18px rgba(217, 119, 6, .2);
  font-size: 1.15rem;
}

.autocam-rating-strip-copy {
  display: grid;
  gap: .1rem;
}

.autocam-rating-strip-copy span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
}

.autocam-rating-strip-copy strong {
  color: #0f172a;
  font-size: 1rem;
  font-weight: 900;
}

.autocam-rating-strip-stars {
  color: #eab308;
  font-size: 1.05rem;
  letter-spacing: .02em;
  white-space: nowrap;
}

.autocam-rating-strip-score {
  min-width: 72px;
  text-align: left;
}

.autocam-rating-strip-score strong {
  display: block;
  color: #1d4ed8;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.autocam-rating-strip-score strong small {
  color: #64748b;
  font-size: .68rem;
}

.autocam-rating-strip-score > span {
  display: block;
  margin-top: .25rem;
  color: #64748b;
  font-size: .68rem;
  white-space: nowrap;
}

/* Test results live inside the closed technical accordion. */
.autocam-benchmark-panel {
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #e2e8f0;
}

.autocam-benchmark-panel h3,
.autocam-full-spec-heading {
  margin: 0 0 .8rem;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 900;
}

.autocam-benchmark-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.autocam-benchmark-item {
  min-height: 76px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  padding: .72rem .8rem;
  background: #f8fafc;
  border: 1px solid #dbe3ee;
  border-radius: 14px;
}

.autocam-benchmark-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 11px;
  font-size: 1.15rem;
}

.autocam-benchmark-item > div {
  min-width: 0;
  display: grid;
  gap: .12rem;
}

.autocam-benchmark-item small {
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
}

.autocam-benchmark-item strong {
  color: #0f172a;
  font-size: .9rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.autocam-benchmark-amber { background: #fffaf0; border-color: #fde68a; }
.autocam-benchmark-blue { background: #eff6ff; border-color: #bfdbfe; }
.autocam-benchmark-purple { background: #faf5ff; border-color: #e9d5ff; }
.autocam-benchmark-emerald { background: #ecfdf5; border-color: #a7f3d0; }

.autocam-kit-extras {
  background: linear-gradient(135deg, #f8fafc, #f0fdf4);
  border-color: #bbf7d0;
}

.autocam-kit-remote {
  background: linear-gradient(135deg, #f8fafc, #f5f3ff);
  border-color: #ddd6fe;
}

.autocam-kit-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .55rem;
  color: #1d4ed8 !important;
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none !important;
}

.autocam-kit-link:hover { text-decoration: underline !important; }

/* Four balanced trust cards. */
.autocam-why-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.autocam-why-grid .autocam-why-card {
  height: 100%;
  padding: 1.7rem;
}

.autocam-why-grid .autocam-why-card h3 {
  font-size: 1.28rem;
}

.autocam-why-grid .autocam-why-card p {
  font-size: .93rem;
}

@media (max-width: 1020px) {
  .autocam-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .autocam-live-compare-desktop { display: none; }
  .autocam-live-compare-mobile {
    display: grid;
    gap: .9rem;
    max-width: 620px;
    margin-inline: auto;
  }

  .autocam-compare-inputs { grid-template-columns: 1fr; }
  .autocam-compare-picker-heading { align-items: flex-start; }
  .autocam-live-actions { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .autocam-live-comparison {
    padding-inline: 1rem;
    padding-top: 3rem;
  }

  .autocam-compare-picker { padding: .9rem; border-radius: 18px; }
  .autocam-compare-picker-heading { flex-direction: column; }
  .autocam-compare-reset { width: 100%; }

  .autocam-rating-strip {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .65rem;
    padding: .72rem .78rem;
  }

  .autocam-rating-strip-stars {
    grid-column: 2 / 4;
    justify-self: start;
    font-size: .96rem;
  }

  .autocam-rating-strip-score { grid-column: 3; grid-row: 1; }
  .autocam-benchmark-grid { grid-template-columns: 1fr; }
  .autocam-why-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .autocam-live-mobile-head { grid-template-columns: 58px minmax(0, 1fr); }
  .autocam-live-mobile-head img,
  .autocam-live-mobile-head .autocam-live-camera-placeholder {
    width: 58px;
    height: 50px;
  }

  .autocam-rating-strip-score strong { font-size: 1.15rem; }
  .autocam-rating-strip-copy strong { font-size: .9rem; }
}

/* ========================================================================== 
   AutoCam v8.6 — About, extended FAQ, brand hubs and decision summary
   ========================================================================== */

.autocam-faq-more {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.autocam-single-brand-link,
body.autocam-page a.autocam-single-brand-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .8rem;
  color: #2563eb !important;
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none !important;
}
.autocam-single-brand-link:hover { color: #1d4ed8 !important; }
.autocam-single-brand-link.is-static { color: #64748b !important; }

.autocam-camera-brand,
body.autocam-page a.autocam-camera-brand {
  display: inline-flex;
  justify-content: center;
  margin-top: .45rem;
  color: #2563eb !important;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none !important;
}
.autocam-camera-brand:hover { text-decoration: underline !important; }

.autocam-decision-summary {
  overflow: hidden;
  margin: 1.5rem auto 2rem;
  border: 1px solid #dbeafe;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .08);
}
.autocam-decision-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(135deg, #eff6ff, #fff7ed);
}
.autocam-decision-summary-head > div { display: grid; gap: .15rem; }
.autocam-decision-summary-head span {
  color: #2563eb;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .02em;
}
.autocam-decision-summary-head strong {
  color: #0f172a;
  font-size: 1.05rem;
  font-weight: 900;
}
.autocam-decision-summary-head small {
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
}
.autocam-decision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.autocam-decision-grid article {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  min-width: 0;
  padding: 1.05rem 1.15rem;
  border-inline-end: 1px solid #e2e8f0;
}
.autocam-decision-grid article:last-child { border-inline-end: 0; }
.autocam-decision-icon {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: #f1f5f9;
  font-size: 1.15rem;
}
.autocam-decision-grid small {
  display: block;
  margin-bottom: .2rem;
  color: #475569;
  font-size: .72rem;
  font-weight: 900;
}
.autocam-decision-grid p {
  margin: 0;
  color: #172033;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.65;
}
.autocam-decision-verdict {
  display: flex;
  align-items: baseline;
  gap: .75rem;
  padding: .8rem 1.2rem;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
}
.autocam-decision-verdict span {
  flex: 0 0 auto;
  color: #c2410c;
  font-size: .75rem;
  font-weight: 900;
}
.autocam-decision-verdict strong {
  color: #334155;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.6;
}

.autocam-inner-hero {
  position: relative;
  overflow: hidden;
  padding-top: 9.5rem;
  padding-bottom: 5rem;
  border-bottom: 1px solid #e2e8f0;
  background:
    radial-gradient(circle at 15% 30%, rgba(37, 99, 235, .12), transparent 34%),
    radial-gradient(circle at 85% 15%, rgba(249, 115, 22, .10), transparent 30%),
    linear-gradient(180deg, #fff, #f8fafc);
}
.autocam-inner-hero h1 {
  max-width: 900px;
  margin: 1rem auto 1.1rem;
  color: #0f172a;
  font-size: clamp(2.5rem, 6vw, 4.7rem);
  font-weight: 950;
  line-height: 1.08;
}
.autocam-inner-hero p {
  max-width: 760px;
  margin: 0 auto;
  color: #536174;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.85;
}
.autocam-inner-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .8rem;
  margin-top: 1.75rem;
}

.autocam-about-content,
.autocam-about-values,
.autocam-faq-directory,
.autocam-brand-overview,
.autocam-brand-models,
.autocam-brand-accessories,
.autocam-brand-directory {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}
.autocam-about-content,
.autocam-faq-directory,
.autocam-brand-models,
.autocam-brand-directory { background: #fff; }
.autocam-about-values,
.autocam-brand-overview,
.autocam-brand-accessories { background: #f8fafc; }

.autocam-about-two-column,
.autocam-brand-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.autocam-content-panel {
  padding: clamp(1.35rem, 3vw, 2.25rem);
  border: 1px solid #e2e8f0;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .07);
}
.autocam-content-panel-icon {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 1rem;
  place-items: center;
  border-radius: 17px;
  background: #eff6ff;
  font-size: 1.55rem;
}
.autocam-content-panel h2 {
  margin: 0 0 .9rem;
  color: #0f172a;
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 900;
}
.autocam-content-panel .review-content p:last-child { margin-bottom: 0; }

.autocam-about-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}
.autocam-about-value {
  padding: 1.6rem;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background: #fff;
  text-align: center;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .06);
}
.autocam-about-value > span {
  display: grid;
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
  place-items: center;
  border-radius: 18px;
  background: #f1f5f9;
  font-size: 1.7rem;
}
.autocam-about-value h3 { margin: 0 0 .6rem; color: #0f172a; font-size: 1.18rem; font-weight: 900; }
.autocam-about-value p { margin: 0; color: #5b687a; line-height: 1.75; }

.autocam-page-cta { padding-top: 1rem; padding-bottom: 4.5rem; background: #f8fafc; }
.autocam-page-cta-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid #cbd5e1;
  border-radius: 28px;
  background: linear-gradient(135deg, #fff, #eff6ff);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
}
.autocam-page-cta-card > div:first-child > span { color: #2563eb; font-size: .78rem; font-weight: 900; }
.autocam-page-cta-card h2 { margin: .3rem 0 .5rem; color: #0f172a; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 900; }
.autocam-page-cta-card p { margin: 0; color: #526174; line-height: 1.75; }
.autocam-page-cta-card > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; }

.autocam-faq-intro {
  margin-bottom: 2rem;
  padding: 1.35rem 1.5rem;
  border: 1px solid #dbeafe;
  border-radius: 20px;
  background: #eff6ff;
}
.autocam-faq-answer p { margin-top: 0; margin-bottom: .7rem; }
.autocam-faq-answer p:last-child { margin-bottom: 0; }

.autocam-brand-directory { border-top: 1px solid #e2e8f0; }
.autocam-brand-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.autocam-brand-card,
body.autocam-page a.autocam-brand-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  min-height: 118px;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: #fff;
  color: #0f172a !important;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.autocam-brand-card:hover { transform: translateY(-3px); border-color: #93c5fd; box-shadow: 0 18px 36px rgba(37, 99, 235, .12); }
.autocam-brand-card-media {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  overflow: hidden;
  border-radius: 18px;
  background: #f8fafc;
  font-size: 1.8rem;
}
.autocam-brand-card-media img { width: 100%; height: 100%; object-fit: contain; padding: .4rem; }
.autocam-brand-card-copy { display: grid; gap: .18rem; min-width: 0; }
.autocam-brand-card-copy strong { font-size: 1.15rem; font-weight: 900; }
.autocam-brand-card-copy small { color: #2563eb; font-size: .75rem; font-weight: 800; }
.autocam-brand-card-copy > span { overflow: hidden; color: #64748b; font-size: .8rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.autocam-brand-card-arrow { color: #2563eb; font-size: 1.2rem; font-weight: 900; }

.autocam-brand-hero {
  padding-top: 9rem;
  padding-bottom: 4.5rem;
  background:
    radial-gradient(circle at 20% 30%, rgba(37, 99, 235, .11), transparent 34%),
    radial-gradient(circle at 80% 20%, rgba(249, 115, 22, .09), transparent 32%),
    #f8fafc;
}
.autocam-brand-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  align-items: center;
  gap: 3rem;
}
.autocam-brand-hero h1 { margin: .8rem 0 1rem; color: #0f172a; font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 950; line-height: 1.05; }
.autocam-brand-hero p { max-width: 700px; margin: 0; color: #526174; font-size: 1.15rem; line-height: 1.8; }
.autocam-brand-hero-stats { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.4rem; }
.autocam-brand-hero-stats span { padding: .65rem .9rem; border: 1px solid #dbeafe; border-radius: 14px; background: rgba(255,255,255,.8); color: #475569; font-size: .82rem; font-weight: 700; }
.autocam-brand-hero-stats strong { color: #1d4ed8; font-size: 1.05rem; }
.autocam-brand-logo-panel {
  display: grid;
  min-height: 300px;
  place-items: center;
  padding: 2rem;
  border: 1px solid #e2e8f0;
  border-radius: 30px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 22px 56px rgba(15, 23, 42, .10);
}
.autocam-brand-logo-panel img { width: 100%; max-width: 340px; max-height: 230px; object-fit: contain; }
.autocam-brand-logo-panel > span { font-size: 4rem; }
.autocam-brand-logo-panel > strong { margin-top: .7rem; font-size: 2rem; font-weight: 950; }
.autocam-brand-overview-grid > .autocam-brand-tip { grid-column: 1 / -1; }
.autocam-brand-tip {
  display: flex;
  gap: 1rem;
  padding: 1.4rem 1.5rem;
  border: 1px solid #fed7aa;
  border-radius: 22px;
  background: #fff7ed;
}
.autocam-brand-tip > span { font-size: 1.7rem; }
.autocam-brand-tip h2 { margin: 0 0 .5rem; color: #9a3412; font-size: 1.25rem; font-weight: 900; }
.autocam-brand-strengths { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.autocam-brand-strengths li { display: flex; gap: .65rem; align-items: flex-start; color: #475569; line-height: 1.7; }
.autocam-brand-strengths li > span:first-child { color: #16a34a; font-weight: 900; }

@media (min-width: 1100px) {
  .autocam-footer-grid { grid-template-columns: minmax(280px, 1.45fr) repeat(3, minmax(130px, .75fr)); }
  .autocam-desktop-nav { gap: 1.15rem; }
}

@media (max-width: 900px) {
  .autocam-decision-grid { grid-template-columns: 1fr; }
  .autocam-decision-grid article { border-inline-end: 0; border-bottom: 1px solid #e2e8f0; }
  .autocam-decision-grid article:last-child { border-bottom: 0; }
  .autocam-about-two-column,
  .autocam-brand-overview-grid,
  .autocam-brand-hero-grid { grid-template-columns: 1fr; }
  .autocam-about-values-grid,
  .autocam-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .autocam-brand-logo-panel { min-height: 220px; order: -1; }
  .autocam-page-cta-card { grid-template-columns: 1fr; text-align: center; }
  .autocam-page-cta-card > div:last-child { justify-content: center; }
}

@media (max-width: 640px) {
  .autocam-decision-summary-head { align-items: flex-start; flex-direction: column; }
  .autocam-decision-verdict { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .autocam-inner-hero { padding-top: 7.8rem; padding-bottom: 3.5rem; }
  .autocam-inner-hero-actions,
  .autocam-page-cta-card > div:last-child { display: grid; grid-template-columns: 1fr; width: 100%; }
  .autocam-inner-hero-actions .autocam-btn,
  .autocam-page-cta-card .autocam-btn { width: 100%; }
  .autocam-about-values-grid,
  .autocam-brand-grid { grid-template-columns: 1fr; }
  .autocam-brand-card { grid-template-columns: 60px minmax(0, 1fr) auto; min-height: 100px; }
  .autocam-brand-card-media { width: 60px; height: 60px; }
  .autocam-brand-hero { padding-top: 7.5rem; padding-bottom: 3rem; }
  .autocam-brand-hero h1 { font-size: 2.65rem; }
  .autocam-about-content,
  .autocam-about-values,
  .autocam-faq-directory,
  .autocam-brand-overview,
  .autocam-brand-models,
  .autocam-brand-accessories,
  .autocam-brand-directory { padding-top: 3.25rem; padding-bottom: 3.25rem; }
}

/* ========================================================================== 
   AutoCam V8.7 — cohesive home background, tiered coupons and accessory pages
   ========================================================================== */

/* Home page: a single calm visual system instead of disconnected gradients. */
body.autocam-home {
  background: #f6f8fc !important;
}
.autocam-home main {
  position: relative;
  background: #f6f8fc;
}
.autocam-home .hero-bg {
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 12%, rgba(37, 99, 235, .11), transparent 29rem),
    radial-gradient(circle at 82% 5%, rgba(124, 58, 237, .09), transparent 27rem),
    linear-gradient(180deg, #f3f6ff 0%, #f8faff 58%, #ffffff 100%) !important;
  border-bottom: 1px solid rgba(203, 213, 225, .55);
}
.autocam-home .hero-bg::after {
  height: 110px;
  background: linear-gradient(180deg, rgba(255,255,255,0), #fff 92%) !important;
}
.autocam-home .hero-grid-pattern {
  opacity: .13;
  background-size: 52px 52px;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.5), transparent 72%);
  mask-image: linear-gradient(180deg, rgba(0,0,0,.5), transparent 72%);
}
.autocam-home .hero-orb { opacity: .34; filter: blur(28px); }
.autocam-home main > section {
  position: relative;
  border-top: 1px solid rgba(226, 232, 240, .72);
}
.autocam-home #before-buying {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}
.autocam-home #comparison {
  background:
    radial-gradient(circle at 90% 0%, rgba(37, 99, 235, .045), transparent 26rem),
    linear-gradient(180deg, #f7f9fd 0%, #f4f7fb 100%) !important;
}
.autocam-home .autocam-catalog-bridge {
  background: linear-gradient(180deg, #f4f7fb 0%, #ffffff 100%) !important;
}
.autocam-home #whyus {
  background: #ffffff !important;
}
.autocam-home #faq {
  background:
    radial-gradient(circle at 12% 12%, rgba(124, 58, 237, .045), transparent 24rem),
    linear-gradient(180deg, #f8fafc 0%, #f4f7fb 100%) !important;
}
.autocam-home .autocam-catalog-bridge-card,
.autocam-home .autocam-callout,
.autocam-home .autocam-why-card,
.autocam-home .faq-card {
  box-shadow: 0 14px 38px rgba(15, 23, 42, .055);
}

/* Tiered coupons on camera pages. */
.autocam-coupon-panel {
  margin: 1.5rem 0 1.65rem;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border: 1px solid #fed7aa;
  border-radius: 22px;
  background: linear-gradient(135deg, #fffaf5 0%, #fff7ed 100%);
}
.autocam-coupon-panel-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.autocam-coupon-panel-head span {
  color: #c2410c;
  font-size: .78rem;
  font-weight: 900;
}
.autocam-coupon-panel-head h3 {
  margin: .25rem 0 0;
  color: #7c2d12;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 900;
}
.autocam-coupon-panel-head small {
  max-width: 360px;
  color: #7c5b47;
  font-size: .78rem;
  line-height: 1.55;
}
.autocam-coupon-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}
.autocam-coupon-card {
  min-width: 0;
  padding: 1rem;
  border: 1px solid #fed7aa;
  border-radius: 17px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 22px rgba(154, 52, 18, .06);
}
.autocam-coupon-code-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  margin-bottom: .7rem;
}
.autocam-coupon-code-row code {
  overflow: hidden;
  color: #9a3412;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: .035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.autocam-copy-coupon {
  flex-shrink: 0;
  min-height: 34px;
  padding: .38rem .7rem;
  color: #9a3412;
  background: #ffedd5;
  border: 1px solid #fdba74 !important;
  border-radius: 10px;
  font-size: .74rem;
  font-weight: 900;
  cursor: pointer;
}
.autocam-copy-coupon:hover,
.autocam-copy-coupon.is-copied { color: #fff; background: #c2410c; border-color: #c2410c !important; }
.autocam-coupon-card p { margin: 0; color: #5f4738; font-size: .9rem; line-height: 1.6; }
.autocam-coupon-card p strong { color: #9a3412; }
.autocam-coupon-meta { display: flex; flex-wrap: wrap; gap: .35rem .65rem; margin-top: .65rem; color: #7c6a5e; font-size: .72rem; }
.autocam-coupon-meta span { display: inline-flex; align-items: center; }

/* Accessory cards now lead to an internal review page. */
.autocam-accessory-card-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .55rem;
  width: 100%;
}
body.autocam-page a.autocam-accessory-review-cta {
  background: linear-gradient(135deg, #2563eb, #4f46e5) !important;
  box-shadow: 0 10px 22px rgba(79,70,229,.18);
}
body.autocam-page a.autocam-accessory-direct-buy {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem .8rem;
  color: #9a3412 !important;
  background: #fff7ed;
  border: 1px solid #fdba74;
  border-radius: 12px;
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none !important;
  white-space: nowrap;
}
body.autocam-page a.autocam-accessory-direct-buy:hover { background: #ffedd5; }

/* Dedicated accessory review page. */
body.autocam-single-accessory {
  background: #f6f8fc !important;
}
.autocam-accessory-hero {
  padding-top: 9rem;
  padding-bottom: clamp(3.5rem, 7vw, 5.5rem);
  background:
    radial-gradient(circle at 14% 18%, rgba(37, 99, 235, .11), transparent 31rem),
    radial-gradient(circle at 86% 8%, rgba(124, 58, 237, .08), transparent 27rem),
    linear-gradient(180deg, #f4f7ff 0%, #fbfcff 100%);
  border-bottom: 1px solid #e2e8f0;
}
.autocam-accessory-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 4.5rem);
}
.autocam-accessory-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-bottom: 1rem;
  color: #64748b;
  font-size: .8rem;
  font-weight: 700;
}
.autocam-accessory-breadcrumb a { color: #2563eb !important; text-decoration: none !important; }
.autocam-accessory-labels { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.autocam-accessory-labels span {
  padding: .42rem .72rem;
  color: #1d4ed8;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 900;
}
.autocam-accessory-labels span.is-highlight { color: #9a3412; background: #fff7ed; border-color: #fed7aa; }
.autocam-accessory-hero h1 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(2.45rem, 5.5vw, 4.6rem);
  font-weight: 950;
  line-height: 1.06;
}
.autocam-accessory-subtitle { margin: .8rem 0 0; color: #334155; font-size: clamp(1.05rem, 2vw, 1.25rem); font-weight: 700; }
.autocam-accessory-description { max-width: 690px; margin: 1rem 0 0; color: #536174; font-size: 1.03rem; line-height: 1.82; }
.autocam-accessory-hero-facts { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }
.autocam-accessory-hero-facts span { display: grid; gap: .08rem; padding: .62rem .8rem; border: 1px solid #dbeafe; border-radius: 13px; background: rgba(255,255,255,.78); color: #475569; font-size: .77rem; }
.autocam-accessory-hero-facts strong { color: #1e3a8a; font-size: .68rem; }
.autocam-accessory-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.autocam-accessory-gallery { padding: 1rem; border-radius: 28px; background: rgba(255,255,255,.92); }
.autocam-accessory-main-image {
  display: grid;
  min-height: 390px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: linear-gradient(145deg, #ffffff, #f1f5f9);
}
.autocam-accessory-main-image img { width: 100%; height: 390px; padding: 1.1rem; object-fit: contain; }
.autocam-accessory-main-image > span { font-size: 4rem; }
.autocam-accessory-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin-top: .75rem; }
.autocam-accessory-thumbs .gallery-thumb {
  min-width: 0;
  height: 76px;
  padding: .25rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2e8f0 !important;
  border-radius: 13px;
  cursor: pointer;
}
.autocam-accessory-thumbs .gallery-thumb.active { border-color: #2563eb !important; box-shadow: 0 0 0 2px rgba(37,99,235,.12); }
.autocam-accessory-thumbs .gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.autocam-accessory-review { padding-top: 4.5rem; padding-bottom: 4.5rem; background: #fff; }
.autocam-accessory-review-stack { display: grid; gap: 1.1rem; }
.autocam-accessory-details { padding-top: 1rem; padding-bottom: 4rem; background: #f8fafc; }
.autocam-accessory-compatible-panel {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #bfdbfe;
  border-radius: 16px;
  background: #eff6ff;
  color: #475569;
}
.autocam-accessory-compatible-panel strong { flex-shrink: 0; color: #1d4ed8; }
.autocam-accessory-note {
  display: flex;
  gap: .85rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #fed7aa;
  border-radius: 16px;
  background: #fff7ed;
}
.autocam-accessory-note > span { font-size: 1.35rem; }
.autocam-accessory-note strong { color: #9a3412; }
.autocam-accessory-note p { margin: .25rem 0 0; color: #6b4f3d; }
.autocam-accessory-purchase { padding-top: 4rem; padding-bottom: 4rem; background: linear-gradient(180deg, #f8fafc, #fff7ed); }
.autocam-accessory-purchase-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  padding: clamp(1.5rem, 4vw, 2.4rem);
  border: 1px solid #fed7aa;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(154, 52, 18, .08);
}
.autocam-accessory-purchase-card > div:first-child > span { color: #c2410c; font-size: .78rem; font-weight: 900; }
.autocam-accessory-purchase-card h2 { margin: .35rem 0 .6rem; color: #0f172a; font-size: clamp(1.55rem, 3vw, 2.25rem); font-weight: 900; }
.autocam-accessory-purchase-card p { max-width: 680px; margin: 0; color: #5b687a; line-height: 1.75; }
.autocam-accessory-purchase-side { min-width: 250px; display: grid; gap: .8rem; }
.autocam-accessory-price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .35rem .7rem; }
.autocam-accessory-price strong { color: #c2410c; font-size: 2rem; font-weight: 950; }
.autocam-accessory-price del { color: #94a3b8; }
.autocam-accessory-price small { width: 100%; color: #15803d; text-align: center; font-weight: 800; }
body.autocam-page a.autocam-accessory-purchase-button { min-width: 240px; }

@media (max-width: 1000px) {
  .autocam-coupon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .autocam-accessory-hero-grid { grid-template-columns: 1fr; }
  .autocam-accessory-gallery { max-width: 680px; width: 100%; margin-inline: auto; order: -1; }
  .autocam-accessory-purchase-card { grid-template-columns: 1fr; text-align: center; }
  .autocam-accessory-purchase-card p { margin-inline: auto; }
  .autocam-accessory-purchase-side { width: min(100%, 420px); margin-inline: auto; }
}

@media (max-width: 640px) {
  .autocam-coupon-panel-head { align-items: flex-start; flex-direction: column; }
  .autocam-coupon-grid { grid-template-columns: 1fr; }
  .autocam-accessory-card-actions { grid-template-columns: 1fr; }
  body.autocam-page a.autocam-accessory-direct-buy { width: 100%; }
  .autocam-accessory-hero { padding-top: 7.5rem; padding-bottom: 3.5rem; }
  .autocam-accessory-hero-copy { text-align: center; }
  .autocam-accessory-labels,
  .autocam-accessory-breadcrumb,
  .autocam-accessory-hero-facts,
  .autocam-accessory-hero-actions { justify-content: center; }
  .autocam-accessory-main-image { min-height: 280px; }
  .autocam-accessory-main-image img { height: 280px; }
  .autocam-accessory-thumbs .gallery-thumb { height: 62px; }
  .autocam-accessory-review { padding-top: 3.25rem; padding-bottom: 3.25rem; }
  .autocam-accessory-compatible-panel { align-items: flex-start; flex-direction: column; }
  .autocam-accessory-purchase-side,
  body.autocam-page a.autocam-accessory-purchase-button { min-width: 0; width: 100%; }
}


/* ========================================================================== 
   AutoCam V8.9 — optional hero line, single primary CTA and brands hub
   ========================================================================== */

/* Only one hero action should visually lead the user. */
.autocam-home .autocam-hero-primary-cta {
  position: relative;
  z-index: 1;
  box-shadow: 0 16px 34px rgba(59, 72, 214, .23) !important;
}
.autocam-home .autocam-hero-actions .autocam-btn-secondary,
body.autocam-page .autocam-home .autocam-hero-actions a.autocam-btn-secondary {
  color: #1e293b !important;
  background: rgba(255,255,255,.86) !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 7px 18px rgba(15,23,42,.045) !important;
}
.autocam-home .autocam-hero-actions .autocam-btn-secondary:hover,
body.autocam-page .autocam-home .autocam-hero-actions a.autocam-btn-secondary:hover {
  color: #1d4ed8 !important;
  background: #fff !important;
  border-color: #93c5fd !important;
  box-shadow: 0 10px 24px rgba(37,99,235,.10) !important;
}
.autocam-home .autocam-quick-link-primary,
body.autocam-page a.autocam-quick-link-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #2563eb, #6d28d9) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 30px rgba(79,70,229,.22) !important;
}
.autocam-home .autocam-quick-link-primary:hover,
body.autocam-page a.autocam-quick-link-primary:hover {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(79,70,229,.28) !important;
}

/* Dedicated directory for all camera brands. */
.autocam-brands-hero {
  background:
    radial-gradient(circle at 18% 18%, rgba(37,99,235,.10), transparent 29rem),
    radial-gradient(circle at 82% 8%, rgba(124,58,237,.08), transparent 26rem),
    linear-gradient(180deg, #f4f7ff 0%, #fbfcff 100%);
}
.autocam-brands-summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
  margin-top: 1.35rem;
}
.autocam-brands-summary span {
  padding: .65rem .9rem;
  color: #475569;
  background: rgba(255,255,255,.86);
  border: 1px solid #dbeafe;
  border-radius: 14px;
  font-size: .82rem;
  font-weight: 800;
}
.autocam-brands-summary strong { margin-inline-end: .2rem; color: #1d4ed8; font-size: 1.08rem; }
.autocam-brands-directory-page { padding-top: 4.5rem; padding-bottom: 4.5rem; background: #fff; }
.autocam-brands-showcase-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}
.autocam-brand-showcase-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 1.35rem;
  border: 1px solid #e2e8f0;
  border-radius: 25px;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  box-shadow: 0 14px 36px rgba(15,23,42,.065);
}
.autocam-brand-showcase-head { display: flex; align-items: center; gap: 1rem; }
.autocam-brand-showcase-logo {
  flex: 0 0 76px;
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 19px;
  background: #fff;
  font-size: 1.8rem;
}
.autocam-brand-showcase-logo img { width: 100%; height: 100%; padding: .45rem; object-fit: contain; }
.autocam-brand-showcase-head span { color: #2563eb; font-size: .74rem; font-weight: 900; }
.autocam-brand-showcase-head h3 { margin: .12rem 0 0; color: #0f172a; font-size: 1.42rem; font-weight: 950; }
.autocam-brand-showcase-card > p { margin: 1rem 0; color: #5b687a; line-height: 1.72; }
.autocam-brand-showcase-strengths { display: grid; gap: .48rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.autocam-brand-showcase-strengths li { display: flex; gap: .5rem; align-items: flex-start; color: #475569; font-size: .88rem; line-height: 1.55; }
.autocam-brand-showcase-strengths li span { color: #16a34a; font-weight: 900; }
.autocam-brand-showcase-models { display: grid; gap: .25rem; margin-top: auto; margin-bottom: 1rem; padding-top: .9rem; border-top: 1px solid #e2e8f0; }
.autocam-brand-showcase-models strong { color: #334155; font-size: .76rem; }
.autocam-brand-showcase-models span { overflow: hidden; color: #64748b; font-size: .8rem; line-height: 1.55; }
.autocam-brand-showcase-card > .autocam-btn { width: 100%; margin-top: auto; }

@media (max-width: 1000px) {
  .autocam-brands-showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .autocam-home .autocam-hero-primary-cta { box-shadow: 0 12px 25px rgba(59,72,214,.20) !important; }
  .autocam-brands-directory-page { padding-top: 3.25rem; padding-bottom: 3.25rem; }
  .autocam-brands-showcase-grid { grid-template-columns: 1fr; }
  .autocam-brand-showcase-card { padding: 1.1rem; }
}
