/* bedford-glass.co.uk - pure HTML/CSS replacements for the removed Astra / Elementor / WPForms JavaScript */

/* ---------- mobile menu: <details>/<summary> instead of Astra's JS toggle (Astra break point 1100px) */
.bg-mnav{display:none}
@media (max-width:1100px){
  .main-header-bar{position:relative}
  .main-header-bar .ast-main-header-bar-alignment{display:none!important}
  .main-header-container{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between}
  .bg-mnav{display:block;margin-left:auto}
  .bg-mnav>summary{list-style:none;cursor:pointer;padding:12px 6px;color:#3d3d3d;line-height:0;border-radius:5px}
  .bg-mnav>summary::-webkit-details-marker{display:none}
  .bg-mnav>summary:focus-visible{outline:thin dotted currentColor}
  .bg-burger,.bg-burger::before,.bg-burger::after{display:block;width:22px;height:2px;background:currentColor;border-radius:1px;transition:transform .2s ease,background-color .2s ease}
  .bg-burger{position:relative;margin:7px 0}
  .bg-burger::before,.bg-burger::after{content:"";position:absolute;left:0}
  .bg-burger::before{top:-7px}
  .bg-burger::after{top:7px}
  .bg-mnav[open] .bg-burger{background-color:transparent}
  .bg-mnav[open] .bg-burger::before{transform:translateY(7px) rotate(45deg)}
  .bg-mnav[open] .bg-burger::after{transform:translateY(-7px) rotate(-45deg)}
  .bg-mnav>nav{position:absolute;left:0;right:0;top:100%;z-index:999;background:#fff;border-top:1px solid #eaeaea;box-shadow:0 10px 18px rgba(0,0,0,.08)}
  .bg-mnav ul{list-style:none;margin:0;padding:0}
  .bg-mnav li a{display:block;padding:13px 20px;border-bottom:1px solid #eaeaea;color:#333;font-size:15px;line-height:1.4;text-decoration:none}
  .bg-mnav li a:hover,.bg-mnav li a:focus{color:#848e9a}
}

/* ---------- image carousel: CSS autoplay instead of Swiper (3 / 2 / 1 slides, 2s pause + .5s slide, loops) */
.elementor-widget-image-carousel .elementor-image-carousel-wrapper{overflow:hidden;--bg-step:33.3333%}
.elementor-widget-image-carousel .swiper-wrapper{display:flex;animation:bg-carousel 25s infinite}
.elementor-widget-image-carousel .elementor-image-carousel-wrapper .swiper-slide{flex:0 0 var(--bg-step);width:var(--bg-step);max-width:var(--bg-step);text-align:center}
.elementor-widget-image-carousel .swiper-slide-image{display:inline-block}
.elementor-widget-image-carousel .swiper-pagination{display:none}
.elementor-widget-image-carousel .elementor-image-carousel-wrapper:hover .swiper-wrapper{animation-play-state:paused}
@media (max-width:1024px){.elementor-widget-image-carousel .elementor-image-carousel-wrapper{--bg-step:50%}}
@media (max-width:767px){.elementor-widget-image-carousel .elementor-image-carousel-wrapper{--bg-step:100%}}
@media (prefers-reduced-motion:reduce){
  .elementor-widget-image-carousel .swiper-wrapper{animation:none}
  .elementor-widget-image-carousel .elementor-image-carousel-wrapper{overflow-x:auto;scroll-snap-type:x mandatory}
  .elementor-widget-image-carousel .swiper-slide{scroll-snap-align:start}
  .elementor-widget-image-carousel .swiper-slide.bg-clone{display:none}
}
@keyframes bg-carousel{0.000%,8.000%{transform:translateX(calc(var(--bg-step) * -0))}10.000%,18.000%{transform:translateX(calc(var(--bg-step) * -1))}20.000%,28.000%{transform:translateX(calc(var(--bg-step) * -2))}30.000%,38.000%{transform:translateX(calc(var(--bg-step) * -3))}40.000%,48.000%{transform:translateX(calc(var(--bg-step) * -4))}50.000%,58.000%{transform:translateX(calc(var(--bg-step) * -5))}60.000%,68.000%{transform:translateX(calc(var(--bg-step) * -6))}70.000%,78.000%{transform:translateX(calc(var(--bg-step) * -7))}80.000%,88.000%{transform:translateX(calc(var(--bg-step) * -8))}90.000%,98.000%{transform:translateX(calc(var(--bg-step) * -9))}100%{transform:translateX(calc(var(--bg-step) * -10))}}

/* ---------- "Book a Free Consultation": call-to-action instead of the WPForms form (no backend on a static site) */
.bg-contact{font-size:15px;line-height:1.6;color:#4b4f58}
.bg-contact p{margin:0 0 14px}
.bg-contact .bg-call{display:inline-block;padding:13px 26px;border-radius:4px;background:#0170b9;color:#fff;font-weight:700;font-size:16px;letter-spacing:.3px;text-decoration:none}
.bg-contact .bg-call:hover,.bg-contact .bg-call:focus{background:#00397e;color:#fff}
.bg-contact .bg-contact-hours{font-size:14px;color:#6b6f78}

/* ---------- static map instead of the Google Maps iframe */
.bg-map{display:block;position:relative;line-height:0;text-decoration:none}
.bg-map img{display:block;width:100%;height:auto;border:0}
.bg-map span{position:absolute;left:10px;top:10px;line-height:1.3;padding:7px 12px;border-radius:3px;background:#fff;color:#1a73e8;font-size:13px;font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.bg-map:hover span,.bg-map:focus span{text-decoration:underline}
