/* Mobile Overrides: rich, theme-colored effects (≤ 767px focus) */

/* Theme color variables (try to read from existing ones; fallback provided) */
:root{
  --ow-accent: #ff4b0c;
  --ow-accent-2: #ffb58a;
  --ow-dark: #0f0f0f;
  --ow-muted: #bdbdbd;
}

@media (max-width: 767px){
  /* Header micro utility bar: gleam hover and pulse focus for icons */
  .micro-utility-bar .mu-link, .micro-utility-bar .mu-pill{
    position:relative;
    isolation:isolate;
  }
  .micro-utility-bar .mu-link::after, .micro-utility-bar .mu-pill::after{
    content:""; position:absolute; inset:-2px; border-radius:14px; z-index:-1;
    background: radial-gradient(60% 60% at 50% 50%, rgba(255,106,0,.18), transparent 70%);
    opacity:0; transform: scale(.8); transition: opacity .28s, transform .28s;
  }
  .micro-utility-bar .mu-link:active::after, .micro-utility-bar .mu-link:focus-visible::after,
  .micro-utility-bar .mu-pill:active::after, .micro-utility-bar .mu-pill:focus-visible::after{
    opacity:1; transform: scale(1);
  }

  /* Mobile menu toggler + search icon shimmer */
  .main-menu-box a.mobile-nav__toggler, .main-menu-box a.mobile-only-search{
    position:relative; overflow:hidden; border-radius:10px; padding:6px 10px;
  }
  .main-menu-box a.mobile-nav__toggler::before, .main-menu-box a.mobile-only-search::before{
    content:""; position:absolute; left:-30%; top:0; width:30%; height:100%;
    background:linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,0));
    transform:skewX(-20deg); transition: transform .5s ease, opacity .4s; opacity:.0;
  }
  .main-menu-box a.mobile-nav__toggler:active::before,
  .main-menu-box a.mobile-only-search:active::before{
    transform:translateX(360%) skewX(-20deg); opacity:1;
  }

  /* Footer widgets: lavish underline + glow on links */
  .footer-widget-links ul li a{
    position:relative; text-decoration:none;
  }
  .footer-widget-links ul li a::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px;
    background:linear-gradient(90deg, var(--ow-accent), var(--ow-accent-2));
    transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.2,.9,.2,1), box-shadow .35s;
  }
  .footer-widget-links ul li a:active::after, .footer-widget-links ul li a:focus-visible::after{
    transform:scaleX(1); box-shadow:0 6px 18px rgba(255,106,0,.28);
  }

  /* Cookie banner buttons: tap ripple effect */
  #ow-cookie .btn{
    position:relative; overflow:hidden;
  }
  #ow-cookie .btn::after{
    content:""; position:absolute; width:12px; height:12px; left:var(--x,50%); top:var(--y,50%);
    transform:translate(-50%,-50%) scale(0); border-radius:999px;
    background:rgba(255,255,255,.35); transition: transform .6s ease, opacity .6s ease; opacity:0;
  }
  #ow-cookie .btn:active::after{
    transform:translate(-50%,-50%) scale(18); opacity:1;
  }

  /* Promo popup CTA: subtle floating pulse */
  .fire-promo-btn{
    animation: owPulse 4.8s ease-in-out infinite;
  }
  @keyframes owPulse { 0%,100%{ transform:translateY(0) scale(1); } 50%{ transform:translateY(-2px) scale(1.02); } }

  /* Force top nav to a single row: [hamburger] [logo] [search] */
  .main-header-style2__bottom-inner{ display:flex; align-items:center; gap:12px; flex-wrap:nowrap; }
  .main-header-style2__bottom-left{ display:flex; align-items:center; gap:10px; flex:1 1 auto; min-width:0; }
  .main-header-style2__bottom-right{ display:flex; align-items:center; gap:8px; }
  /* Constrain logo width and prevent wrapping caused by fixed width */
  .logo-box-style1{ width:auto !important; max-width:55vw !important; flex:1 1 auto; min-width:0; }
  .logo-box-style1 a{ display:block; }
  .logo-box-style1 img{ max-width:100%; height:auto; display:block; }
  /* Keep menu button + search icon inline; push search icon to the far right of left block */
  .main-menu-box{ display:flex; align-items:center; gap:10px; }
  .box-search-style2{ display:inline-flex !important; align-items:center; margin-left:auto; }
  .box-search-style2 .search-toggler{ display:inline-flex; align-items:center; justify-content:center; }
  /* Ensure the small search icon we added is visible when present */
  .main-menu-box .mobile-only-search{ display:inline-flex !important; }

  /* Color the hamburger (left) and search (right) icons to theme orange */
  .ow-mobile-bar .mobile-nav__toggler,
  .ow-mobile-bar .mobile-nav__toggler i,
  .ow-mobile-bar .search-toggler,
  .ow-mobile-bar .search-toggler .icon-search,
  .ow-mobile-bar .search-toggler i,
  .ow-mobile-bar .search-toggler svg,
  .ow-mobile-bar .mobile-only-search,
  .ow-mobile-bar .mobile-only-search .icon-search{
  color: #ff4b0c !important;
  fill:  #ff4b0c !important;
  stroke:#ff4b0c !important;
  }
}

/* Auto-scroll hint for horizontal carousels on touch */
@media (pointer: coarse) and (max-width: 991px){
  .owl-stage-outer, .bc-track{
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }
  .owl-stage-outer::after, .bc-track::after{
    content:" swipe → "; position:absolute; right:8px; bottom:8px; font-size:12px; color:#fff;
    background:rgba(0,0,0,.35); padding:3px 8px; border-radius:999px; pointer-events:none;
  }
}

/* Cookie banner: make all 3 buttons full width on mobile */
@media (max-width: 900px){
  /* Make the cookie container span near-full viewport width with small gutters */
  #ow-cookie .owc-wrap{ max-width:none !important; padding-left:10px !important; padding-right:10px !important; }
  #ow-cookie .owc-btns{ width:100%; display:flex !important; flex-direction:column !important; gap:10px; }
  #ow-cookie .owc-btns .btn{ width:100% !important; min-width:0; }
}

/* Footer: two modules per row on small screens */
@media (max-width: 767px){
  .footer-single-line{ display:flex !important; flex-wrap:wrap !important; }
  .footer-single-line > .single-widget{ flex:0 0 50% !important; max-width:50% !important; }
  .footer-single-line > [class*="col-"]{ flex:0 0 50% !important; max-width:50% !important; }
  .footer-style1 .single-footer-widget{ margin-bottom:16px; }
  .footer-single-line > .single-widget > .single-footer-widget,
  .footer-single-line > [class*="col-"] > .single-footer-widget{ width:100% !important; box-sizing:border-box !important; }

  /* Newsletter: center the Subscribe button */
  .footer-single-line > .single-widget:nth-child(4) .newsletter-btn,
  .single-footer-widget .email .newsletter-box .newsletter-btn{ margin-left:auto !important; margin-right:auto !important; display:inline-flex; }
}

/* Mobile-only centered social block moved out of Newsletter */
@media (max-width: 767px){
  .footer-social-mobile-center{ display:flex; justify-content:center; padding:8px 0 16px; }
  .footer-social-mobile-center .footer-social-links-style1 ul{ justify-content:center; }
}

/* Strong override: make 3rd (Get in Touch) and 4th (Newsletter) full width on mobile */
@media (max-width: 767px){
  .footer-style1 .footer-single-line > .single-widget:nth-child(3),
  .footer-style1 .footer-single-line > [class*="col-"]:nth-child(3),
  .footer-style1 .footer-single-line > .single-widget:nth-child(4),
  .footer-style1 .footer-single-line > [class*="col-"]:nth-child(4){
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Center the two modules and all inner elements relative to the screen */
  .footer-style1 .footer-single-line > .single-widget:nth-child(3),
  .footer-style1 .footer-single-line > .single-widget:nth-child(4){
    display:flex; width:100%;
  }
  .footer-style1 .footer-single-line > .single-widget:nth-child(3) .single-footer-widget,
  .footer-style1 .footer-single-line > .single-widget:nth-child(4) .single-footer-widget{
    margin-left:auto; margin-right:auto; text-align:center; width:100%;
  }
  /* Get in Touch text lines */
  .footer-style1 .footer-single-line > .single-widget:nth-child(3) .footer-widget-contact-info,
  .footer-style1 .footer-single-line > .single-widget:nth-child(3) .footer-widget-contact-info .contact-line,
  .footer-style1 .footer-single-line > .single-widget:nth-child(3) .footer-widget-contact-info .contact-address{
    text-align:center; margin-left:auto; margin-right:auto;
  }
  .footer-style1 .footer-single-line > .single-widget:nth-child(3) .footer-widget-contact-info a{ display:inline-block; margin-left:auto; margin-right:auto; }

  /* Newsletter Subscription: center input and button */
  .footer-style1 .footer-single-line > .single-widget:nth-child(4) .newsletter-box{
    display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%;
  }
  .footer-style1 .footer-single-line > .single-widget:nth-child(4) .newsletter-box input[type="email"]{
    width: min(92vw, 520px) !important; max-width: 520px !important; margin: 0 auto 10px !important; display:block;
  }
  .footer-style1 .footer-single-line > .single-widget:nth-child(4) .newsletter-btn{
    margin-left:auto !important; margin-right:auto !important;
  }

  /* Highest-specificity fallback using IDs to center input and button */
#newsletterBox{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  align-content: center !important;
}
  #newsletterEmail{ display:block !important; width:min(92vw, 520px) !important; max-width:520px !important; margin:0 auto 10px !important; }
  #newsletterSubmit.newsletter-btn{ display:inline-flex !important; margin:0 auto !important; }
}

/* Mobile: center titles and menu links inside the first two footer widgets */
@media (max-width: 767px){
  .footer-style1 .footer-single-line > .single-widget:nth-child(1) .single-footer-widget,
  .footer-style1 .footer-single-line > .single-widget:nth-child(2) .single-footer-widget{ text-align:center !important; }
  .footer-style1 .footer-single-line > .single-widget:nth-child(1) .single-footer-widget .title h3,
  .footer-style1 .footer-single-line > .single-widget:nth-child(2) .single-footer-widget .title h3{ margin-left:auto !important; margin-right:auto !important; }
  .footer-style1 .footer-single-line > .single-widget:nth-child(1) .footer-widget-links ul,
  .footer-style1 .footer-single-line > .single-widget:nth-child(2) .footer-widget-links ul{ display:flex !important; flex-direction:column !important; align-items:center !important; }
}
