import Link from "next/link";
import {
  BookOpen,
  BriefcaseBusiness,
  Camera,
  CircleCheck,
  GraduationCap,
  MessageSquare,
  MonitorPlay,
  Presentation,
  Users,
} from "lucide-react";

import { dynamicPresentationsCourseFacts } from "@/data/courses/masterclass/dynamic-presentations/courseFactsData";

const skillsGaps = [
  {
    icon: Users,
    title: "Audience Analysis and Presentation Planning",
    description:
      "Start with the objective, audience knowledge, expectations and required decision. Then define the key message, select supporting evidence, plan the structure, choose useful visuals, rehearse delivery and prepare for Q&A. This process helps you adapt tone and technical detail instead of giving the same presentation to every audience.",
  },
  {
    icon: MessageSquare,
    title: "How the Course Helps With Presentation Anxiety",
    description:
      "Presentation confidence grows through preparation and repeated practice. You will use breathing, rehearsal, cognitive reframing, a prepared opening and recovery techniques to manage nerves. Simulations help you practise continuing after a mistake rather than trying to deliver a memorised, perfect performance.",
  },
  {
    icon: Camera,
    title: "Presenting Effectively on Zoom, Teams and Webinars",
    description:
      "Virtual presentation skills include camera framing, eye contact, screen sharing, pacing, remote audience engagement and virtual Q&A. You will learn how to coordinate slides with your voice, maintain on-camera energy and keep remote or hybrid audiences involved without overloading the screen.",
  },
  {
    icon: MonitorPlay,
    title: "Difficult Audiences and Technology Failure",
    description:
      "Prepare for interruptions, disagreement, hostile questions, off-topic discussion and technical problems. Practise clarifying the question, answering with a calm structure, protecting the session objective and continuing confidently when a slide deck, screen share or other technology fails.",
  },
  {
    icon: BriefcaseBusiness,
    title: "Persuasive and Executive Presentations",
    description:
      "Apply presentation skills to recommendations, proposals, client pitches, boardroom updates, investor presentations and leadership briefings. Learn to connect evidence with audience priorities, address concerns and finish with a specific, credible call to action that supports decision-making.",
  },
  {
    icon: GraduationCap,
    title: "Presentation Skills for Teachers and Trainers",
    description:
      "Teachers and trainers can apply CVDP® to teaching demonstrations, workshops, webinars, teacher conferences, microteaching and professional-development presentations. The course complements teacher training by strengthening delivery and audience engagement; it does not replace a TESOL qualification.",
  },
];

const courseFacts = [
  ["Duration", dynamicPresentationsCourseFacts.duration],
  ["Curriculum", `${dynamicPresentationsCourseFacts.modules} presentation modules`],
  ["Delivery", dynamicPresentationsCourseFacts.delivery],
  ["Class size", dynamicPresentationsCourseFacts.classSize],
  ["Recommended level", dynamicPresentationsCourseFacts.entryLevel],
  ["Next cohort", dynamicPresentationsCourseFacts.startDateDisplay],
  ["Assessment", "Presentation tasks, simulations and trainer feedback"],
  ["Certificate", "Digital CVDP® certificate with verification link"],
];

const planningSteps = [
  "Objective",
  "Audience",
  "Key message",
  "Evidence",
  "Structure",
  "Visuals",
  "Rehearsal",
  "Delivery",
  "Q&A",
];

export function PresentationSkillsDefinitionSection() {
  return (
    <section
      id="presentation-skills-training"
      className="py-20 bg-white border-t border-[#E6D3B1]/30"
    >
      <div className="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
        <div className="max-w-4xl mx-auto text-center mb-12">
          <p className="text-xs font-black text-[#8B1C1C] uppercase tracking-widest mb-2">
            Practical Presentation Training
          </p>
          <h2 className="text-3xl md:text-4xl font-black text-[#4A141E] mb-5">
            What Is Presentation Skills Training?
          </h2>
          <div className="space-y-4 text-left text-[#4A141E]/75 leading-relaxed">
            <p>
              Presentation skills training develops the ability to plan, structure and deliver a message so an audience can understand it, remember it and act on it. Effective presenting involves more than public speaking confidence: it combines audience analysis, a clear objective, logical organisation, useful evidence, vocal delivery, body language, visual aids, storytelling and question handling.
            </p>
            <p>
              CVDP® is a live online presentation skills training course for professionals, managers, students, teachers and trainers. You apply each technique in realistic presentation tasks and receive feedback on clarity, structure, voice, pace, visual communication, audience connection and Q&A. Practice covers meetings, pitches, interviews, conferences, classrooms, webinars and leadership updates.
            </p>
            <p>
              The aim is to help you communicate important ideas under real professional conditions—including limited time, difficult questions, different audience expectations and occasional technology problems. Across 10 modules, you build a repeatable method for turning expertise into presentations that are clear, credible and persuasive.
            </p>
          </div>
        </div>

        <div className="grid md:grid-cols-2 gap-5">
          {skillsGaps.map(({ icon: Icon, title, description }) => (
            <article
              key={title}
              className="p-7 rounded-2xl bg-[#F6EFE9] border-2 border-[#E6D3B1]/40"
            >
              <Icon className="w-9 h-9 text-[#D4AF37] mb-4" />
              <h3 className="text-xl font-black text-[#4A141E] mb-3">
                {title}
              </h3>
              <p className="text-[#4A141E]/75 leading-relaxed">{description}</p>
              {title === "Presentation Skills for Teachers and Trainers" ? (
                <Link
                  href="/certifications/cambridge-veritas-certificate-in-TESOL"
                  className="inline-flex mt-4 font-bold text-[#8B1C1C] hover:text-[#D4AF37]"
                >
                  Explore Cambridge Veritas TESOL certification
                </Link>
              ) : null}
            </article>
          ))}
        </div>
      </div>
    </section>
  );
}

export function PresentationCourseFactsSection() {
  return (
    <section
      id="presentation-course-details"
      className="py-20 bg-[#F6EFE9] border-t border-[#E6D3B1]/30"
    >
      <div className="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
        <div className="text-center mb-12">
          <p className="text-xs font-black text-[#8B1C1C] uppercase tracking-widest mb-2">
            Format, Practice and Feedback
          </p>
          <h2 className="text-3xl md:text-4xl font-black text-[#4A141E] mb-4">
            How Our Live Online Presentation Training Works
          </h2>
          <p className="text-base md:text-lg text-[#4A141E]/70 max-w-3xl mx-auto">
            Build a repeatable presentation process through faculty-led instruction, practical simulations and personalised feedback.
          </p>
        </div>

        <dl className="grid sm:grid-cols-2 lg:grid-cols-4 gap-5 mb-10">
          {courseFacts.map(([label, value]) => (
            <div
              key={label}
              className="p-6 rounded-2xl bg-white border-2 border-[#E6D3B1]/40"
            >
              <dt className="text-xs font-black text-[#8B1C1C] uppercase tracking-wider mb-2">
                {label}
              </dt>
              <dd className="font-bold text-[#4A141E] leading-relaxed">{value}</dd>
            </div>
          ))}
        </dl>

        <div className="p-7 rounded-2xl bg-white border-2 border-[#D4AF37] mb-8">
          <h3 className="text-xl font-black text-[#4A141E] mb-5 text-center">
            A Practical Presentation Planning Process
          </h3>
          <ol className="flex flex-wrap justify-center gap-3">
            {planningSteps.map((step, index) => (
              <li
                key={step}
                className="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-[#F6EFE9] border border-[#E6D3B1]/40 text-sm font-bold text-[#4A141E]"
              >
                <span className="text-[#8B1C1C]">{index + 1}</span>
                {step}
              </li>
            ))}
          </ol>
        </div>

        <div className="grid md:grid-cols-3 gap-6">
          <article className="p-7 rounded-2xl bg-white border-2 border-[#E6D3B1]/40">
            <BookOpen className="w-9 h-9 text-[#D4AF37] mb-4" />
            <h3 className="text-lg font-black text-[#4A141E] mb-3">
              Presentation Practice and Personalised Feedback
            </h3>
            <p className="text-[#4A141E]/75 leading-relaxed">
              Practise complete presentations and focused delivery skills. Trainer feedback identifies specific changes to structure, voice, visuals, body language, audience engagement and question handling.
            </p>
          </article>
          <article className="p-7 rounded-2xl bg-white border-2 border-[#E6D3B1]/40">
            <Presentation className="w-9 h-9 text-[#D4AF37] mb-4" />
            <h3 className="text-lg font-black text-[#4A141E] mb-3">
              Presentation Skills for Meetings, Pitches and Conferences
            </h3>
            <p className="text-[#4A141E]/75 leading-relaxed">
              Adapt the same core method to short meeting updates, client proposals, interviews, sales pitches, leadership briefings, webinars and longer conference presentations.
            </p>
          </article>
          <article className="p-7 rounded-2xl bg-white border-2 border-[#E6D3B1]/40">
            <Users className="w-9 h-9 text-[#D4AF37] mb-4" />
            <h3 className="text-lg font-black text-[#4A141E] mb-3">
              Presentation Training for Teams and Companies
            </h3>
            <p className="text-[#4A141E]/75 leading-relaxed">
              Companies can enrol managers, sales teams, teachers, trainers and client-facing professionals in a shared cohort with consistent presentation standards and group practice.
            </p>
          </article>
        </div>

        <div className="mt-10 flex flex-wrap justify-center gap-4 text-sm font-bold">
          <Link
            href="/presentations"
            className="inline-flex items-center gap-2 px-5 py-3 rounded-xl bg-white border-2 border-[#D4AF37] text-[#4A141E]"
          >
            <Presentation className="w-5 h-5 text-[#8B1C1C]" />
            See presentation skills in practice
          </Link>
          <Link
            href="/tools/speech-analyser"
            className="inline-flex items-center gap-2 px-5 py-3 rounded-xl bg-white border-2 border-[#D4AF37] text-[#4A141E]"
          >
            <CircleCheck className="w-5 h-5 text-[#8B1C1C]" />
            Practise professional speaking
          </Link>
          <Link
            href="/voice-and-accent-classes"
            className="inline-flex items-center gap-2 px-5 py-3 rounded-xl bg-white border-2 border-[#D4AF37] text-[#4A141E]"
          >
            <MessageSquare className="w-5 h-5 text-[#8B1C1C]" />
            Improve voice and delivery
          </Link>
        </div>
      </div>
    </section>
  );
}
