/* BASIC css start */
/* 이 기획전의 기존 개별 CSS를 전체 교체하세요. 공통 CSS는 유지합니다. */
#contents:has(.ipo-full-plan) { position:relative; margin:0; padding:5rem 0 0; box-sizing:border-box; }
.plan.ipo-full-plan { width:100%; max-width:750px; margin:0 auto; padding:0; --ipo-mobile-header:50px; }
.ipo-full-plan *, #planCategoryNav.ipo-fixed-category * { box-sizing:border-box; }
.ipo-full-plan .plan-title { width:100%; margin:0; padding:0; }
.ipo-full-plan img { max-width:100%; height:auto; }
#ipoomgoBlackPromo { width:100%; max-width:750px; margin:0 auto; background:#000; color:#fff; font:14px/1.5 Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif; letter-spacing:-.4px; text-align:center; -webkit-text-size-adjust:100%; text-size-adjust:100%; --hot-pink:#ff48a6; }
#ipoomgoBlackPromo * { box-sizing:border-box; }
#ipoomgoBlackPromo a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
#ipoomgoBlackPromo h1, #ipoomgoBlackPromo h2, #ipoomgoBlackPromo p { margin:0; padding:0; }
#ipoomgoBlackPromo img { display:block; width:100%; height:auto; }
#ipoomgoBlackPromo a:focus-visible, #ipoomgoBlackPromo button:focus-visible, #ipoomgoBlackPromo summary:focus-visible { outline:3px solid #ff80b4; outline-offset:2px; }
#ipoomgoBlackPromo .ipo-bf-section-shell { width:100%; margin:0; padding:0; background:var(--section-bg,#000); }
#ipoomgoBlackPromo .ipo-bf-content-inner { position:relative; width:100%; max-width:750px; margin:auto; padding:0; }
#ipoomgoBlackPromo .ipo-mobile-image-map { position:relative; width:100%; }
#ipoomgoBlackPromo .ipo-mobile-image-map>a { position:absolute; display:block; z-index:2; }
#ipoomgoBlackPromo .ipo-bf-benefit-overview .ipo-bf-content-inner { padding:30px clamp(20px,4vw,30px); }
#ipoomgoBlackPromo .ipo-bf-section-header { margin-bottom:20px; }
#ipoomgoBlackPromo #ipo-bf-benefitsTitle { color:#fff; font-size:clamp(22px,5.8vw,36px); font-weight:900; line-height:1.35; letter-spacing:-.7px; text-align:center; }
#ipoomgoBlackPromo .ipo-bf-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
#ipoomgoBlackPromo .ipo-bf-benefit-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:84px; padding:13px 4px; background:#333; border-radius:12px; }
#ipoomgoBlackPromo .ipo-bf-benefit-label { font-size:clamp(11px,2.9vw,16px); line-height:1.4; color:#ff7aa8; }
#ipoomgoBlackPromo .ipo-bf-benefit-card strong { color:#fff; font-size:clamp(13px,3.5vw,23px); font-weight:800; line-height:1.4; word-break:keep-all; overflow-wrap:anywhere; }
/* JS places the navigation in the viewport when needed, even inside overflow parents. */
.ipo-promo-nav { position:relative; z-index:40; width:100%; margin:0; background:#222; }
.ipo-promo-nav .ipo-bf-tab-inner { display:flex; width:100%; margin:auto; overflow-x:auto; scrollbar-width:none; overscroll-behavior-x:contain; }
.ipo-promo-nav .ipo-bf-tab-inner::-webkit-scrollbar { display:none; }
.ipo-promo-nav .ipo-bf-tab-inner>a { display:flex; flex:1 0 96px; flex-direction:column; justify-content:center; gap:3px; padding:11px 5px; border-bottom:3px solid transparent; background:#222; color:#fff; font-family:inherit; line-height:1.4; text-align:center; text-decoration:none; white-space:nowrap; }
.ipo-promo-nav .ipo-bf-tab-sub { font-size:11px; }
.ipo-promo-nav .ipo-bf-tab-name { font-size:13px; font-weight:800; }
.ipo-promo-nav .ipo-bf-tab-inner>a.ipo-bf-active { border-color:#e74174; color:#ff7aa8; }
.ipo-promo-nav.ipo-fixed-promo { position:fixed; z-index:40; }
#ipoomgoBlackPromo .ipo-bf-coupon-terms { padding:20px; border-top:1px solid #555; color:#ddd; text-align:left; }
#ipoomgoBlackPromo .ipo-bf-coupon-terms summary { display:flex; justify-content:space-between; cursor:pointer; list-style:none; font-size:14px; font-weight:700; }
#ipoomgoBlackPromo .ipo-bf-coupon-terms summary::-webkit-details-marker { display:none; }
#ipoomgoBlackPromo .ipo-bf-coupon-terms[open] summary>span { transform:rotate(45deg); }
#ipoomgoBlackPromo .ipo-bf-coupon-terms ul { margin:14px 0 0; padding-left:16px; }
#ipoomgoBlackPromo .ipo-bf-coupon-terms li { margin-bottom:7px; color:#ccc; font-size:12px; line-height:1.65; }
#ipo-bf-openrun .ipo-coupon-status { position:absolute; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:8px; background:rgba(0,0,0,.82); color:#fff; text-align:center; border-radius:4px; }
#ipo-bf-openrun .ipo-coupon-status[hidden] { display:none; }
#ipo-bf-openrun .ipo-coupon-status strong { font-size:clamp(18px,5vw,36px); line-height:1.25; font-weight:800; }
#ipo-bf-openrun .ipo-coupon-status span { font-size:clamp(12px,3.4vw,20px); line-height:1.4; }
.ipo-full-plan .bn_area { display:flex; flex-wrap:wrap; gap:8px; padding:20px 16px; }
.ipo-full-plan .bn_area:empty { display:none; }
.ipo-full-plan .bn_area>a, .ipo-full-plan .bn_area>img { display:block; width:100%; }
.ipo-full-plan .bn_area img { display:block; width:100%; border-radius:5px; }
.ipo-full-plan>.p-hd { width:calc(100% - 32px); margin:32px 16px 0; padding:16px 0 0; border-top:1px solid #222; }
.ipo-full-plan>.p-hd h1 { margin:0; color:#111; font-size:18px; font-weight:700; line-height:1.4; }
.ipo-full-plan .list_shopping2x { padding:16px; }
.ipo-full-plan .list_shopping2x>ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 12px; margin:0; padding:0; list-style:none; }
.ipo-full-plan .list_shopping2x>ul>li { float:none; width:auto; min-width:0; margin:0; padding:0; }
.ipo-full-plan .list_shopping2x a { display:block; color:#111; text-decoration:none; }
.ipo-full-plan figure { margin:0; }
.ipo-full-plan .img_wrap { position:relative; aspect-ratio:1; overflow:hidden; border-radius:6px; background:#f8f8f8; }
.ipo-full-plan .img_wrap img { display:block; width:100%; height:100%; object-fit:contain; }
.ipo-full-plan .list_shoppingInfo { padding:8px 0 0; text-align:left; }
.ipo-full-plan .listName { margin:0 0 6px; color:#222; font-size:13px; font-weight:500; line-height:1.45; overflow-wrap:anywhere; }
.ipo-full-plan .listName .sub { display:block; color:#e74174; font-size:12px; }
.ipo-full-plan .price { color:#111; }
.ipo-full-plan .price p { margin:0; }
.ipo-full-plan .realP, .ipo-full-plan .discount_rate { display:inline-block; color:#111; font-size:16px; font-weight:700; line-height:1.4; }
.ipo-full-plan .discount_rate { margin-right:5px; color:#e74174; }
.ipo-full-plan .conP { color:#999; font-size:11px; }
.ipo-full-plan .listPrice_login { font-size:13px; line-height:1.4; }
.ipo-full-plan .plan-soldout-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; background:#0005; font-size:20px; font-weight:800; }
.ipo-full-plan .plan-soldout-text { color:#888; font-size:14px; font-weight:700; }
.ipo-full-plan>.ipo-source-hidden { display:none !important; }
#planCategoryNav.plan-category-nav { position:relative; width:100%; margin:0; padding:8px 16px; background:#fff; z-index:45; box-sizing:border-box; }
#planCategoryNav.ipo-fixed-category { position:fixed !important; margin:0 !important; box-shadow:0 2px 8px #0001; }
#planCategoryNav .category-select { position:relative; display:block; width:100%; min-height:44px; margin:0; padding:10px 36px 10px 14px; color:#111; background:#fff; border:1px solid #ddd; border-radius:0; font:600 14px/1.5 sans-serif; text-align:left; }
#planCategoryNav .category-select::after { content:""; position:absolute; right:16px; top:17px; width:8px; height:8px; border-right:1px solid #222; border-bottom:1px solid #222; transform:rotate(45deg); }
#planCategoryNav.on .category-select::after { top:21px; transform:rotate(225deg); }
#planCategoryNav>ul { display:none; position:absolute; top:calc(100% - 8px); left:16px; width:calc(100% - 32px); max-height:50vh; margin:0; padding:0; overflow-y:auto; border:1px solid #ddd; background:#fff; list-style:none; }
#planCategoryNav.on>ul { display:block; }
#planCategoryNav>ul>li { margin:0; padding:0; border-bottom:1px solid #eee; }
#planCategoryNav li>a { display:block; padding:12px 14px; color:#333; background:#fff; font:400 13px/1.5 sans-serif; text-decoration:none; }
#planCategoryNav li>a.on { color:#fff; background:#222; font-weight:700; }
#ipoBlackDealProducts { position:relative; width:100%; }
#ipoBlackDealProducts .ipo-deal-area { position:absolute; top:41.8%; left:3.73%; width:92.54%; height:48.2%; display:flex; align-items:center; padding:2%; overflow:hidden; background:#fff; }
#ipoBlackDealProducts .ipo-deal-swiper { width:100%; min-width:0; }
#ipoBlackDealProducts .swiper-wrapper { display:flex; gap:10px; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; touch-action:pan-x pan-y; }
#ipoBlackDealProducts .swiper-wrapper::-webkit-scrollbar { display:none; }
#ipoBlackDealProducts .swiper-slide { float:none; flex:0 0 40%; min-width:0; margin:0; padding:0; scroll-snap-align:start; }
#ipoBlackDealProducts .swiper-slide>a { display:block; color:#111; }
#ipoBlackDealProducts .listName { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:clamp(10px,2.9vw,16px); line-height:1.4; margin:0 0 3px; }
#ipoBlackDealProducts .listName .sub { display:none; }
#ipoBlackDealProducts .list_shoppingInfo { padding-top:5px; }
#ipoBlackDealProducts .realP, #ipoBlackDealProducts .discount_rate { font-size:clamp(12px,3.3vw,19px); }
#ipoBlackDealProducts .conP { font-size:clamp(10px,2.6vw,13px); }
#ipoBlackDealProducts .listPrice_login { font-size:clamp(10px,2.9vw,15px); }
#ipoBlackDealProducts .ipo-auto-control { position:absolute; bottom:1%; right:4%; z-index:3; min-height:32px; padding:6px 12px; color:#fff; background:#111; border:0; border-radius:20px; font:600 11px/1.4 sans-serif; }

/* PC 확정본 인트로 모션 */
#ipoomgoBlackPromo .ipo-bf-hero-inner { display:flex; align-items:center; justify-content:center; text-align:center; flex-direction:column; container-type:inline-size; overflow:hidden; isolation:isolate; max-width:750px; }
#ipoomgoBlackPromo .ipo-bf-event-date { margin-top:3cqw; transform:rotate(-2deg); }
@media (max-width:750px) {
#ipoomgoBlackPromo .ipo-bf-event-date { margin-top:3cqw; }
}
#ipoomgoBlackPromo .ipo-bf-hero-grid { grid-template-columns:1fr 1fr; z-index:2; align-items:center; text-align:center; min-height:0; }
#ipoomgoBlackPromo .ipo-bf-eyebrow { font-size:16px; font-weight:800; letter-spacing:2px; margin:0 0 20px; display:flex; align-items:center; gap:8px; }
@media (max-width:700px) {
#ipoomgoBlackPromo .ipo-bf-hero-grid { grid-template-columns:1fr; }
}
#ipoomgoBlackPromo .ipo-bf-hero { position:relative; color:#fff; aspect-ratio:1/1; --hot-pink:#ff48a6; isolation:isolate; container-type:inline-size; }
#ipoomgoBlackPromo .ipo-bf-hero-grid { display:block; }
#ipoomgoBlackPromo .ipo-bf-hero-copy { position:relative; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-eyebrow { display:inline-flex; justify-content:center; gap:8px; border:1px solid #ff48a66b; border-radius:2px; font:700 16px Arial,sans-serif; margin:0 0 20px; font-size:1.05cqw; letter-spacing:.23cqw; padding:.7cqw 1.4cqw; margin-bottom:1.7cqw; border-color:#c9cad344; color:#dedee5; }
#ipoomgoBlackPromo .ipo-bf-hero h1 { z-index:1; text-align:center; letter-spacing:-.65cqw; max-width:none; transform:rotate(-6deg); font-family:Impact,"Arial Black",Arial,sans-serif; font-weight:900; font-style:italic; margin:auto; font-size:16cqw; line-height:.88; }
#ipoomgoBlackPromo .ipo-bf-event-date { display:inline-flex; align-items:center; gap:15px; background:var(--hot-pink); color:#101013; padding:13px 22px; font:900 22px Arial,sans-serif; letter-spacing:-.3px; }
#ipoomgoBlackPromo .ipo-bf-event-date span { margin:0; color:inherit; }
#ipoomgoBlackPromo .ipo-bf-hero-atmosphere { position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden; background:radial-gradient(ellipse at 50% 35%,#ff48a613,transparent 66%); }
#ipoomgoBlackPromo .ipo-bf-impact-grid { position:absolute; inset:0; background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px); background-size:54px 54px; transform:perspective(650px) rotateX(20deg) scale(1.15); opacity:.7; }
#ipoomgoBlackPromo .ipo-bf-impact-orb { position:absolute; width:380px; height:380px; border:80px solid #ff48a6; right:-235px; top:90px; opacity:.75; transform:rotate(-24deg); border-radius:50%; animation:ipo-bf-orb-float 12s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-motion-ring { position:absolute; width:670px; height:540px; border:1px solid #ff48a62b; border-radius:50%; left:50%; top:30px; transform:translateX(-50%) rotate(-35deg); animation:ipo-bf-ring-drift 16s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-ring-two { width:800px; height:410px; border-color:#ffffff0c; animation-direction:alternate-reverse; }
#ipoomgoBlackPromo .ipo-bf-motion-star { position:absolute; line-height:1; }
#ipoomgoBlackPromo .ipo-bf-star-one { font-size:90px; left:-20px; top:330px; color:#ff48a622; animation:ipo-bf-impact-spin 40s linear infinite; }
#ipoomgoBlackPromo .ipo-bf-star-two { font-size:28px; right:12%; top:140px; color:var(--hot-pink); animation:ipo-bf-impact-spin 26s linear infinite reverse; }
#ipoomgoBlackPromo .ipo-bf-light-sweep { position:absolute; width:200px; height:900px; left:-300px; top:-150px; background:linear-gradient(90deg,transparent,#ff8dc508,transparent); transform:rotate(30deg); animation:ipo-bf-light-pass 14s ease-in-out infinite; }
#ipoomgoBlackPromo .ipo-bf-motion-ribbons { position:relative; height:110px; margin:10px -90px 0; z-index:1; pointer-events:none; }
#ipoomgoBlackPromo .ipo-bf-ribbon { position:absolute; left:-5%; width:110%; overflow:hidden; white-space:nowrap; padding:13px 0; font-family:Arial,sans-serif; font-size:17px; font-weight:900; letter-spacing:1px; line-height:1; }
#ipoomgoBlackPromo .ipo-bf-ribbon-pink { top:35px; background:var(--hot-pink); color:#101013; transform:rotate(-3deg); z-index:2; }
#ipoomgoBlackPromo .ipo-bf-ribbon-outline { top:37px; background:#19151b; border-block:1px solid #ff48a680; color:#ff8dc5; transform:rotate(3deg); font-size:16px; padding:15px 0; }
#ipoomgoBlackPromo .ipo-bf-ribbon-track { display:flex; width:max-content; animation:ipo-bf-ribbon-move 23s linear infinite; }
#ipoomgoBlackPromo .ipo-bf-ribbon-outline .ipo-bf-ribbon-track { animation-direction:reverse; animation-duration:29s; }
#ipoomgoBlackPromo .ipo-bf-ribbon-track>span { flex-shrink:0; }
#ipoomgoBlackPromo .ipo-bf-hero.ipo-bf-motion-paused *, #ipoomgoBlackPromo .ipo-bf-hero.ipo-bf-motion-paused *::before, #ipoomgoBlackPromo .ipo-bf-hero.ipo-bf-motion-paused *::after { animation-play-state:paused !important; }
@media (max-width:700px) {
#ipoomgoBlackPromo .ipo-bf-event-date { padding:11px 18px; font-size:19px; gap:10px; }
#ipoomgoBlackPromo .ipo-bf-impact-orb { width:220px; height:220px; border-width:45px; right:-155px; top:130px; opacity:.85; }
#ipoomgoBlackPromo .ipo-bf-impact-grid { background-size:36px 36px; }
#ipoomgoBlackPromo .ipo-bf-star-one { font-size:65px; left:-31px; top:265px; }
#ipoomgoBlackPromo .ipo-bf-star-two { right:8%; top:100px; font-size:17px; }
#ipoomgoBlackPromo .ipo-bf-motion-ring { width:400px; height:330px; top:70px; }
#ipoomgoBlackPromo .ipo-bf-ring-two { width:450px; height:260px; }
#ipoomgoBlackPromo .ipo-bf-motion-ribbons { height:96px; margin:14px -40px 0; }
#ipoomgoBlackPromo .ipo-bf-ribbon { font-size:16px; padding:11px 0; }
#ipoomgoBlackPromo .ipo-bf-ribbon-pink { transform:rotate(-6deg); }
#ipoomgoBlackPromo .ipo-bf-ribbon-outline { font-size:16px; padding:12px 0; transform:rotate(6deg); }
}
@media (prefers-reduced-motion:reduce) {
#ipoomgoBlackPromo .ipo-bf-hero *, #ipoomgoBlackPromo .ipo-bf-hero *::before, #ipoomgoBlackPromo .ipo-bf-hero *::after { filter:none !important; animation:none !important; }
}
#ipoomgoBlackPromo .ipo-bf-hero { height:auto; background:#0a0a0d; }
#ipoomgoBlackPromo .ipo-bf-hero-grid { position:absolute; inset:7% 5% auto; }
#ipoomgoBlackPromo .ipo-bf-hero-copy { padding:0; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-event-date { font-size:2.5cqw; background:transparent; border:1px solid #bfc0cd66; border-radius:100px; color:#e9e9f0; transform:none; margin-top:2.5cqw; letter-spacing:.1cqw; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon-pink { background:#ff75bf; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon-outline { color:#1c1c26; background:linear-gradient(170deg,#fcfcff,#a4a6b5 35%,#fff 50%,#a2a5b5 75%,#edeef6); border:0; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-impact-orb { background:none; border-width:4cqw; box-shadow:inset 0 0 2cqw #ff6dbf44,0 0 5cqw #ff45a233; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-motion-ring { transform:translateX(-50%) rotate(-35deg); }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-star-two { display:none; }
#ipoomgoBlackPromo .ipo-bf-chrome-orbit { position:absolute; left:-12cqw; bottom:15cqw; width:33cqw; height:20cqw; border-radius:50%; border:2cqw solid #c5c8d8; background:transparent; box-shadow:inset .4cqw .4cqw .7cqw #fff,inset -.6cqw -.6cqw 1cqw #505566,.3cqw .3cqw .4cqw #fff8,-.5cqw -.7cqw 1cqw #000; transform:rotate(-35deg); animation:ipo-bf-chrome-float 9s ease-in-out infinite alternate; opacity:.85; }
#ipoomgoBlackPromo .ipo-bf-chrome-star { position:absolute; z-index:1; font-family:Arial; line-height:1; background:linear-gradient(135deg,#fff,#757a91 35%,#f9faff 48%,#8c91a5 70%,#fff); background-clip:text; -webkit-background-clip:text; color:transparent; filter:drop-shadow(.4cqw .4cqw .3cqw #000a); }
#ipoomgoBlackPromo .ipo-bf-chrome-star-one { font-size:12cqw; right:5cqw; top:19cqw; animation:ipo-bf-impact-spin 35s linear infinite; }
#ipoomgoBlackPromo .ipo-bf-chrome-star-two { font-size:6cqw; left:8cqw; top:14cqw; animation:ipo-bf-impact-spin 28s linear infinite reverse; }
#ipoomgoBlackPromo .ipo-bf-chrome-sphere { position:absolute; width:5cqw; height:5cqw; right:11cqw; bottom:25cqw; border-radius:50%; background:radial-gradient(circle at 29% 24%,white 0%,#c6cbdc 20%,#4b5064 48%,#c6cad7 70%,#242634 90%); box-shadow:1cqw 1cqw 2cqw #000a; animation:ipo-bf-orb-float 8s ease-in-out infinite alternate; }
@media (max-width:700px) {
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-eyebrow { font-size:1.35cqw; padding:.85cqw 1.5cqw; }
}
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-grid { top:6%; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-event-date { gap:1cqw; }
@media (max-width:700px) {
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-event-date { font-size:3cqw; margin-top:2.2cqw; }
}
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-eyebrow { margin-bottom:2cqw; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title h1.ipo-bf-campaign-image-heading { position:relative; height:58.7cqw; width:100%; margin:0; max-width:none; transform:none; font-size:0; line-height:0; animation:ipo-bf-selected-title-enter 1.15s cubic-bezier(.16,1,.3,1) both; isolation:isolate; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-campaign-title-image { position:absolute; top:-8.9cqw; left:50%; width:72cqw; height:auto; max-width:none; transform:translateX(-50%); display:block; filter:drop-shadow(0 1cqw 1.3cqw #0009); }
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-event-date { margin-top:50px; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-chrome-star-one { right:4cqw; top:25cqw; font-size:8cqw; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-chrome-star-two { left:5cqw; top:15cqw; font-size:4.5cqw; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-impact-orb { opacity:.3; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title.ipo-bf-motion-paused h1.ipo-bf-campaign-image-heading { animation:none; opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) {
#ipoomgoBlackPromo .ipo-bf-hero-image-title h1.ipo-bf-campaign-image-heading { animation:none !important; opacity:1; transform:none; }
}
#ipoomgoBlackPromo .ipo-bf-hero.ipo-bf-hero-image-title { width:100%; aspect-ratio:auto; height:auto; padding:0; container-type:inline-size; background:#08080d; isolation:isolate; }
#ipoomgoBlackPromo .ipo-bf-hero-inner { position:relative; margin-inline:auto; aspect-ratio:1; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-hero-grid { top:14%; }
@media (max-width:700px) {
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-hero-grid { top:14%; }
}
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-inner { overflow:visible; z-index:2; background:transparent; isolation:auto; max-width:750px; aspect-ratio:1/1; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-atmosphere { inset:0; width:100%; height:100%; container-type:inline-size; z-index:0; background:radial-gradient(ellipse at 50% 38%,#39132690 0%,#130c1850 42%,transparent 74%),linear-gradient(150deg,#09090f,#100916 55%,#08080d); }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-impact-grid { opacity:.38; background-size:5cqw 5cqw; mask-image:radial-gradient(ellipse at center,#000,transparent 80%); }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-impact-orb { width:24cqw; height:24cqw; right:-10cqw; top:20%; opacity:.55; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-chrome-orbit { left:-5cqw; bottom:9%; width:28cqw; height:15cqw; border-width:1.5cqw; opacity:.95; animation:ipo-bf-full-orbit-float 10s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-motion-ring { width:86cqw; height:48cqw; top:8%; border-color:#f2d6e738; animation:ipo-bf-ring-drift 15s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ring-two { width:105cqw; height:40cqw; top:16%; border-color:#f293c327; animation-duration:19s; animation-direction:alternate-reverse; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-chrome-star-one { right:7%; top:22%; font-size:7cqw; animation:ipo-bf-chrome-turn 28s linear infinite; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-chrome-star-two { left:6%; top:13%; font-size:4cqw; animation:ipo-bf-chrome-turn 24s linear infinite reverse; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-chrome-sphere { right:5%; bottom:15%; width:4cqw; height:4cqw; animation:ipo-bf-sphere-drift 8s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-star-one { left:5%; top:68%; font-size:5cqw; color:#ff8dc54a; animation:ipo-bf-impact-spin 32s linear infinite; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-motion-ribbons { margin:0; position:absolute; pointer-events:none; top:0; left:0; right:0; bottom:auto; width:100%; height:14%; z-index:3; overflow:hidden; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon { left:-7%; width:114%; top:2cqw; font-size:1.5cqw; padding:1cqw 0; letter-spacing:.1cqw; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon-pink { transform:rotate(-3deg); box-shadow:0 0 2cqw #ff54ac44; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon-outline { transform:rotate(3deg); font-size:1.3cqw; padding:1.1cqw 0; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon-pink .ipo-bf-ribbon-track { animation-duration:21s; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon-outline .ipo-bf-ribbon-track { animation-duration:27s; }
#ipoomgoBlackPromo .ipo-bf-festival-glow { position:absolute; width:65%; height:80%; border-radius:50%; filter:blur(5cqw); mix-blend-mode:screen; pointer-events:none; }
#ipoomgoBlackPromo .ipo-bf-glow-left { left:-36%; top:10%; background:radial-gradient(ellipse,#e62c914a,transparent 65%); animation:ipo-bf-glow-travel-left 12s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-glow-right { right:-32%; bottom:-5%; background:radial-gradient(ellipse,#a5adf44a 0%,#f84db629 32%,transparent 66%); animation:ipo-bf-glow-travel-right 14s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-festival-beam { position:absolute; top:-20%; width:19%; height:135%; transform-origin:50% 0; pointer-events:none; mix-blend-mode:screen; opacity:.55; filter:blur(1.2cqw); mask-image:linear-gradient(#000,transparent 90%); }
#ipoomgoBlackPromo .ipo-bf-beam-left { left:3%; background:linear-gradient(90deg,transparent,#ff65bc20 30%,#ffd0ee66 49%,#ff58b52b 60%,transparent); transform:rotate(-18deg); animation:ipo-bf-beam-sweep-left 11s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-beam-right { right:5%; background:linear-gradient(90deg,transparent,#e1e5ff22 30%,#e1e5ff80 50%,#d6c0ee33 60%,transparent); transform:rotate(20deg); animation:ipo-bf-beam-sweep-right 13s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-silver-burst { position:absolute; font-family:Arial; line-height:1; background:linear-gradient(135deg,#fff 5%,#828ba8 30%,#fff 48%,#9aa4bc 66%,#fff 90%); background-clip:text; -webkit-background-clip:text; color:transparent; filter:drop-shadow(0 0 .7cqw #e8d5f444); animation:ipo-bf-burst-float 7s ease-in-out infinite alternate; }
#ipoomgoBlackPromo .ipo-bf-burst-left { font-size:6cqw; left:9%; top:43%; --burst-rotation:-15deg; }
#ipoomgoBlackPromo .ipo-bf-burst-right { font-size:4cqw; right:13%; top:62%; --burst-rotation:17deg; animation-delay:-3s; }
#ipoomgoBlackPromo .ipo-bf-burst-small { font-size:2.4cqw; left:21%; bottom:8%; --burst-rotation:-12deg; animation-delay:-1.5s; }
#ipoomgoBlackPromo .ipo-bf-festival-particle { position:absolute; left:var(--x); top:var(--y); width:.35cqw; height:.35cqw; min-width:2px; min-height:2px; border-radius:50%; background:#ffabdc; box-shadow:0 0 .8cqw #ff8dcd,0 0 1.3cqw #ff8dcd55; opacity:.6; animation:ipo-bf-particle-rise var(--duration) var(--delay) ease-in-out infinite; }
#ipoomgoBlackPromo .ipo-bf-festival-particle:nth-of-type(even) { background:#e9edff; box-shadow:0 0 1cqw #dbe6ff; }
@media (max-width:750px) {
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon { top:2cqw; font-size:2cqw; padding:1.2cqw 0; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-ribbon-outline { font-size:1.7cqw; padding:1.35cqw 0; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-chrome-orbit { left:-9cqw; bottom:15%; width:29cqw; height:17cqw; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-burst-left { left:2%; top:50%; font-size:4cqw; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-burst-right { right:3%; top:70%; font-size:3cqw; }
#ipoomgoBlackPromo .ipo-bf-festival-particle { opacity:.5; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-inner { overflow:visible; }
}
@media (prefers-reduced-motion:reduce) {
#ipoomgoBlackPromo .ipo-bf-festival-particle { opacity:.45; }
#ipoomgoBlackPromo .ipo-bf-festival-beam { opacity:.3; }
#ipoomgoBlackPromo .ipo-bf-hero h1 { opacity:1; transform:none; }
}
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-korean-tagline { display:inline-flex; align-items:center; justify-content:center; border:1px solid #d8b4ca66; background:#17101c88; color:#fff; border-radius:100px; font-size:clamp(16px,2.8cqw,23px); line-height:1.35; gap:.45em; letter-spacing:-.03em; }
#ipoomgoBlackPromo .ipo-bf-hero-korean-tagline>span { font-weight:500; color:#fff; }
#ipoomgoBlackPromo .ipo-bf-hero-korean-tagline>b { font-weight:900; color:#ffacd6; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-event-date { padding:1.3cqw 3.6cqw; }
#ipoomgoBlackPromo .ipo-bf-promo-main .ipo-bf-hero-inner { display:block; justify-content:normal; align-items:normal; text-align:left; }
#ipoomgoBlackPromo .ipo-bf-promo-main { background:#fff; margin:0 auto; --campaign-canvas:1080px; --campaign-content:750px; --campaign-gutter:max(0px,calc((100% - 750px)/2)); width:100%; }
#ipoomgoBlackPromo .ipo-bf-hero-inner { width:100%; margin:0 auto; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-korean-tagline { padding:.45em .85em; }
#ipoomgoBlackPromo .ipo-bf-hero-korean-tagline span, #ipoomgoBlackPromo .ipo-bf-hero-korean-tagline b { font-size:inherit; line-height:inherit; }
#ipoomgoBlackPromo .ipo-bf-hero-korean-tagline { font-size:22px !important; flex-wrap:wrap; }
#ipoomgoBlackPromo .ipo-bf-promo-main { max-width:750px; margin-inline:auto; overflow:visible; }
#ipoomgoBlackPromo .ipo-bf-hero { width:100%; max-width:750px; padding:0; overflow:hidden; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-inner { width:100%; margin:auto; }
@keyframes ipo-bf-impact-spin { to { transform:rotate(360deg); } }
@keyframes ipo-bf-ribbon-move { to { transform:translateX(-50%); } }
@keyframes ipo-bf-ring-drift { to { transform:translateX(-50%) rotate(-10deg) scale(1.08); } }
@keyframes ipo-bf-orb-float { to { transform:translateY(55px) rotate(12deg); } }
@keyframes ipo-bf-light-pass { 0%,20% { left:-300px; } 70%,100% { left:140%; } }
@keyframes ipo-bf-chrome-float { to { transform:translateY(-2cqw) rotate(-25deg); } }
@keyframes ipo-bf-selected-title-enter { from { opacity:0; transform:translateY(3cqw) scale(.9); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes ipo-bf-full-orbit-float { from { transform:translateY(0) rotate(-35deg); } to { transform:translateY(-2cqw) rotate(-20deg); } }
@keyframes ipo-bf-chrome-turn { to { transform:rotate(360deg); } }
@keyframes ipo-bf-sphere-drift { to { transform:translate(-1cqw,-2.5cqw); } }
@keyframes ipo-bf-glow-travel-left { to { transform:translate(7%,8%); opacity:.65; } }
@keyframes ipo-bf-glow-travel-right { to { transform:translate(-6%,-8%); opacity:.55; } }
@keyframes ipo-bf-beam-sweep-left { to { transform:rotate(-2deg); opacity:.35; } }
@keyframes ipo-bf-beam-sweep-right { to { transform:rotate(2deg); opacity:.4; } }
@keyframes ipo-bf-burst-float { from { transform:translateY(0) rotate(0); } to { transform:translateY(-1.5cqw) rotate(var(--burst-rotation)); } }
@keyframes ipo-bf-particle-rise { 0% { transform:translate(0,1cqw); opacity:0; } 20% { opacity:.75; } 80% { opacity:.55; } 100% { transform:translate(1cqw,-6cqw); opacity:0; } }
/* Mobile content is the 750px canvas, scaled to the available width. */
#ipoomgoBlackPromo .ipo-bf-promo-main { width:100%; max-width:750px; margin:0 auto; }
#ipoomgoBlackPromo .ipo-bf-hero.ipo-bf-hero-image-title { width:100%; max-width:750px; margin:0; padding:0; overflow:hidden; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-inner { width:100%; max-width:750px; aspect-ratio:1; }
#ipoomgoBlackPromo .ipo-bf-hero .ipo-bf-hero-korean-tagline { font-size:clamp(11px,3.1cqw,22px) !important; flex-wrap:nowrap; white-space:nowrap; line-height:1.4; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-event-date { margin-top:4cqw; padding:1.3cqw 3.6cqw; font-size:clamp(13px,3cqw,22px); line-height:1.3; }
#ipoomgoBlackPromo .ipo-bf-hero-image-title .ipo-bf-campaign-title-image { max-width:none; }
@media (prefers-reduced-motion:reduce) {
    #ipoomgoBlackPromo *, #ipoomgoBlackPromo *::before, #ipoomgoBlackPromo *::after { animation:none !important; transition:none !important; }
}


/* ===== 화목한 블랙품고딜: 오픈 예정 (PC와 동일한 디자인) ===== */
/* 기존 .ipo-deal-area의 top/left/width/height는 유지합니다. */
#ipoBlackDealProducts .ipo-deal-area { position:absolute; }
#ipoBlackDealProducts .ipo-deal-coming {
    position:absolute; inset:0; z-index:10;
    display:flex; align-items:center; justify-content:center;
    width:100%; height:100%; min-height:0; margin:0; padding:clamp(10px,3vw,24px);
    box-sizing:border-box; overflow:hidden; background:#111; color:#fff; text-align:center;
}
#ipoBlackDealProducts .ipo-deal-coming[hidden] { display:none !important; }
#ipoBlackDealProducts .ipo-deal-coming-inner { width:100%; min-width:0; }
#ipoBlackDealProducts .ipo-deal-coming-label {
    display:block; margin-bottom:clamp(7px,2vw,20px);
    color:#ff4e91; font-size:clamp(9px,2.4vw,15px); font-weight:800; letter-spacing:.3px;
}
#ipoBlackDealProducts .ipo-deal-coming-title {
    margin:0 0 clamp(6px,1.8vw,18px); padding:0;
    color:#fff; font-size:clamp(17px,4.5vw,38px); font-weight:800; line-height:1.3;
    text-align:center; word-break:keep-all;
}
#ipoBlackDealProducts .ipo-deal-coming-title strong { color:#ff4e91; }
#ipoBlackDealProducts .ipo-deal-coming-desc {
    margin:0 0 clamp(9px,2.4vw,22px); padding:0;
    color:#eee; font-size:clamp(12px,3.2vw,17px); line-height:1.5; text-align:center;
}
#ipoBlackDealProducts .ipo-deal-coming-countdown {
    display:inline-block; max-width:100%; padding:clamp(7px,1.8vw,13px) clamp(10px,3vw,25px);
    background:#292929; border:1px solid #555; border-radius:8px;
    color:#fff; font-size:clamp(16px,4.7vw,32px); font-weight:800;
    font-variant-numeric:tabular-nums; letter-spacing:1px; white-space:nowrap;
}

/* BASIC css end */

