/* ==========================================================================
   Udrone India - layout, components and responsive overrides
   Loaded after the template CSS so these rules win.
   ========================================================================== */

:root{
  --ud-accent: var(--primary-color, #FECC3D);
  --ud-ink: #ffffff;
  --ud-muted: rgba(255,255,255,.66);
  --ud-line: rgba(255,255,255,.12);
  --bg-dark-1: #071226;
  --bg-dark-1-rgb: 7,18,38;
  --ud-panel: #061023;
  --ud-panel-2: #0d1d3a;
  --ud-radius: 4px;
}

/* ---------- global comfort ------------------------------------------------ */
html{ -webkit-text-size-adjust:100%; }
img{ max-width:100%; height:auto; }
body, main, main > section, header, footer,
.bg-dark, .bg-dark-1, .bg-white, .bg-light, .bg-light-1, .bg-light-2{
  background-color:#071226 !important;
}
body{ overflow-x:hidden; color:var(--ud-ink); }
a{ text-decoration:none; }
:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--ud-accent); outline-offset:3px;
}
p{ overflow-wrap:break-word; }

/* Top-level navigation items are direct page links, not dropdown triggers. */
#mainmenu > li > ul{ display:none !important; }
#mainmenu > li.has-child::after{ display:none !important; }

/* Keep template light-section utility classes within the navy site theme. */

/* Stop any single element forcing a horizontal scrollbar on small screens */
section, .container, .container-fluid, .row{ max-width:100%; }
.row{ --bs-gutter-x:1.5rem; }

/* ---------- breadcrumbs --------------------------------------------------- */
/* The template's style.css contains a bare `nav { height: 0 }` (meant for its
   own header nav), which collapses any other <nav> and lets its contents spill
   over whatever follows. Our breadcrumb is a <nav>, so restore its height. */
.ud-crumb{ display:block; width:100%; height:auto; margin:0 0 1.1rem; }
.ud-crumb ol{ list-style:none; display:flex; flex-wrap:wrap; align-items:baseline;
  column-gap:.5rem; row-gap:.2rem; padding:0; margin:0;
  font-size:.8rem; line-height:1.5; letter-spacing:.04em; text-transform:uppercase; }
.ud-crumb li+li:before{ content:"/"; opacity:.4; margin-right:.5rem; }
.ud-crumb a{ color:var(--ud-muted); }
.ud-crumb a:hover{ color:var(--ud-accent); }
.ud-crumb li[aria-current]{ color:var(--ud-accent); }
/* The eyebrow that follows a breadcrumb is inline-block in the template CSS -
   force it to its own line so it cannot sit between wrapped crumb items. */
.ud-crumb + .subtitle{ display:block; width:100%; clear:both; }
@media (max-width: 575.98px){
  /* Keep the current page on its own row rather than wrapping mid-trail */
  .ud-crumb li[aria-current]{ flex:0 0 100%; }
}

/* ---------- hero variants ------------------------------------------------- */
.ud-hero .ud-hero-img{ min-height:520px; background-size:cover; background-position:center; }
.ud-hero-drone-image{
  width:min(62vw, 760px); max-height:430px; object-fit:contain;
  filter:drop-shadow(0 24px 28px rgba(0,0,0,.45));
  animation:ud-drone-float 5s ease-in-out infinite;
}
@keyframes ud-drone-float{
  0%,100%{ transform:translate3d(0,0,0) rotate(-1deg); }
  50%{ transform:translate3d(0,-16px,0) rotate(1deg); }
}
main > section.jarallax:first-of-type{ background:#071a38; }
main > section.jarallax:first-of-type::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(5,18,45,.3),rgba(5,18,45,.72));
}
.ud-banner{ position:relative; padding-top:180px; padding-bottom:90px; }
.ud-banner-veil{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(10,10,12,.94) 0%, rgba(10,10,12,.78) 45%, rgba(10,10,12,.45) 100%);
}
.ud-banner .lead{ color:var(--ud-muted); max-width:60ch; }

/* ---------- full-bleed hero legibility ------------------------------------
   The template drops white display type straight onto a photo. Our replacement
   photography is real Indian aerial work rather than flat studio backdrops, so
   every full-bleed section gets a scrim to keep contrast usable.            */
section.jarallax:not(.ud-banner):not(.ud-cta) > img.jarallax-img{
  filter: brightness(.40) saturate(.90);
}
section.jarallax:not(.ud-banner):not(.ud-cta) > .container{ position:relative; z-index:2; }
.image[data-bgimage]{ position:relative; }
.image[data-bgimage]::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,12,.30), rgba(10,10,12,.10) 45%, rgba(10,10,12,.45));
  pointer-events:none;
}
/* Hero standfirst sits over photography - give it its own weight */
section.jarallax .col-lg-4.offset-lg-4{
  font-size:1.02rem; color:rgba(255,255,255,.92);
  text-shadow:0 2px 18px rgba(0,0,0,.85);
}

/* ---------- cards --------------------------------------------------------- */
.ud-card{
  background:var(--ud-panel); border:1px solid var(--ud-line);
  border-radius:var(--ud-radius); overflow:hidden; color:inherit;
  display:flex; flex-direction:column; transition:border-color .3s, transform .3s;
}
.ud-card:hover{ border-color:var(--ud-accent); transform:translateY(-4px); }
.ud-card-img{ aspect-ratio:4/3; }
.ud-card-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.ud-card-body{ padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.ud-card-body p{ color:var(--ud-muted); flex:1; }
.ud-card h4{ color:var(--ud-ink); }
.ud-card-more{ color:var(--ud-accent); font-weight:600; margin-top:1rem; display:inline-block; }
.ud-card-more i{ transition:transform .3s; display:inline-block; }
.ud-card:hover .ud-card-more i{ transform:translateX(6px); }

/* ---------- side nav / boxes --------------------------------------------- */
.ud-sidenav .ud-sidelink{ color:var(--ud-ink); transition:background .3s,color .3s; }
.ud-sidenav .ud-sidelink:hover{ background:var(--ud-accent); color:#111; }
.ud-sidebox{
  background:var(--ud-panel); border:1px solid var(--ud-line);
  border-radius:var(--ud-radius); padding:1.75rem;
}
.ud-sidebox-accent{ border-color:var(--ud-accent); }
.ud-sidebox p{ color:var(--ud-muted); }
.ud-list-links{ list-style:none; padding:0; margin:0; }
.ud-list-links li+li{ margin-top:.75rem; padding-top:.75rem; border-top:1px solid var(--ud-line); }
.ud-list-links a{ color:var(--ud-muted); }
.ud-list-links a:hover{ color:var(--ud-accent); }

/* ---------- stats --------------------------------------------------------- */
.ud-stats{ padding-top:60px; padding-bottom:60px; }
.ud-stat h3{ line-height:1; }
.ud-stat p{ color:var(--ud-muted); }

/* ---------- steps / features / uses -------------------------------------- */
.ud-step, .ud-use{
  background:var(--ud-panel); border:1px solid var(--ud-line);
  border-radius:var(--ud-radius); padding:1.75rem;
}
.ud-step-num{
  font-size:2.5rem; line-height:1; font-weight:700;
  color:var(--ud-accent); opacity:.35; margin-bottom:.75rem;
}
.ud-step p, .ud-use p{ color:var(--ud-muted); }
.ud-feat p{ color:var(--ud-muted); }

/* ---------- pricing ------------------------------------------------------- */
.ud-price{
  background:var(--ud-panel); border:1px solid var(--ud-line);
  border-radius:var(--ud-radius); padding:2rem;
  display:flex; flex-direction:column;
}
.ud-price-featured{ border-color:var(--ud-accent); background:var(--ud-panel-2); }
.ud-price-tag{ display:flex; align-items:baseline; gap:.5rem; flex-wrap:wrap; }
.ud-price-unit{ color:var(--ud-muted); font-size:.9rem; }
.ud-price .ul-check{ flex:1; }
.ud-price .btn-line{ margin-top:auto; }

/* ---------- deliverables -------------------------------------------------- */
.ud-deliverables{
  background:var(--ud-panel); border-left:3px solid var(--ud-accent);
  padding:1.75rem 2rem; border-radius:var(--ud-radius);
}

/* ---------- gallery ------------------------------------------------------- */
.ud-gal{ aspect-ratio:4/3; border-radius:var(--ud-radius); }
.ud-gal img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ---------- quotes -------------------------------------------------------- */
.ud-quote{
  border-left:3px solid var(--ud-accent); padding:1.25rem 0 1.25rem 1.75rem;
  margin:2rem 0; font-size:1.15rem; line-height:1.6;
}
.ud-quote p{ margin-bottom:.5rem; }
.ud-quote cite{ color:var(--ud-accent); font-style:normal; font-size:.9rem; font-weight:600; }

/* ---------- project meta strip ------------------------------------------- */
.ud-meta-strip{ padding:2.5rem 0; }
.ud-meta-strip .subtitle{ font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }

/* ---------- article body -------------------------------------------------- */
.ud-article{ font-size:1.02rem; line-height:1.8; }
.ud-article p{ color:rgba(255,255,255,.78); margin-bottom:1.25rem; }
.ud-article h2{ color:var(--ud-ink); }
.ud-article h3{ color:var(--ud-accent); }
.ud-article strong{ color:var(--ud-ink); }
.ud-avatar{ width:56px; height:56px; border-radius:50%; object-fit:cover; flex:none; }
.ud-post-meta{ border-bottom:1px solid var(--ud-line); padding-bottom:1.25rem; }
.ud-tags{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.ud-tag{
  display:inline-block; padding:.35rem .9rem; border:1px solid var(--ud-line);
  border-radius:99px; font-size:.8rem; color:var(--ud-muted);
}
.ud-tag:hover{ border-color:var(--ud-accent); color:var(--ud-accent); }

/* ---------- accordion ----------------------------------------------------- */
.ud-acc .accordion-item{ border-radius:var(--ud-radius); overflow:hidden; }
.ud-acc .accordion-button{
  font-weight:600; font-size:1.02rem; box-shadow:none; padding:1.15rem 1.35rem;
}
.ud-acc .accordion-button:not(.collapsed){ color:var(--ud-accent); background:var(--ud-panel-2); }
.ud-acc .accordion-button:focus{ box-shadow:none; border-color:var(--ud-accent); }
.ud-acc .accordion-button::after{ filter:invert(1) grayscale(1) brightness(2); }
.ud-acc .accordion-body{ color:var(--ud-muted); padding:0 1.35rem 1.35rem; }

/* ---------- CTA ----------------------------------------------------------- */
.ud-cta{ position:relative; padding:110px 0; }
.ud-cta .lead{ color:var(--ud-muted); }
.ud-cta-actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ---------- contact ------------------------------------------------------- */
.ud-office{
  background:var(--ud-panel); border:1px solid var(--ud-line);
  border-radius:var(--ud-radius); padding:1.75rem; height:100%;
}
.ud-office h4{ margin-bottom:.25rem; }
.ud-office .ud-office-role{ color:var(--ud-accent); font-size:.8rem;
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:1rem; }
.ud-office address{ color:var(--ud-muted); font-style:normal; margin-bottom:1rem; }
.ud-map{ border:1px solid var(--ud-line); border-radius:var(--ud-radius); overflow:hidden; }
.ud-map iframe{ display:block; width:100%; height:420px; border:0; filter:grayscale(.35) contrast(.95) brightness(.92); }

/* ---------- legal pages --------------------------------------------------- */
.ud-legal{ font-size:1rem; line-height:1.8; }
.ud-legal h2{ margin-top:2.5rem; margin-bottom:1rem; font-size:1.6rem; }
.ud-legal p, .ud-legal li{ color:rgba(255,255,255,.76); }
.ud-legal ul{ padding-left:1.25rem; margin-bottom:1.25rem; }
.ud-legal li{ margin-bottom:.5rem; }

/* ---------- mobile quick bar --------------------------------------------- */
.ud-quickbar{
  position:fixed; left:0; right:0; bottom:0; z-index:900;
  display:flex; background:rgba(12,12,14,.96); backdrop-filter:blur(10px);
  border-top:1px solid var(--ud-line);
  padding-bottom:env(safe-area-inset-bottom);
}
.ud-quickbar a{
  flex:1; padding:.7rem .25rem; text-align:center; color:var(--ud-ink);
  font-size:.7rem; letter-spacing:.04em; text-transform:uppercase;
  display:flex; flex-direction:column; align-items:center; gap:.2rem;
}
.ud-quickbar a+a{ border-left:1px solid var(--ud-line); }
.ud-quickbar i{ font-size:1.15rem; color:var(--ud-accent); }
.ud-quickbar a:active{ background:rgba(255,255,255,.06); }

/* ---------- team credentials --------------------------------------------- */
.ud-team-cred{ color:rgba(255,255,255,.7); }

/* ---------- client wordmark marquee -------------------------------------- */
.de-marquee-list-2 img[src$=".svg"]{
  opacity:.85; width:190px !important; transition:opacity .3s;
}
.de-marquee-list-2 img[src$=".svg"]:hover{ opacity:1; }

/* Keep every card image in the template grids to one aspect so rows line up */
.ud-card-img img,
.hover > .relative.overflow-hidden > .wow.scaleIn > img,
img[src*="images.pexels.com"].hover-scale-1-2,
img[src*="images.pexels.com"].hover-scale-1-1{ object-fit:cover; }

/* ---------- forms --------------------------------------------------------- */
.ud-form label{ display:block; margin-bottom:.4rem; font-size:.85rem;
  text-transform:uppercase; letter-spacing:.05em; color:var(--ud-muted); }
.ud-form .form-control, .ud-form input[type=text], .ud-form input[type=email],
.ud-form input[type=tel], .ud-form select, .ud-form textarea{
  width:100%; background:var(--ud-panel); border:1px solid var(--ud-line);
  color:var(--ud-ink); padding:.85rem 1rem; border-radius:var(--ud-radius);
  margin-bottom:1.25rem; font-size:1rem;
}
.ud-form textarea{ min-height:150px; resize:vertical; }
.ud-form .form-control:focus{ border-color:var(--ud-accent); outline:none; }
.ud-form select option{ background:#17171a; color:#fff; }

/* =========================================================================
   Responsive
   ========================================================================= */

@media (max-width: 1199.98px){
  .fs-60{ font-size:3rem !important; }
  .fs-48{ font-size:2.5rem !important; }
}

@media (max-width: 991.98px){
  .ud-hero .ud-hero-img{ min-height:340px; margin-bottom:1.5rem; }
  .ud-hero .col-lg-5 .py-5{ padding-top:1rem !important; }
  .ud-banner{ padding-top:150px; padding-bottom:70px; }
  .ud-banner-veil{ background:linear-gradient(180deg, rgba(10,10,12,.72) 0%, rgba(10,10,12,.92) 100%); }
  .ud-sidenav{ margin-bottom:2.5rem; }
  .ud-cta{ padding:80px 0; }
  /* keep the template's absolute-positioned mega layouts from overflowing */
  .position-lg-absolute{ position:relative !important; }
  .right-half{ width:100% !important; }
}

@media (max-width: 767.98px){
  .fs-72{ font-size:2.6rem !important; }
  .fs-60{ font-size:2.25rem !important; }
  .fs-48{ font-size:2rem !important; }
  .fs-40{ font-size:1.75rem !important; }
  .fs-32{ font-size:1.45rem !important; }
  section{ padding-top:56px; padding-bottom:56px; }
  .spacer-double{ height:32px; }
  .ud-banner{ padding-top:130px; padding-bottom:56px; }
  .ud-price, .ud-step, .ud-use, .ud-sidebox, .ud-office{ padding:1.35rem; }
  .ud-deliverables{ padding:1.35rem; }
  .ud-quote{ padding-left:1.15rem; font-size:1.05rem; }
  .ud-article{ font-size:1rem; }
  .ud-cta-actions{ flex-direction:column; }
  .ud-cta-actions .btn-main, .ud-cta-actions .btn-line{ width:100%; text-align:center; }
  /* leave room for the fixed quick bar */
  body{ padding-bottom:62px; }
  footer .subfooter .de-flex{ flex-direction:column; gap:.75rem; text-align:center; }
  .ud-map iframe{ height:300px; }
  .ud-meta-strip{ padding:2rem 0; }
  table{ display:block; overflow-x:auto; white-space:nowrap; }
}

@media (max-width: 575.98px){
  .fs-60{ font-size:1.9rem !important; }
  .fs-72{ font-size:2.1rem !important; }
  .ud-crumb ol{ font-size:.7rem; }
  .ud-avatar{ width:46px; height:46px; }
  .w-200px{ width:150px !important; }
}

/* Respect reduced-motion without killing the design */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
  .wow{ visibility:visible !important; }
  *{ animation-delay:0ms !important; transition-delay:0ms !important; }
}

/* Print */
@media print{
  header,footer,.ud-quickbar,.float-text,.scrollbar-v,#de-loader,#extra-wrap{ display:none !important; }
  body{ background:#fff !important; color:#000 !important; padding-bottom:0; }
  .ud-article p,.ud-legal p{ color:#000 !important; }
}
