/**
 * ICHINGO Footer — v5 (Aug 2026): rebuilt to match the reference
 * prototype's layout (brand block + 4 columns incl. SOS hotlines as
 * cards) while keeping every one of the site's own real links.
 */
.ichingo-footer {
  position: relative;
  background: linear-gradient(160deg, #1e1b4b 0%, var(--ichingo-color-primary-dark) 55%, #020617 100%);
  color: rgba(226,232,240,.85);
  padding-block: 2.25rem 1.1rem;
  margin-top: 3rem;
}
.ichingo-footer::before {
  content: ""; position: absolute; inset-block-start: 0; inset-inline: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--ichingo-color-accent-gold), var(--ichingo-color-jade), transparent);
  opacity: .6;
}

.ichingo-footer__top {
  display: grid; grid-template-columns: minmax(220px, .9fr) 2fr; gap: 2rem;
  align-items: start;
  padding-bottom: 1.5rem; border-bottom: 1px solid rgba(148,163,184,.15);
}
@media (max-width: 980px) { .ichingo-footer__top { grid-template-columns: 1fr; } }

/* ---- Brand block ---- */
.ichingo-footer__official-badge {
  display: inline-block; font-size: .62rem; font-weight: 800; letter-spacing: .06em;
  color: var(--ichingo-color-accent-gold); border: 1px solid color-mix(in srgb, var(--ichingo-color-accent-gold) 45%, transparent);
  background: color-mix(in srgb, var(--ichingo-color-accent-gold) 12%, transparent);
  padding: .12rem .5rem; border-radius: var(--ichingo-radius-sm); margin-bottom: .5rem;
}
.ichingo-footer__brand { display: flex; align-items: center; gap: .6rem; margin-bottom: .5rem; }
.ichingo-footer__brand img { width: 2.75rem; height: 2.75rem; border-radius: var(--ichingo-radius-md); object-fit: cover; border: 2px solid color-mix(in srgb, var(--ichingo-color-accent-gold) 55%, transparent); }
.ichingo-footer__brand > span { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.ichingo-footer__brand strong { font-family: var(--ichingo-font-display); font-size: 1.1rem; color: #fff; letter-spacing: -.01em; line-height: 1; }
.ichingo-footer__brand-badge {
  background: color-mix(in srgb, var(--ichingo-color-accent-gold) 20%, transparent);
  border: 1px solid color-mix(in srgb, var(--ichingo-color-accent-gold) 55%, transparent);
  color: var(--ichingo-color-accent-gold);
  font-size: .64rem; font-weight: 800; padding: .1em .55em; border-radius: var(--ichingo-radius-pill); line-height: 1.6;
}
.ichingo-footer__tagline { font-size: .8rem; font-weight: 700; color: var(--ichingo-color-accent-gold); margin: 0 0 .85rem; line-height: 1.5; }
.ichingo-footer__tagline-sub { font-weight: 500; color: rgba(226,232,240,.6); }

.ichingo-footer__trust-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .85rem; }
.ichingo-footer__trust-badges span {
  font-size: .68rem; font-weight: 700; color: rgba(226,232,240,.9); white-space: nowrap;
  background: rgba(255,255,255,.06); border: 1px solid rgba(148,163,184,.2);
  padding: .28rem .6rem; border-radius: var(--ichingo-radius-pill);
}

.ichingo-footer__social { display: flex; flex-wrap: wrap; gap: .45rem; }
.ichingo-footer__social-btn {
  display: flex; align-items: center; justify-content: center;
  width: 1.9rem; height: 1.9rem; border-radius: 50%;
  background: rgba(15,23,42,.45); border: 1px solid rgba(148,163,184,.2);
  color: #e0e7ff; transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.ichingo-footer__social-btn svg { width: .9rem; height: .9rem; }
.ichingo-footer__social-btn:hover { transform: translateY(-2px); color: #0f172a; border-color: transparent; }
.ichingo-footer__social-btn--telegram:hover  { background: #29a9eb; }
.ichingo-footer__social-btn--instagram:hover { background: linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7); }
.ichingo-footer__social-btn--whatsapp:hover  { background: #25d366; }
.ichingo-footer__social-btn--wechat:hover    { background: #07c160; }
.ichingo-footer__social-btn--tiktok:hover    { background: #fff; }
.ichingo-footer__social-btn--youtube:hover   { background: #ff0000; color: #fff; }

/* ---- Link columns ----
   v6: exactly 3 columns now (Explore / Company / SOS), matching the
   reference's shape. Company merges what used to be 2 separate short
   columns (Company + Legal) into one — this is the real fix for the
   height mismatch, not just a spacing tweak: a column with 9 items
   naturally reaches roughly the same height as the brand block, where
   two 4-item columns never could. */
.ichingo-footer__columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 980px) { .ichingo-footer__columns { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .ichingo-footer__columns { grid-template-columns: 1fr; } }

.ichingo-footer__heading {
  display: flex; align-items: center; gap: .4em;
  font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
  color: #c7d2fe; margin: 0 0 .7rem;
}
.ichingo-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .45rem; }
.ichingo-footer__col a {
  display: inline-flex; align-items: center; gap: .3em; color: rgba(226,232,240,.75);
  text-decoration: none; font-size: .8rem; transition: color .15s ease, gap .15s ease;
}
.ichingo-footer__col a::before {
  content: "›"; color: var(--ichingo-color-accent-gold); font-weight: 700;
  opacity: 0; transform: translateX(-4px); transition: opacity .15s ease, transform .15s ease;
}
.ichingo-footer__col a:hover { color: #fff; }
.ichingo-footer__col a:hover::before { opacity: 1; transform: translateX(0); }

/* ---- SOS hotline cards ---- */
.ichingo-footer__col--sos { display: flex; flex-direction: column; }
.ichingo-footer__sos-card {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  background: rgba(255,255,255,.05); border: 1px solid rgba(148,163,184,.18);
  border-radius: var(--ichingo-radius-md); padding: .5rem .75rem; margin-bottom: .5rem;
  text-decoration: none; transition: border-color .15s ease, background .15s ease;
}
.ichingo-footer__sos-card:hover { border-color: var(--ichingo-color-danger); background: rgba(220,38,38,.1); }
.ichingo-footer__sos-card span { font-size: .7rem; font-weight: 600; color: rgba(226,232,240,.85); }
.ichingo-footer__sos-card strong { font-size: .95rem; font-weight: 900; color: var(--ichingo-color-accent-gold); font-family: monospace; }

.ichingo-footer__disclaimer {
  font-size: .72rem; line-height: 1.6; color: rgba(203,213,225,.5);
  max-width: 80ch; margin: 1.1rem 0 0;
}

.ichingo-footer__bottom {
  margin-top: .9rem; padding-top: .9rem; border-top: 1px solid rgba(148,163,184,.1);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem;
}
.ichingo-footer__bottom address,
.ichingo-footer__copy { font-style: normal; font-size: .7rem; color: rgba(203,213,225,.5); margin: 0; }

@media (max-width: 460px) {
  .ichingo-footer__bottom { flex-direction: column; gap: .4rem; text-align: center; }
}

/* 2026 community edition: quieter, roomier and consistent with the new hubs. */
.ichingo-footer{overflow:hidden;margin-top:clamp(2rem,6vw,5rem);padding-block:0 1.2rem;background:radial-gradient(circle at 12% 0,rgba(39,150,119,.22),transparent 28%),linear-gradient(135deg,#071d19 0%,#102c28 48%,#111c31 100%)}
.ichingo-footer:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 70%)}
.ichingo-footer>.ichingo-container{position:relative;z-index:1}.ichingo-footer__cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.3rem,3vw,2rem) 0;border-bottom:1px solid rgba(255,255,255,.11)}.ichingo-footer__cta span{color:#9ce5cd;font-size:.62rem;font-weight:900;letter-spacing:.13em}.ichingo-footer__cta h2{margin:.28rem 0;color:#fff;font-size:clamp(1.25rem,3vw,1.8rem);letter-spacing:-.035em}.ichingo-footer__cta p{margin:0;color:rgba(226,241,236,.62);font-size:.76rem}.ichingo-footer__cta>a{display:flex;flex:0 0 auto;align-items:center;gap:1rem;padding:.78rem 1rem;border-radius:11px;background:#f3c75e;color:#17332d;font-size:.73rem;font-weight:900;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.2)}.ichingo-footer__cta>a span{color:inherit;font-size:1rem;letter-spacing:0}.ichingo-footer__top{grid-template-columns:minmax(15rem,.85fr) 1.65fr;padding-block:2rem 1.5rem}.ichingo-footer__official-badge{border-color:rgba(156,229,205,.35);background:rgba(156,229,205,.08);color:#9ce5cd}.ichingo-footer__brand img{border-radius:14px;border-color:rgba(243,199,94,.65)}.ichingo-footer__tagline{color:#fff}.ichingo-footer__tagline-sub{display:block;margin-top:.25rem}.ichingo-footer__trust-badges span{border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.045)}.ichingo-footer__columns{gap:clamp(1rem,3vw,2.5rem)}.ichingo-footer__heading{color:#9ce5cd}.ichingo-footer__col a{font-size:.75rem}.ichingo-footer__sos-card{border-radius:11px;background:rgba(255,255,255,.045)}.ichingo-footer__disclaimer{max-width:100%;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(0,0,0,.1)}
@media(max-width:700px){.ichingo-footer__cta{align-items:flex-start;flex-direction:column}.ichingo-footer__cta>a{width:100%;justify-content:space-between}.ichingo-footer__top{grid-template-columns:1fr}.ichingo-footer__columns{grid-template-columns:1fr 1fr}.ichingo-footer__col--sos{grid-column:1/-1}}
