/*
 * POLITA_MASTER_FOOTER_V1
 * Shared Polita footer styling.
 */

.polita-master-footer-v1{
  position:relative;
  z-index:20;
  width:min(1180px,calc(100% - 32px));
  margin:56px auto 22px;
  padding:0;
  font-family:"Rajdhani","Inter",Arial,sans-serif;
  color:#f5f8ff;
}

.polita-master-footer-inner-v1{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(125,151,210,.18);
  border-radius:22px;
  background:
    radial-gradient(
      circle at 8% 20%,
      rgba(25,202,255,.10),
      transparent 34%
    ),
    radial-gradient(
      circle at 92% 10%,
      rgba(137,75,255,.11),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      rgba(8,13,25,.97),
      rgba(5,7,14,.98)
    );
  box-shadow:
    0 24px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.035);
}

.polita-master-footer-inner-v1::before{
  content:"";
  position:absolute;
  top:0;
  left:6%;
  right:6%;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(41,218,255,.55),
    rgba(142,95,255,.50),
    transparent
  );
  pointer-events:none;
}

.polita-master-footer-main-v1{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto minmax(190px,.72fr);
  align-items:center;
  gap:30px;
  padding:26px 28px 22px;
}

.polita-master-footer-identity-v1{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}

/* POLITA_MASTER_FOOTER_POLISH_V2 */
.polita-master-footer-brand-v1{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-decoration:none;
}

.polita-master-footer-brand-v1 img{
  display:block;
  width:37px;
  height:37px;
  object-fit:contain;
}

.polita-master-footer-brand-copy-v1{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.polita-master-footer-brand-copy-v1 strong{
  font-size:1.18rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.025em;
  color:#fff;
}

.polita-master-footer-brand-copy-v1 span{
  margin-top:5px;
  font-family:"Inter",Arial,sans-serif;
  font-size:.74rem;
  line-height:1.42;
  color:rgba(205,216,239,.68);
}

.polita-master-footer-links-v1{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
}

.polita-master-footer-links-v1 a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 8px;
  border-radius:8px;
  color:rgba(220,228,247,.76);
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.015em;
  text-decoration:none;
  transition:
    color .18s ease,
    background .18s ease,
    transform .18s ease;
}

.polita-master-footer-links-v1 a:hover{
  color:#fff;
  background:rgba(255,255,255,.055);
  transform:translateY(-1px);
}

.polita-master-footer-divider-v1{
  color:rgba(171,187,218,.30);
  font-size:.8rem;
}

.polita-master-footer-support-v1{
  display:flex;
  justify-content:flex-end;
}

.polita-master-footer-live-chat-v1{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:11px;
  min-width:182px;
  min-height:52px;
  padding:8px 15px 8px 12px;
  border:1px solid rgba(54,217,255,.25);
  border-radius:15px;
  background:
    linear-gradient(
      135deg,
      rgba(17,171,230,.15),
      rgba(108,71,226,.13)
    ),
    rgba(8,14,27,.78);
  color:#fff;
  box-shadow:
    0 0 26px rgba(31,194,255,.08),
    inset 0 1px 0 rgba(255,255,255,.04);
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:
    border-color .18s ease,
    background .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.polita-master-footer-live-chat-v1:hover{
  transform:translateY(-2px);
  border-color:rgba(80,225,255,.52);
  background:
    linear-gradient(
      135deg,
      rgba(20,188,245,.23),
      rgba(121,78,241,.19)
    ),
    rgba(8,14,27,.86);
  box-shadow:
    0 10px 30px rgba(20,176,238,.12),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.polita-master-footer-chat-icon-v1{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:50%;
  background:linear-gradient(135deg,#28d9ff,#7466ff);
  color:#fff;
  font-family:"Rajdhani","Inter",Arial,sans-serif;
  font-size:1rem;
  line-height:1;
  font-weight:900;
  box-shadow:0 0 18px rgba(37,210,255,.27);
}

.polita-master-footer-chat-copy-v1{
  display:flex;
  flex-direction:column;
}

.polita-master-footer-chat-copy-v1 small{
  color:rgba(210,222,245,.66);
  font-family:"Inter",Arial,sans-serif;
  font-size:.68rem;
  line-height:1.1;
}

.polita-master-footer-chat-copy-v1 strong{
  margin-top:3px;
  color:#fff;
  font-size:.92rem;
  line-height:1;
  font-weight:900;
}

.polita-master-footer-legal-v1{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px 18px;
  padding:14px 24px 16px;
  border-top:1px solid rgba(255,255,255,.055);
  background:rgba(0,0,0,.12);
  color:rgba(176,190,218,.55);
  font-family:"Rajdhani","Inter",Arial,sans-serif;
  font-size:.76rem;
  line-height:1.45;
  font-weight:700;
  letter-spacing:.015em;
  text-align:center;
}

@media(max-width:980px){
  .polita-master-footer-main-v1{
    grid-template-columns:1fr;
    justify-items:center;
    gap:20px;
    text-align:center;
  }

  .polita-master-footer-identity-v1{
    justify-content:center;
  }

  .polita-master-footer-support-v1{
    justify-content:center;
  }
}

@media(max-width:620px){
  .polita-master-footer-v1{
    width:min(100% - 20px,1180px);
    margin-top:40px;
    margin-bottom:14px;
  }

  .polita-master-footer-main-v1{
    padding:22px 16px 18px;
  }

  .polita-master-footer-identity-v1{
    flex-direction:column;
  }

  .polita-master-footer-brand-copy-v1 span{
    max-width:260px;
  }

  .polita-master-footer-links-v1{
    gap:3px 5px;
  }

  .polita-master-footer-links-v1 a{
    min-height:32px;
    padding:0 6px;
    font-size:.82rem;
  }

  .polita-master-footer-divider-v1{
    display:none;
  }

  .polita-master-footer-live-chat-v1{
    min-width:176px;
  }

  .polita-master-footer-legal-v1{
    flex-direction:column;
    gap:4px;
    padding:13px 14px 15px;
  }
}

@media(prefers-reduced-motion:reduce){
  .polita-master-footer-v1 *,
  .polita-master-footer-v1 *::before,
  .polita-master-footer-v1 *::after{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }
}

/* POLITA_MASTER_FOOTER_IDENTITY_SUBTITLE_V3 */
.polita-master-footer-identity-tagline-v3{
  max-width:210px;
  color:rgba(205,216,239,.68);
  font-family:"Rajdhani","Inter",Arial,sans-serif;
  font-size:.82rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.015em;
}

@media(max-width:980px){
  .polita-master-footer-identity-tagline-v3{
    text-align:left;
  }
}

@media(max-width:620px){
  .polita-master-footer-identity-tagline-v3{
    max-width:260px;
    text-align:center;
  }
}

/* POLITA_MASTER_FOOTER_PAGE_ALIGNMENT_V4
   Aligns the shared footer with the existing page module width and spacing.
   Shared header and page HTML remain untouched.
*/

.polita-master-footer-v1{
  width:100% !important;
  max-width:1100px !important;
  margin:28px auto 18px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

.polita-master-footer-inner-v1{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

@media(max-width:1180px){
  .polita-master-footer-v1{
    width:calc(100% - 32px) !important;
    margin:24px auto 16px !important;
  }
}

@media(max-width:760px){
  .polita-master-footer-v1{
    width:calc(100% - 20px) !important;
    margin:20px auto 12px !important;
  }
}

/* POLITA_MASTER_FOOTER_IDENTITY_ROW_ALIGNMENT_V5
   Keeps the identity sentence on one line and vertically aligns
   the favicon, navigation links and Live Chat control.
*/

.polita-master-footer-main-v1{
  align-items:center !important;
}

.polita-master-footer-identity-v1{
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  align-self:center !important;
  gap:12px !important;
  min-width:max-content !important;
}

.polita-master-footer-identity-tagline-v3{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  white-space:nowrap !important;
  line-height:1 !important;
  align-self:center !important;
}

.polita-master-footer-links-v1{
  align-self:center !important;
}

.polita-master-footer-support-v1{
  align-self:center !important;
}

@media(max-width:980px){
  .polita-master-footer-identity-v1{
    min-width:0 !important;
  }

  .polita-master-footer-identity-tagline-v3{
    white-space:normal !important;
    line-height:1.25 !important;
    text-align:center !important;
  }
}

@media(max-width:620px){
  .polita-master-footer-identity-v1{
    flex-direction:column !important;
  }
}


/* POLITA_MASTER_FOOTER_BADGE_HUB_WIDTH_V7
   One global footer width matching the Badge Hub module container.
   This updates every page loading the shared master footer.
*/

html body .polita-master-footer-v1{
  width:min(1240px, calc(100% - 24px)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

html body .polita-master-footer-inner-v1{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

@media(max-width:760px){
  html body .polita-master-footer-v1{
    width:min(100% - 16px, 1240px) !important;
  }
}


/* ============================================================
   POLITA_MASTER_FOOTER_OPAQUE_GLASS_V2

   Shared master footer outer surface only.

   Changes only:
   - background
   - border colour
   - outer shadow
   - backdrop blur

   No footer contents, layout, dimensions, spacing or behaviour
   are targeted
   ============================================================ */

html[data-polita-appearance-preset] body .polita-master-footer-inner-v1 {
  background:
    radial-gradient(
      circle at 8% 18%,
      color-mix(
        in srgb,
        var(--polita-appearance-a) 12%,
        transparent
      ),
      transparent 35%
    ),
    radial-gradient(
      circle at 92% 12%,
      color-mix(
        in srgb,
        var(--polita-appearance-b) 11%,
        transparent
      ),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      color-mix(
        in srgb,
        var(--polita-appearance-deep) 76%,
        rgba(6, 10, 19, .72)
      ),
      color-mix(
        in srgb,
        var(--polita-appearance-c) 13%,
        rgba(5, 7, 14, .76)
      )
    ) !important;

  border-color:
    color-mix(
      in srgb,
      var(--polita-appearance-ring) 32%,
      rgba(255, 255, 255, .09)
    ) !important;

  box-shadow:
    0 24px 70px rgba(0, 0, 0, .34),
    0 0 34px
      color-mix(
        in srgb,
        var(--polita-appearance-glow) 20%,
        transparent
      ),
    inset 0 1px 0 rgba(255, 255, 255, .055) !important;

  -webkit-backdrop-filter:
    blur(15px)
    saturate(125%) !important;

  backdrop-filter:
    blur(15px)
    saturate(125%) !important;
}
