/* Davida Oil responsive/scalable enhancement - original colors retained */
html{scroll-behavior:smooth}body{overflow-x:hidden}img{max-width:100%;height:auto}.container{width:100%}
.site-nav-inner.site-navigation.navigation.navdown{background:#d4345c!important}#navbarSupportedContent{background:#006!important}
.site-navigation.navdown ul.navbar-nav>li>a,.site-navigation.navdown ul.navbar-nav>li.active>a,.site-navigation.navdown ul.navbar-nav>li:hover>a{color:#fff!important}
.header .logo-area{padding-top:12px;padding-bottom:12px}.header .logo img{max-height:76px;width:auto;object-fit:contain}
.top-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 18px}.top-info>li{margin:0!important}.info-wrapper{min-width:0}.info-subtitle{overflow-wrap:anywhere}
.site-navigation .navbar{min-height:58px;padding-top:0;padding-bottom:0}.site-navigation.navdown ul.navbar-nav>li>a{min-height:58px;display:flex;align-items:center;padding:0 20px!important;font-size:15px;letter-spacing:.25px}
.navbar-toggler{min-width:46px;min-height:44px;border:1px solid rgba(255,255,255,.55)!important}.navbar-toggler .icon-menu{color:#fff}
#main-slide{background:transparent!important}#main-slide .carousel-inner,#main-slide .carousel-item{min-height:clamp(430px,63vw,760px)}
#main-slide .carousel-item{background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important;position:relative}#main-slide .carousel-item::before{content:none!important;display:none!important}
#main-slide .slider-content{min-height:clamp(430px,63vw,760px)!important;padding:45px 0}#main-slide .slider-content .col-md-12{padding-left:20px;padding-right:20px}
#main-slide .slide-title{white-space:normal;line-height:1.25;height:auto}#main-slide .slide-sub-title{font-size:clamp(28px,5vw,60px);line-height:1.12;max-width:900px}
#main-slide .carousel-control{width:7%;min-width:46px}#main-slide .carousel-control i{width:44px;height:44px;line-height:44px}
.page-header{background-position:center!important;background-size:cover!important}.page-header-inner{background:rgba(0,0,0,.22)!important}
section{position:relative}.ts-feature-box,.service-item,.single-service,.post-body,.quote_form,.contact-info-box{height:100%}
.ts-feature-box,.service-item,.single-service{transition:transform .25s ease,box-shadow .25s ease}.ts-feature-box:hover,.service-item:hover,.single-service:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.row>[class*="col-"]{min-width:0}p,li,a,span{overflow-wrap:break-word}.form-control,input,select,textarea{max-width:100%}textarea.form-control{min-height:130px;resize:vertical}.btn{white-space:normal}
.gallery-img,.project-img,.service-img{overflow:hidden}.gallery-img img,.project-img img,.service-img img{width:100%;object-fit:cover}.footer{overflow:hidden}.footer .row>div{margin-bottom:24px}.footer img{max-width:100%}
@media(max-width:991.98px){.header .logo-area{text-align:center}.header .logo{margin-bottom:12px}.top-info{justify-content:center}.site-navigation .navbar{padding:7px 12px}#navbarSupportedContent{margin-top:7px;width:100%}.site-navigation.navdown ul.navbar-nav>li>a{min-height:46px;padding:0 16px!important;border-bottom:1px solid rgba(255,255,255,.12)}.site-navigation.navdown ul.navbar-nav>li:last-child>a{border-bottom:0}#main-slide .slider-content{text-align:center!important}}
@media(max-width:767.98px){.header .logo img{max-height:64px}.top-info{display:grid;grid-template-columns:1fr;width:100%}.top-info>li{width:100%;display:flex;justify-content:center}#davidaDropdown{left:50%!important;transform:translateX(-50%);max-width:calc(100vw - 30px)}#main-slide .carousel-inner,#main-slide .carousel-item,#main-slide .slider-content{min-height:470px!important}#main-slide .slide-title{font-size:18px!important;padding:12px 16px!important}#main-slide .slide-sub-title{font-size:32px}#main-slide .carousel-control{width:12%}.section-title,.column-title,h1{font-size:clamp(28px,8vw,40px)}.footer{text-align:center}}
@media(max-width:420px){#main-slide .carousel-inner,#main-slide .carousel-item,#main-slide .slider-content{min-height:430px!important}#main-slide .slide-sub-title{font-size:27px}.container{padding-left:16px;padding-right:16px}}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* =========================================================
   TYPOGRAPHY + VISUAL POLISH
   Keeps original Davida Oil content and brand colors intact.
   ========================================================= */
:root{
  --davida-heading-font:'Roboto',Arial,sans-serif;
  --davida-body-font:'Fira Sans','Roboto',Arial,sans-serif;
  --davida-radius:10px;
  --davida-shadow:0 10px 28px rgba(37,42,55,.08);
  --davida-shadow-hover:0 16px 38px rgba(37,42,55,.13);
}

body{
  font-family:var(--davida-body-font);
  font-size:15px;
  line-height:1.75;
  letter-spacing:.01em;
}
p{
  font-family:var(--davida-body-font);
  font-size:15px;
  line-height:1.8;
  margin-bottom:16px;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--davida-heading-font);
  letter-spacing:-.015em;
  line-height:1.22;
}
h1{font-size:clamp(36px,5vw,52px)}
h2{font-size:clamp(30px,4vw,40px)}
h3{font-size:clamp(21px,2.2vw,25px)}
h4{font-size:18px;line-height:1.45}
h5{font-size:15px;line-height:1.5}

/* Header information */
.info-title{
  font-family:var(--davida-heading-font);
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}
.info-subtitle{
  font-family:var(--davida-body-font);
  font-size:14px;
  line-height:1.45;
}

/* Navigation typography - original colors preserved */
.site-navigation.navdown ul.navbar-nav>li>a{
  font-family:var(--davida-heading-font);
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.055em;
  position:relative;
}
.site-navigation.navdown ul.navbar-nav>li>a::after{
  content:'';
  position:absolute;
  left:20px;
  right:20px;
  bottom:9px;
  height:2px;
  background:currentColor;
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .2s ease,transform .2s ease;
}
.site-navigation.navdown ul.navbar-nav>li.active>a::after,
.site-navigation.navdown ul.navbar-nav>li>a:hover::after{
  opacity:.75;
  transform:scaleX(1);
}

/* Slider text gets a cleaner editorial hierarchy without darkening images */
#main-slide .slide-title{
  font-family:var(--davida-heading-font);
  font-weight:600;
  letter-spacing:.035em;
  text-transform:uppercase;
  line-height:1.35;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
#main-slide .slide-sub-title{
  font-family:var(--davida-heading-font);
  font-weight:800;
  letter-spacing:-.025em;
  text-shadow:0 3px 14px rgba(0,0,0,.3);
}
#main-slide p,
#main-slide .slider-description{
  font-size:16px;
  line-height:1.7;
  text-shadow:0 2px 8px rgba(0,0,0,.28);
}

/* Section titles */
.section-title,
.column-title{
  font-family:var(--davida-heading-font);
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.02em;
  margin-bottom:28px;
}
.section-title span,
.column-title span{
  font-family:var(--davida-body-font);
  font-size:14px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.5;
  margin-bottom:8px;
}
.page-header .page-title,
.banner-title,
.page-title{
  font-family:var(--davida-heading-font);
  font-weight:800;
  letter-spacing:-.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.25);
}

/* Cards and service blocks - same original palette, better shape/depth */
.ts-feature-box,
.service-item,
.single-service,
.post-body,
.contact-info-box,
.quote_form{
  border-radius:var(--davida-radius);
}
.ts-feature-box,
.service-item,
.single-service{
  overflow:hidden;
  box-shadow:0 4px 16px rgba(37,42,55,.055);
}
.ts-feature-box:hover,
.service-item:hover,
.single-service:hover{
  box-shadow:var(--davida-shadow-hover);
}
.ts-feature-title,
.service-title,
.post-title,
.feature-title{
  font-family:var(--davida-heading-font);
  font-weight:700;
  line-height:1.35;
  letter-spacing:-.01em;
}
.ts-feature-info p,
.service-item p,
.single-service p{
  font-size:14.5px;
  line-height:1.75;
}

/* Images receive consistent modern geometry */
.service-img img,
.project-img img,
.gallery-img img,
.latest-post img,
.post-media img{
  transition:transform .45s ease;
}
.service-item:hover .service-img img,
.single-service:hover .service-img img,
.gallery-img:hover img,
.project-img:hover img{
  transform:scale(1.035);
}
.service-img,
.project-img,
.gallery-img,
.post-media{
  border-radius:var(--davida-radius);
}

/* Buttons - same original colors, refined typography and geometry */
.btn.btn-primary,.btn-dark,.btn-border,.btn-white{
  font-family:var(--davida-heading-font);
  font-size:13px;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
  padding:12px 24px;
  border-radius:7px;
  line-height:1.3;
  box-shadow:0 5px 14px rgba(37,42,55,.09);
  transition:transform .2s ease,box-shadow .2s ease,background-color .3s ease,border-color .3s ease,color .3s ease;
}
.btn.btn-primary:hover,.btn-dark:hover,.btn-border:hover,.btn-white:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(37,42,55,.14);
}

/* Forms */
.form-control{
  font-family:var(--davida-body-font);
  font-size:15px;
  line-height:1.45;
  border-radius:7px;
  padding:10px 15px;
  min-height:48px;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
textarea.form-control{padding-top:13px}
.form-control:focus{
  box-shadow:0 0 0 3px rgba(37,42,55,.06);
}
label{
  font-family:var(--davida-heading-font);
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
}

/* Lists and breadcrumbs */
.breadcrumb,
.breadcrumb a,
.breadcrumb li{
  font-family:var(--davida-body-font);
  font-size:14px;
  line-height:1.5;
}
ul li,ol li{line-height:1.7}

/* Footer typography */
.footer p,.footer li,.footer a{
  font-size:14px;
  line-height:1.7;
}
.footer-widget-title,
.footer .widget-title{
  font-family:var(--davida-heading-font);
  font-weight:700;
  letter-spacing:.01em;
}

/* Spacious but compact section rhythm */
section,
.ts-features,
.ts-service-area,
.ts-intro,
.ts-content,
.ts-contact{
  padding-top:clamp(48px,6vw,78px);
  padding-bottom:clamp(48px,6vw,78px);
}

@media(max-width:991.98px){
  .site-navigation.navdown ul.navbar-nav>li>a::after{left:16px;right:auto;width:34px;bottom:4px}
  .section-title,.column-title{margin-bottom:24px}
}
@media(max-width:767.98px){
  body,p{font-size:14.5px}
  p{line-height:1.72}
  .section-title span,.column-title span{font-size:12px;letter-spacing:.1em}
  .btn.btn-primary,.btn-dark,.btn-border,.btn-white{padding:11px 20px}
  #main-slide .slide-title{letter-spacing:.02em}
}
