/* AbBounce overrides */
.icon-box, .features-list li { line-height: 1.4; }
.icon-box .icon, .features-list .icon, .contact-block-one .icon, .brands-block-two .logo-box {
  display: flex; align-items: center; justify-content: center;
}
.icon-box .icon img, .features-list .icon img, .contact-block-one .icon img { display:block; height:auto; }
/* Ensure mobile spacing is consistent */
@media (max-width: 575.98px) { .icon-box, .features-list li { line-height: 1.5; } }
/* FAQ UI tweaks */
.faq-ui .accordion-box .accordion{
  border:2px dotted #ff8dc7; /* dotted like testimonial card */
  border-radius:12px;
  background:#fff;
  padding:12px 16px;
  margin-bottom:16px;
}
.faq-ui .accordion-box .acc-btn{
  position:relative;
  cursor:pointer;
  font-weight:700;
  color:#111;
  padding-right:56px;
  min-height:48px;
  display:flex; align-items:center;
}
/* Pink plus button at right */
.faq-ui .accordion-box .acc-btn:after{
  content:'+';
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:34px; height:34px; border-radius:10px;
  background:#ff5c8d; /* match theme pink from carts */
  color:#fff; font-size:20px; line-height:34px; text-align:center;
  box-shadow: inset 0 0 0 2px #ffd1e1; /* dotted-ish frame */
}
.faq-ui .accordion-box .acc-btn.active:after{ content:'\2212'; } /* minus sign */
.faq-ui .accordion-box .acc-content{ border-top:1px dashed #ffd1e1; margin-top:10px; padding-top:12px; }

/* Sidebar button color to match pink tile */
.faq-ui .sidebar .theme-btn.btn-one{ border-color:#ff5c8d; }
.faq-ui .sidebar .theme-btn.btn-one:hover{ background:#ff477e; border-color:#ff477e; }
/* Fix: remove unexpected white gap above header (desktop + mobile) */
html, body { margin: 0 !important; padding: 0 !important; }
.main-header { margin-top: 0 !important; }
.header-top { margin-top: 0 !important; }
/* Prevent margin-collapsing from first children creating a gap */
body > .main-header, body > header.main-header { padding-top: 0.01px; }
/* Ensure top bar paints full width with no gap */
.header-top { background: var(--theme-color); }
/* Preloader logo sizing and centering */
.handle-preloader .animation-preloader .txt-loading img.preloader-logo{
  display:block;
  margin:0 auto;
  max-height:80px;
  height:auto;
  width:auto;
}
/* Email modal (footer enquiry) */
.email-modal{ position:fixed; inset:0; z-index:2000; display:none; }
.email-modal.is-open{ display:block; }
.email-modal[hidden]{ display:none !important; }
.email-modal__backdrop{ position:fixed; inset:0; background:rgba(2,6,23,.55); }
.email-modal__panel{ position:relative; margin:10vh auto; width:min(92vw, 760px); background:#fff; color:#111; border-radius:14px; box-shadow:0 20px 50px rgba(2,6,23,.25); overflow:hidden; }
.email-modal__header{ display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border-bottom:1px solid rgba(0,0,0,.08); background:var(--theme-color); color:#fff; }
.email-modal__brand{ display:flex; align-items:center; gap:10px; }
.email-modal__logo{ height:48px; width:auto; }
.email-modal__close{ background:transparent; border:0; color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.email-modal__body{ padding:16px; }
.email-modal__grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.email-modal__full{ grid-column:1 / -1; }
.email-modal .label{ display:block; font-weight:700; margin:0 0 6px; }
.email-modal .input{ width:100%; border:1px solid #e5e7eb; border-radius:10px; background:#fff; color:#111; padding:10px 12px; }
.email-modal textarea.input{ resize:vertical; }
.email-modal__footer{ display:flex; gap:10px; justify-content:flex-end; padding:12px 16px; border-top:1px solid rgba(0,0,0,.08); }
@media (max-width: 640px){ .email-modal__grid{ grid-template-columns:1fr; } }
/* Mobile header alignment overrides */
@media (max-width: 767px){
  .main-header .header-lower .outer-box{ position:relative; }
  .main-header .logo-box{ margin:0 auto; text-align:center; }
  .main-header .logo-box a, .main-header .logo-box img{ display:inline-block; }
  .menu-area .mobile-nav-toggler{ display:block !important; position:absolute; right:12px; top:50%; transform:translateY(-50%); z-index:6; }
}
@media (max-width: 767px){ .main-header .menu-right-content{ display:none !important; } }
/* Email modal: responsive + iOS safe-area */
.email-modal{ 
  /* sit above scroll-to-top and other UI */
  z-index: 200000; 
  display:flex; align-items:flex-start; justify-content:center;
  /* iOS safe areas */
  padding: constant(safe-area-inset-top) constant(safe-area-inset-right) constant(safe-area-inset-bottom) constant(safe-area-inset-left);
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  overflow:auto; /* allow page to scroll if panel is taller than viewport */
}
.email-modal__panel{
  margin:12px auto;
  width:min(96vw, 720px);
  /* fallback first, then modern dvh with safe areas */
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  display:flex; flex-direction:column;
  overscroll-behavior: contain;
}
.email-modal__body{ flex:1 1 auto; overflow:auto; -webkit-overflow-scrolling: touch; }
/* ensure grid collapses sooner on narrow phones */
@media (max-width: 768px){ .email-modal__grid{ grid-template-columns:1fr; } }
@media (max-width: 480px){
  .email-modal__panel{ width: 96vw; border-radius:12px; }
  .email-modal__header{ padding:12px 14px; }
  .email-modal__logo{ height:40px; }
}
/* keep scroll-to-top underneath modal */
.scroll-to-top{ z-index: 1000 !important; }
/* ensure flex container when open */
.email-modal.is-open{ display:flex !important; }
