/* STAR2CO UIUX-R6 | Footer, official-site mall links and LINE buttons. */
.footer.star2-footer-v2 {
  --footer-mint: #94e5bd;
  position: relative;
  background: linear-gradient(145deg, #102e23, #0c221a 75%);
  color: #edf8f1;
  border-top: 3px solid #299669;
  padding: 3.5em 0 calc(3em + env(safe-area-inset-bottom, 0px));
  font-size: calc(1rem / var(--home4-ui-scale, 1));
  line-height: 1.7;
}
.footer.star2-footer-v2 .footer-grid {
  width: min(calc(100% - 3em), 1280px) !important;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) repeat(3, minmax(0, 1fr));
  gap: 2.4em;
  align-items: start;
}
.footer.star2-footer-v2 .footer-grid > * { min-width: 0; }
.footer.star2-footer-v2 .footer-company,
.footer.star2-footer-v2 .footer-company .company-name {
  font-size: 1.3em !important;
  font-weight: 800;
  line-height: 1.6 !important;
  letter-spacing: .025em !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  text-shadow: none;
}
.footer.star2-footer-v2 .footer-company { margin: 0 0 .7em; }
.footer.star2-footer-v2 .footer-company .company-name { font-size: inherit !important; }
.footer.star2-footer-v2 .footer-brand p {
  max-width: 30em;
  color: #bcd1c5;
  font-size: 1em;
  line-height: 1.9;
  margin: 0;
  text-align: left;
}
.footer.star2-footer-v2 .footer-group h4 {
  display: flex;
  align-items: center;
  gap: .6em;
  margin: 0 0 .85em;
  padding: 0;
  color: #fff;
  font-size: 1.05em;
  line-height: 1.5;
  font-weight: 800;
  text-align: left !important;
}
.footer.star2-footer-v2 .footer-group h4::before {
  content: '';
  flex: 0 0 3px;
  height: 1em;
  border-radius: 3px;
  background: var(--footer-mint);
}
.footer.star2-footer-v2 .footer-links { display: grid; gap: .35em; }
.footer.star2-footer-v2 a.footer-link {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: .65em;
  width: fit-content;
  max-width: 100%;
  min-height: 2.75em;
  margin: 0 !important;
  padding: .2em .3em .2em 0;
  border-radius: .65em;
  color: #e2eee7;
  font-size: 1em;
  font-weight: 500;
  text-align: left !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  transition: color .18s ease, background-color .18s ease;
}
.footer.star2-footer-v2 .footer-link-icon {
  display: inline-flex;
  flex: 0 0 1.9em;
  align-items: center;
  justify-content: center;
  width: 1.9em;
  height: 1.9em;
  border: 1px solid rgba(148,229,189,.14);
  border-radius: .65em;
  color: var(--footer-mint);
  background: rgba(148,229,189,.075);
}
.footer.star2-footer-v2 .footer-link-icon svg {
  display: block;
  width: 1.2em;
  height: 1.2em;
  overflow: visible;
}
.footer.star2-footer-v2 .footer-link-label { min-width: 0; }
.footer.star2-footer-v2 a.footer-link:hover { color: #fff; background: rgba(148,229,189,.08); }
.footer.star2-footer-v2 a.footer-link:hover .footer-link-icon { background: rgba(148,229,189,.16); }
.footer.star2-footer-v2 a.footer-link:focus-visible {
  outline: 2px solid #b4f7cf;
  outline-offset: 4px;
}
/* The platform green remains unchanged. Only links to LINE use LINE green. */
a.star2-line-link,
a.star2-action-line,
.chat-actions a.line,
a.partner-line {
  background: #06c755 !important;
  background-image: none !important;
  border-color: #06c755 !important;
  color: #fff !important;
  box-shadow: 0 8px 22px rgba(6,199,85,.2);
}
a.star2-line-link:hover,
a.star2-line-link:active,
a.star2-action-line:hover { background: #06c755 !important; background-image: none !important; }
a.star2-line-link:focus-visible { outline: 3px solid #06452c; outline-offset: 4px; }
a.star2-action-line .star2-chat-text { color: #fff !important; }
a.star2-action-line .star2-chat-icon {
  width: 27px !important;
  height: 22px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin-bottom: 3px !important;
}
.star2-line-bubble {
  position: relative;
  display: inline-flex;
  width: 27px;
  height: 20px;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  color: #06c755;
  font: 800 8px/1 Arial, sans-serif;
  letter-spacing: -.2px;
}
.star2-line-bubble::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 9px;
  width: 6px;
  height: 6px;
  background: #fff;
  transform: skewY(-35deg);
}
@media (max-width: 1100px) {
  .footer.star2-footer-v2 .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2em; }
  .footer.star2-footer-v2 .footer-brand { grid-column: 1 / -1; padding-bottom: 1.5em; border-bottom: 1px solid rgba(188,209,197,.17); }
  .footer.star2-footer-v2 .footer-brand p { max-width: 44em; }
}
@media (max-width: 640px) {
  .footer.star2-footer-v2 { padding-top: 2.5em; padding-bottom: calc(5em + env(safe-area-inset-bottom, 0px)); }
  .footer.star2-footer-v2 .footer-grid { width: calc(100% - 2.5em) !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6em 1em; }
  .footer.star2-footer-v2 .footer-company { font-size: 1.18em !important; }
  .footer.star2-footer-v2 .footer-brand { padding-bottom: 1.35em; }
  .footer.star2-footer-v2 .footer-group h4 { margin-bottom: .65em; }
  .footer.star2-footer-v2 a.footer-link { gap: .45em; min-height: 2.8em; padding-right: 0; }
  .footer.star2-footer-v2 .footer-link-icon { flex-basis: 1.625em; width: 1.625em; height: 1.625em; border-radius: .5em; }
  .footer.star2-footer-v2 .footer-link-icon svg { width: 1.1em; height: 1.1em; }
  .footer.star2-footer-v2 .footer-quick { grid-column: 1 / -1; padding-top: 1.4em; border-top: 1px solid rgba(188,209,197,.17); }
  .footer.star2-footer-v2 .footer-quick .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1em; padding-right: 4em; }
}
@media (max-width: 380px) {
  .footer.star2-footer-v2 .footer-grid { width: calc(100% - 2em) !important; }
  .footer.star2-footer-v2 .footer-quick .footer-links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .footer.star2-footer-v2 a.footer-link { transition: none; }
}
