/* Elbetal v9 polish: wow, but not wild. This file intentionally only changes presentation. */
:root{
  --ef-navy:#071b49;
  --ef-blue:#0f7fc0;
  --ef-green:#78bd22;
  --ef-cyan:#1598d3;
  --ef-pink:#e33072;
  --ef-orange:#f58220;
  --ef-soft:#f6f9fd;
  --ef-line:rgba(7,27,73,.12);
  --ef-shadow:0 24px 70px rgba(7,27,73,.10);
}

/* Remove the generated glass boxes from every old section. They made normal content look broken. */
.section:before,
.section:after{display:none!important;content:none!important;}
.section:nth-of-type(even):not(.swiper-container):not(.swiper-slider-1),
.section:nth-of-type(odd):not(.swiper-container):not(.swiper-slider-1),
.section:nth-of-type(4n+3):not(.swiper-container):not(.swiper-slider-1){
  clip-path:none!important;
  background:#fff!important;
}
.section-xl,.section-lg,.section-md{padding-top:82px!important;padding-bottom:82px!important;}

/* Clean background language inspired by the business card, but calmer and premium. */
body{
  background:
    radial-gradient(circle at 92% 8%, rgba(21,152,211,.10), transparent 30vw),
    radial-gradient(circle at 8% 18%, rgba(120,189,34,.09), transparent 34vw),
    linear-gradient(180deg,#ffffff 0%,#f7fafc 100%)!important;
}

/* Header/menu should feel crisp, not like a demo overlay. */
.ef-topline{background:linear-gradient(90deg,var(--ef-navy),#0b3478)!important;}
.ef-nav-wrap{box-shadow:0 18px 50px rgba(7,27,73,.10)!important;border-bottom:1px solid rgba(7,27,73,.08)!important;}
.ef-menu-link{border-radius:10px!important;}
.ef-mega,.ef-dropdown{border-radius:18px!important;box-shadow:0 24px 70px rgba(7,27,73,.16)!important;}

/* Hero: keep the big wow, but without the messy floating section cards below. */
.swiper-slider-1{box-shadow:0 18px 60px rgba(7,27,73,.14)!important;}
.swiper-slide-caption h1{letter-spacing:.02em!important;text-shadow:0 10px 32px rgba(0,0,0,.28)!important;}
.swiper-slide-caption h4,.swiper-slide-caption h6{text-shadow:0 8px 24px rgba(0,0,0,.28)!important;}

/* The ugly opening-hours block becomes a premium info card. Text is unchanged. */
.ef-hours-section{
  overflow:hidden;
  padding-top:54px!important;
  padding-bottom:54px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.95),rgba(246,250,253,.98))!important;
}
.ef-hours-section .container{max-width:980px;}
.ef-hours-card{
  position:relative;
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  align-items:center;
  gap:28px;
  min-height:170px;
  padding:32px 42px;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.9);
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,250,253,.88)),
    radial-gradient(circle at 95% 20%,rgba(120,189,34,.16),transparent 260px),
    radial-gradient(circle at 10% 90%,rgba(21,152,211,.14),transparent 260px);
  box-shadow:var(--ef-shadow);
}
.ef-hours-card:before{
  content:"";
  position:absolute;
  left:-8%;right:-8%;bottom:-34px;height:92px;
  background:linear-gradient(90deg,var(--ef-cyan),var(--ef-green),#f4c217,var(--ef-orange),var(--ef-pink));
  opacity:.20;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  pointer-events:none;
}
.ef-hours-card:after{
  content:"";
  position:absolute;
  top:24px;right:34px;width:10px;height:10px;border-radius:3px;
  background:var(--ef-green);
  box-shadow:18px 12px 0 rgba(21,152,211,.65),36px -2px 0 rgba(245,130,32,.62),54px 18px 0 rgba(227,48,114,.45),72px 4px 0 rgba(244,194,23,.55);
  opacity:.55;
}
.ef-hours-icon{
  position:relative;
  width:78px;height:78px;
  border-radius:22px;
  border:1px solid rgba(15,127,192,.22);
  background:linear-gradient(135deg,#fff,rgba(21,152,211,.08));
  box-shadow:0 16px 36px rgba(7,27,73,.10);
}
.ef-hours-icon:before,
.ef-hours-icon:after,
.ef-hours-icon span:before,
.ef-hours-icon span:after{content:"";position:absolute;display:block;}
.ef-hours-icon:before{inset:18px;border:4px solid var(--ef-blue);border-radius:50%;}
.ef-hours-icon:after{left:37px;top:23px;width:4px;height:19px;background:var(--ef-blue);border-radius:4px;transform-origin:bottom center;}
.ef-hours-icon span:before{left:38px;top:38px;width:18px;height:4px;background:var(--ef-green);border-radius:4px;}
.ef-hours-icon span:after{left:24px;right:24px;top:-7px;height:14px;border-radius:0 0 9px 9px;background:var(--ef-green);}
.ef-hours-content{position:relative;z-index:2;text-align:left!important;}
.ef-hours-content h3{
  margin:0 0 8px!important;
  color:var(--ef-navy)!important;
  font-size:clamp(28px,4vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}
.ef-hours-content p{
  margin:3px 0!important;
  color:#2f3b52!important;
  font-size:18px!important;
  line-height:1.45!important;
}
.ef-hours-content p.italic{color:var(--ef-green)!important;font-style:normal!important;font-weight:800!important;}
.ef-hours-content h5{
  margin:12px 0 0!important;
  color:var(--ef-navy)!important;
  font-size:18px!important;
  letter-spacing:0!important;
}
.ef-hours-content a{color:var(--ef-blue)!important;text-decoration:none!important;font-weight:800!important;}

/* Modern cards without toy-like exaggeration. */
.box-icon-modern,.services-creative,.thumbnail-classic,.project-modern,.rd-form,.post-classic,.team-classic{
  border-radius:22px!important;
  border:1px solid rgba(7,27,73,.09)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 18px 46px rgba(7,27,73,.08)!important;
  overflow:hidden;
}
.box-icon-modern:hover,.services-creative:hover,.thumbnail-classic:hover,.project-modern:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 28px 70px rgba(7,27,73,.13)!important;
}

/* Buttons: professional, not round and not huge. */
.button,.btn,button,input[type="submit"]{
  border-radius:10px!important;
  padding:12px 22px!important;
  font-size:14px!important;
  letter-spacing:.02em!important;
  box-shadow:0 12px 28px rgba(7,27,73,.12)!important;
}
.button-lg{padding:13px 24px!important;font-size:14px!important;}

/* Forms and newsletter should not look like loose inputs. */
.form-input,.form-control,input,textarea,select{border-radius:12px!important;border:1px solid rgba(7,27,73,.16)!important;}

@media (max-width:767px){
  .section-xl,.section-lg,.section-md{padding-top:54px!important;padding-bottom:54px!important;}
  .ef-hours-card{grid-template-columns:1fr;padding:28px 22px 34px;border-radius:22px;text-align:left;}
  .ef-hours-icon{width:66px;height:66px;}
  .ef-hours-card:after{right:24px;top:20px;transform:scale(.82);transform-origin:top right;}
  .ef-hours-content p{font-size:16px!important;}
  .ef-hours-content h5{font-size:16px!important;}
}
