@import url('https://fonts.googleapis.com/css2?family=Pretendard:wght@400;500;600;700;800;900&family=Caveat:wght@700&display=swap');

/* =========================
   MAGIC LIGHT PAGE BASE
========================= */

.magiclight-page{
  background:
    radial-gradient(circle at 50% 0%, rgba(0, 234, 255, 0.12), transparent 28%),
    radial-gradient(circle at 100% 20%, rgba(0, 255, 133, 0.08), transparent 24%),
    linear-gradient(180deg, #030406 0%, #05070c 26%, #020203 100%);
  color:#f5f8ff;
  overflow-x:hidden;
}

.magiclight-page section + section{
  margin-top:0;
}

.magiclight-page section{
  position:relative;
  padding:120px 0;
}

.magiclight-page .section-inner{
  width:90%;
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:2;
}

.magiclight-page .section-inner.narrow{
  max-width:900px;
  text-align:center;
}

.magiclight-page .section-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  margin-bottom:18px;
  border-radius:999px;
  border:1px solid rgba(0,234,255,0.28);
  background:rgba(255,255,255,0.04);
  color:#7feaff;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  box-shadow:0 0 22px rgba(0,234,255,0.08);
}

.magiclight-page h2{
  margin:0 0 20px;
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1.12;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#ffffff;
}

.magiclight-page h2 span{
  color:#00ff85;
  text-shadow:0 0 16px rgba(0,255,133,0.18);
}

.magiclight-page .section-desc{
  margin:0 auto 18px;
  max-width:820px;
  font-size:1.06rem;
  line-height:1.95;
  color:rgba(255,255,255,0.78);
  word-break:keep-all;
}

.magiclight-page img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* =========================
   HERO
========================= */

.magiclight-page .magiclight-hero{
  min-height:100vh;
  padding:0;
  display:flex;
  align-items:center;
  overflow:visible;
}

.magiclight-page .hero-bg,
.magiclight-page .hero-overlay,
.magiclight-page .hero-noise{
  position:absolute;
  inset:0;
}

.magiclight-page .hero-bg{
  background:
    linear-gradient(90deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.36) 44%, rgba(0,0,0,0.6) 100%),
    url("../image/program/magiclight/magiclight-hero.webp");
  background-size:cover;
  background-position:center center;
  transform:scale(1);
}

.magiclight-page .hero-overlay{
  background:
    radial-gradient(circle at 30% 38%, rgba(0,238,255,0.14), transparent 18%),
    radial-gradient(circle at 68% 30%, rgba(130,92,255,0.14), transparent 22%),
    linear-gradient(to bottom, rgba(0,0,0,0.28), rgba(0,0,0,0.58));
  pointer-events:none;
}

.magiclight-page .hero-noise{
  opacity:0.18;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:4px 4px, 4px 4px;
  mix-blend-mode:soft-light;
  pointer-events:none;
}

.magiclight-page .hero-inner{
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:visible;
}

.magiclight-page .hero-text{
  max-width:1500px;
  padding-top:80px;
  overflow:visible;
}

/* 일반 h1은 브러시 타이틀이 아닐 때만 */
.magiclight-page .hero-text h1:not(.hero-title-brush){
  margin:0;
  font-size:clamp(3rem, 8vw, 6.6rem);
  line-height:0.94;
  font-weight:900;
  letter-spacing:-0.06em;
  color:#ffffff;
  text-transform:uppercase;
  text-shadow:
    0 0 18px rgba(255,255,255,0.06),
    0 0 40px rgba(0,234,255,0.08);
  max-width:1500px;
}

/* 브러시 타이틀 전용 */
.magiclight-page .hero-title-brush{
  display:inline-block;
  margin:0 0 30px;
  width:auto;
  max-width:none;
  padding:18px 30px 12px 6px;
  font-family:'Caveat', cursive;
  font-size:clamp(5.4rem, 10vw, 9.2rem);
  line-height:0.95;
  font-weight:700;
  letter-spacing:0.03em;
  color:#19f0ff;
  text-transform:uppercase;
  transform:rotate(-2deg) scaleX(1.06);
  transform-origin:left center;
  text-shadow:
    0 0 10px rgba(25,240,255,0.10),
    0 0 24px rgba(0,255,133,0.08);
  background:linear-gradient(90deg, #19ecff 0%, #00ff85 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  overflow:visible;
  white-space:normal;
}

.magiclight-page .hero-subtitle{
  margin:18px 0 22px;
  font-family:'Pretendard', sans-serif;
  font-size:clamp(1.5rem, 2.4vw, 2.1rem);
  line-height:1;
  font-weight:800;
  letter-spacing:0.14em;
  color:#00ff85;
  text-shadow:0 0 16px rgba(0,255,133,0.24);
}

.magiclight-page .hero-desc{
  margin-top:10px;
  max-width:520px;
  font-size:1.08rem;
  line-height:1.9;
  color:rgba(255,255,255,0.84);
  word-break:keep-all;
}

.magiclight-page .hero-scroll{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  z-index:3;
}

.magiclight-page .hero-scroll span{
  display:inline-block;
  color:rgba(255,255,255,0.6);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.28em;
}

/* =========================
   INTRO
========================= */

.magiclight-page .magiclight-intro{
  padding:110px 0 90px;
}

.magiclight-page .magiclight-intro::before{
  content:"";
  position:absolute;
  top:-80px;
  left:50%;
  transform:translateX(-50%);
  width:min(900px, 80vw);
  height:260px;
  background:radial-gradient(circle, rgba(0,234,255,0.12), transparent 65%);
  filter:blur(20px);
  pointer-events:none;
}

/* =========================
   VISUAL GRID
========================= */

.magiclight-page .magiclight-visual{
  padding-top:40px;
}

.magiclight-page .visual-grid{
  display:grid;
  grid-template-columns:1.2fr 0.8fr 0.8fr;
  gap:22px;
  align-items:stretch;
}

.magiclight-page .visual-card{
  position:relative;
  min-height:360px;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
  box-shadow:
    0 24px 60px rgba(0,0,0,0.34),
    inset 0 0 0 1px rgba(255,255,255,0.03);
}

.magiclight-page .visual-card.large{
  min-height:520px;
}

.magiclight-page .visual-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.2)),
    linear-gradient(135deg, rgba(0,234,255,0.08), transparent 40%, rgba(0,255,133,0.06) 100%);
  pointer-events:none;
}

.magiclight-page .visual-card img{
  transition:transform 0.6s ease;
}

.magiclight-page .visual-card:hover img{
  transform:scale(1.04);
}

/* =========================
   POINT
========================= */

.magiclight-page .magiclight-point{
  padding-top:120px;
}

.magiclight-page .point-head{
  text-align:center;
  margin-bottom:44px;
}

.magiclight-page .point-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.magiclight-page .point-card{
  position:relative;
  padding:30px 28px 28px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025));
  border:1px solid rgba(255,255,255,0.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:
    0 18px 40px rgba(0,0,0,0.22),
    inset 0 0 0 1px rgba(255,255,255,0.02);
  overflow:hidden;
   text-align: center;
}


.magiclight-page .point-card::before{
  content:"";
  position:absolute;
  top:-40%;
  right:-10%;
  width:180px;
  height:180px;
  background:radial-gradient(circle, rgba(0,234,255,0.12), transparent 70%);
  pointer-events:none;
}

.magiclight-page .point-number{
  display:inline-block;
  margin-bottom:16px;
  font-size:0.9rem;
  font-weight:800;
  color:#00eaff;
  letter-spacing:0.18em;
}

.magiclight-page .point-card h3{
  margin:0 0 14px;
  font-size:1.45rem;
  line-height:1.25;
  font-weight:800;
  color:#fff;
}

.magiclight-page .point-card p{
  margin:0;
  font-size:1rem;
  line-height:1.85;
  color:rgba(255,255,255,0.78);
  word-break:keep-all;
}

/* =========================
   QUOTE
========================= */

.magiclight-page .magiclight-quote{
  padding:130px 0;
}

.magiclight-page .magiclight-quote::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at center, rgba(0, 98, 255, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.22));
  pointer-events:none;
}

.magiclight-page .quote-brush{
  margin:0 0 26px;
  font-family:'Pretendard', sans-serif;
  font-size:clamp(3em, 3vw, 2.8rem);
  line-height:1.25;
  font-weight:800;
  letter-spacing:-0.03em;
  color:#23b8ff;
  text-shadow:0 0 18px rgba(35,184,255,0.22);
}

.magiclight-page .quote-desc{
  margin:0 auto;
  max-width:860px;
  font-size:1.06rem;
  line-height:2;
  color:rgba(255,255,255,0.8);
  word-break:keep-all;
}

/* =========================
   WIDE VISUAL
========================= */

.magiclight-page .magiclight-wide{
  padding:20px 0 80px;
}

.magiclight-page .wide-visual{
  width:90%;
  max-width:1320px;
  margin:0 auto;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 26px 70px rgba(0,0,0,0.34);
}

.magiclight-page .wide-visual img{
  width:100%;
  min-height:520px;
  object-fit:cover;
}

/* =========================
   RECOMMEND
========================= */

.magiclight-page .magiclight-recommend{
  padding-top:110px;
}

.magiclight-page .recommend-head{
  text-align:center;
  margin-bottom:44px;
}

.magiclight-page .recommend-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.magiclight-page .recommend-card{
  position:relative;
  padding:34px 30px;
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(0,234,255,0.08), rgba(255,255,255,0.03) 45%, rgba(0,255,133,0.06) 100%);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 18px 45px rgba(0,0,0,0.24),
    inset 0 0 0 1px rgba(255,255,255,0.02);

  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}

.magiclight-page .recommend-card h3{
  margin:0 0 14px;
  font-size:1.55rem;
  font-weight:800;
  color:#fff;
  text-align:center;
}

.magiclight-page .recommend-card p{
  margin:0;
  font-size:1rem;
  line-height:1.88;
  color:rgba(255,255,255,0.8);
  word-break:keep-all;
  text-align:center;
}

/* =========================
   CHECK
========================= */

.magiclight-page .magiclight-check{
  padding-top:120px;
}

.magiclight-page .check-head{
  text-align:center;
  margin-bottom:44px;
}

.magiclight-page .check-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.magiclight-page .check-card{
  padding:26px 22px;
  border-radius:24px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 14px 32px rgba(0,0,0,0.22);
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}

.magiclight-page .check-card h3{
  margin:0 0 12px;
  font-size:1.1rem;
  font-weight:800;
  color:#00ff85;
    text-align:center;
}

.magiclight-page .check-card p{
  margin:0;
  font-size:0.96rem;
  line-height:1.8;
  color:rgba(255,255,255,0.76);
  word-break:keep-all;
    text-align:center;
}

/* =========================
   CTA
========================= */

.magiclight-page .magiclight-cta{
  padding:140px 0 150px;
}

.magiclight-page .magiclight-cta::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:min(920px, 82vw);
  height:340px;
  background:radial-gradient(circle, rgba(0,234,255,0.1), transparent 64%);
  filter:blur(20px);
  pointer-events:none;
}

.magiclight-page .cta-brush{
  display:block;
  margin-bottom:16px;
  font-family:'Pretendard', sans-serif;
  font-size:clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight:800;
  letter-spacing:-0.03em;
  color:#00eaff;
  text-shadow:0 0 18px rgba(0,234,255,0.22);
}

.magiclight-page .magiclight-cta h2{
  margin-bottom:18px;
}

.magiclight-page .magiclight-cta p{
  margin:0 auto;
  max-width:760px;
  font-size:1.05rem;
  line-height:1.9;
  color:rgba(255,255,255,0.8);
  word-break:keep-all;
}

.magiclight-page .cta-buttons{
  margin-top:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

.magiclight-page .btn-primary,
.magiclight-page .btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  height:56px;
  padding:0 28px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  font-size:1rem;
  transition:all 0.25s ease;
}

.magiclight-page .btn-primary{
  background:linear-gradient(90deg, #00eaff 0%, #00ff85 100%);
  color:#031117;
  box-shadow:0 12px 28px rgba(0,234,255,0.2);
}

.magiclight-page .btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(0,234,255,0.26);
}

.magiclight-page .btn-secondary{
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  color:#ffffff;
}

.magiclight-page .btn-secondary:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,0.08);
}

/* =========================
   FOOTER OVERRIDE
========================= */

.magiclight-page .footer{
  background:#020203;
  border-top:1px solid rgba(255,255,255,0.06);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1200px){

  .magiclight-page .visual-grid{
    grid-template-columns:1fr 1fr;
  }

  .magiclight-page .visual-card.large{
    grid-column:1 / -1;
    min-height:500px;
  }

  .magiclight-page .check-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px){

  .magiclight-page section{
    padding:90px 0;
  }

  .magiclight-page .hero-inner{
    min-height:100vh;
    padding-top:30px;
    padding-bottom:60px;
    align-items:center;
  }

  .magiclight-page .hero-text{
    width:100%;
    max-width:100%;
    text-align:center;
    margin:0 auto;
    padding-top:100px;
  }

  .magiclight-page .hero-desc{
    margin:0 auto;
    max-width:540px;
  }

  .magiclight-page .hero-title-brush{
    transform:rotate(-2deg) scaleX(1.03);
    transform-origin:center center;
    margin-left:auto;
    margin-right:auto;
  }

  .magiclight-page .visual-grid,
  .magiclight-page .point-grid,
  .magiclight-page .recommend-grid,
  .magiclight-page .check-grid{
    grid-template-columns:1fr;
  }

  .magiclight-page .visual-card.large{
    min-height:380px;
  }

  .magiclight-page .visual-card{
    min-height:300px;
  }

  .magiclight-page .wide-visual img{
    min-height:380px;
  }
}

@media (max-width: 768px){

  .magiclight-page .section-inner{
    width:92%;
  }

  .magiclight-page .magiclight-hero{
    min-height:100svh;
  }

  .magiclight-page .hero-inner{
    min-height:100svh;
    padding-top:0;
    padding-bottom:54px;
  }

  .magiclight-page .hero-bg{
 
    background-size:cover;
    background-repeat:no-repeat;
    background-position:60% 28%;
    transform:scale(1.02);
  }

  .magiclight-page .hero-overlay{
    background:
      radial-gradient(circle at 50% 22%, rgba(0,238,255,0.12), transparent 22%),
      radial-gradient(circle at 72% 24%, rgba(130,92,255,0.12), transparent 24%),
      linear-gradient(to bottom, rgba(0,0,0,0.34), rgba(0,0,0,0.62));
  }

  .magiclight-page .hero-text{
    width:100%;
    max-width:100%;
    padding-top:72px;
  }

  .magiclight-page .hero-title-brush{
    display:inline-block;
    width:auto;
    max-width:none;
    margin:0 0 22px;
    padding:10px 14px 10px 2px;
    font-size:clamp(3.3rem, 15vw, 5rem);
    line-height:0.9;
    letter-spacing:0.01em;
    transform:rotate(-2deg) scaleX(1.01);
    transform-origin:center center;
    white-space:normal;
    overflow:visible;
  }

  .magiclight-page .hero-desc{
    max-width:100%;
    font-size:0.98rem;
    line-height:1.8;
  }

  .magiclight-page .section-label{
    font-size:0.7rem;
    padding:7px 13px;
    letter-spacing:0.14em;
  }

  .magiclight-page .section-desc,
  .magiclight-page .quote-desc,
  .magiclight-page .magiclight-cta p{
    font-size:0.98rem;
    line-height:1.85;
  }

  .magiclight-page .point-card,
  .magiclight-page .recommend-card{
    padding:26px 22px;
    border-radius:22px;
  }

  .magiclight-page .point-card h3,
  .magiclight-page .recommend-card h3{
    font-size:1.28rem;
  }

  .magiclight-page .check-card{
    padding:22px 18px;
  }

  .magiclight-page .wide-visual{
    border-radius:24px;
  }

  .magiclight-page .wide-visual img{
    min-height:300px;
  }

  .magiclight-page .cta-buttons{
    flex-direction:column;
  }

  .magiclight-page .btn-primary,
  .magiclight-page .btn-secondary{
    width:100%;
    max-width:320px;
  }
}

@media (max-width: 480px){

  .magiclight-page section{
    padding:78px 0;
  }

  .magiclight-page .section-inner{
    width:88%;
  }

  .magiclight-page .magiclight-hero,
  .magiclight-page .hero-inner{
    min-height:100svh;
  }


  .magiclight-page .hero-bg{
    background-image: url("../image/program/magiclight/magiclight-hero-mobile.webp");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }

  .magiclight-page .hero-text{
    padding-top:56px;
  }

  .magiclight-page .hero-title-brush{
    margin-bottom:18px;
    font-size:clamp(2.8rem, 14vw, 4.2rem);
    line-height:0.88;
    padding:8px 10px 8px 0;
    transform:rotate(-2deg) scaleX(1);
  }

  .magiclight-page .hero-desc{
    font-size:0.92rem;
    line-height:1.75;
  }

  .magiclight-page .hero-scroll{
    bottom:22px;
  }

  .magiclight-page .hero-scroll span{
    font-size:0.66rem;
    letter-spacing:0.22em;
  }

  .magiclight-page .visual-card.large{
    min-height:300px;
  }

  .magiclight-page .visual-card{
    min-height:240px;
  }

  .magiclight-page .wide-visual img{
    min-height:240px;
  }
}

/* =========================
   PHOTO PROGRAM BOX
========================= */

.magiclight-page .magiclight-photo-box{
  padding-top:100px;
}

.magiclight-page .light-photo-frame{
  position:relative;
  padding:56px 44px 42px;
  border-radius:34px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.03) 34%, rgba(0,234,255,0.04) 100%);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 26px 70px rgba(0,0,0,0.32),
    inset 0 0 0 1px rgba(255,255,255,0.02);
}

.magiclight-page .light-photo-frame::before{
  content:"";
  position:absolute;
  inset:-10% auto auto -10%;
  width:340px;
  height:340px;
  background:radial-gradient(circle, rgba(0,234,255,0.14), transparent 68%);
  pointer-events:none;
}

.magiclight-page .light-photo-frame::after{
  content:"";
  position:absolute;
  inset:auto -6% -18% auto;
  width:360px;
  height:360px;
  background:radial-gradient(circle, rgba(0,255,133,0.10), transparent 70%);
  pointer-events:none;
}

.magiclight-page .light-photo-head{
  position:relative;
  z-index:2;
  margin-bottom:34px;
  text-align:center;
}

.magiclight-page .light-photo-head h2{
  margin:0;
}

.magiclight-page .light-photo-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.magiclight-page .light-show-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border-radius:26px;
  text-decoration:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.03) 100%);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 16px 34px rgba(0,0,0,0.20),
    inset 0 0 0 1px rgba(255,255,255,0.02);
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    background 0.28s ease;
}

.magiclight-page .light-show-card:hover{
  transform:translateY(-6px);
  border-color:rgba(0,234,255,0.22);
  box-shadow:
    0 24px 44px rgba(0,0,0,0.28),
    0 0 0 1px rgba(0,234,255,0.08);
}

.magiclight-page .light-show-card.active{
  background:
    linear-gradient(135deg, rgba(0,234,255,0.22) 0%, rgba(0,255,133,0.16) 100%);
  border-color:rgba(0,234,255,0.22);
  box-shadow:
    0 20px 42px rgba(0,0,0,0.24),
    0 0 30px rgba(0,234,255,0.10);
}

.magiclight-page .light-show-thumb{
  position:relative;
  aspect-ratio:16 / 10;
  overflow:hidden;
}

.magiclight-page .light-show-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.00) 0%, rgba(0,0,0,0.14) 100%),
    linear-gradient(135deg, rgba(0,234,255,0.12) 0%, transparent 55%, rgba(0,255,133,0.08) 100%);
  pointer-events:none;
}

.magiclight-page .light-show-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.5s ease;
}

.magiclight-page .light-show-card:hover .light-show-thumb img{
  transform:scale(1.05);
}

.magiclight-page .light-show-info{
  padding:18px 18px 20px;
  text-align:center;
}

.magiclight-page .light-show-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:120px;
  min-height:34px;
  padding:7px 14px;
  margin-bottom:14px;
  border-radius:999px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(0,234,255,0.20);
  color:#7feaff;
  font-size:0.84rem;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  box-shadow:0 0 18px rgba(0,234,255,0.06);
}

.magiclight-page .light-show-card.active .light-show-badge{
  background:rgba(255,255,255,0.10);
  border-color:rgba(255,255,255,0.20);
  color:#ffffff;
}

.magiclight-page .light-show-info h3{
  margin:0 0 10px;
  font-size:1.4rem;
  font-weight:800;
  line-height:1.28;
  color:#fff;
}

.magiclight-page .light-show-info p{
  margin:0;
  font-size:0.98rem;
  line-height:1.75;
  color:rgba(255,255,255,0.78);
  word-break:keep-all;
}

.magiclight-page .light-photo-note{
  position:relative;
  z-index:2;
  margin-top:26px;
  text-align:center;
  color:rgba(255,255,255,0.68);
  font-size:1rem;
  line-height:1.8;
  word-break:keep-all;
}

@media (max-width: 1200px){
  .magiclight-page .light-photo-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px){
  .magiclight-page .light-photo-frame{
    padding:34px 22px 28px;
    border-radius:24px;
  }

  .magiclight-page .light-photo-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .magiclight-page .light-show-card{
    border-radius:22px;
  }

  .magiclight-page .light-show-info{
    padding:16px 16px 18px;
  }

  .magiclight-page .light-show-badge{
    min-width:104px;
    min-height:32px;
    font-size:0.78rem;
    letter-spacing:0.10em;
  }

  .magiclight-page .light-show-info h3{
    font-size:1.2rem;
  }

  .magiclight-page .light-show-info p{
    font-size:0.94rem;
    line-height:1.7;
  }

  .magiclight-page .light-photo-note{
    margin-top:20px;
    font-size:0.94rem;
  }
}

br.mobile-break{
  display:none;
}

br.desktop-break{
  display:block;
}

@media (max-width:768px){
  br.mobile-break{
    display:block;
  }

  br.desktop-break{
    display:none;
  }
}