/* XC Navigation v1.3 - Modern UI, independent from the active WordPress theme */
body.xcn-standalone{
  margin:0!important;
  padding:0!important;
  background:#f8f7fc!important;
  overflow-x:hidden!important;
}
body.xcn-standalone #wpadminbar + .xcn-page{min-height:calc(100vh - 32px)}
@media(max-width:782px){body.xcn-standalone #wpadminbar + .xcn-page{min-height:calc(100vh - 46px)}}

.xcn-page{
  --pink:#ff8fb1;
  --purple:#a589f5;
  --mint:#00c2a8;
  --warn:#e74c3c;
  --header1:#ff9a9e;
  --header2:#fecfef;
  --page-max:980px;
  --ink:#252334;
  --muted:#777486;
  --line:rgba(47,42,70,.08);
  --white:rgba(255,255,255,.94);
  --shadow:0 18px 50px rgba(59,48,91,.10);
  --shadow-soft:0 9px 26px rgba(59,48,91,.07);
  --safe:env(safe-area-inset-bottom,0);

  width:100%;
  min-height:100vh;
  padding:30px 18px 34px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,"Noto Sans TC",sans-serif;
  color:var(--ink);
  line-height:1.55;
  background:
    radial-gradient(720px 480px at 4% -4%,rgba(255,143,177,.22),transparent 68%),
    radial-gradient(820px 520px at 100% 4%,rgba(165,137,245,.18),transparent 66%),
    radial-gradient(760px 500px at 50% 105%,rgba(0,194,168,.11),transparent 68%),
    linear-gradient(135deg,#fff8fb 0%,#f7f7ff 52%,#f5fbfb 100%);
}
.xcn-page,.xcn-page *{box-sizing:border-box}
.xcn-page *{margin:0;padding:0}
.xcn-page a{text-decoration:none!important;color:inherit!important}
.xcn-page button{font:inherit}

/* Main shell: no longer one flat white rectangle; sections float independently */
.xcn-page .container{
  width:100%!important;
  max-width:var(--page-max)!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Brand hero */
.xcn-page header{
  min-height:112px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative;
  overflow:hidden;
  background:linear-gradient(118deg,var(--header1) 0%,var(--pink) 38%,var(--purple) 100%)!important;
  color:#fff!important;
  text-align:center!important;
  padding:26px 24px!important;
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:28px!important;
  box-shadow:0 20px 48px rgba(181,111,159,.20)!important;
}
.xcn-page header:before,
.xcn-page header:after{
  content:"";
  position:absolute;
  width:190px;height:190px;border-radius:50%;
  background:rgba(255,255,255,.13);
  pointer-events:none;
}
.xcn-page header:before{left:-54px;top:-104px}
.xcn-page header:after{right:-52px;bottom:-125px}
.xcn-page header h1{
  position:relative;z-index:1;
  color:#fff!important;
  font-size:2rem!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-shadow:0 4px 18px rgba(66,34,77,.20)!important;
}

/* Important protection message */
.xcn-page .protect-wrap{padding:14px 0 0!important}
.xcn-page .protect{
  position:relative;
  overflow:hidden;
  background:var(--white)!important;
  border:1px solid rgba(255,255,255,.85)!important;
  border-radius:22px!important;
  padding:19px 22px 19px 25px!important;
  box-shadow:var(--shadow-soft)!important;
}
.xcn-page .protect:before{
  content:"";
  position:absolute;left:0;top:16px;bottom:16px;width:5px;border-radius:0 99px 99px 0;
  background:linear-gradient(180deg,var(--pink),var(--purple));
}
.xcn-page .protect .t1{
  color:#252334!important;
  font-size:1.05rem!important;
  line-height:1.45!important;
  font-weight:900!important;
  margin:0 0 7px!important;
}
.xcn-page .protect .t2{
  color:#666477!important;
  font-size:.98rem!important;
  line-height:1.8!important;
}

/* APP = primary CTA */
.xcn-page .app-download-area{padding:14px 0 0!important;text-align:center!important}
.xcn-page .app-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  min-height:64px!important;
  padding:15px 24px!important;
  border-radius:19px!important;
  background:linear-gradient(105deg,var(--pink) 0%,var(--purple) 100%)!important;
  color:#fff!important;
  font-size:1.12rem!important;
  line-height:1.3!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 15px 34px rgba(165,137,245,.24)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.xcn-page .app-btn:after{content:"›";font-size:1.7rem;line-height:1;margin-left:12px;transform:translateY(-1px)}
.xcn-page .app-btn:hover{transform:translateY(-2px)!important;filter:saturate(1.05);box-shadow:0 19px 42px rgba(165,137,245,.30)!important}

/* Store cards: always balanced 3-up on desktop, no awkward 2+1 */
.xcn-page .shop-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:13px!important;
  padding:13px 0 0!important;
  margin:0!important;
}
.xcn-page .shop{
  position:relative;
  overflow:hidden;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:92px!important;
  padding:18px 42px 18px 18px!important;
  border-radius:21px!important;
  color:#fff!important;
  font-size:1.02rem!important;
  line-height:1.35!important;
  font-weight:900!important;
  text-align:center!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 14px 30px rgba(52,46,80,.12)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.xcn-page .shop:before{
  content:"";position:absolute;left:-24px;top:-36px;width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.13)
}
.xcn-page .shop:after{
  content:"›";position:absolute;right:18px;top:50%;transform:translateY(-53%);font-size:1.7rem;font-weight:500;color:rgba(255,255,255,.92)
}
.xcn-page .shop:hover{transform:translateY(-3px)!important;filter:saturate(1.04);box-shadow:0 18px 38px rgba(52,46,80,.17)!important}

/* Share */
.xcn-page .tools{display:flex!important;justify-content:center!important;padding:12px 0 0!important}
.xcn-page .tool{
  appearance:none!important;-webkit-appearance:none!important;
  min-width:150px!important;
  min-height:42px!important;
  padding:9px 18px!important;
  background:rgba(255,255,255,.88)!important;
  color:#393647!important;
  border:1px solid rgba(53,48,77,.08)!important;
  border-radius:999px!important;
  box-shadow:0 8px 22px rgba(59,48,91,.07)!important;
  font-size:.92rem!important;
  line-height:1.3!important;
  font-weight:800!important;
  cursor:pointer!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.xcn-page .tool:hover{background:#fff!important;transform:translateY(-1px)}

/* Notice */
.xcn-page .notice{
  margin:13px 0 0!important;
  padding:12px 18px!important;
  background:linear-gradient(180deg,#fffaf0,#fff7e5)!important;
  color:#9b6500!important;
  border:1px solid #ffe2a9!important;
  border-radius:16px!important;
  text-align:center!important;
  font-size:.92rem!important;
  line-height:1.5!important;
  font-weight:900!important;
  box-shadow:0 7px 18px rgba(170,121,16,.05)!important;
}

/* Contacts */
.xcn-page .line-contact{padding:13px 0 0!important}
.xcn-page .contacts{padding:10px 0 0!important}
.xcn-page .cgrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.xcn-page .cbtn{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:72px!important;
  padding:13px 15px!important;
  background:var(--white)!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:19px!important;
  box-shadow:var(--shadow-soft)!important;
}
.xcn-page .cleft{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}
.xcn-page .cicon{
  width:42px!important;height:42px!important;flex:0 0 42px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:13px!important;
  font-size:1.08rem!important;
  background:linear-gradient(135deg,rgba(255,143,177,.17),rgba(165,137,245,.15))!important;
  border:1px solid rgba(68,61,88,.05)!important;
}
.xcn-page .ctext{min-width:0!important}
.xcn-page .ctext b{display:block!important;color:#282535!important;font-size:.95rem!important;line-height:1.35!important;font-weight:900!important}
.xcn-page .ctext span{
  display:block!important;margin-top:4px!important;color:#777486!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  font-size:.82rem!important;line-height:1.3!important;font-weight:800!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.xcn-page .actions{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.xcn-page .action{
  appearance:none!important;-webkit-appearance:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  min-height:34px!important;padding:7px 10px!important;
  border-radius:10px!important;
  border:0!important;
  background:linear-gradient(105deg,var(--pink),var(--purple))!important;
  color:#fff!important;
  font-size:.78rem!important;line-height:1.2!important;font-weight:900!important;
  cursor:pointer!important;white-space:nowrap!important;text-transform:none!important;letter-spacing:0!important;
}
.xcn-page .action.ghost{background:#fff!important;color:#3e3a4c!important;border:1px solid rgba(53,48,77,.10)!important}
.xcn-page .action:hover{filter:brightness(.98);transform:translateY(-1px)}

/* Guarantees */
.xcn-page .guarantee{padding:18px 0 0!important}
.xcn-page .guarantee h2{
  margin:0 0 11px!important;
  color:#2b2837!important;
  font-size:1rem!important;line-height:1.4!important;font-weight:900!important;
  text-align:left!important;letter-spacing:.02em!important;text-transform:none!important;
}
.xcn-page .ggrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:11px!important}
.xcn-page .gcard{
  min-height:146px!important;
  padding:18px 15px!important;
  background:var(--white)!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:20px!important;
  box-shadow:var(--shadow-soft)!important;
  text-align:left!important;
}
.xcn-page .gicon{
  width:45px!important;height:45px!important;margin:0 0 12px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:14px!important;font-size:1.15rem!important;
  background:linear-gradient(135deg,rgba(0,194,168,.13),rgba(255,143,177,.14))!important;
  border:1px solid rgba(53,48,77,.05)!important;
}
.xcn-page .gcard h3{margin:0!important;color:#282535!important;font-size:.95rem!important;line-height:1.35!important;font-weight:900!important;text-transform:none!important;letter-spacing:0!important}
.xcn-page .gcard p{margin:6px 0 0!important;color:#777486!important;font-size:.84rem!important;line-height:1.55!important}

/* Info */
.xcn-page .info{
  margin:12px 0 0!important;
  padding:15px 17px!important;
  background:rgba(255,255,255,.74)!important;
  border:1px solid rgba(255,143,177,.18)!important;
  border-radius:18px!important;
  color:#686476!important;
  font-size:.86rem!important;line-height:1.65!important;
  box-shadow:0 8px 24px rgba(59,48,91,.05)!important;
}
.xcn-page .info p{margin:2px 0!important}
.xcn-page .warning{
  margin-top:8px!important;padding:8px 10px!important;
  border:0!important;border-left:4px solid var(--warn)!important;border-radius:8px!important;
  background:rgba(231,76,60,.055)!important;color:#68413d!important;
}

.xcn-page footer{
  display:block!important;
  padding:16px 4px 0!important;
  background:transparent!important;border:0!important;
  text-align:center!important;color:#8c8998!important;
  font-size:.8rem!important;line-height:1.4!important;
}
.xcn-page footer p{margin:0!important;padding:0!important;color:inherit!important}

.xcn-page .toast{
  position:fixed!important;left:50%!important;bottom:calc(18px + var(--safe))!important;
  transform:translateX(-50%)!important;z-index:999999!important;
  padding:10px 14px!important;border-radius:12px!important;
  background:#252334!important;color:#fff!important;font-size:.9rem!important;
  box-shadow:0 10px 30px rgba(0,0,0,.18)!important;
}
.xcn-page .toast[hidden]{display:none!important}
.xcn-page :focus-visible{outline:3px solid rgba(165,137,245,.35)!important;outline-offset:3px!important}

/* Tablet: keep 3 store entries as long as they still fit */
@media(max-width:700px){
  .xcn-page{padding:18px 12px 26px!important}
  .xcn-page header{min-height:96px!important;border-radius:23px!important;padding:22px 18px!important}
  .xcn-page header h1{font-size:1.7rem!important}
  .xcn-page .shop-grid{grid-template-columns:1fr!important}
  .xcn-page .shop{min-height:70px!important}
  .xcn-page .cgrid{grid-template-columns:1fr!important}
  .xcn-page .ggrid{grid-template-columns:1fr!important}
  .xcn-page .gcard{min-height:unset!important}
}
@media(max-width:520px){
  .xcn-page{padding:10px 9px 22px!important}
  .xcn-page header{min-height:86px!important;border-radius:20px!important}
  .xcn-page header h1{font-size:1.52rem!important}
  .xcn-page .protect{padding:16px 15px 16px 19px!important;border-radius:18px!important}
  .xcn-page .protect .t1{font-size:.96rem!important}
  .xcn-page .protect .t2{font-size:.90rem!important;line-height:1.7!important}
  .xcn-page .app-btn{min-height:58px!important;border-radius:17px!important;font-size:1.02rem!important}
  .xcn-page .shop{padding:16px 40px 16px 15px!important;border-radius:18px!important;font-size:.98rem!important}
  .xcn-page .cbtn{align-items:flex-start!important;flex-direction:column!important}
  .xcn-page .actions{width:100%!important;justify-content:flex-start!important}
  .xcn-page .action{flex:0 0 auto!important}
}


/* v1.4 fallback. The same critical rule is also rendered inline by the shortcode. */
.xcn-page .xcn-store-grid-v140{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:14px!important;
  width:100%!important;
  margin:0!important;
  padding:13px 0 0!important;
}
.xcn-page .xcn-store-grid-v140 > .xcn-store-card-v140{
  display:flex!important;
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  align-self:stretch!important;
}
@media (max-width:768px) and (min-width:521px){
  .xcn-page .xcn-store-grid-v140{flex-wrap:wrap!important}
  .xcn-page .xcn-store-grid-v140 > .xcn-store-card-v140{flex:0 0 calc(50% - 7px)!important;width:calc(50% - 7px)!important}
  .xcn-page .xcn-store-grid-v140 > .xcn-store-card-v140:nth-child(3){flex-basis:100%!important;width:100%!important}
}
@media (max-width:520px){
  .xcn-page .xcn-store-grid-v140{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important}
  .xcn-page .xcn-store-grid-v140 > .xcn-store-card-v140{flex:0 0 auto!important;width:100%!important}
}
