/* Clone-only additions on top of the captured WordPress CSS. */

/* Astra's JS-driven sticky duplicate header: not needed, the main header is sticky in CSS. */
#ast-fixed-header { display: none !important; }
#masthead { position: sticky; top: 0; z-index: 99; }

/* Off-canvas drawer states Astra normally sets from JS. */
.ast-mobile-popup-drawer { visibility: hidden; }
.ast-mobile-popup-drawer.active { visibility: visible; opacity: 1; }
.ast-mobile-popup-drawer.active .ast-mobile-popup-inner { transform: translateX(0); }
body.ast-popup-nav-open { overflow: hidden; }

/* Desktop dropdown on hover/focus. */
.ast-desktop .main-header-menu .menu-item:hover > .sub-menu,
.ast-desktop .main-header-menu .menu-item:focus-within > .sub-menu { visibility: visible; opacity: 1; left: 0; right: auto; }

/* WhatsApp floating button (replaces the Joinchat plugin). */
.qe-whatsapp {
  position: fixed; right: 20px; bottom: 20px; z-index: 9998;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25d366; display: grid; place-items: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}
.qe-whatsapp:hover { background: #1ebe5b; }

/* Cookie banner. */
.qe-consent {
  position: fixed; left: 16px; bottom: 16px; z-index: 9999;
  max-width: 420px; padding: 18px 20px; border-radius: 12px;
  background: #fff; color: #121305; box-shadow: 0 8px 30px rgba(0, 0, 0, .2);
  font-size: 15px; line-height: 1.5;
}
.qe-consent[hidden] { display: none; }
.qe-consent p { margin: 0 0 12px; }
.qe-consent a { color: #1d7fa3; text-decoration: underline; }
.qe-consent__actions { display: flex; gap: 10px; justify-content: flex-end; }
.qe-consent__btn {
  border: 1px solid #249fcb; background: #249fcb; color: #fff;
  padding: 9px 18px; border-radius: 8px; cursor: pointer; font: inherit; font-weight: 700;
}
.qe-consent__btn--ghost { background: transparent; color: #1d7fa3; }
@media (max-width: 600px) { .qe-consent { left: 8px; right: 8px; max-width: none; bottom: 88px; } }

/* Blog pagination (Astra uses infinite scroll; the clone uses real pages). */
.qe-pagination { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin: 2em 0 3em; }
.qe-pagination a, .qe-pagination span {
  min-width: 42px; padding: 8px 12px; border: 1px solid #249fcb; border-radius: 8px;
  text-align: center; color: #1d7fa3; text-decoration: none;
}
.qe-pagination .current { background: #249fcb; color: #fff; }

/* The captured drawer holds both the mobile and the desktop off-canvas menu; show only the mobile one. */
.ast-mobile-popup-drawer #ast-desktop-site-navigation { display: none; }

/* Fixed mobile "RESERVAR" bar (Astra hook 274): hidden on tablet/desktop like live. */
@media (min-width: 922px) { .astra-advanced-hook-274 { display: none; } }
@media (max-width: 921px) {
  .qe-whatsapp { bottom: 84px; }
  body { padding-bottom: 64px; }
}
.ast-post-filter a.ast-post-filter-single { text-decoration: none; }

/* Language switcher (replaces the TranslatePress floating widget). */
.qe-lang {
  position: fixed; left: 16px; bottom: 16px; z-index: 9997;
  display: flex; border-radius: 8px; overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .18); background: #fff; font: 600 14px/1 Helvetica, Arial, sans-serif;
}
.qe-lang a { padding: 10px 12px; color: #121305; text-decoration: none; }
.qe-lang a[aria-current] { background: #249fcb; color: #fff; }
@media (max-width: 921px) { .qe-lang { bottom: 84px; } }

/* Keep the cookie banner clear of the language switcher (both bottom-left). */
.qe-consent { bottom: 64px; }
@media (max-width: 600px) { .qe-consent { bottom: 132px; } }

/* "Cookies" reopen button shares the switcher pill. */
.qe-lang button { padding: 10px 12px; border: 0; border-left: 1px solid #e3e3e3; background: #fff; color: #121305; font: inherit; cursor: pointer; }
.qe-lang button:first-child { border-left: 0; }

/* Astra hides the mobile-only arrow in desktop menu links. LiteSpeed's UCSS
   dropped this rule from ~29 page templates (arrow before every nav item). */
.ast-desktop .menu-link > .icon-arrow:first-child { display: none; }

/* Legal / policy pages: centered reading column instead of edge-to-edge text. */
.qe-prose #content .ast-container { max-width: 860px; margin: 0 auto; padding: 56px 24px 80px; }
.qe-prose .entry-content .alignfull,
.qe-prose .entry-content .alignwide {
  margin-left: 0 !important; margin-right: 0 !important;
  width: auto !important; max-width: 100% !important; left: auto !important; right: auto !important;
}
.qe-prose .entry-content .stk-block-columns,
.qe-prose .entry-content .stk-block-column,
.qe-prose .entry-content .stk-inner-blocks { padding-left: 0 !important; padding-right: 0 !important; }
.qe-prose .entry-content h1 { margin-bottom: .6em; }
.qe-prose .entry-content p, .qe-prose .entry-content li { line-height: 1.75; }
@media (max-width: 600px) { .qe-prose #content .ast-container { padding: 32px 20px 64px; } }

/* Let the last footer row clear the fixed ES/EN/Cookies pill on desktop. */
@media (min-width: 922px) { body { padding-bottom: 60px; } }
