/*
Theme Name: Macleod Prime
Theme URI: https://macleodprime.com
Author: Macleod Prime
Description: Custom theme rebuilt from the original GoDaddy Website Builder site.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: macleod-prime
*/

/* =========================================================
   1. TOKENS
   ========================================================= */
:root{
  --mp-teal:#238c7b;
  --mp-teal-dark:#1c7062;
  --mp-teal-darker:#155a4e;
  --mp-link:#4b7e7f;
  --mp-link-hover:#2b4c4d;
  --mp-text:#5e5e5e;
  --mp-dark:#1b1b1b;
  --mp-light:#f6f6f6;
  --mp-footer-link:#1f7d6e;
  --mp-footer-text:#525252;
  --mp-border:rgba(185,185,185,.5);
  --mp-container:1160px;
  --mp-font-heading:'Playfair Display',Georgia,serif;
  --mp-font-body:'Source Sans Pro',Arial,sans-serif;
  --mp-font-ui:'Montserrat',Arial,sans-serif;
}

/* =========================================================
   2. RESET / BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--mp-font-body);
  font-size:16px;
  line-height:1.5;
  color:var(--mp-text);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;height:auto;display:block;vertical-align:middle}
a{color:var(--mp-link);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--mp-link-hover)}
h1,h2,h3,h4,h5,h6{
  font-family:var(--mp-font-heading);
  color:var(--mp-teal);
  margin:0 0 24px;
  line-height:1.2;
  font-weight:400;
}
h1{font-size:44px}
h2{font-size:32px}
h3{font-size:28px}
h4{font-size:26px}
p{margin:0 0 16px}
ul{margin:0;padding:0;list-style:none}
strong{font-weight:700}

/* =========================================================
   3. LAYOUT
   ========================================================= */
.mp-container{
  width:100%;
  max-width:var(--mp-container);
  margin:0 auto;
  padding:0 24px;
}
.mp-section{padding:56px 0}
.mp-section--light{background:var(--mp-light)}
.mp-section--teal{background:var(--mp-teal)}
.mp-section--teal h2,.mp-section--teal h3{color:#fff}
.mp-text-center{text-align:center}

/* =========================================================
   4. BUTTONS
   ========================================================= */
.mp-btn,
.wp-block-button__link,
input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--mp-font-ui);
  font-weight:700;
  font-size:14px;
  letter-spacing:.02em;
  text-transform:none;
  padding:16px 40px;
  min-height:56px;
  border-radius:48px;
  border:1px solid var(--mp-teal);
  background:var(--mp-teal);
  color:#fff;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.mp-btn:hover,
input[type="submit"]:hover{background:var(--mp-teal-dark);border-color:var(--mp-teal-dark);color:#fff}
.mp-btn--ghost{background:transparent;color:var(--mp-dark);border-color:var(--mp-dark)}
.mp-btn--ghost:hover{background:#fff;color:var(--mp-dark)}

/* =========================================================
   5. HEADER
   ========================================================= */
.mp-header{background:#fff;padding:32px 0 0}
.mp-header__logo-row{display:flex;justify-content:center;align-items:center;padding:24px 0}
.mp-header__logo img{height:80px;width:auto}
.mp-header__nav{display:flex;justify-content:center;padding:18px 0 24px}
.mp-header__nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:0}
.mp-header__nav li{display:inline-block}
.mp-header__nav a{
  display:block;
  font-family:var(--mp-font-ui);
  font-weight:700;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:var(--mp-dark);
  padding:6px 12px;
  white-space:nowrap;
}
.mp-header__nav a:hover{color:var(--mp-link)}
.mp-header__nav .current-menu-item > a{color:var(--mp-link)}

.mp-mobilebar{display:none;align-items:center;justify-content:space-between;padding:18px 0 24px}
.mp-mobilebar__toggle{
  background:none;border:0;padding:6px;cursor:pointer;color:var(--mp-dark);
  display:flex;align-items:center;
}
.mp-mobilebar__logo img{height:60px;width:auto}
.mp-drawer{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:#fff;z-index:10002;
  transform:translateX(-100%);
  transition:transform .3s ease-in-out;
  overflow-y:auto;padding:56px 24px;
  display:flex;flex-direction:column;
}
.mp-drawer.is-open{transform:translateX(0)}
.mp-drawer__close{
  position:absolute;top:15px;right:15px;
  background:none;border:0;cursor:pointer;color:var(--mp-dark);padding:6px;
}
.mp-drawer ul li{border-bottom:1px solid var(--mp-border)}
.mp-drawer ul li:last-child{border-bottom:0}
.mp-drawer a{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;font-size:22px;font-weight:700;color:var(--mp-dark);
}

/* =========================================================
   6. HERO
   ========================================================= */
.mp-hero{
  position:relative;
  min-height:60vh;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  background:#000;
}
.mp-hero__video,
.mp-hero__video video,
.mp-hero__video img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.mp-hero__inner{position:relative;z-index:2;width:100%;padding:56px 0}

/* =========================================================
   7. ABOUT (Home)
   ========================================================= */
.mp-about__heading{margin-bottom:40px;text-align:center}
.mp-about__heading span{position:relative;display:inline-block;max-width:80%}
.mp-about__row{
  display:flex;align-items:center;gap:48px;margin-bottom:48px;
}
.mp-about__row:last-child{margin-bottom:0}
.mp-about__row--reverse{flex-direction:row-reverse}
.mp-about__media{flex:0 0 50%;max-width:50%}
.mp-about__media img{border-radius:4px;width:100%}
.mp-about__body{flex:1;text-align:center}
.mp-about__body h4{margin-bottom:16px}
.mp-about__body p{margin:0 0 8px}

/* =========================================================
   8. SERVICE PAGE
   ========================================================= */
.mp-service__heading{
  text-align:center;
  margin:0 0 40px;
}
.mp-service__heading span{
  position:relative;
  display:inline-block;
  max-width:80%;
}
.mp-service__content{ max-width:100%; }

.mp-service__content .mp-lead{
  font-size:16px;
  color:var(--mp-text);
  max-width:66%;
  margin:0 auto 40px;
  text-align:center;
}

.mp-svc-block{
  display:flex;
  gap:48px;
  align-items:center;
  margin:0 0 56px;
}
.mp-svc-block:last-child{ margin-bottom:0; }
.mp-svc-block__media{
  flex:0 0 33.3333%;
  max-width:33.3333%;
}
.mp-svc-block__media img{
  width:100%;
  height:auto;
  border-radius:4px;
  display:block;
}
.mp-svc-block__body{
  flex:1;
  min-width:0;
}
.mp-svc-block__body h2{
  font-size:30px;
  line-height:1.25;
  margin:0 0 16px;
  text-align:left;
}
.mp-svc-block__body h4{
  font-size:28px;
  margin:0 0 16px;
  line-height:1.25;
}
.mp-svc-block__body p{ margin:0 0 16px; }
.mp-svc-block__body ul{
  list-style:disc;
  padding-left:1.3em;
  margin:0 0 16px;
}
.mp-svc-block__body li{
  margin-bottom:10px;
  line-height:1.5;
}
.mp-svc-block__body strong{
  color:var(--mp-dark);
  font-weight:700;
}

.mp-svc-textblock{
  max-width:66.6666%;
  margin:0 auto 40px;
}
.mp-svc-banner{
  margin:0 0 56px;
  border-radius:4px;
  overflow:hidden;
}
.mp-svc-banner img{ width:100%; height:auto; display:block; }

/* =========================================================
   9. CONTACT
   ========================================================= */
.mp-contact__heading{margin-bottom:40px;text-align:center}
.mp-contact__intro{
  font-family:var(--mp-font-heading);
  font-size:22px;
  font-weight:700;
  color:var(--mp-dark);
  text-align:center;
  max-width:900px;
  margin:0 auto 24px;
  line-height:1.3;
}
.mp-contact__card{
  background:#fff;
  border-radius:4px;
  padding:40px;
  max-width:820px;
  margin:0 auto 40px;
}
.mp-form__field{position:relative;margin-bottom:24px}
.mp-form__field label{
  display:block;font-size:14px;color:var(--mp-text);margin-bottom:6px;
}
.mp-form__field input,
.mp-form__field textarea,
.mp-form__field select{
  width:100%;
  font-family:var(--mp-font-body);
  font-size:16px;
  padding:14px 12px;
  border:1px solid var(--mp-border);
  border-radius:4px;
  background:#fff;
  color:var(--mp-dark);
}
.mp-form__field input:focus,
.mp-form__field textarea:focus{
  outline:none;
  border-color:var(--mp-teal);
  box-shadow:0 0 0 1px var(--mp-teal);
}
.mp-form__field textarea{min-height:120px;resize:vertical}
.mp-form__check{display:flex;align-items:flex-start;gap:8px;margin-bottom:24px;font-size:14px}
.mp-form__check input{margin-top:3px}
.mp-contact__meta{
  text-align:center;font-size:12px;color:var(--mp-text);margin-top:16px;
}
.mp-contact__actions{text-align:center}
.mp-whatsapp{
  display:inline-flex;align-items:center;gap:12px;
  background:#fff;color:var(--mp-dark);
  border:1px solid var(--mp-teal);
  border-radius:48px;
  padding:12px 32px;
  font-weight:700;
  min-height:56px;
}
.mp-whatsapp:hover{background:var(--mp-light);color:var(--mp-dark)}
.mp-whatsapp svg{width:24px;height:24px;flex:0 0 auto}

/* =========================================================
   10. SOCIAL
   ========================================================= */
.mp-social{text-align:center}
.mp-social__heading{color:var(--mp-teal);margin-bottom:32px}
.mp-social__links{display:flex;justify-content:center;gap:24px}
.mp-social__links a{color:var(--mp-teal)}
.mp-social__links a:hover{color:var(--mp-teal-darker)}
.mp-social__links svg{width:48px;height:48px}

/* =========================================================
   11. FOOTER
   ========================================================= */
.mp-footer{background:var(--mp-light);padding:56px 0}
.mp-footer__nav{
  display:flex;justify-content:center;gap:24px;flex-wrap:wrap;
  padding-bottom:40px;margin:0;
}
.mp-footer__nav a{
  color:var(--mp-footer-link);font-size:14px;padding:8px;
}
.mp-footer__nav a:hover{color:var(--mp-teal-darker)}
.mp-footer__bottom{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-size:14px;color:var(--mp-footer-text);flex-wrap:wrap;
}
.mp-footer__bottom p{margin:0}
.mp-footer__bottom .mp-footer__right{text-align:right}

/* =========================================================
   12. COOKIE BANNER
   ========================================================= */
.mp-cookie{
  position:fixed;right:24px;bottom:24px;z-index:10000;
  background:var(--mp-teal);color:#fff;
  width:400px;max-width:calc(100% - 48px);
  padding:24px;border-radius:7px;
  box-shadow:0 2px 6px rgba(0,0,0,.3);
}
.mp-cookie h4{color:#fff;font-size:22px;margin:0 0 12px}
.mp-cookie p{font-size:14px;color:#fff;margin:0 0 16px;max-height:200px;overflow:auto}
.mp-cookie__actions{display:flex;justify-content:space-between}
.mp-cookie.is-hidden{display:none}

/* =========================================================
   13. CAREERS
   ========================================================= */
.mp-careers__content{ max-width:100%; }
.mp-job{
  display:flex;
  gap:48px;
  align-items:flex-start;
  margin:0 0 56px;
}
.mp-job:last-child{ margin-bottom:0; }
.mp-job__body{ flex:1; min-width:0; }
.mp-job__media{ flex:0 0 33.3333%; max-width:33.3333%; }
.mp-job__media img{
  width:100%;
  height:auto;
  border-radius:4px;
  display:block;
}
.mp-job__title{
  font-family:var(--mp-font-heading);
  font-size:38px;
  line-height:1.2;
  color:var(--mp-teal);
  margin:0 0 24px;
  text-align:left;
}
.mp-job__body p{ margin:0 0 16px; }
.mp-job__body strong{ color:var(--mp-dark); }
.mp-job__body ul{
  list-style:disc;
  padding-left:1.3em;
  margin:0 0 16px;
}
.mp-job__body ul ul{ list-style:circle; margin-top:8px; }
.mp-job__body li{ margin-bottom:8px; line-height:1.5; }
.mp-job__body a{ color:var(--mp-teal); text-decoration:underline; }
.mp-job__body a:hover{ color:var(--mp-teal-dark); }

.mp-apply{
  background:var(--mp-teal);
  padding:56px 0;
  border-bottom:1px solid rgba(255,255,255,.35);
}
.mp-apply:last-of-type{ border-bottom:0; }
.mp-apply__heading{
  color:#fff;
  font-family:var(--mp-font-heading);
  font-size:32px;
  line-height:1.2;
  text-align:left;
  margin:0 0 40px;
}
.mp-apply__form{ max-width:820px; }
.mp-apply__job-title{
  font-family:var(--mp-font-heading);
  font-size:22px;
  font-weight:700;
  color:#fff;
  margin:0 0 24px;
  line-height:1.3;
}
.mp-apply .mp-form__field label{ color:rgba(255,255,255,.9); }
.mp-apply .mp-form__field input,
.mp-apply .mp-form__field textarea{
  background:transparent;
  border:1px solid rgba(255,255,255,.5);
  color:#fff;
}
.mp-apply .mp-form__field input:focus,
.mp-apply .mp-form__field textarea:focus{
  border-color:#fff;
  box-shadow:inset 0 0 0 1px #fff;
}
.mp-apply .mp-form__field input::placeholder{ color:rgba(255,255,255,.75); }
.mp-attach{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
.mp-attach:hover{ color:rgba(255,255,255,.75); }
.mp-attach svg{ width:18px; height:18px; }
.mp-apply .mp-form__meta{
  font-size:12px;
  color:rgba(255,255,255,.85);
  margin:16px 0 0;
}
.mp-apply .mp-form__meta a{ color:#fff; text-decoration:underline; }

/* =========================================================
   14. RESPONSIVE
   ========================================================= */
@media (max-width:1023px){
  .mp-header__nav,
  .mp-header__logo-row{ display:none; }
  .mp-mobilebar{ display:flex; }

  .mp-about__row,
  .mp-about__row--reverse{
    flex-direction:column;
    gap:24px;
  }
  .mp-about__media{ flex:0 0 100%; max-width:100%; }

  .mp-svc-block{
    flex-direction:column;
    gap:24px;
    align-items:flex-start;
  }
  .mp-svc-block__media{ flex:0 0 100%; max-width:100%; }
  .mp-svc-block__body h2,
  .mp-svc-block__body h4{ font-size:24px; }
  .mp-service__content .mp-lead,
  .mp-svc-textblock{ max-width:100%; }

  .mp-job{ flex-direction:column-reverse; gap:24px; }
  .mp-job__media{ flex:0 0 100%; max-width:100%; }
  .mp-job__title{ font-size:28px; }
  .mp-apply__heading{ font-size:26px; }

  .mp-contact__card{ padding:24px; }
}

@media (max-width:767px){
  h1{ font-size:32px; }
  h2{ font-size:28px; }
  h3{ font-size:24px; }
  h4{ font-size:22px; }
  .mp-section{ padding:40px 0; }
  .mp-hero{ min-height:360px; }
  .mp-footer__bottom{ flex-direction:column; text-align:center; }
  .mp-footer__bottom .mp-footer__right{ text-align:center; }
  .mp-svc-block__body h2,
  .mp-svc-block__body h4{ font-size:22px; }
  .mp-job__title{ font-size:24px; }
  .mp-apply__heading{ font-size:22px; }
}