/* ==========================================================================
   Carmel Engineering - site header, hero banner, enquiry form, mobile fixes
   ========================================================================== */

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:999;width:100%}
.sh-bar{background:#ec1c24 center/cover no-repeat;height:100px}
.sh-inner{max-width:1200px;margin:0 auto;height:100px;display:flex;align-items:center;position:relative;padding:0}
.sh-col{height:100%;display:flex;align-items:center}
.sh-logo{flex:0 0 275px}
.sh-logo img{width:200px;height:auto;display:block}
.sh-nav{flex:1 1 auto;justify-content:center}
.sh-badge{flex:0 0 276px;justify-content:center}
.sh-badge img{height:100px;width:auto;display:block}
.sh-menu,.sh-sub{list-style:none;margin:0;padding:0}
.sh-menu{display:flex;height:100%;align-items:stretch}
.sh-menu>li{position:relative;display:flex;align-items:center}
.sh-menu>li>a{display:flex;align-items:center;height:100px;padding:10px 15px 10px 10px;font-family:'Raleway',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;line-height:30px;white-space:nowrap;transition:color .2s}
.sh-menu>li>a i{margin-left:5px;font-size:13px}
.sh-menu>li>a:hover,.sh-menu>li:hover>a{color:#fff;opacity:.85}
.sh-sub{position:absolute;top:100%;left:0;min-width:350px;background:#fff;padding:10px;border-radius:0 3px 3px;box-shadow:0 0 3px 0 rgba(140,140,140,.2);opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s ease;z-index:10}
.sh-sub .sh-sub{top:-10px;left:100%;min-width:340px}
.sh-menu li:hover>.sh-sub{opacity:1;visibility:visible;transform:none}
.sh-sub li{position:relative}
.sh-sub a{display:block;padding:5px;font-family:'Raleway',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#000;line-height:30px;transition:color .2s}
.sh-sub a:hover,.sh-sub li:hover>a{color:#ec1c24}
.sh-sub .has-sub>a:after{content:"\f105";font-family:"Font Awesome 5 Pro","Font Awesome 5 Free",FontAwesome;font-weight:900;float:right;margin-left:10px}
.sh-toggle{display:none}
.sh-burger{display:none}

/* ---------- Hero banner ---------- */
.hero{position:relative;width:100%;height:calc(100vw * 700 / 1920);min-height:260px;overflow:hidden;background:#222}
.hero-track{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;transform:translateX(100%);transition:transform .9s cubic-bezier(.65,.05,.36,1);display:flex;align-items:center;justify-content:center}
.hero-slide.is-active{transform:translateX(0);z-index:2}
.hero-slide.is-leaving{transform:translateX(-100%);z-index:1}
.hero-slide.no-anim{transition:none}
.hero-caption{text-align:center;padding:0 15px;opacity:0;transform:translateY(20px);transition:opacity .9s .9s,transform .9s .9s}
.hero-slide.is-active .hero-caption{opacity:1;transform:none}
.hero-title{font-family:'Raleway',sans-serif;font-weight:800;font-size:50px;line-height:50px;color:#fff;text-transform:uppercase;margin:0 0 36px;letter-spacing:0;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hero-btn{display:inline-block;background:#ec1c24;color:#fff;font-family:'Lora',serif;font-size:20px;font-weight:500;line-height:60px;padding:0 60px;border-radius:5px;box-shadow:0 10px 20px rgba(0,0,0,.25);transition:all .3s ease}
.hero-btn:hover{color:#000;background:linear-gradient(#f7f7f7,#d7d7d7)}
.hero-dots{position:absolute;left:0;right:0;bottom:20px;display:flex;justify-content:center;gap:6px;z-index:5}
.hero-dots button{width:12px;height:12px;border-radius:50%;border:3px solid #fff;background:#000;padding:0;cursor:pointer;transition:transform .3s}
.hero-dots button.is-active{background:#fff;border-color:#000;transform:scale(1.15)}

/* ---------- Enquiry form (contact page) ---------- */
.enquiry-area{padding:70px 0 80px;background:#f7f7f7}
.enquiry-head{text-align:center;max-width:640px;margin:0 auto 40px}
.enquiry-sub{display:inline-block;color:#ec1c24;font-family:'Raleway',sans-serif;font-weight:700;font-size:16px;position:relative;padding-left:50px;margin-bottom:10px}
.enquiry-sub:before{content:"";position:absolute;left:0;top:50%;width:40px;height:2px;background:#ec1c24}
.enquiry-head h2{font-family:'Raleway',sans-serif;font-size:36px;font-weight:800;text-transform:uppercase;color:#222;margin-bottom:10px}
.enquiry-head h2 span{color:#ec1c24}
.enquiry-head p{margin:0;color:#666}
.enquiry-form{max-width:900px;margin:0 auto;background:#fff;padding:40px;box-shadow:0 10px 30px rgba(0,0,0,.06);border-bottom:3px solid #ec1c24}
.ef-row{display:flex;gap:20px}
.ef-row .ef-field{flex:1 1 0;min-width:0}
.ef-field{margin-bottom:20px}
.ef-field label{display:block;font-family:'Raleway',sans-serif;font-size:14px;font-weight:700;color:#222;margin-bottom:6px;line-height:1.4}
.ef-field input,.ef-field select,.ef-field textarea{width:100%;border:1px solid #e1e1e1;background:#fafafa;padding:12px 15px;font-size:15px;line-height:1.5;color:#333;border-radius:3px;outline:0;transition:border-color .2s,background .2s;font-family:inherit}
.ef-field select{height:50px}
.ef-field input:focus,.ef-field select:focus,.ef-field textarea:focus{border-color:#ec1c24;background:#fff}
.ef-field.has-error input,.ef-field.has-error textarea{border-color:#ec1c24;background:#fff5f5}
.ef-err{display:block;color:#ec1c24;font-size:13px;line-height:1.4;margin-top:5px}
.ef-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ef-actions{text-align:center}
.ef-btn{background:#ec1c24;color:#fff;border:0;font-family:'Raleway',sans-serif;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:1px;padding:16px 45px;border-radius:5px;cursor:pointer;transition:background .3s}
.ef-btn:hover{background:#222}
.ef-btn[disabled]{opacity:.6;cursor:wait}
.ef-btn i{margin-left:8px}
.ef-status{margin-top:20px;text-align:center;font-size:15px;line-height:1.5}
.ef-status.ok{color:#1a7f37;background:#eaf7ee;padding:12px;border-radius:3px}
.ef-status.fail{color:#b00020;background:#fdecee;padding:12px;border-radius:3px}

/* ---------- Tablet & mobile ---------- */
@media (max-width:1199px){
  .sh-inner{padding:0 20px}
  .sh-logo{flex:0 0 220px}
  .sh-badge{flex:0 0 120px}
  .sh-menu>li>a{padding:10px 10px 10px 8px;font-size:12px}
}
@media (max-width:991px){
  .sh-bar,.sh-inner{height:72px}
  .sh-logo{flex:1 1 auto}
  .sh-logo img{width:150px}
  .sh-badge{flex:0 0 auto;margin-right:56px}
  .sh-badge img{height:72px}
  .sh-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;position:absolute;right:15px;top:50%;transform:translateY(-50%);width:42px;height:42px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:0 9px;cursor:pointer}
  .sh-burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s}
  .sh-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .sh-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .sh-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .sh-nav{position:absolute;top:72px;left:0;right:0;height:auto;display:block;background:#fff;box-shadow:0 10px 20px rgba(0,0,0,.15);max-height:0;overflow:hidden;transition:max-height .35s ease}
  .sh-nav.is-open{max-height:calc(100vh - 72px);overflow-y:auto}
  .sh-menu{display:block;height:auto;padding:5px 0}
  .sh-menu li{display:block;position:relative;border-bottom:1px solid #f0f0f0}
  .sh-menu>li>a,.sh-sub a{height:auto;display:block;color:#222;padding:12px 60px 12px 20px;font-size:13px;line-height:22px;white-space:normal}
  .sh-menu>li>a i{display:none}
  .sh-menu>li>a:hover,.sh-menu>li:hover>a{color:#ec1c24;opacity:1}
  .sh-sub,.sh-sub .sh-sub{position:static;min-width:0;box-shadow:none;padding:0;border-radius:0;opacity:1;visibility:visible;transform:none;display:none;background:#f8f8f8;transition:none}
  .sh-sub .sh-sub{background:#f0f0f0}
  .sh-menu li:hover>.sh-sub{display:none}
  .sh-menu li.is-open>.sh-sub{display:block}
  .sh-sub a{padding-left:35px;font-size:12px}
  .sh-sub .sh-sub a{padding-left:50px}
  .sh-sub li{border-bottom:1px solid #ececec}
  .sh-sub .has-sub>a:after{display:none}
  .sh-toggle{display:block;position:absolute;right:0;top:0;width:52px;height:46px;background:transparent;border:0;border-left:1px solid #f0f0f0;cursor:pointer}
  .sh-toggle:before{content:"+";font:700 20px/46px Arial,sans-serif;color:#ec1c24}
  li.is-open>.sh-toggle:before{content:"\2212"}
  .hero{height:calc(100vw * 600 / 778)}
  .hero-title{font-size:41px;line-height:46px}
  .ef-row{flex-direction:column;gap:0}
}
@media (max-width:575px){
  .sh-bar,.sh-inner{height:64px}
  .sh-inner{padding:0 12px}
  .sh-logo img{width:130px}
  .sh-badge{margin-right:52px}
  .sh-badge img{height:60px}
  .sh-burger{right:10px;width:40px;height:40px}
  .sh-nav{top:64px}
  .sh-nav.is-open{max-height:calc(100vh - 64px)}
  .hero{height:calc(100vw * 500 / 480);max-height:520px}
  .hero-title{font-size:26px;line-height:32px;margin-bottom:22px}
  .hero-btn{font-size:15px;line-height:48px;padding:0 34px}
  .enquiry-area{padding:50px 0 60px}
  .enquiry-head h2{font-size:26px}
  .enquiry-form{padding:25px 18px}
}

/* ---------- Mobile alignment fixes for page content ---------- */
img{max-width:100%;height:auto}
.whatsapp-float,.float{z-index:998}
@media (max-width:991px){
  .about-02-img{padding-right:0!important;margin-bottom:40px}
  .about-02-img img{width:100%;height:auto}
}
@media (max-width:767px){
  .pt-100,.pt-110,.pt-120,.pt-130,.pt-140,.pt-150{padding-top:60px!important}
  .pb-100,.pb-110,.pb-120,.pb-130,.pb-140,.pb-150{padding-bottom:60px!important}
  .breadcrumb-area{padding-top:70px!important;padding-bottom:70px!important}
  .breadcrumb-text h1,.breadcrumb-text h2{font-size:34px!important;line-height:1.2!important}
  .air-freight-area{padding-top:50px!important}
  .section-title h1,.section-title h2{font-size:28px!important;line-height:1.3!important}
  .about-02-text,.about-02-text p{padding-left:0!important;padding-right:0!important}
}
@media (max-width:575px){
  p,.cme-text-editor,.footer-widget p,.about-02-text p{text-align:left!important;word-spacing:normal}
  .container{padding-left:18px;padding-right:18px}
  .footer-widget{margin-bottom:35px}
}
