/* =========================================================
   全域共用 CSS
   ========================================================= */
html,body{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  background:#050407;
  overflow-x:hidden;
}
*,*::before,*::after{
  box-sizing:border-box;
}
body,main,.elementor,.elementor-11,.elementor-section-wrap,.elementor-section,.elementor-container,.elementor-widget,.elementor-widget-container,.e-con,.e-con-inner,.wp-site-blocks,.has-global-padding,.is-layout-constrained,.is-layout-flow{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  padding-left:0;
  padding-right:0;
}
.elementor-11>.e-con,.elementor-11>.elementor-section-wrap>.e-con,.elementor-section,.elementor-widget,.elementor-widget-container{
  margin-top:0;
  margin-bottom:0;
  padding-top:0;
  padding-bottom:0;
}
body{
  padding-bottom:92px;
  color:#f7f3ff;
  font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;
}
@media (max-width:760px){
body{
  padding-bottom:84px;
}
}
.elements-phone-cta{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 16px;
  border:1px solid rgba(215,157,255,.72);
  border-radius:999px;
  background:linear-gradient(135deg,#7f2fc2,#351249 60%,#14091d);
  box-shadow:0 0 24px rgba(173,85,255,.26),inset 0 1px 0 rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.02em;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.elements-phone-cta:hover{
  border-color:#d49cff;
  box-shadow:0 0 24px rgba(173,85,255,.36);
  color:#ffffff;
  transform:translateY(-1px);
}
.elements-phone-icon{
  color:#d8b4ff;
  font-size:18px;
  text-shadow:0 0 10px rgba(173,85,255,.75);
}
.elements-phone-text{
  font-size:clamp(12px,1.1vw,15px);
  white-space:nowrap;
}
@media (max-width:600px){
.elements-phone-cta{
  grid-column:1 / -1;
  width:100%;
  order:3;
}
}
*{
  box-sizing:border-box;
}
img:is([sizes=auto i],[sizes^="auto," i]){
  contain-intrinsic-size:3000px 1500px;
}
.hostinger-ai-fade-up{
  opacity:0;
}

/* =========================================================
   頁首導覽 CSS
   ========================================================= */
.elements-site-header{
  --elements-purple:#ad55ff;
  --elements-purple-dark:#4d1b73;
  --elements-silver:#eef0f6;
  --elements-bg:#050407;
  position:sticky;
  top:0;
  z-index:9999;
  width:100%;
  background:radial-gradient( circle at 18% 0%,rgba(173,85,255,.14),transparent 34% ),linear-gradient( 180deg,rgba(12,7,18,.98),rgba(4,3,6,.98) );
  border-bottom:1px solid rgba(173,85,255,.34);
  box-shadow:0 14px 38px rgba(0,0,0,.58),0 0 24px rgba(173,85,255,.08);
  font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;
}
.elements-header-inner{
  width:min(1180px,100%);
  min-height:82px;
  margin:0 auto;
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.elements-header-brand{
  display:flex;
  align-items:center;
  gap:13px;
  color:#fff;
  text-decoration:none;
  min-width:0;
}
.elements-header-logo{
  width:56px;
  height:56px;
  flex:0 0 56px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(205,138,255,.65);
  box-shadow:0 0 22px rgba(173,85,255,.34),inset 0 1px 0 rgba(255,255,255,.08);
  background:#0a0610;
}
.elements-header-logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.elements-header-name{
  line-height:1.15;
  min-width:0;
}
.elements-header-name strong{
  display:block;
  color:#fff;
  font-size:21px;
  font-weight:1000;
  letter-spacing:.02em;
  white-space:nowrap;
}
.elements-header-name small{
  display:block;
  margin-top:5px;
  color:#bd93df;
  font-size:11px;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.elements-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.elements-header-phone{
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
  font-weight:1000;
  font-size:15px;
  border:1px solid rgba(205,138,255,.66);
  background:linear-gradient( 135deg,rgba(133,44,191,.46),rgba(27,10,40,.92) );
  box-shadow:0 0 22px rgba(173,85,255,.22),inset 0 1px 0 rgba(255,255,255,.08);
  transition:.2s ease;
}
.elements-header-phone:hover{
  border-color:#dcabff;
  box-shadow:0 0 28px rgba(173,85,255,.38);
  transform:translateY(-1px);
}
.elements-menu-button{
  width:50px;
  height:50px;
  padding:0;
  border-radius:16px;
  border:1px solid rgba(188,110,255,.46);
  background:#0c0810;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
}
.elements-menu-button span{
  width:22px;
  height:2px;
  border-radius:99px;
  background:#eee8f5;
  transition:.25s ease;
  box-shadow:0 0 7px rgba(173,85,255,.45);
}
.elements-menu-button.is-open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.elements-menu-button.is-open span:nth-child(2){
  opacity:0;
}
.elements-menu-button.is-open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}
.elements-header-nav{
  display:none;
  width:min( 1180px,calc(100% - 28px) );
  margin:0 auto 14px;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(183,94,248,.36);
  background:linear-gradient( 180deg,rgba(20,10,30,.98),rgba(6,4,8,.99) );
  box-shadow:0 22px 50px rgba(0,0,0,.55),inset 0 0 25px rgba(144,48,211,.08);
}
.elements-header-nav.is-open{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.elements-header-nav a{
  min-height:58px;
  padding:10px 12px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#e9ddf5;
  text-decoration:none;
  font-weight:900;
  font-size:14px;
  border:1px solid rgba(178,102,231,.20);
  background:rgba(255,255,255,.025);
  transition:.2s ease;
}
.elements-header-nav a:hover{
  color:#fff;
  border-color:rgba(201,132,255,.62);
  background:rgba(126,42,177,.20);
  transform:translateY(-1px);
}
@media (max-width:720px){
.elements-header-inner{
  min-height:72px;
  padding:10px 13px;
}
.elements-header-logo{
  width:48px;
  height:48px;
  flex-basis:48px;
  border-radius:15px;
}
.elements-header-name strong{
  font-size:16px;
}
.elements-header-name small{
  font-size:9px;
}
.elements-header-phone{
  display:none;
}
.elements-header-nav.is-open{
  grid-template-columns:1fr;
}
.elements-header-nav a{
  min-height:52px;
}
}

/* =========================================================
   Hero 主視覺 CSS
   ========================================================= */
.elements-hero-title-main,.elements-hero-title-desc{
  display:inline;
  margin:0;
  padding:0;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}
.elementor-element-de7373b,.elementor-element-de7373b>.elementor-element,.elementor-element-de7373b .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.elements-hero-widget{
  --purple:#ad55ff;
  --purple-deep:#6f2bb8;
  --silver:#edf0f6;
  --muted:#cfc5db;
  --line:rgba(192,108,255,.38);
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(22px,4vw,48px);
  border-radius:34px;
  border:1px solid rgba(203,137,255,.58);
  background:radial-gradient(circle at 82% 18%,rgba(150,53,232,.24),transparent 30%),radial-gradient(circle at 12% 85%,rgba(109,30,166,.20),transparent 30%),linear-gradient(145deg,#050407 0%,#0a0710 48%,#030204 100%);
  box-shadow:0 30px 90px rgba(0,0,0,.65),inset 0 0 70px rgba(139,51,207,.08);
  position:relative;
  overflow:hidden;
  background-image:linear-gradient(180deg,rgba(3,2,6,.28) 0%,rgba(5,2,9,.42) 42%,rgba(5,2,9,.70) 100%),
    url("https://taichungclub.pro/rock-ktv/rock-ktv-tc-2.webp") !important;
  background-size:cover,cover !important;
  background-position:center,right center !important;
  background-repeat:no-repeat,no-repeat !important;
  background-color:#050407 !important;
}
.elements-hero-widget:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.015) 50%,transparent 50.2%),linear-gradient(0deg,transparent 0 49.8%,rgba(255,255,255,.012) 50%,transparent 50.2%);
  background-size:78px 78px;
  opacity:.55;
}
.elements-hero-inner{
  position:relative;
  z-index:2;
}
.elements-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  color:var(--purple);
  font-size:clamp(13px,1.2vw,18px);
  font-weight:1000;
  letter-spacing:.14em;
}
.elements-hero-kicker:before{
  content:"";
  width:46px;
  height:2px;
  background:linear-gradient(90deg,var(--purple),transparent);
  box-shadow:0 0 14px var(--purple);
}
.elements-hero-title{
  margin:0;
  font-size:clamp(34px,6vw,82px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:1000;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.94);
  background:linear-gradient(180deg,#fff,#9397a3 45%,#f7f8fb 58%,#747881);
  -webkit-background-clip:text;
  background-clip:text;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));
}
.elements-hero-subtitle{
  margin:18px 0 0;
  color:#e5d8f5;
  font-size:clamp(19px,2.3vw,34px);
  line-height:1.35;
  font-weight:900;
}
.elements-hero-lead{
  margin:24px 0 0;
  padding:20px 22px;
  border-radius:22px;
  border:1px solid rgba(181,92,255,.42) !important;
  background:linear-gradient(90deg,rgba(10,5,16,.94) 0%,rgba(12,6,20,.86) 48%,rgba(11,5,18,.58) 76%,rgba(10,4,15,.30) 100%) !important;
  color:#d9d1df;
  font-size:clamp(15px,1.45vw,20px);
  line-height:1.9;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 38px rgba(0,0,0,.26) !important;
}
.elements-accent-primary{
  color:#d79cff;
  font-weight:1000;
  text-shadow:0 0 14px rgba(173,85,255,.38);
}
.elements-accent-secondary{
  color:#ffffff;
  font-weight:1000;
  background:linear-gradient(90deg,#8b3dd3,#c77fff);
  padding:2px 8px;
  border-radius:8px;
  box-shadow:0 0 16px rgba(173,85,255,.24);
}
.elements-price-panel{
  margin-top:22px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  border-radius:22px;
  border:1px solid rgba(186,99,255,.42) !important;
  background:linear-gradient(90deg,rgba(9,5,15,.93) 0%,rgba(11,6,18,.82) 48%,rgba(10,5,17,.54) 76%,rgba(8,4,13,.26) 100%) !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 16px 34px rgba(0,0,0,.24) !important;
}
.elements-price-label{
  color:#b994d7;
  font-size:14px;
  font-weight:900;
  letter-spacing:.12em;
}
.elements-price-main{
  color:#fff;
  font-size:clamp(28px,4vw,54px);
  font-weight:1000;
  line-height:1;
}
.elements-price-main strong{
  color:var(--purple);
  text-shadow:0 0 18px rgba(173,85,255,.48);
}
.elements-price-note{
  margin-top:8px;
  color:#cfc5d8;
  font-size:15px;
}
.elements-meta{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  color:#aFA5ba;
  font-size:13px;
  line-height:1.7;
}
.elements-proof{
  margin-top:18px;
  padding:16px 18px;
  border-left:3px solid #ad55ff;
  background:linear-gradient(90deg,rgba(73,24,108,.32) 0%,rgba(58,19,88,.22) 55%,rgba(37,11,58,.08) 100%) !important;
  color:#e3d8ec;
  line-height:1.75;
  font-weight:800;
}
.elements-actions{
  margin-top:24px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:12px;
}
.elements-phone-cta,.elements-store-cta{
  min-height:58px;
  padding:0 20px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  font-weight:1000;
  font-size:clamp(15px,1.5vw,19px);
  transition:.2s ease;
}
.elements-store-cta{
  color:#101014;
  border:1px solid rgba(255,255,255,.65);
  background:linear-gradient(180deg,#f7f7fa,#aeb2bc);
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.elements-phone-cta:hover,.elements-store-cta:hover{
  transform:translateY(-2px);
}
.elements-stats{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.elements-stat{
  min-height:112px;
  padding:18px 14px;
  border-radius:20px;
  border:1px solid rgba(191,109,255,.28);
  background:linear-gradient(180deg,rgba(17,10,24,.92),rgba(6,4,8,.95));
  text-align:center;
}
.elements-stat b{
  display:block;
  color:#fff;
  font-size:clamp(22px,3vw,38px);
  line-height:1.1;
}
.elements-stat span{
  display:block;
  margin-top:8px;
  color:#bda9cb;
  font-size:14px;
  font-weight:800;
}
@media (max-width:720px){
.elements-hero-widget{
  padding:22px 16px;
  border-radius:24px;
}
.elements-price-panel{
  grid-template-columns:1fr;
  gap:8px;
}
.elements-actions{
  grid-template-columns:1fr;
}
.elements-stats{
  grid-template-columns:1fr;
}
.elements-stat{
  min-height:88px;
}
}
@media (max-width:767px){
.elements-hero-widget{
  background-image:linear-gradient(180deg,rgba(3,2,6,.24) 0%,rgba(5,2,9,.40) 42%,rgba(5,2,9,.70) 100%),
      url("https://taichungclub.pro/rock-ktv/rock-ktv-tc-1.webp") !important;
  background-size:100% 100%,auto 70% !important;
  background-position:center,right top !important;
  background-repeat:no-repeat,no-repeat !important;
  background-color:#050407 !important;
}
.elements-hero-lead{
  background:linear-gradient(90deg,rgba(8,4,13,.92) 0%,rgba(10,5,17,.78) 55%,rgba(8,4,13,.38) 82%,rgba(8,4,13,.18) 100%) !important;
}
.elements-price-panel{
  background:linear-gradient(90deg,rgba(8,4,13,.92) 0%,rgba(10,5,17,.76) 55%,rgba(8,4,13,.34) 82%,rgba(8,4,13,.16) 100%) !important;
}
}

/* =========================================================
   行內人眉角 CSS
   ========================================================= */
.elements-insider-visual-title{
  margin:0;
  color:inherit;
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}
.elements-insider-visual-title>span,.elements-insider-semantic-h2{
  display:inline;
  margin:0;
  padding:0;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}
.elements-intro .elements-insider-visual-title{
  margin:0;
  color:#fff;
}
.elements-intro .elements-insider-semantic-h2{
  display:inline;
}
.elements-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:18px;
  padding:clamp(20px,2.5vw,28px);
  border:1px solid rgba(192,106,255,.38);
  border-radius:24px;
  background:linear-gradient( 180deg,rgba(14,9,19,.96),rgba(5,4,7,.96) );
  box-shadow:inset 0 0 26px rgba(146,47,223,.08),0 12px 30px rgba(0,0,0,.20);
}
.elements-card-main-link{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  width:100%;
  height:100%;
  color:inherit;
  text-decoration:none;
}
.elements-card-main-link,.elements-card-main-link:hover,.elements-card-main-link:focus,.elements-card-main-link:visited{
  color:inherit;
  text-decoration:none;
}
.elements-card-main-link>div:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.elements-card-arrow{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  width:100%;
  margin-top:auto;
  padding-top:18px;
  color:#e5b7ff;
  font-size:13px;
  line-height:1.5;
  font-weight:900;
  letter-spacing:.04em;
  transition:color .2s ease,transform .2s ease;
}
.elements-card-arrow svg{
  display:block;
  width:18px;
  height:18px;
  transition:transform .2s ease;
}
.elements-card:hover .elements-card-arrow{
  color:#fff;
}
.elements-card:hover .elements-card-arrow svg{
  transform:translateX(4px);
}
.elements-card-main-link:focus-visible{
  outline:3px solid rgba(229,181,255,.72);
  outline-offset:-4px;
  border-radius:inherit;
}
@media (max-width:767px){
.elements-card-main-link{
  grid-template-columns:1fr;
  gap:12px;
}
.elements-card-arrow{
  justify-content:flex-start;
  padding-top:14px;
}
}
.elements-widget{
  --elements-purple:#ad55ff;
  --elements-purple-light:#d7adff;
  --elements-text:#f7f3ff;
  --elements-muted:#c9bdd9;
  --elements-line:rgba(191,109,255,.42);
  width:100%;
  max-width:100%;
  margin:36px auto;
  position:relative;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(202,137,255,.58);
  background:radial-gradient(circle at 78% 12%,rgba(131,38,216,.28),transparent 29%),radial-gradient(circle at 10% 88%,rgba(101,22,156,.18),transparent 25%),linear-gradient(145deg,#050407 0%,#09070e 48%,#030204 100%);
  box-shadow:0 30px 90px rgba(0,0,0,.48),inset 0 0 70px rgba(139,51,207,.10);
  color:var(--elements-text);
  font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;
  isolation:isolate;
}
.elements-widget::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient( 90deg,transparent 0 49.8%,rgba(255,255,255,.018) 50%,transparent 50.2% ),linear-gradient( 0deg,transparent 0 49.8%,rgba(255,255,255,.014) 50%,transparent 50.2% );
  background-size:72px 72px;
  opacity:.45;
}
.elements-inner{
  width:100%;
  padding:clamp(22px,4vw,46px);
}
.elements-hero{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);
  align-items:stretch;
  gap:clamp(18px,3vw,34px);
  margin-bottom:clamp(20px,3vw,32px);
}
.elements-brand{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:clamp(8px,2vw,20px) 0;
}
.elements-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--elements-purple);
  font-size:clamp(12px,1.2vw,18px);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.elements-kicker::before{
  content:"";
  width:44px;
  height:2px;
  flex:0 0 44px;
  background:linear-gradient(90deg,var(--elements-purple),transparent);
  box-shadow:0 0 14px var(--elements-purple);
}
.elements-title{
  margin:12px 0 14px;
  line-height:.94;
  font-weight:1000;
  letter-spacing:-.04em;
}
.elements-title .rock{
  display:block;
  color:var(--elements-purple);
  font-size:clamp(36px,5vw,68px);
  text-shadow:0 0 10px rgba(173,85,255,.75),0 0 28px rgba(173,85,255,.34);
}
.elements-title .taichung{
  display:block;
  color:transparent;
  font-size:clamp(46px,7vw,96px);
  -webkit-text-stroke:1px rgba(255,255,255,.95);
  background:linear-gradient( 180deg,#ffffff,#8c8f98 44%,#f4f4f7 55%,#6f7179 );
  -webkit-background-clip:text;
  background-clip:text;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.55));
}
.elements-subtitle{
  margin:0;
  color:#d7c4eb;
  font-size:clamp(14px,1.45vw,21px);
  line-height:1.65;
  font-weight:800;
}
.elements-visual{
  min-height:270px;
  position:relative;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(188,101,255,.38);
  background:linear-gradient(180deg,rgba(17,9,28,.12),rgba(3,2,5,.80)),radial-gradient(circle at 72% 22%,rgba(179,72,255,.30),transparent 35%),linear-gradient(135deg,#17101f,#050407 60%);
  box-shadow:inset 0 0 36px rgba(162,60,236,.12);
}
.elements-visual::before,.elements-visual::after{
  content:"";
  position:absolute;
  left:9%;
  right:9%;
  height:2px;
  background:linear-gradient( 90deg,transparent,var(--elements-purple),transparent );
  box-shadow:0 0 15px var(--elements-purple),0 0 34px var(--elements-purple);
}
.elements-visual::before{
  top:31%;
}
.elements-visual::after{
  top:67%;
}
.elements-stage{
  position:absolute;
  inset:12%;
  border:1px solid rgba(193,117,255,.22);
  border-radius:22px;
  transform:perspective(500px) rotateX(2deg);
}
.elements-stage::before{
  content:"VIP NIGHT";
  position:absolute;
  right:8%;
  bottom:9%;
  color:var(--elements-purple);
  font-family:Georgia,serif;
  font-size:clamp(21px,2.5vw,34px);
  font-style:italic;
  text-shadow:0 0 14px var(--elements-purple);
}
.elements-stage::after{
  content:"VIP NIGHT";
  position:absolute;
  left:8%;
  top:9%;
  color:#e4c7ff;
  font-size:clamp(42px,5vw,72px);
  text-shadow:0 0 18px var(--elements-purple);
}
.elements-intro{
  margin-bottom:18px;
  padding:clamp(20px,3vw,30px);
  border:1px solid var(--elements-line);
  border-radius:24px;
  background:linear-gradient( 180deg,rgba(24,12,35,.86),rgba(8,5,11,.90) );
  box-shadow:inset 0 0 28px rgba(150,58,221,.07);
}
.elements-intro h2{
  margin:0 0 12px;
  color:#f1e7ff;
  font-size:clamp(24px,3vw,36px);
  line-height:1.4;
  font-weight:900;
  letter-spacing:.01em;
}
.elements-intro p{
  margin:0;
  color:#d5ccdf;
  font-size:clamp(15px,1.45vw,18px);
  line-height:1.9;
}
.elements-content{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.elements-card:last-child{
  grid-column:1 / -1;
}
.elements-no{
  min-width:58px;
  color:transparent;
  font-size:clamp(38px,4.4vw,62px);
  line-height:.9;
  font-weight:900;
  -webkit-text-stroke:1px var(--elements-purple);
  text-shadow:0 0 12px rgba(173,85,255,.55);
}
.elements-card h3{
  margin:0 0 10px;
  color:#eadbff;
  font-size:clamp(19px,2vw,25px);
  line-height:1.45;
  font-weight:900;
}
.elements-card p{
  margin:0;
  color:#cec4d6;
  font-size:15px;
  line-height:1.85;
}
.elements-price-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:16px;
}
.elements-price-item{
  min-width:0;
  padding:11px 7px;
  border:1px solid rgba(197,116,255,.30);
  border-radius:13px;
  background:rgba(70,26,101,.16);
  text-align:center;
}
.elements-price-item b{
  display:block;
  color:#ffffff;
  font-size:14px;
  line-height:1.35;
}
.elements-price-item span{
  display:block;
  margin-top:4px;
  color:#cfa9f4;
  font-size:13px;
  line-height:1.35;
}
.elements-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(202,128,255,.28);
}
.elements-logo{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:#f5efff;
  font-size:clamp(13px,1.2vw,17px);
  font-weight:1000;
}
.elements-logo-mark{
  width:48px;
  min-width:48px;
  aspect-ratio:1;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid rgba(205,138,255,.62);
  border-radius:16px;
  background:radial-gradient(circle at 30% 20%,rgba(188,98,255,.38),transparent 42%),linear-gradient(145deg,#1b1027,#060408);
  box-shadow:0 0 22px rgba(173,85,255,.34),inset 0 1px 0 rgba(255,255,255,.08);
}
.elements-logo-mark::before{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
}
.elements-logo-note{
  position:relative;
  z-index:2;
  color:#ead7ff;
  font-size:27px;
  line-height:1;
  text-shadow:0 0 8px rgba(255,255,255,.55),0 0 16px rgba(173,85,255,.85),0 0 28px rgba(173,85,255,.48);
}
.elements-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.elements-tag{
  padding:8px 13px;
  border:1px solid rgba(196,118,255,.30);
  border-radius:999px;
  background:rgba(90,31,130,.14);
  color:#dfc8f5;
  font-size:13px;
  white-space:nowrap;
}
@media (max-width:900px){
.elements-hero{
  grid-template-columns:1fr;
}
.elements-visual{
  min-height:230px;
}
.elements-content{
  grid-template-columns:1fr;
}
.elements-card:last-child{
  grid-column:auto;
}
.elements-footer{
  align-items:flex-start;
  flex-direction:column;
}
.elements-tags{
  justify-content:flex-start;
}
}
@media (max-width:600px){
.elements-widget{
  width:100%;
  max-width:100%;
  margin:24px auto;
  border-radius:24px;
}
.elements-inner{
  padding:18px 14px;
}
.elements-hero{
  gap:16px;
  margin-bottom:18px;
}
.elements-brand{
  text-align:center;
}
.elements-kicker{
  justify-content:center;
}
.elements-title{
  margin:10px 0 12px;
}
.elements-title .rock{
  font-size:40px;
}
.elements-title .taichung{
  font-size:51px;
}
.elements-subtitle{
  font-size:15px;
}
.elements-visual{
  min-height:190px;
  border-radius:20px;
}
.elements-intro{
  padding:20px 16px;
  border-radius:20px;
}
.elements-intro h2{
  font-size:23px;
  line-height:1.45;
}
.elements-intro p{
  font-size:15px;
  line-height:1.85;
}
.elements-content{
  gap:13px;
}
.elements-card{
  grid-template-columns:1fr;
  gap:12px;
  padding:19px 16px;
  border-radius:20px;
}
.elements-no{
  min-width:0;
  font-size:44px;
}
.elements-card h3{
  font-size:20px;
}
.elements-card p{
  font-size:15px;
  line-height:1.8;
}
.elements-price-grid{
  grid-template-columns:1fr;
}
.elements-price-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  text-align:left;
}
.elements-price-item span{
  margin-top:0;
}
.elements-logo{
  width:100%;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
}
.elements-tags{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.elements-tag{
  padding:8px 4px;
  font-size:11px;
  text-align:center;
}
}
/* =========================
   全頁電話圖示尺寸保險鎖
   ========================= */

/* 所有常見電話圖示容器 */
.elements-phone-icon,
.elements-floating-phone-icon,
.elements-store-guide-cta-phone-icon,
.elements-girl-price__cta-icon{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  max-width:38px !important;
  max-height:38px !important;
  flex:0 0 38px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:0 !important;
  margin:0 !important;

  border-radius:50% !important;

  font-size:18px !important;
  line-height:1 !important;

  transform:none !important;
  scale:1 !important;

  overflow:hidden !important;
}

/* 圖示內 SVG 一律限制 */
.elements-phone-icon svg,
.elements-floating-phone-icon svg,
.elements-store-guide-cta-phone-icon svg,
.elements-girl-price__cta-icon svg{
  display:block !important;

  width:20px !important;
  height:20px !important;
  max-width:20px !important;
  max-height:20px !important;

  flex:0 0 20px !important;

  transform:none !important;
}

/* 避免圖片型電話 icon 爆版 */
.elements-phone-icon img,
.elements-floating-phone-icon img,
.elements-store-guide-cta-phone-icon img,
.elements-girl-price__cta-icon img{
  display:block !important;

  width:20px !important;
  height:20px !important;

  max-width:20px !important;
  max-height:20px !important;

  object-fit:contain !important;
}

/* 手機再縮一點 */
@media(max-width:767px){

  .elements-phone-icon,
  .elements-floating-phone-icon,
  .elements-store-guide-cta-phone-icon,
  .elements-girl-price__cta-icon{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    flex-basis:34px !important;

    font-size:17px !important;
  }

  .elements-phone-icon svg,
  .elements-floating-phone-icon svg,
  .elements-store-guide-cta-phone-icon svg,
  .elements-girl-price__cta-icon svg,
  .elements-phone-icon img,
  .elements-floating-phone-icon img,
  .elements-store-guide-cta-phone-icon img,
  .elements-girl-price__cta-icon img{
    width:18px !important;
    height:18px !important;
    max-width:18px !important;
    max-height:18px !important;
  }
}