body.papillon-theme .site-footer{position:relative;isolation:isolate;overflow:hidden;margin-top:auto;padding-top:58px;background:linear-gradient(135deg,#062f3b,#09526a 54%,#083f4b);color:#fff;}
body.papillon-theme .site-footer::before{position:absolute;inset-block-start:-225px;inset-inline-start:-95px;z-index:-1;width:455px;height:455px;border:72px solid rgba(255,255,255,.035);border-radius:50%;content:"";}
body.papillon-theme .site-footer::after{position:absolute;inset-block-start:0;inset-inline:0;height:3px;background:linear-gradient(90deg,transparent,var(--pap-gold),#0e6266,var(--pap-gold),transparent);content:"";}
body.papillon-theme .footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,58px);padding-bottom:46px;}
body.papillon-theme .footer-grid>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:10px;}
body.papillon-theme .footer-brand{max-width:320px;}
body.papillon-theme .brand-light{display:inline-flex;}
body.papillon-theme .footer-logo-image{display:block;width:auto;max-width:172px;max-height:66px;object-fit:contain;filter:brightness(1.75) saturate(.82) contrast(1.04);}
body.papillon-theme .brand-light{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
body.papillon-theme .footer-brand>p{max-width:270px;margin:9px 0 3px;color:#cfd4d5;font-size:11.5px;line-height:2;}
body.papillon-theme .footer-grid h4{margin:0 0 9px;color:#fff;font-size:13px;}
body.papillon-theme .footer-grid a{color:#c3ced0;font-size:11.5px;text-decoration:none;transition:color var(--pap-motion-fast) var(--pap-ease),transform var(--pap-motion-fast) var(--pap-ease);}
body.papillon-theme .footer-grid a:hover{color:#fff;transform:translateX(-2px);}
body.papillon-theme .footer-grid span{color:#c3ced0;font-size:11.5px;line-height:1.9;}
/* Contact lines: address/phone/e-mail carry their own icon so the support
   column reads as «where and how to reach us» instead of three loose lines.
   The tappable rows (phone, e-mail) get a surface and the plain ones (address,
   support hours) deliberately do not, so the eye can tell «call us» from
   «come by» before reading a word. */
body.papillon-theme .footer-support{width:100%;}
body.papillon-theme .footer-contact-list{display:grid;width:100%;gap:6px;margin-top:2px;}
body.papillon-theme .footer-contact-line{display:flex;min-width:0;width:100%;align-items:center;gap:9px;padding:4px 0;}
body.papillon-theme .footer-contact-badge{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border:1px solid rgba(255,255,255,.10);border-radius:9px;background:rgba(255,255,255,.07);color:#c2d8da;}
body.papillon-theme .footer-contact-icon{width:14px;height:14px;flex:0 0 14px;color:inherit;}
body.papillon-theme .footer-contact-text{min-width:0;font-size:11.5px;line-height:1.75;overflow-wrap:anywhere;}
body.papillon-theme .footer-contact-value{color:#dbe6e8;font-weight:600;letter-spacing:.2px;}
body.papillon-theme a.footer-contact-line{padding:6px 9px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045);}
body.papillon-theme a.footer-contact-line:hover{border-color:rgba(167,204,211,.45);background:rgba(255,255,255,.10);transform:none;}
body.papillon-theme .footer-support-cta{display:inline-flex;min-height:38px;align-items:center;gap:8px;margin-top:11px;padding:0 14px 0 11px;border:1px solid rgba(167,204,211,.32);border-radius:999px;background:rgba(255,255,255,.08);color:#eaf4f5;font-size:11.5px;font-weight:700;}
body.papillon-theme .footer-support-cta .footer-contact-badge{width:22px;height:22px;flex-basis:22px;border:0;background:transparent;color:#a6d5d0;}
body.papillon-theme .footer-support-cta:hover{border-color:rgba(216,183,123,.5);background:rgba(255,255,255,.14);color:#fff;transform:none;}
body.papillon-theme .footer-legal{display:flex;flex-wrap:wrap;width:100%;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.09);}
body.papillon-theme .footer-legal a{display:inline-flex;min-height:32px;align-items:center;padding:0 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.04);font-size:11px;}
body.papillon-theme .footer-legal a:hover{border-color:rgba(167,204,211,.45);background:rgba(255,255,255,.11);color:#fff;transform:none;}

/* The four footer symbols. Exactly four slots, set in the plugin
   («فوتر و موبایل ← نمادهای فوتر»). Each slot is one of: an uploaded trust
   logo, an embed snippet from a trust service, or a built-in icon + label. */
body.papillon-theme .footer-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-block:20px;border-top:1px solid rgba(255,255,255,.09);}
body.papillon-theme .footer-badge{display:flex;min-width:0;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05);}
body.papillon-theme .footer-badge-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:11px;background:rgba(255,255,255,.11);color:#e3ecee;}
body.papillon-theme .footer-badge-icon svg{width:18px;height:18px;}
body.papillon-theme .footer-badge-label{min-width:0;color:#d5dfe1;font-size:11.5px;font-weight:700;line-height:1.75;}
/* An uploaded logo stacks above its caption: trust logos are wide and read as
   artwork, so squeezing them beside a two-line label shrinks them to nothing. */
body.papillon-theme .footer-badge-has-image{flex-direction:column;justify-content:center;gap:8px;text-align:center;}
body.papillon-theme .footer-badge-image{display:block;width:auto;max-width:100%;max-height:40px;height:auto;object-fit:contain;}
/* A snippet from a trust service paints itself: the wrapper must not add a card
   around it, or the badge ends up framed twice. */
body.papillon-theme .footer-badge-embed{display:grid;place-items:center;padding:0;border:0;border-radius:0;background:transparent;}
body.papillon-theme .footer-badge-embed :where(a,img,iframe){max-width:100%;height:auto;}
body.papillon-theme .footer-badge-embed a{display:inline-flex;transform:none!important;}
body.papillon-theme a.footer-badge{text-decoration:none;transition:border-color var(--pap-motion-fast) var(--pap-ease),background-color var(--pap-motion-fast) var(--pap-ease);}
body.papillon-theme a.footer-badge:hover{border-color:rgba(216,183,123,.45);background:rgba(255,255,255,.09);}
body.papillon-theme .social-links{display:flex;align-items:center;gap:8px;margin:0 0 7px;}
body.papillon-theme .social-links a{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.05);color:#fff;transition:transform var(--pap-motion-fast) var(--pap-ease),background-color var(--pap-motion-fast) var(--pap-ease),border-color var(--pap-motion-fast) var(--pap-ease);}
body.papillon-theme .social-links a:hover{border-color:#a7ccd3;background:rgba(255,255,255,.12);transform:translateY(-2px);}
/* #99abae measured 3.62:1 on the footer's lightest gradient stop (#09526a) —
   under the 4.5 bar for 11.5px text. #bccbce is 5.18:1 there and still reads as
   the quiet line under the columns. */
body.papillon-theme .footer-bottom{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.09);color:#bccbce;font-size:11.5px;}
body.papillon-theme .mobile-bottom-nav{display:none;}

@media(max-width:1024px){
  body.papillon-theme .footer-grid{grid-template-columns:1.2fr repeat(2,minmax(0,1fr));}
  body.papillon-theme .footer-grid>div:last-child{grid-column:2/4;}
  body.papillon-theme .footer-badges{grid-template-columns:repeat(2,minmax(0,1fr));}
  /* Tablet: the support column is two grid tracks wide, so a full-width contact
     row stretched to ~590px while the heading, the CTA pill and the legal chips
     hugged the right edge — the column read as two designs at once. Here the
     rows hug too, so every element in the column shares one right edge. The
     full-width stack only makes sense at 700px and below, where the column is
     a single ~390px track. */
  body.papillon-theme .footer-contact-list{justify-items:start;}
  body.papillon-theme .footer-contact-line{width:auto;}
}

@media(max-width:700px){
  body.papillon-theme .site-footer{padding-top:38px;}
  body.papillon-theme .footer-grid{grid-template-columns:1fr;gap:0;padding-bottom:28px;}
  body.papillon-theme .footer-grid>div{width:100%;padding:17px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.10);border-radius:0;background:transparent;align-items:flex-start;text-align:right;}
  body.papillon-theme .footer-grid>div:last-child{border-bottom:0;}
  body.papillon-theme .footer-brand{max-width:none;padding:0 0 17px;border:0;background:transparent;align-items:center;text-align:center;}
  body.papillon-theme .footer-brand>p{max-width:340px;margin:10px auto 4px;}
  body.papillon-theme .footer-grid h4{width:100%;margin:0 0 2px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.09);font-size:12.5px;}
  body.papillon-theme .footer-grid a,
  body.papillon-theme .footer-grid span{font-size:11.5px;line-height:2.05;}
  body.papillon-theme .footer-grid>div:last-child{grid-column:auto;align-items:center;text-align:center;}
  body.papillon-theme .footer-grid>div:last-child h4,
  body.papillon-theme .footer-grid>div:last-child :where(a,span){text-align:center;}
  body.papillon-theme .social-links{justify-content:center;align-self:center;margin-bottom:3px;}
  body.papillon-theme .footer-bottom{min-height:76px;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding-block:14px;text-align:center;}
}

@media(max-width:430px){
  body.papillon-theme .site-footer{padding-top:34px;}
  body.papillon-theme .footer-grid{gap:0;padding-bottom:24px;}
  body.papillon-theme .footer-grid>div{padding:15px 2px;border-radius:0;}
  body.papillon-theme .footer-grid h4{font-size:12px;}
  body.papillon-theme .footer-grid a,
  body.papillon-theme .footer-grid span{font-size:11.5px;}
  /* Two per row, not a four-tall stack: at 390px a stacked list of guarantees
     pushes the social row and the copyright far below the fold. */
  body.papillon-theme .footer-badges{gap:8px;padding-block:16px;}
  body.papillon-theme .footer-badge{gap:8px;padding:9px 10px;border-radius:12px;}
  body.papillon-theme .footer-badge-icon{width:29px;height:29px;flex-basis:29px;border-radius:9px;}
  body.papillon-theme .footer-badge-icon svg{width:16px;height:16px;}
  body.papillon-theme .footer-badge-label{font-size:11px;line-height:1.6;}
}

/* Footer social order & icon precision */
body.papillon-theme .footer-social-row{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:24px;padding-block:16px;border-top:1px solid rgba(255,255,255,.09);}
body.papillon-theme .footer-social-copy{display:flex;min-width:0;flex-direction:column;gap:3px;}
body.papillon-theme .footer-social-copy strong{color:#fff;font-size:11.5px;font-weight:800;line-height:1.6;}
body.papillon-theme .footer-social-copy span{color:#b8c7ca;font-size:11.5px;line-height:1.8;}
body.papillon-theme .footer-social-row .social-links{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin:0;}
body.papillon-theme .footer-social-row .social-links a{width:40px;height:40px;border-color:rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);}
body.papillon-theme .footer-social-row .social-links svg{width:19px;height:19px;flex-basis:19px;}
body.papillon-theme .footer-social-row .social-instagram svg{fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;}
body.papillon-theme .footer-social-row .social-telegram svg{fill:currentColor!important;stroke:none!important;}
body.papillon-theme .footer-social-row .social-whatsapp svg{fill:none!important;stroke:currentColor!important;stroke-width:1.45!important;}
@media(hover:hover){
  body.papillon-theme .footer-social-row .social-links a:hover{border-color:rgba(216,183,123,.52);background:rgba(255,255,255,.11);color:#f1d8aa;transform:translateY(-2px) scale(1.02);}
}
body.papillon-theme .footer-bottom{border-top:1px solid rgba(255,255,255,.07);}

@media(max-width:700px){
  body.papillon-theme .footer-social-row{min-height:0;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:18px 0;text-align:center;}
  body.papillon-theme .footer-social-copy{align-items:center;}
  body.papillon-theme .footer-social-copy span{max-width:310px;}
  body.papillon-theme .footer-social-row .social-links{justify-content:center;}
  body.papillon-theme .footer-social-row .social-links a{width:42px;height:42px;border-radius:12px;}
}
body.papillon-theme .footer-social-row .social-links a{transition:border-color 280ms cubic-bezier(.2,.78,.2,1),background-color 280ms cubic-bezier(.2,.78,.2,1),color 280ms cubic-bezier(.2,.78,.2,1),transform 300ms cubic-bezier(.2,.78,.2,1)!important;}
