html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;800&family=Inter:wght@300;400;600&display=swap');

:root{
  --bg:#040612;
  --panel: rgba(255,255,255,0.04);
  --muted:#9aa6b2;
  --accent1:#d19bff;
  --accent2:#d19bff;
  --glass: rgba(255,255,255,0.03);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, sans-serif;
  background: radial-gradient(1200px 400px at 10% 10%, rgba(6,22,40,0.25), transparent),
              linear-gradient(180deg,#020416 0%, #050816 100%);
  color: #f7fbff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* header */
.header{
  position:sticky; top:0; z-index:60;
  backdrop-filter: blur(10px);
    text-align: center;
  background: linear-gradient(90deg, rgba(2,6,23,0.7), rgba(2,6,23,0.35));
  border-bottom: 1px solid rgba(255,255,255,0.03);
}
.header .nav{max-width:1200px;margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:Poppins, sans-serif;font-weight:800;background:linear-gradient(90deg,var(--accent1),var(--accent2));-webkit-background-clip:text;color:transparent;font-size:20px}
.navlinks a{color:#e6f0ff;opacity:.85;margin-left:20px;text-decoration:none;font-weight:600}


/* hero */
.hero{max-width:1200px;margin:72px auto;display:grid;grid-template-columns:1fr 520px;gap:40px;padding:0 20px;align-items:center;position:relative}
.hero .left{z-index:3}
h1{font-family:Poppins, sans-serif;font-size:44px;line-height:1.02;margin:0 0 12px  text-align: center;}
.lead{color:var(--muted);max-width:560px;margin-bottom:14px}

/* decorative shape behind hero */
.hero::before{
  content:"";
  position:absolute;
  right:-120px; top:-40px;
  width:640px;height:420px;
  background: radial-gradient(circle at 30% 30%, rgba(90,60,255,0.12), transparent 20%),
              linear-gradient(135deg, rgba(0,224,255,0.06), rgba(91,92,255,0.04));
  transform: rotate(-8deg);
  filter: blur(30px);
  z-index:1;
  border-radius:30px;
  pointer-events:none;
}

/* plate */

.plate img{height:100%;width:auto;padding:4px;background:#16376b  text-align: center;}


/* CTA B - white satin */
.cta-row{display:flex;gap:12px;margin-top:14px;align-items:center}
.cta-white{background:#ffffff;color:#041226;padding:12px 24px;border-radius:12px;border:0;font-weight:700;cursor:pointer;box-shadow:0 14px 40px rgba(4,18,38,0.35);transition:transform .18s ease, box-shadow .18s ease}
.cta-white:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(4,18,38,0.6)}

/* hero image */
.hero-img{width:100%;height:360px;border-radius:16px;object-fit:cover;box-shadow:0 40px 110px rgba(2,6,23,0.7);transform:translateZ(0);transition:transform .6s ease}
.hero-img:hover{transform:translateY(-8px) scale(1.01)}

/* cards */
.cards{max-width:1200px;margin:56px auto;padding:0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;z-index:2}
.card{border-radius:16px;overflow:hidden;padding:0;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.06);box-shadow:0 20px 60px rgba(6,12,30,0.6);transition:transform .28s cubic-bezier(.2,.9,.25,1), box-shadow .28s}
.card:hover{transform:translateY(-8px);box-shadow:0 36px 110px rgba(6,12,30,0.75)}
.card .thumb{height:140px;overflow:hidden}
.card img{width:100%;height:140px;object-fit:cover;display:block}
.card .body{padding:16px}
.card h3{font-family:Poppins;margin:0 0 6px}
.card p{margin:0;color:var(--muted);font-size:14px}

/* stickers / badges */
.stickers{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.sticker{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.03);box-shadow:0 10px 30px rgba(0,0,0,0.45);font-weight:700;color:var(--muted)}
.sticker .ico{font-size:18px;color:var(--accent1)}

/* split sections */
.split{max-width:1200px;margin:60px auto;padding:0 20px;display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center}
.textblock{background:var(--panel);padding:22px;border-radius:14px;border:1px solid rgba(255,255,255,0.04);line-height:1.7;color:#e9f2ff}

/* trust strip */
.trust{max-width:1200px;margin:10px auto 40px;padding:12px 20px;background:linear-gradient(90deg, rgba(0,224,255,0.04), rgba(91,92,255,0.02));border-radius:12px;border:1px solid rgba(255,255,255,0.03);display:flex;justify-content:space-between;align-items:center;color:var(--muted)}

/* contact small form */
.form-grid{display:grid;gap:12px}
.form-grid input,.form-grid textarea{background:#071226;border:1px solid rgb(70, 70, 70);color:#fff;padding:10px;border-radius:10px}

/* reveal animations */
[data-reveal]{opacity:0;transform:translateY(12px);transition:all .5s cubic-bezier(.2,.9,.25,1)}
[data-reveal].visible{opacity:1;transform:translateY(0)}

/* responsive */
@media(max-width:980px){
  .hero{grid-template-columns:1fr;gap:24px;padding:0 18px}
  .cards{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .hero-img{height:260px}
}
select.form-control {
  width: 100%;
  padding: 10px;
  margin: 5px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  box-sizing: border-box;
}

/* Added layout rebuild styles */
.hero-full {
  max-width: 1200px;
  margin: 40px auto;
  padding: 36px 20px; /* Keep the padding on the container */
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 36px;
  align-items: center;
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  width: 100%; /* Ensure full width */
}

/* Add padding inside the left and right sections without centering */
.how-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:18px }
.how-step{ background:rgba(255,255,255,0.02); padding:12px;border-radius:10px;text-align:center }
.faq{ max-width:900px;margin:30px auto }
.partner-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:12px }
@media(max-width:900px){ .hero-full{grid-template-columns:1fr} .how-steps{grid-template-columns:1fr} }
.hero-full .left,
.hero-full .right {
  padding: 20px; /* Padding added inside left and right sections */
  box-sizing: border-box; /* Prevent padding from affecting overall width */
}

/* Existing styles */
.hero-full .overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,6,23,0.65), rgba(2,6,23,0.6));
  z-index: 1;
}

.hero-full .left, .hero-full .right {
  position: relative;
  z-index: 2;
}

/* Feature grid styling */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.feature {
  background: rgba(255, 255, 255, 0.02);
  padding: 14px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.5);
}

/* Mobile Adjustments */
@media screen and (max-width: 768px) {
  .hero-full {
    grid-template-columns: 1fr; /* Stack sections vertically on mobile */
    padding: 20px; /* Adjust padding for mobile */
    margin: 20px auto; /* Ensure the section remains centered on mobile */
  }

  .hero-img {
    height: 260px; /* Adjust image size for mobile */
    width: 100%;
  }

  .hero-full .left,
  .hero-full .right {
    padding: 10px; /* Padding inside sections for mobile */
  }

  .hero-full .left,
  .hero-full .right {
    text-align: left; /* Align content to the left on mobile */
  }
}



/* UK-style yellow rear plate styling for .plate */

.plate img{ height:100%; width:auto; padding:2px; background:#16376b; }


/* small GB badge area style */
.plate 
.plate .gb-area img{ height:40px; width:auto; }

/* Animated ticks: target .sticker img to add anim class via JS */
.sticker img.tick-anim { width:20px; height:20px; vertical-align:middle; margin-right:8px; transform-origin:center; }
.sticker img.tick-anim.anim { animation: pop .45s ease forwards; }

/* pop keyframes fallback for CSS if used */
@keyframes pop { 0% { transform: scale(.6) rotate(-10deg); opacity:0 } 60% { transform: scale(1.08) rotate(3deg); opacity:1 } 100% { transform: scale(1) rotate(0); opacity:1 } }



::placeholder {
  color:white;
  opacity:0.8;
}








.gb-area img {
  width: 34px;
  height: auto;
}





::placeholder {
  color: #000;
  opacity: 0.5;
}







.gb-area img {
  width: 34px;
  height: auto;
}





::placeholder {
  color: #000;
  opacity: 0.45;
}


.plate {
  position: relative;
  width: 240px;
  height: 60px;
  background: #fff;
  border: 3px solid #000;
  border-radius: 8px;
  display: flex;
  overflow: hidden;
}

.gb-area {
  width: 55px;
  background: #003399;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gb-area img {
  width: 32px;
}





::placeholder { color:#000; opacity:.45; }



/* CLEAN UK PLATE (WHITE, CENTERED TEXT, NO EXTRA BOX) */
.plate {
  position: relative;
  width: 240px;
  height: 60px;
  background: #ffffff;
  border: 3px solid #000;
  border-radius: 8px;
  display: flex;
  overflow: hidden;
}

.gb-area {
  width: 55px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gb-area img {
  width: 32px;
  height: auto;
}

.reg-field {
  flex: 1;
  position: relative;
  background: transparent !important;
  border: none !important;
}

.reg-field input {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  background: transparent;
  border: none;
  outline: none;
  text-align: center;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 4px;
  color: #000;
  text-transform: uppercase;
}

::placeholder {
  color: #000;
  opacity: 0.45;
}


/* ===== UK NUMBER PLATE – DVLA STYLE (FINAL) ===== */

.plate {
  width: 270px;
  height: 68px;
  background: #ffffff;
  border: 3px solid #000;
  border-radius: 8px;
  display: flex;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,.3);
}

.gb-area {
  width: 58px;
  background: #003399;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.eu-stars {
  font-size: 9px;
  color: #ffcc00;
  line-height: 1;
  letter-spacing: 1px;
}

.gb-text {
  font-size: 18px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 1px;
}

.reg-area {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.reg-area input {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  text-align: center;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 4px;
  color: #000;
  text-transform: uppercase;
  font-family: Arial, Helvetica, sans-serif;
}

.reg-area input::placeholder {
  color: #000;
  opacity: 0.4;
}


/* ===== UK NUMBER PLATE – STAR REVISION ===== */

.gb-area {
  width: 46px; /* thinner GB strip */
  padding: 4px 0;
}

.eu-stars {
  font-size: 10px;
  color: #ffcc00;
  line-height: 1;
  letter-spacing: 2px;
}

.gb-text {
  font-size: 17px;
}/* Ensure contact form dropdown shows white text and readable placeholder */
.contact select,
.contact .form-grid select,
.form-grid select {
  color: #ffffff !important; /* White text for dropdown */
  background-color: #333333; /* Dark background for dropdown */
  border: 1px solid #ccc; /* Border styling */
  padding: 10px;
  font-size: 16px;
  border-radius: 4px;
}

/* Ensure the placeholder is readable in the dropdown (not always applicable) */
.contact select::placeholder,
.form-grid select::placeholder {
  color: rgba(255, 255, 255, 0.75) !important;
}
/* Restore plate registration text to black (override earlier global white rule) */
.plate input,
.reg-area input,
.reg-field input,
.plate .reg-area input,
.plate input::placeholder,
.reg-area input::placeholder,
.reg-field input::placeholder {
  color: #000 !important;
}
/* Original styles for the website */

@media screen and (max-width: 768px) {
    .navlinks {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        width: 100%; /* Set width to 100% of the screen */
        background-color: hsl(210, 30%, 17%); /* Dark blue background */
        flex-direction: column;
        gap: 0;
        transition: transform 0.3s ease;
        box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2); /* Add shadow for better visibility */
        border-radius: 10px;
    }

    .navlinks.active {
        display: flex;
        transform: translateY(0);
    }

    .navlinks a {
        text-align: center;
        padding: 15px 20px; /* Set padding to 15px top/bottom, 20px left/right */
        color: white;
        text-decoration: none;
        border-top: 1px solid #34495e; /* Lighter shade for the border */
        font-weight: 600;
        opacity: 0.85; /* Set opacity for the links */
        transition: opacity 0.3s ease; /* Smooth transition for opacity */
    }

    .navlinks a:hover {
        background-color: #34495e; /* Hover effect with a lighter shade */
        opacity: 1; /* Full opacity on hover */
    }

    .hamburger {
        display: block;
        font-size: 30px;
        color: white;
        cursor: pointer;
    }
}



/* Hide the hamburger menu and dropdown on desktop */
@media screen and (min-width: 769px) {
    .hamburger {
        display: none; /* Hide the hamburger menu on desktop */
    }

    .navlinks {
        display: flex; /* Ensure the regular navigation links are visible on desktop */
    }
}

/* Original styles for the website */

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, sans-serif;
  background: radial-gradient(1200px 400px at 10% 10%, rgba(6,22,40,0.25), transparent),
              linear-gradient(180deg, #020416 0%, #050816 100%);
  color: #f7fbff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Revert to the original .plate and related styles */
.plate img {
  height: 100%;
  width: auto;
  padding: 4px;
  background: #16376b;
  text-align: center;
}

.plate {
  position: relative;
  width: 260px;
  height: 60px;
  background: #fff;
  border: 3px solid #000;
  border-radius: 8px;
  display: flex;
  overflow: hidden;
}

.gb-area {
  width: 55px;
  background: #003399;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gb-area img {
  width: 32px;
}

.reg-field {
  flex: 1;
  position: relative;
  background: transparent !important;
  border: none !important;
}

.reg-field input {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  background: transparent;
  border: none;
  outline: none;
  text-align: center;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 4px;
  color: #000;
  text-transform: uppercase;
}

::placeholder {
  color: hwb(0 82% 17%);
  opacity: 0.45;
}
/* Adjust hero-full section for both desktop and mobile */
/* Ensure hero-full section behaves correctly */
/* Reset default margin on h1 and other elements to ensure consistent spacing */
h1, .lead, .cta-white, .feature-grid, .how-steps, .textblock, .sticker, .faq h3, .footer {
  margin: 0; /* Reset margin */
  padding: 0; /* Reset padding */
}

/* Ensure hero-full section behaves correctly */
.hero-full {
  max-width: 1200px;
  margin: 0 auto; /* Remove top margin */
  padding: 36px 20px; /* Equal padding for both sides */
  display: grid;
  grid-template-columns: 1fr 520px; /* Left and right sections for desktop */
  gap: 36px;
  align-items: center;
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  width: 100%; /* Ensures it takes full width */
}

.hero-full .overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,6,23,0.65), rgba(2,6,23,0.6));
  z-index: 1;
}

.hero-full .left, .hero-full .right {
  position: relative;
  z-index: 2;
}

/* Adjustments for mobile screens */
@media screen and (max-width: 768px) {
  .hero-full {
    grid-template-columns: 1fr; /* Stack left and right sections vertically */
    padding: 20px; /* Less padding on mobile */
    margin: 20px auto; /* Ensure it's centered */
    width: 100%; /* Take up full available width */
    box-sizing: border-box; /* Ensure padding is considered in width */
  }

  .hero-img {
    height: 260px; /* Adjust image size on mobile */
    width: 100%; /* Make the image responsive */
  }

  /* Ensure both sections (left & right) are centered on mobile */
  .hero .left, .hero .right {
    text-align: center; /* Center the content */
    width: 100%; /* Ensure they take full width */
  }

  /* Remove any unnecessary margins or inline styles */
  .hero-full {
    margin-top: 0; /* Ensure no extra margin on top */
  }
}

/* Resetting any other unnecessary spacing */
body, main {
  margin: 0;
  padding: 0;
}
/* Ensure button (cta-white) styles are preserved */
.cta-white {
  background: #ffffff;
  color: #041226;
  padding: 12px 24px;
  border-radius: 12px;
  border: 0;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 14px 40px rgba(4,18,38,0.35);
  transition: transform .18s ease, box-shadow .18s ease;
  text-align: center;
  display: inline-block; /* Ensure the button behaves as a block element */
}

/* Hover effect */
.cta-white:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 60px rgba(4,18,38,0.6);
}

/* Ensure padding is not affected globally */
.cta-white {
  padding: 12px 24px; /* Ensure it has padding for mobile */
  margin: 0 auto; /* Center button if necessary */
}
/* Ensure padding for the .split section and its content */
.split {
  padding: 20px; /* Add padding to the entire section */
  max-width: 1200px;
  margin: 60px auto;
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 28px;
  align-items: center;
}

/* Style for the textblock inside .split */
.split .textblock {
  background: var(--panel);
  padding: 20px; /* Padding for the content inside the textblock */
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  line-height: 1.7;
  color: #e9f2ff;
  box-sizing: border-box;
}

/* For mobile devices, adjust the layout and ensure content is stacked */
@media screen and (max-width: 768px) {
  /* Stack columns vertically on mobile */
  .split {
    padding: 10px; /* Less padding for mobile */
    grid-template-columns: 1fr; /* Stack the columns vertically */
  }

  .split .textblock {
    padding: 12px; /* Slightly reduced padding for textblock on mobile */
  }
}
/* Reset margin/padding to ensure no conflicts */
body, html {
  margin: 0;
  padding: 0;
  width: 100%;
}
/* =========================
   FOOTER
========================= */
.footer {
  background: linear-gradient(135deg, #1d2a3b, hsl(213, 69%, 11%));
  color: #f7fbff;
  padding: 20px 10px;
  font-size: 14px;
  border-top: 2px solid #2b282e;
  border-radius: 12px 12px 0 0;

  /* Layout */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  /* Hard reset to prevent gaps */
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  text-align: center;
}

/* Inner content wrapper */
.footer .footer-content {
  width: 100%;
  max-width: 1200px;
  padding: 0 20px;
  margin: 0 auto;
}

/* Text */
.footer p {
  margin: 10px 0;
  font-size: 16px;
  line-height: 1.6;
}

/* Headings */
.footer h3 {
  font-size: 22px;
  margin-bottom: 16px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #d19bff;
}

/* Links */
.footer a {
  color: #c7b7ff;
  text-decoration: none;
  margin: 0 8px;
  font-size: 15px;
  transition: color 0.25s ease;
}

.footer a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* Footer links row */
.footer-links {
  margin-top: 10px;
  font-size: 14px;
}

/* Social icons */
.footer-social {
  display: flex;
  gap: 14px;
  margin-top: 18px;
}

.footer-social a {
  font-size: 20px;
  color: #c7b7ff;
  transition: color 0.25s ease;
}

.footer-social a:hover {
  color: #ffffff;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 768px) {
  .footer {
    padding: 18px 12px;
  }

  .footer p {
    font-size: 14px;
  }

  .footer h3 {
    font-size: 18px;
  }

  .footer a {
    font-size: 14px;
  }
}
/* Mobile padding for Trust & Security text (About page) */
@media (max-width: 768px) {
  .trust {
    padding: 20px 18px; /* top/bottom, left/right */
    margin: 20px auto;
  }

  .trust p,
  .trust h3 {
    padding: 0 6px; /* extra breathing room for text */
  }
}
@media (max-width: 768px) {
  .faq {
    padding-left: 16px;
    padding-right: 16px;
  }
}
