/* ═══════════════════════════════════════════════════════════════
   Heritage Persia — SITE FOOTER
   Pairs with the <footer> markup in each page, and footer.js.

   Every rule carries a `body` ancestor on purpose: hp-shared.css and
   the hotel/hostel/traditional stylesheets all define their own
   `footer{...}`, and that extra specificity is what keeps this footer
   identical on all 316 pages.
   ═══════════════════════════════════════════════════════════════ */

/* text-align is stated explicitly: hp-shared.css carries a global
   `footer{text-align:center}` for the simpler sub-page footers, and it
   would otherwise centre every column in this one. */
body footer{background:#08203a;border-top:1px solid rgba(29,233,182,0.1);padding:4rem 8% 2rem;position:relative;text-align:left;}
body footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(29,233,182,0.55) 20%,rgba(255,213,79,0.4) 50%,rgba(29,233,182,0.55) 80%,transparent);z-index:2;}
body #footerParticles{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;}
body .footer-top,body .footer-official-row,body .footer-bottom{position:relative;z-index:1;}
body .footer-back-to-top{position:absolute;top:-22px;right:8%;width:44px;height:44px;border-radius:50%;background:#08203a;border:1px solid rgba(29,233,182,0.35);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,0.35);transition:all .3s;z-index:2;font:inherit;padding:0;}
body .footer-back-to-top:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
body .footer-back-to-top:hover{background:var(--teal);box-shadow:0 0 18px rgba(29,233,182,0.6);transform:translateY(-3px);}
body .footer-back-to-top svg{width:16px;height:16px;fill:var(--teal);transition:fill .3s;}
body .footer-back-to-top:hover svg{fill:#000;}

body .footer-top{display:grid;grid-template-columns:1.6fr 0.8fr 0.8fr 0.8fr 1.3fr;gap:2.2rem;margin-bottom:3rem;max-width:1400px;margin-left:auto;margin-right:auto;}
@media(max-width:1000px){body .footer-top{grid-template-columns:1fr 1fr;}}
body .footer-brand p{font-size:0.72rem;color:rgba(210,245,240,0.72);line-height:1.8;margin-top:.8rem;max-width:260px;}
body .footer-col h4{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--teal);margin-bottom:1.1rem;}
body .footer-col a{display:block;font-size:0.72rem;color:rgba(210,245,240,0.75);text-decoration:none;margin-bottom:.55rem;transition:color .2s;}
body .footer-col a:hover{color:var(--teal);}

body .footer-social{display:flex;gap:.7rem;margin-top:1.1rem;}
body .footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(29,233,182,0.3);display:flex;align-items:center;justify-content:center;transition:all .3s;text-decoration:none;flex-shrink:0;}
body .footer-social a svg{width:15px;height:15px;fill:rgba(210,245,240,0.75);stroke:rgba(210,245,240,0.75);transition:fill .3s,stroke .3s;}
body .footer-social a:hover{background:var(--teal);border-color:var(--teal);box-shadow:0 0 14px rgba(29,233,182,0.5);transform:translateY(-2px);}
body .footer-social a:hover svg{fill:#000;stroke:#000;}

body .footer-contact-form input,body .footer-contact-form textarea{
  width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);border-radius:8px;
  color:#fff;font-family:'Raleway',sans-serif;font-size:0.72rem;padding:.55rem .7rem;margin-bottom:.6rem;
}
body .footer-contact-form input:focus,body .footer-contact-form textarea:focus{border-color:var(--teal);outline:none;}
body .footer-contact-form input::placeholder,body .footer-contact-form textarea::placeholder{color:rgba(255,255,255,0.35);}
body .footer-contact-form textarea{resize:none;height:56px;}
body .footer-contact-btn{
  width:100%;border:none;border-radius:8px;background:var(--teal);color:#000;padding:.65rem;cursor:pointer;
  font-family:'Raleway',sans-serif;font-size:0.68rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;transition:all .3s;
}
body .footer-contact-btn:hover{box-shadow:0 0 14px rgba(29,233,182,0.45);}
body .footer-contact-btn-email{background:transparent;color:var(--teal);border:1px solid rgba(29,233,182,0.4);margin-top:.5rem;}
body .footer-contact-btn-email:hover{box-shadow:none;background:rgba(29,233,182,0.08);}
body .footer-contact-error{font-size:0.66rem;color:#ff8080;margin-bottom:.5rem;display:none;}
body .footer-contact-error.show{display:block;}
body .footer-contact-success{font-size:0.66rem;color:var(--teal);margin-bottom:.5rem;display:none;}
body .footer-contact-success.show{display:block;}

body .footer-official-row{max-width:1280px;margin:0 auto 1.8rem;padding-bottom:1.8rem;border-bottom:1px solid rgba(255,255,255,0.04);display:flex;justify-content:center;}
body .footer-official-badge{display:flex;align-items:center;gap:.9rem;padding:.7rem 1.4rem;border:1px solid rgba(29,233,182,0.2);border-radius:10px;background:rgba(29,233,182,0.03);}
body .footer-official-placeholder{width:60px;height:60px;flex-shrink:0;border-radius:8px;background:#ffffff;padding:4px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 2px 10px rgba(0,0,0,0.25);color:#0c2340;font-weight:700;overflow:hidden;}
body .footer-official-placeholder img{width:100%;height:100%;object-fit:contain;display:block;}
body .footer-official-label{font-size:0.58rem;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:.2rem;}
body .footer-official-name{font-size:0.74rem;color:rgba(223,246,244,0.7);font-family:'Raleway',sans-serif;}
@media(max-width:600px){body .footer-official-badge{flex-direction:column;text-align:center;gap:.5rem;padding:1rem;}}

body .footer-bottom{border-top:1px solid rgba(255,255,255,0.04);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;flex-wrap:wrap;gap:1rem;}
body .footer-copy,body .footer-legal a{font-size:0.65rem;color:rgba(200,240,235,0.55);text-decoration:none;}
body .footer-legal{display:flex;gap:1.5rem;}
body .footer-legal a{position:relative;transition:color .2s;}
body .footer-legal a:hover{color:var(--teal);}
body .footer-legal a::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--teal);transition:width .25s;}
body .footer-legal a:hover::after{width:100%;}
body .footer-official-placeholder .ministry-mark{width:100%;height:100%;display:block;}

/* Matching logo marks anchored to the bottom of the first and last columns.
   Note: the end mark sits inside .footer-col, so these selectors have to
   out-weigh `.footer-col a` — a bare `.footer-logo-link-end` loses to it. */
body .footer-brand,body .footer-contact-form{display:flex;flex-direction:column;}
body .footer-brand a.footer-logo-link,body .footer-col a.footer-logo-link{
  display:block;margin:auto 0 0;padding-top:1.4rem;line-height:0;
  align-self:flex-start;transition:transform .3s;
}
body .footer-col a.footer-logo-link-end{align-self:flex-end;}
body .footer-brand a.footer-logo-link:hover,body .footer-col a.footer-logo-link:hover{transform:translateY(-2px);}
body .footer-logo-mark{height:74px;width:auto;display:block;opacity:.85;
  filter:drop-shadow(0 0 10px rgba(29,233,182,0.28));transition:opacity .3s;}
body .footer-logo-link:hover .footer-logo-mark{opacity:1;}
@media(max-width:1000px){
  body .footer-col a.footer-logo-link-end{display:none;}
}

body .footer-social{flex-wrap:wrap;}
body .footer-social a.hp-copied{background:var(--teal);border-color:var(--teal);}
body .footer-social a.hp-copied svg{fill:#000;stroke:#000;}

/* ── WeChat QR overlay ── */
body .hp-wechat-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;
  background:rgba(2,10,20,.78);backdrop-filter:blur(4px);padding:1.2rem;
  opacity:0;transition:opacity .25s;}
body .hp-wechat-overlay[hidden]{display:none;}
body .hp-wechat-overlay.show{opacity:1;}
body .hp-wechat-card{position:relative;background:#0b2238;border:1px solid rgba(29,233,182,.28);
  border-radius:16px;padding:1.6rem 1.5rem 1.3rem;max-width:330px;width:100%;text-align:center;
  box-shadow:0 22px 60px rgba(0,0,0,.6);transform:translateY(12px) scale(.97);transition:transform .25s;}
body .hp-wechat-overlay.show .hp-wechat-card{transform:none;}
body .hp-wechat-card h5{font-family:'Cinzel',serif;font-size:.74rem;letter-spacing:2px;text-transform:uppercase;
  color:var(--teal);margin-bottom:1rem;font-weight:600;}
body .hp-wechat-qr{width:100%;height:auto;display:block;border-radius:10px;background:#fff;padding:10px;}
body .hp-wechat-id{margin-top:1rem;display:flex;flex-direction:column;gap:.15rem;}
body .hp-wechat-id span{font-size:.56rem;letter-spacing:2px;text-transform:uppercase;color:rgba(226,248,245,.45);}
body .hp-wechat-id strong{font-size:.92rem;letter-spacing:1.5px;color:#e2f8f5;font-weight:600;}
body .hp-wechat-copy{margin-top:.9rem;width:100%;border:1px solid rgba(29,233,182,.45);background:transparent;
  color:var(--teal);border-radius:8px;padding:.6rem;cursor:pointer;font-family:'Raleway',sans-serif;
  font-size:.66rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;transition:all .25s;}
body .hp-wechat-copy:hover{background:rgba(29,233,182,.1);}
body .hp-wechat-copy.done{background:var(--teal);color:#04140f;border-color:var(--teal);}
body .hp-wechat-note{margin-top:.7rem;font-size:.62rem;color:rgba(226,248,245,.4);line-height:1.6;}
body .hp-wechat-close{position:absolute;top:8px;right:10px;background:none;border:none;color:rgba(226,248,245,.5);
  font-size:1.5rem;line-height:1;cursor:pointer;padding:4px 8px;transition:color .2s;}
body .hp-wechat-close:hover{color:var(--teal);}

