/* GMC / Metepol final responsive design fix - direct upload */
:root{
  --mp-navy:#071b2f;
  --mp-blue:#0d2d4d;
  --mp-blue-2:#0e4578;
  --mp-ink:#101827;
  --mp-muted:#667085;
  --mp-gold:#f4c15d;
  --mp-gold-dark:#d79b25;
  --mp-surface:#f7f9fc;
  --mp-line:#e6ebf2;
  --mp-radius:28px;
  --mp-shadow:0 24px 70px rgba(9,30,66,.14);
}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--mp-ink);background:#fff;line-height:1.78;overflow-x:hidden;}
p,li,.service-card p,.content-box,.accordion-body,.text-muted-soft{line-height:1.82;}
a{text-decoration:none;}
.container{max-width:1180px;}
.section-pad{padding:76px 0;}

/* Global heading control: requested hero/section title size */
.hero h2,.page-hero h2,.section-pad h2,.form-shell h2{font-size:clamp(21px,2.2vw,24px)!important;line-height:1.38!important;letter-spacing:-.025em!important;font-weight:760;margin:16px 0 12px;color:var(--mp-navy);}
.page-hero h2{color:#fff;max-width:780px;}
.hero p.lead,.page-hero p{line-height:1.86;}
.content-box h2,.content-box h3,.content-box h4{font-size:clamp(19px,2vw,24px)!important;line-height:1.42!important;}

/* Front header: closer to metepol.co.uk style */
.site-navbar{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(20px);border-bottom:1px solid rgba(231,236,245,.9);box-shadow:0 10px 28px rgba(9,30,66,.04);}
.brand-wrap{font-weight:760;letter-spacing:-.03em;color:var(--mp-navy)!important;display:flex;align-items:center;gap:10px;min-height:54px;}
.brand-wrap img{height:44px;max-width:178px;object-fit:contain;}
.navbar .nav-link{display:flex!important;align-items:center;gap:7px;font-weight:540!important;color:#26364b!important;border-radius:10px!important;padding:9px 12px!important;line-height:1.2;}
.navbar .nav-link i{font-size:1rem;color:#0e4578;}
.navbar .nav-link:hover,.navbar .nav-link:focus{background:#eef4fb;color:#0e4578!important;}
.navbar .navbar-toggler{border:1px solid var(--mp-line);border-radius:10px!important;padding:9px 12px;box-shadow:none!important;}
.btn-soft,.btn-gold,.btn-darkline{border-radius:10px!important;font-weight:680;padding:.72rem 1.08rem;}
.btn-soft{background:#eef4fb;color:#0d2d4d;border:1px solid #dbe8f6;}
.btn-soft:hover{background:#e3effb;color:#071b2f;border-color:#cde2f7;}
.btn-gold{background:linear-gradient(135deg,#ffe09b,#f4c15d 48%,#d79b25);color:#142033;border:none;box-shadow:0 12px 24px rgba(244,193,93,.28);}
.btn-gold:hover{color:#071b2f;filter:saturate(1.05);transform:translateY(-1px);}
.mega-dropdown{position:static;}
.mega-menu{left:50%;transform:translateX(-50%);width:min(920px,calc(100vw - 28px));border:1px solid var(--mp-line);border-radius:10px!important;box-shadow:var(--mp-shadow);margin-top:12px;background:#fff;}
.mega-item{display:flex;gap:12px;padding:14px;border-radius:10px!important;background:#fff;color:var(--mp-ink);border:1px solid transparent;height:100%;}
.mega-item:hover{background:#f8fbff;border-color:#dceaf8;transform:translateY(-1px);}
.mega-item i{color:var(--mp-gold-dark);font-size:1.25rem;flex:0 0 auto;margin-top:2px;}
.mega-item small{display:block;color:var(--mp-muted);line-height:1.55;margin-top:4px;}
@media(min-width:992px){.navbar .dropdown:hover>.dropdown-menu{display:block;}}

/* Front hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 14% 12%,rgba(244,193,93,.22),transparent 30%),linear-gradient(135deg,#f8fbff 0%,#eef5fc 46%,#fff 100%);padding:82px 0 76px;}
.hero:after{content:"";position:absolute;right:-140px;bottom:-180px;width:430px;height:430px;border-radius:10px!important;background:radial-gradient(circle,rgba(14,69,120,.14),transparent 68%);pointer-events:none;}
.hero .container{position:relative;z-index:1;}
.eyebrow,.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:760;color:#0e4578;background:#edf6ff;border:1px solid #d9ebfb;border-radius:10px!important;padding:8px 13px;}
.page-hero .eyebrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fce3a3;}
.video-frame{position:relative;padding:16px;background:linear-gradient(135deg,#071b2f,#123f66);border-radius:10px!important;box-shadow:var(--mp-shadow);transform:rotate(-1.2deg);}
.video-frame:before{content:"";position:absolute;inset:-14px;z-index:-1;border-radius:10px!important;background:linear-gradient(135deg,rgba(244,193,93,.45),rgba(13,45,77,.08));transform:rotate(2.6deg);}
.video-frame video,.video-frame img{width:100%;min-height:360px;object-fit:cover;border-radius:10px!important;display:block;transform:rotate(1.2deg);}
.page-hero{background:linear-gradient(135deg,#071b2f,#0e4578);color:#fff;padding:64px 0;position:relative;overflow:hidden;}
.page-hero:after{content:"";position:absolute;right:-110px;top:-130px;width:340px;height:340px;border-radius:10px!important;background:radial-gradient(circle,rgba(244,193,93,.18),transparent 68%);}
.page-hero .container{position:relative;z-index:1;}

/* Modern service ordering/layout */
.service-showcase{counter-reset:serviceCounter;}
.service-card{counter-increment:serviceCounter;position:relative;display:grid;grid-template-columns:280px 1fr auto;gap:26px;align-items:center;padding:20px;border:1px solid var(--mp-line);border-radius:10px!important;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 20px 52px rgba(9,30,66,.08);margin-bottom:22px;overflow:hidden;}
.service-card:before{content:counter(serviceCounter, decimal-leading-zero);position:absolute;right:24px;top:18px;font-size:46px;line-height:1;font-weight:800;letter-spacing:-.06em;color:rgba(7,27,47,.055);pointer-events:none;}
.service-card:nth-child(even){grid-template-columns:auto 1fr 280px;}
.service-card:nth-child(even) img{order:3;}
.service-card:nth-child(even) .btn{order:1;}
.service-card:nth-child(even)>div{order:2;}
.service-card img{width:100%;height:188px;object-fit:cover;border-radius:10px!important;box-shadow:0 16px 34px rgba(9,30,66,.12);}
.service-card h3{font-size:clamp(19px,2vw,23px);line-height:1.35;letter-spacing:-.035em;font-weight:760;color:var(--mp-navy);margin-bottom:8px;}
.service-card p{color:var(--mp-muted);margin-bottom:0;max-width:720px;}
.service-card .btn{position:relative;z-index:2;white-space:nowrap;}
.service-card:hover{transform:translateY(-3px);box-shadow:0 28px 70px rgba(9,30,66,.12);border-color:#dbe8f6;}
.service-detail-image{border-radius:10px!important;box-shadow:var(--mp-shadow);width:100%;height:330px;object-fit:cover;}
.content-box{background:#fff;border:1px solid var(--mp-line);border-radius:10px!important;padding:32px;box-shadow:0 16px 40px rgba(9,30,66,.07);}

/* Admin responsive sidebar */
.admin-body{background:#f4f7fb;overflow-x:hidden;}
.admin-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;}
.admin-side{background:#071b2f;color:#fff;padding:18px;position:sticky;top:0;height:100vh;overflow:auto;z-index:1045;box-shadow:18px 0 42px rgba(9,30,66,.08);}
.admin-side-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.admin-brand{display:flex;align-items:center;gap:10px;color:#fff!important;font-weight:760;letter-spacing:-.03em;min-height:46px;}
.admin-brand img{max-width:180px;max-height:54px;object-fit:contain;background:rgba(255,255,255,.06);border-radius:10px!important;padding:6px;}
.admin-brand-icon{width:42px;height:42px;border-radius:10px!important;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f4c15d,#d79b25);color:#071b2f;}
.admin-menu-close{display:none;border:0;background:rgba(255,255,255,.10);color:#fff;width:40px;height:40px;border-radius:10px!important;align-items:center;justify-content:center;}
.admin-nav{display:flex;flex-direction:column;gap:5px;}
.admin-nav a,.admin-side a{display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.80);padding:11px 12px;border-radius:10px!important;margin:0;font-weight:560;}
.admin-nav a i{width:20px;text-align:center;color:#f4c15d;}
.admin-nav a:hover,.admin-nav a.active,.admin-side a:hover,.admin-side a.active{background:rgba(255,255,255,.11);color:#fff;}
.admin-main{min-width:0;padding:28px;}
.admin-mobile-toggle{display:none;position:fixed;left:14px;top:14px;z-index:1060;align-items:center;gap:8px;border:0;border-radius:10px!important;background:#071b2f;color:#fff;padding:10px 14px;font-weight:700;box-shadow:0 18px 42px rgba(9,30,66,.24);}
.admin-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(7,27,47,.56);z-index:1040;}
.admin-mobile-head{display:none;background:#fff;border:1px solid var(--mp-line);border-radius:10px!important;padding:12px 14px;margin-bottom:18px;box-shadow:0 12px 30px rgba(9,30,66,.06);align-items:center;justify-content:space-between;gap:12px;}
.admin-card{background:#fff;border:1px solid var(--mp-line);border-radius:10px!important;padding:24px;box-shadow:0 12px 30px rgba(9,30,66,.06);}
.admin-card h5{font-weight:760;color:var(--mp-navy);}
.table>:not(caption)>*>*{vertical-align:middle;}
.table-responsive{border-radius:10px!important;}
.dataTables_wrapper{width:100%;}
table.dataTable{width:100%!important;}
.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border-radius:10px!important;border:1px solid rgba(17,24,39,.12);padding:7px 10px;}
.dataTables_wrapper .pagination .page-link{border-radius:10px!important;margin:0 2px;color:#0d2d4d;}
.dtr-details{width:100%;}
.note-editor.note-frame{border-radius:10px!important;border-color:#dbe3ee!important;overflow:hidden;box-shadow:0 10px 24px rgba(9,30,66,.04);}
.note-toolbar{background:#f7f9fc!important;border-bottom:1px solid #e6ebf2!important;}
.note-editable{line-height:1.78;}
.form-control,.form-select{border-radius:10px!important;border-color:#dbe3ee;padding:.85rem 1rem;}
.form-control:focus,.form-select:focus{border-color:#0e4578;box-shadow:0 0 0 .2rem rgba(14,69,120,.13);}

@media(max-width:991px){
  .section-pad{padding:54px 0;}
  .navbar-collapse{padding:14px 0;}
  .navbar .nav-link{border-radius:10px!important;padding:11px 12px!important;}
  .site-navbar .btn-soft,.site-navbar .btn-gold{width:100%;margin:.18rem 0;justify-content:center;}
  .dropdown-menu.show{position:static!important;transform:none!important;box-shadow:none;margin-top:6px;width:100%;}
  .mega-menu{width:100%;transform:none;left:auto;border-radius:10px!important;padding:12px!important;}
  .hero{padding:58px 0;}
  .video-frame video,.video-frame img{min-height:250px;}
  .service-card,.service-card:nth-child(even){grid-template-columns:1fr!important;padding:18px;border-radius:10px!important;}
  .service-card:nth-child(even) img,.service-card:nth-child(even) .btn,.service-card:nth-child(even)>div{order:initial;}
  .service-card img{height:220px;}
  .service-card .btn{width:100%;justify-content:center;}
  .page-hero{padding:54px 0;}
  .admin-wrap{display:block;}
  .admin-side{position:fixed;left:0;top:0;bottom:0;width:min(86vw,330px);height:100vh;transform:translateX(-105%);transition:transform .24s ease;box-shadow:26px 0 70px rgba(7,27,47,.34);}
  .admin-body.admin-sidebar-open .admin-side{transform:translateX(0);}
  .admin-body.admin-sidebar-open .admin-sidebar-backdrop{display:block;}
  .admin-mobile-toggle{display:inline-flex;}
  .admin-menu-close{display:inline-flex;}
  .admin-main{padding:76px 14px 24px;}
  .admin-mobile-head{display:flex;}
  .admin-card{padding:18px;border-radius:10px!important;}
}
@media(max-width:575px){
  .brand-wrap span{font-size:.95rem;}
  .hero h2,.page-hero h2,.section-pad h2,.form-shell h2{font-size:22px!important;}
  .content-box{padding:22px;border-radius:10px!important;}
  .service-card img{height:190px;}
}
