import type { ImageAsset } from "@/types";

export interface HeroSlide {
  image: string;
  title: string;
  text: string;
  /** Shown while the photo loads / if it fails. */
  fallbackGradient: string;
}

export const heroSlides: HeroSlide[] = [
  {
    image: "/images/home/slide-1.jpg",
    title: "Private trips tailored to your demands",
    text: "Enjoy private trips at ease. In case of medical emergency, eligible members benefit from our 30-Day settlement window.",
    fallbackGradient: "linear-gradient(135deg, #0d1a2d 0%, #3a2b20 60%, #5c3c28 100%)",
  },
  {
    image: "/images/home/slide-2.jpg",
    title: "Access close protection and coordinated emergency support",
    text: "Sterling can provide close protection and secure ground travel according to the destination and operational requirements.",
    fallbackGradient: "linear-gradient(135deg, #05233a 0%, #00607a 50%, #008ba3 100%)",
  },
  {
    image: "/images/home/slide-3.jpg",
    title: "Get assistance with private arrangements, reservations and personal requests.",
    text: "Whether you are attending a business meeting, a red-carpet event or travelling between destinations, our professional security-trained chauffeurs ensure you arrive safely, on time and in total privacy.",
    fallbackGradient: "linear-gradient(135deg, #090e17 0%, #1c273a 60%, #2f3e58 100%)",
  },
  {
    image: "/images/home/slide-4.jpg",
    title: "Carry a physical lifeline to keep your personal information confidential",
    text: "Sterling can coordinate with selected hotels, resorts, and hospitality partners as its network develops. The absence of unnecessary personal information helps reduce exposure.",
    fallbackGradient: "linear-gradient(135deg, #090e17 0%, #1c273a 60%, #2f3e58 100%)",
  },
];

export const HERO_SLIDE_INTERVAL_MS = 5000;
export const HERO_SLIDE_SIZE = { width: 940, height: 630 } as const;

export type FeatureIconName = "card" | "shield" | "dollar" | "lock" | "users";

export interface MembershipFeature {
  icon: FeatureIconName;
  title: string;
}

export interface MembershipTab {
  id: "uhnwis" | "family-offices";
  /** Text before the lighter-weight trailing "s". */
  label: string;
  features: MembershipFeature[];
}

export const membershipTabs: MembershipTab[] = [
  {
    id: "uhnwis",
    label: "UHNWI",
    features: [
      { icon: "card", title: "Membership Card" },
      { icon: "shield", title: "Discreet Protection" },
      { icon: "dollar", title: "Settlement Privilege" },
      { icon: "lock", title: "Confidentiality" },
    ],
  },
  {
    id: "family-offices",
    label: "Family Office",
    features: [
      { icon: "card", title: "Membership Card" },
      { icon: "shield", title: "Discreet Protection" },
      { icon: "dollar", title: "Settlement Privilege" },
      { icon: "lock", title: "Confidentiality" },
      { icon: "users", title: "Authorised Members" },
    ],
  },
];

export type MarqueeSize = "default" | "sm" | "md" | "lg" | "xl";

export interface MarqueeLogo extends ImageAsset {
  size: MarqueeSize;
}

/** Order matches the original marquee strip (partner-1, -4 and -7 were disabled). */
export const marqueeLogos: MarqueeLogo[] = [
  {
    src: "/images/home/partners/partner-3.png",
    alt: "Partner Logo 3",
    width: 1141,
    height: 1379,
    size: "default",
  },
  {
    src: "/images/home/partners/partner-5.png",
    alt: "Partner Logo 5",
    width: 1672,
    height: 941,
    size: "md",
  },
  {
    src: "/images/home/partners/partner-2.png",
    alt: "Partner Logo 2",
    width: 1179,
    height: 1334,
    size: "sm",
  },
  {
    src: "/images/home/partners/partner-6.png",
    alt: "Partner Logo 6",
    width: 1902,
    height: 827,
    size: "lg",
  },
  {
    src: "/images/home/partners/partner-8.png",
    alt: "Partner Logo 8",
    width: 1802,
    height: 873,
    size: "xl",
  },
  {
    src: "/images/home/partners/partner-9.png",
    alt: "Partner Logo 9",
    width: 1762,
    height: 893,
    size: "default",
  },
  {
    src: "/images/home/partners/partner-10.png",
    alt: "Partner Logo 10",
    width: 1776,
    height: 592,
    size: "default",
  },
  {
    src: "/images/home/partners/partner-11.png",
    alt: "Partner Logo 11",
    width: 2178,
    height: 722,
    size: "default",
  },
];

export const coverageRegions = [
  { name: "Europe", countries: ["France", "Germany", "Italy", "Switzerland"] },
  {
    name: "Middle East",
    countries: ["Saudi Arabia", "United Arab Emirates", "Qatar", "Gulf & Levant"],
  },
  { name: "Africa", countries: ["Morocco", "Western Sahara", "South Africa", "East Africa"] },
  { name: "South America", countries: ["Brazil", "Argentina", "Colombia", "Ecuador"] },
];

export const contactForm = {
  companySizes: [
    { value: "1-10", label: "1-10 employees" },
    { value: "11-50", label: "11-50 employees" },
    { value: "50-100", label: "50-100 employees" },
    { value: "101-500", label: "101-500 employees" },
    { value: "500+", label: "500+ employees" },
  ],
  topics: [
    { value: "general", label: "General inquiry" },
    { value: "partnership", label: "Partnership" },
    { value: "service", label: "Service request" },
    { value: "support", label: "Support" },
    { value: "career", label: "Career" },
    { value: "other", label: "Other" },
  ],
  messageMinLength: 25,
  messageMaxLength: 750,
  phoneMinDigits: 7,
  phoneMaxDigits: 15,
} as const;
