/* =========================================
   BOXZILLA - CLEAN STYLING + SAFE CENTERING
   ========================================= */

/* Overlay (dark background) */
.boxzilla-overlay {
  background: rgba(0,0,0,.55) !important;
}

/* When popup is closed, force overlay to disappear */
.boxzilla-overlay.is-hidden,
.boxzilla-overlay[style*="display: none"],
.boxzilla-overlay[style*="visibility: hidden"] {
  display: none !important;
}

/* Extra safety: if Boxzilla is not open, do not show overlay */
body:not(.boxzilla-open) .boxzilla-overlay {
  display: none !important;
}

/* Popup box (white card) */
.boxzilla-box,
.boxzilla {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 38px 42px !important;
  width: calc(100% - 32px) !important;
  max-width: 620px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.25) !important;

  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;

  margin: 0 !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 999999 !important;
}

/* Typography */
.boxzilla-box .vz-title,
.boxzilla .vz-title {
  font-size: 22px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}

.boxzilla-box .vz-copy,
.boxzilla .vz-copy {
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 18px !important;
}

.boxzilla-box .vz-note,
.boxzilla .vz-note {
  font-size: 12px !important;
  opacity: .7 !important;
  margin-top: 12px !important;
}

/* Form fields */
.boxzilla-box input[type="email"],
.boxzilla input[type="email"] {
  width: 100% !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  border-radius: 10px !important;
  border: 1px solid #d6d6d6 !important;
  margin: 0 0 14px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.boxzilla-box input[type="submit"],
.boxzilla input[type="submit"] {
  width: 100% !important;
  padding: 14px !important;
  border-radius: 10px !important;
  border: 1px solid #111 !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 15px !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
}

.boxzilla-box input[type="submit"]:hover,
.boxzilla input[type="submit"]:hover {
  opacity: .92 !important;
}

/* Close icon */
.boxzilla-close-icon {
  font-size: 26px !important;
}

/* =========================================
   HERO HOURS LINE
   ========================================= */

.wp-block-cover { position: relative; }

.hero-hoursline{
  position: absolute;
  left: 26px;
  bottom: 22px;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
  text-shadow: 0 1px 12px rgba(0,0,0,.55);
}

.hero-hoursline__main{ font-weight: 800; }

.hero-hoursline__sub{
  font-weight: 500;
  letter-spacing: 1.2px;
  opacity: .95;
}

.hero-hoursline__plus{
  width: 18px;
  height: 18px;
  line-height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.75);
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-weight: 900;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-1px);
}

.hero-hoursline__plus:hover{ border-color: #fff; }

/* =========================================
   FULL SCREEN HOURS MODAL
   ========================================= */

.volare-hoursmodal{
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
}

.volare-hoursmodal.is-open{ display:block; }

.volare-hoursmodal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.92);
}

.volare-hoursmodal__panel{
  position: relative;
  color: #fff;
  padding: 140px 60px 60px 120px;
  max-width: 1100px;
}

.volare-hoursmodal__title{
  margin: 0 0 30px 0;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.volare-hoursmodal__content p{
  margin: 0 0 16px 0;
  font-size: 12px;
  letter-spacing: .6px;
  line-height: 1.7;
  text-transform: uppercase;
}

.volare-hoursmodal__note{
  margin-top: 26px !important;
  opacity: .9;
}

.volare-hoursmodal__close{
  position: absolute;
  right: 40px;
  top: 40px;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 34px;
  cursor: pointer;
  opacity: .9;
}

.volare-hoursmodal__close:hover{ opacity: 1; }

/* Mobile */
@media (max-width: 768px){
  .hero-hoursline{
    left: 16px;
    bottom: 16px;
    font-size: 11px;
    letter-spacing: 1.5px;
  }

  .volare-hoursmodal__panel{
    padding: 110px 22px 40px 22px;
  }
}

/* =========================================
   POPUP MAKER FULL SCREEN MENU
   (scoped so it doesn't affect other popups)
   ========================================= */

/* Make Popup Maker sit above everything */
.pum-overlay,
.pum-container{
  z-index: 999999 !important;
}

/* Your full-screen menu wrapper */
.pum .menu-inner{
  max-width: none;
  width: 100%;
  padding-left: 120px;
  padding-right: 0;
}

@media (max-width: 768px){
  .pum .menu-inner{
    padding-left: 22px;
    padding-right: 22px;
  }
}

/* Remove Popup Maker default box styling (safe scope) */
.pum .pum-container,
.pum .pum-content{
  padding: 0 !important;
}

.pum .pum-container{
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Links: white + no underline (base) */
.pum .pum-content a{
  color: #fff !important;
  text-decoration: none !important;
}

/* OPTIONAL: hover underline animation
   If you want ZERO underline ever, delete this whole block.
*/
.pum .pum-content a{
  position: relative;
}

.pum .pum-content a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: #fff;
  transition: width .3s ease;
}

.pum .pum-content a:hover::after{
  width: 100%;
}

/* ===== Popup Maker: Smooth open + menu item animation ===== */

/* popup container animation polish */
.pum-container.pum-responsive,
.pum-container{
  animation: pumSoftIn .35s ease-out both;
}

@keyframes pumSoftIn{
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Animate headings/links */
.pum .pum-content h1,
.pum .pum-content h2,
.pum .pum-content h3,
.pum .pum-content h4,
.pum .pum-content h5,
.pum .pum-content h6,
.pum .pum-content a{
  opacity: 0;
  transform: translateY(10px);
  animation: pumItemIn .45s ease-out both;
}

/* Stagger */
.pum .pum-content > *:nth-child(1) { animation-delay: .05s; }
.pum .pum-content > *:nth-child(2) { animation-delay: .10s; }
.pum .pum-content > *:nth-child(3) { animation-delay: .15s; }
.pum .pum-content > *:nth-child(4) { animation-delay: .20s; }
.pum .pum-content > *:nth-child(5) { animation-delay: .25s; }
.pum .pum-content > *:nth-child(6) { animation-delay: .30s; }
.pum .pum-content > *:nth-child(7) { animation-delay: .35s; }

@keyframes pumItemIn{
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
