/* =========================
   PTALES Common Footer
   (extracted from home.css)
   ========================= */

.ptl-ft{
  background:#eee9df;
  color: var(--ptl-ink, #1a1a1a);
}

.ptl-ft__wrap{
  max-width: var(--max, 1680px);
  margin: 0 auto;
  padding: 88px 20px 70px;
}

.ptl-ft a{ color: inherit; }
.ptl-ft a:hover{ opacity: .85; }

/* Top links: 3 columns (your centered + wider layout) */
.ptl-ft__top{
  display:grid;
  align-items:start;

  /* 关键：整体居中 + 按内容收缩，再用 column-gap 拉宽 */
  width: fit-content;
  margin: 0 auto;
  grid-template-columns: repeat(3, max-content);
  justify-content: center;

  /* 大屏更开阔，小屏自动收 */
  column-gap: 140px; /* 你要更宽就加大：140~220 */
  gap: clamp(56px, 6vw, 120px);
}

/* 给每列一个合理宽度，避免看起来太窄 */
.ptl-ft__top > *{
  width: 220px; /* 可调：220~320（越大三列越“宽”） */
}

/* 如果你的 HTML 是 div 包一列，这条会更稳 */
.ptl-ft__top > div{
  justify-self: center;
  width: 100%;
  max-width: 360px;
}

.ptl-ft__colTitle{
  margin:0 0 18px;
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
}

.ptl-ft__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.ptl-ft__list a{
  font-size:14px;
  letter-spacing:.02em;
  color: rgba(0,0,0,.72);
}

/* Middle band */
.ptl-ft__mid{
  margin-top: 72px;
  display:grid;
  grid-template-columns: auto auto 1fr;
  gap: 22px;
  align-items: center;
}

.ptl-ft__brandRow{
  display:flex;
  align-items:center;
  gap:22px;
}

.ptl-ft__mark{
  width:268px;
  height:auto;
  display:block;
  opacity:.95;
}
.ptl-ft__mark svg{
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.ptl-ft__logoText{
  display:flex;
  flex-direction:column;
  line-height:1;
}

.ptl-ft__logoText .ptl-ft__logoTop{
  font-size:34px;
  letter-spacing:.08em;
  font-weight:500;
}

.ptl-ft__logoText .ptl-ft__logoSub{
  margin-top:8px;
  font-size:12px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color: rgba(0,0,0,.72);
}

.ptl-ft__tagline{
  font-size:15px;
  letter-spacing:.08em;
  font-style:italic;
  color: rgba(0,0,0,.55);
  justify-self: start;
  text-align: left;
  max-width: 520px;
  margin: 0;
}

.ptl-ft__contact{
  text-align:left;
  font-size:15px;
  letter-spacing:.02em;
  color: rgba(0,0,0,.72);
  line-height:2.0;
  justify-self: end;
}

.ptl-ft__contact a{
  color: rgba(0,0,0,.72);
  text-decoration:none;
}
.ptl-ft__contact a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Bottom band */
.ptl-ft__bottom{
  margin-top: 70px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items:end;
}

.ptl-ft__legal{
  font-size:14px;
  color: rgba(0,0,0,.62);
  letter-spacing:.02em;
  line-height:1.9;
}

.ptl-ft__legalLinks{
  margin-top: 8px;
  display:flex;
  gap: 14px;
  flex-wrap:wrap;
}

.ptl-ft__legalLinks a{
  color: rgba(0,0,0,.62);
}

.ptl-ft__news{
  justify-self:end;
  width:min(520px, 100%);
}

.ptl-ft__newsTitle{
  margin:0 0 12px;
  font-size:14px;
  letter-spacing:.06em;
  color: rgba(0,0,0,.62);
}

.ptl-ft__form{
  display:flex;
  align-items:center;
  gap:16px;
}

.ptl-ft__input{
  flex:1;
  border:0;
  outline:none;
  background:transparent;
  padding:10px 0;
  font-size:15px;
  letter-spacing:.02em;
  color: rgba(0,0,0,.75);
  border-bottom:1px solid rgba(0,0,0,.22);
}

.ptl-ft__input::placeholder{
  color: rgba(0,0,0,.45);
}

.ptl-ft__submit{
  border:0;
  background:transparent;
  cursor:pointer;
  padding:10px 0;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: rgba(0,0,0,.72);
}
.ptl-ft__submit:hover{
  color: rgba(0,0,0,.92);
}

/* Responsive */
@media (max-width:1024px){
  .ptl-ft__wrap{ padding: 70px 16px 60px; }

  .ptl-ft__mid{
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: start;
  }
  .ptl-ft__contact{ justify-self: start; }
  .ptl-ft__tagline{ text-align:left; }

  .ptl-ft__bottom{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .ptl-ft__news{
    justify-self:start;
    width: min(520px, 100%);
  }

  /* keep top links centered but slightly tighter */
  .ptl-ft__top{
    width: fit-content;
    margin: 0 auto;
    grid-template-columns: repeat(3, max-content);
    column-gap: 90px;
    gap: 40px;
    max-width: 100%;
    padding: 0;
  }
  .ptl-ft__top > *{ width: 200px; }
}

@media (max-width:768px){
  .ptl-ft__wrap{ padding: 58px 14px 52px; }
  .ptl-ft__top{ grid-template-columns: 1fr; gap: 28px; width:100%; margin:0; column-gap:0; }
  .ptl-ft__top > *{ width: auto; }

  .ptl-ft__brandRow{ gap: 16px; }
  .ptl-ft__mark{ width: 68px; }
  .ptl-ft__logoText .ptl-ft__logoTop{ font-size: 30px; }
  .ptl-ft__bottom{ margin-top: 46px; }
}
