/* ================= 비회원 제한 박스 ================= */
.content{
background:#f5f5f5;
min-height:1200px;
}
.limit-box{
    position:relative;
    margin:30px 0;
    padding:50px 30px;
    border-radius:10px;
    background:
    linear-gradient(135deg,
    #f5f3ff 0%,
    #ede9fe 45%,
    #f8fafc 100%);

    border:1px solid #ddd6fe;
    text-align:center;
    overflow:hidden;
    box-shadow:
    0 18px 40px rgba(121,80,242,0.10),
    inset 0 1px 0 rgba(255,255,255,0.6);
}

/* 배경 효과 */
.limit-box::before{
    content:'';
    position:absolute;
    top:-80px;
    right:-80px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(121,80,242,0.08);
}

.limit-box::after{
    content:'';
    position:absolute;
    bottom:-70px;
    left:-70px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(37,99,235,0.06);
}

/* 아이콘 */
.limit-icon{
    position:relative;
    z-index:2;
    width:95px;
    height:95px;
    margin:0 auto 28px;
    border-radius:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#7950f2,#6741d9);
    color:#fff;
    font-size:36px;
    box-shadow:
    0 14px 34px rgba(121,80,242,0.28),
    inset 0 1px 0 rgba(255,255,255,0.2);
}

/* 제목 */
.limit-title{
    position:relative;
    z-index:2;
    margin:0 0 16px;
    font-size:32px;
    font-weight:900;
    color:#4c1d95;
    line-height:1.4;
}

/* 설명 */
.limit-desc{
    position:relative;
    z-index:2;
    font-size:16px;
    color:#5b6475;
    line-height:2;
}

/* 잠금 아이콘 크기 */
.limit-icon .fa-lock{
    font-size:42px;
}

/* 모바일 */
@media(max-width:768px){

    .limit-icon .fa-lock{
        font-size:34px;
    }

}

/* 강조 */
.limit-desc b{
    color:#7c3aed;
    font-weight:800;
}

/* 버튼 영역 */
.limit-btn-wrap{
    position:relative;
    z-index:2;
    margin-top:32px;
}

/* 버튼 */
.limit-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:15px 28px;
    border-radius:10px;
    background:linear-gradient(135deg,#7950f2,#6741d9);
    color:#fff !important;
    font-size:15px;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 10px 26px rgba(121,80,242,0.25);
    transition:all .25s ease;
}

.limit-btn:hover{
    transform:translateY(-3px);

    box-shadow:0 16px 34px rgba(121,80,242,0.35);
}

/* 모바일 */
@media(max-width:768px){

    .limit-box{
        padding:38px 20px;
        border-radius:20px;
    }

    .limit-icon{
        width:78px;
        height:78px;
        font-size:30px;
        border-radius:22px;
        margin-bottom:22px;
    }

    .limit-title{
        font-size:25px;
    }

    .limit-desc{
        font-size:14px;
        line-height:1.9;
    }

    .limit-btn{
        width:100%;
        padding:14px 18px;
        font-size:14px;
        border-radius:14px;
    }

}


.content{
    background:#f5f5f5;
min-height:1200px;
}

table{width:100%;border-collapse:collapse;margin:20px 0}
th,td{border:1px solid #ddd;padding:10px;font-size:13px}
th{background:#f1f1f1;text-align:center}
td img{max-width:80px;display:block;margin:auto}

@media(max-width:768px){

    th:nth-child(6),
    td:nth-child(6),
    th:nth-child(7),
    td:nth-child(7){
        display:none;
    }
    td img{max-width:60px}

    .rank-num{
        font-size:12px;
    }

    .price_num{
        font-size:13px;
    }
}

.rank-num{text-align:center;font-weight:bold}
.price_num{color:#f34a49;font-weight:bold;text-align:center}
.highlight{background:#fff951}
.list-tsearch{background:#fafafa;border:1px solid #d2d2d2;padding:15px}
.btn-red{background:#f34a49;color:#fff;border:none;padding:8px 15px}

.notice{
    position:relative;

    margin:25px 0;
    padding:40px 30px;

    border-radius:10px;

    background:
    linear-gradient(135deg,
    #f5f3ff 0%,
    #ede9fe 50%,
    #f8fafc 100%);

    border:1px solid #ddd6fe;

    text-align:center;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(121,80,242,0.08);
}

/* 배경 효과 */
.notice::before{
    content:'';

    position:absolute;
    top:-60px;
    right:-60px;

    width:180px;
    height:180px;

    background:rgba(121,80,242,0.08);

    border-radius:50%;
}

.notice::after{
    content:'';

    position:absolute;
    bottom:-50px;
    left:-50px;

    width:140px;
    height:140px;

    background:rgba(37,99,235,0.06);

    border-radius:50%;
}

/* 제목 */
.notice h3{
    position:relative;
    z-index:2;

    margin:0 0 16px;

    font-size:28px;
    font-weight:900;

    color:#4c1d95;

    line-height:1.4;
}

/* 본문 */
.notice{
    font-size:16px;
    line-height:1.9;
    color:#4b5563;
}

/* 강조 */
.notice b{
    color:#7950f2;
    font-weight:800;
}

/* 모바일 */
@media(max-width:768px){

    .notice{
        padding:30px 20px;
        border-radius:10px;
    }

    .notice h3{
        font-size:22px;
    }

    .notice{
        font-size:14px;
        line-height:1.8;
    }

}
.related {margin-bottom:10px;}
.related a{display:inline-block;margin:5px;padding:5px 10px;background:#0d6efd;border-radius:10px; color:#fff;font-size:13px;}

/* ================= 페이징 처리 ================= */

.pagination{
    text-align:center;
    margin:20px 0;
    flex-wrap:wrap;
    display:flex;
    justify-content:center;
    gap:5px;
    flex-wrap: wrap;
}
.pagination a{
    padding:6px 15px !important;
    border:1px solid #d2d2d2;
    color:#000;
    text-decoration:none;
    font-size:14px;
	border-radius:10px;
	background:#fff;
}
.pagination a.active{
    background:#7950f2;
    font-weight:bold;
	color:#fff;
	border:1px solid #7950f2;
}
@media(max-width:768px){
    .pagination a{
        padding:4px 8px;
        font-size:12px;
    }
    /* 모바일에서는 최대 5페이지만 표시 */
    .pagination a.page-number{
        display:none;
    }
    .pagination a.page-number:nth-child(-n+5){
        display:inline-block;
    }
}

/* ================= 페이징 처리 ================= */


/* ================= 검색폼 ================= */

.search-form.inline-form{
    display:flex;
    gap:10px;
    align-items:stretch;
}

.mall-input{
    flex:0.8;          /* 🔥 가장 중요: 비율 축소 */
    max-width:340px;   /* 🔥 최대 폭 제한 */
    font-size:13px;
    padding:0 10px;
    opacity:0.85;      /* 살짝 보조 느낌 */
}

.keyword-input{
    flex:2.5;
    font-size:15px;

}

/* 상품명 영역 */
.keyword-wrap{
    position:relative;
    flex:1;
}


@media(max-width:768px){
    .btn-search-icon{
        width:40px;
        height:40px;
        right:5px;
    }
    .btn-search-icon::before{
        width:23px;
        height:23px;
    }
}


/* ❌ 초기화 버튼 */
.btn-clear-icon{
    position:absolute;
    right:13px;
    top:50%;
    transform:translateY(-50%);
    width:26px;
    height:26px;
    border:none;
    border-radius:50%;
    background:#eee;
    color:#555;
    font-size:14px;
    cursor:pointer;
    display:none;
}

.btn-clear-icon:hover{
    background:#ccc;
}

/* ================= 최근 검색어 ================= */

.recent-box{
    display:none;
    position:absolute;
    top:44px;
    left:0;
    right:0;
    background:#fff;
    border:1px solid #d2d2d2;
    border-radius:10px;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
    z-index:20;
}

.recent-item{
    padding:10px 12px;
    font-size:13px;
    cursor:pointer;
}

.recent-item:hover{
    background:#f5f6f7;
}



/* ================= 모바일 최적화 ================= */
@media(max-width:768px){

    .search-form.input-in-btn{
        flex-direction:column;
        gap:10px;
    }

  .mall-input{
    flex:1;
    opacity:0.9;
    font-size:14px;
}

.keyword-input{
    flex:2.5;
    font-size:15px;
    font-weight:600;
}

}

.ns-search-wrap{
  border-radius:0px;
}

.search-form{
 display:flex;
    gap:10px;
    align-items:stretch;
}

.input-box{
    flex:1;
    width:100%;
    height:48px;
    border:1px solid #c7b8ff;
    border-radius:10px;
    padding:0 15px;
    box-sizing:border-box;
    font-size:14px;
    background:#f8f5ff;
    color:#2d1b69;
    box-shadow:none;
    transition:all .2s ease;
	font-weight:400;
}


/* placeholder 색상 */
.input-group input::placeholder{
    color:#8b7bc7;
}

.input-box:focus{
    outline:none;
    border-color:#7950f2;
    background:#fff;
    box-shadow:0 0 0 4px rgba(121,80,242,0.12);
}

.btn2{
    height:48px;
    padding:0 20px;
    border:0;
    border-radius:10px;
    font-size:16px;
    color:#fff;
    cursor:pointer;
    background:linear-gradient(135deg,#7950f2,#5f3dc4);
    box-shadow:0 6px 16px rgba(121,80,242,0.25);
    transition:all .2s ease;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* hover */
.btn2:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(121,80,242,0.35);
}

/* 클릭 */
.btn2:active{
    transform:translateY(1px);
    box-shadow:0 4px 10px rgba(121,80,242,0.2);
}

/* 모바일 */
@media(max-width:768px){
    .btn2{
        width:18% !important;
        height:46px;
        font-size:14px;
    }
}

/* ================= 모바일 여백 최적화 ================= */
@media (max-width: 768px){

    /* 전체 콘텐츠 좌우 여백 */
    .container,
    .content {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* 검색 영역 */
    .ns-search-wrap{
        padding:0px;
        margin-bottom:10px;
        border-radius:4px;
    }

    /* 검색폼 간격 */
    .search-form{
        gap:6px;
    }

    /* 입력창 높이 & 내부 여백 */
    .input-box{
        padding: 10px 10px;
        font-size:14px;
		border-radius:4px !important;
    }

    /* 버튼 여백 */
    .btn-search,
    .btn-clear{
        height:40px;
        padding:0 12px;
        font-size:14px;
    }

    /* 상품 리스트 여백 */
    .product-list{
        margin:0px 0;
    }

    /* 상품 아이템 내부 여백 */
    .product-item{
        padding:10px 4px;
        gap:8px;
    }

    /* 가이드 박스 */
    .guide-box{
        padding:12px;
        margin:12px 0;
    }
}


/* 저가 */
.product-item.price-low{
}

/* 중간 */
.product-item.price-mid{
    background:#fff;
}

/* 고가 */
.product-item.price-high{
    background:#fef2f2;

}

/* ==================== 조건 만족상품 ================ */

.condition-info{
    background:#f9fafb;
    border:1px solid #d2d2d2;
    padding:12px 14px;
    margin:20px 0 10px;
    font-size:13px;
    border-radius:0px;
}
.condition-info b{
 
    margin-bottom:6px;
}
.condition-info ul{
    margin:0;
    padding-left:18px;
}
.condition-info li{
    margin:3px 0;
    color:#444;
}

.condition-badges{
    margin-top:6px;
}
.condition-badges .badge{
    display:inline-block;
    font-size:11px;
    padding:3px 6px;
    margin-right:4px;
    border-radius:4px;
    background:#eef3ff;
    color:#2a4fd7;
    border:1px solid #d2d2d2;
}

/* ==================== 조건 만족상품 ================ */

.card-body {
    width: 100%;
    box-sizing: border-box;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #d2d2d2;
    border-radius:10px;
    margin-bottom: 20px;
    color: #374151;
    font-size: 14px;
    line-height: 1.7;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.keyword-title {
    margin-top: 10px;
    margin-bottom: 20px;
    color: #212529;
    font-size: 25px; /* 기본 PC 글자 크기 */
}

.keyword-number-box {
    display: inline-block;
    background-color: #000; /* 네이버 색상 */
    color: #fff;
    font-weight: bold;
    padding: 2px 8px;
    border-radius:10px;
    margin-right: 5px;
    font-size: 30px;
    vertical-align: middle;
}

/* 모바일용 조정 (화면 768px 이하) */
@media (max-width: 768px) {

   .keyword-title {
        font-size: 20px; /* 모바일에서 글자 작게 */
    }
    .keyword-number-box {
        font-size: 20px; /* 모바일에서 줄인 크기 */
           padding: 6px 10px;   /* 모바일에서 높이 줄임 */
    }
    .keyword-text {
        font-size: 20px; /* 모바일에서 줄인 크기 */
    }
}


.guide-box{
    background:#f9fafc;
    border:1px solid #e1e4ea;
    border-radius:10px;
    padding:20px;
    margin:20px 0;
}

.guide-box h3{
    margin-bottom:15px;
    font-size:18px;
}

.guide-list{
    list-style:none;
    padding:0;
    margin:0;
}

.guide-list li{
    padding-left:28px;
    position:relative;
}

.guide-list li:before{
    content:"✔";
    position:absolute;
    left:0;
    top:2px;
    color:#03c75a;
    font-weight:bold;
}
.guide-list span{
    color:#555;
    font-size:13px;
}

.guide-tip{
    margin-top:15px;
    padding:12px;
    background:#eef2ff;
    border-radius:4px;
    font-size:13px;
}

.hl{
    background:#fff951;
    padding:2px 6px;
    border-radius:4px;
    font-weight:bold;
}


/* 리스트 */
.product-list{
    margin:0px 0;
	 border-radius:0 0 6px 6px;
	 background:#fff;
	 border:1px solid #d2d2d2;
 padding:0px 10px;

}

/* 아이템 */
.product-item{
    display:flex;
    align-items:center;
    gap:16px;
    padding:16px;
    margin:12px 0;
    border:1px solid #edf1f5;
    border-radius:10px;
    background:#fff;
    transition:all .2s ease;
}
.product-item:hover{
   transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(121,80,242,0.10);
    border-color:#d8ccff;

}


.product-item:last-child{
    border-bottom:0;
}

/* 조건 만족 상품 */
.product-item.highlight{
    background: #f3f0ff;      /* 연보라 배경 */
	  border:1px solid #c7b8ff;
}

.product-image{
    position: relative;   /* 기준점 */
}

.product-rank{
    position: absolute;
    top: 14px;
    left: 6px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.75);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    border-radius:10px;
    z-index: 10;
}


.product-item:nth-child(-n+3) .product-rank{
    background:#03c75a;
    color:#fff;
}

@media (max-width: 768px){

    .product-image{
        position: relative !important;
    }

    .product-rank{
        top: 14px;
        left: 4px;
        width: 22px;
        height: 22px;
        font-size: 11px;
    }
}

/* 기본 (모바일 우선) */
.product-image img{
    width:100px;
    height:100px;
	margin:4px 0;
	border:1px solid #eee;   /* 네이버 기본 테두리 */
    object-fit:cover;
    border-radius:10px;
}

/* PC 전용 */
@media (min-width: 1024px){
    .product-image img{
        width:100px;
        height:100px;
		border:1px solid #eee;   /* 네이버 기본 테두리 */
    }
}

/* 정보 */
.product-info{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:5px;
	 margin:5px 0;
}

.product-title{
    font-size:14px;
	font-weight:500;
    line-height:1.35;
}

.product-title a{
    color:#111;
}

.product-mall{
    font-size:13px;
	font-weight:400;
    color:#111;
}

.product-price{
    font-size:16px;
    font-weight:600;
    color:#000;
}

.product-category{
    font-size:12px;
    color:#111;
}

/* 모바일 */
@media(max-width:768px){
    .product-thumb img{
        width:64px;
        height:64px;
    }
}

/* ======================가격순 표시 ===================*/
/* 왼쪽 타이틀 */
.title-left{
    font-size:16px;
    font-weight:800;
    color:#7950f2;
}

/* 오른쪽 버튼 영역 */
.sort-bar{
    display:flex;
    align-items:center;
    gap:8px;
}

/* 버튼 */
.sort-bar button{
    height:32px;
    padding:0 12px;

    font-size:13px;
    font-weight:600;

    border-radius:10px;

    border:1px solid #e5e7eb;
    background:#fff;

    color:#6b7280;

    cursor:pointer;

    transition:all .2s ease;
}

/* hover */
.sort-bar button:hover{
    border-color:#7950f2;
    color:#7950f2;
    background:#f8f5ff;
}
/* ======================가격순 표시 ===================*/


/* ======================= 연관검색어 영역 =================== */
.related-wrap{
    margin:10px 0px 15px;
    padding:6px 0;
    overflow:hidden;
}

/* 가로 스크롤 */
.related-scroll{
    display:flex;
    gap:8px;
    overflow-x:auto;
    white-space:nowrap;
    padding:10px 0 0 0;

    scrollbar-width:none;        /* Firefox */
}
.related-scroll::-webkit-scrollbar{
    display:none;                /* Chrome */
}

/* 키워드 버튼 */
.related-keyword{
    display:inline-flex;
    align-items:center;
    padding:6px 14px;
    font-size:12px;
    border-radius:5px;
    background:#fff;
    color:#111;   
    transition:.15s;
}

.card-title{
 display:flex;
    justify-content:space-between;
    align-items:center;
	background: #f8f9fc;
    padding:15px 20px;
    border:1px solid #d2d2d2;
    font-size:16px;
    color:#5f3dc4;
    border-radius:10px 10px 0 0;
    letter-spacing:-0.2px;
    border-bottom:0px solid #d2d2d2;
}

.card-title2{
 display:flex;
    justify-content:space-between;
    align-items:center;
	background: #f8f9fc;
    padding:10px 20px;
    border:1px solid #d2d2d2;
    font-size:16px;
    color:#5f3dc4;
    border-radius:10px 10px 0 0;
    letter-spacing:-0.2px;
    border-bottom:0px solid #d2d2d2;
}

/* ======================= 연관검색어 영역 =================== */

/* 전체 영역 */
.info-section{
    background:#fff;
    border:1px solid #d2d2d2;
    border-radius:10px;
    padding:55px 35px;
    margin:20px 0;

    box-shadow:0 8px 24px rgba(0,0,0,0.04);
}

/* 상단 */
.info-header{
    text-align:center;
    margin-bottom:50px;
}

.info-header h1{
    margin:0 0 14px;
    font-size:38px;
    font-weight:900;
    line-height:1.3;

    color:#111827;
}

.info-header .subtitle{
    margin:0 auto;
    max-width:780px;
    font-size:16px;
    color:#6b7280;
    line-height:1.9;
}


/* 카드 그리드 */
.info-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

/* 카드 */
.info-card{
  position:relative;
    overflow:hidden;
    padding:28px 26px;
    border-radius:20px;
    background:
        radial-gradient(circle at top left,
        rgba(255,255,255,0.9),
        rgba(255,255,255,0.7) 35%,
        rgba(255,255,255,0.55) 100%);
    border:1px solid rgba(255,255,255,0.4);
    backdrop-filter:blur(16px);
    box-shadow:
        0 10px 30px rgba(99,102,241,0.10),
        inset 0 1px 1px rgba(255,255,255,0.6);
    transition:all .3s ease;
}


.info-card::before{
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.4),
        transparent
    );
    transform: skewX(-20deg);
}

.info-card:hover{
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(99,102,241,0.18),
        inset 0 1px 1px rgba(255,255,255,0.8);
}

.info-card:hover::before{
    animation: shine 0.7s ease;
}

@keyframes shine{
    0%{
        left: -150%;
    }
    100%{
        left: 150%;
    }
}

.info-card:hover{
    transform:translateY(-4px);
    background:#fff;
    border-color:#d8ccff;
    box-shadow:0 14px 28px rgba(121,80,242,0.08);
}

/* 아이콘 */
.guide-icon{
    width:78px;
    height:78px;
    margin:0 auto 24px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:30px;
    background:linear-gradient(135deg,#8b5cf6,#7950f2);
    box-shadow:0 12px 28px rgba(121,80,242,0.22);
}

/* 카드별 색상 */
.info-card:nth-child(2) .guide-icon{
    background:linear-gradient(135deg,#3b82f6,#2563eb);
    box-shadow:0 12px 28px rgba(37,99,235,0.20);
}

.info-card:nth-child(3) .guide-icon{
    background:linear-gradient(135deg,#14b8a6,#0f766e);
    box-shadow:0 12px 28px rgba(15,118,110,0.20);
}

.info-card:nth-child(4) .guide-icon{
    background:linear-gradient(135deg,#f59e0b,#ea580c);
    box-shadow:0 12px 28px rgba(234,88,12,0.20);
}

.info-card:nth-child(5) .guide-icon{
    background:linear-gradient(135deg,#ec4899,#db2777);
    box-shadow:0 12px 28px rgba(219,39,119,0.20);
}

.info-card:nth-child(6) .guide-icon{
    background:linear-gradient(135deg,#6366f1,#4338ca);
    box-shadow:0 12px 28px rgba(67,56,202,0.20);
}

/* 아이콘 크기 */
.guide-icon i{
    font-size:34px;
}

/* 제목 */
.info-card h5{
    margin:0 0 18px;
    text-align:center;
    font-size:23px;
    font-weight:800;
    color:#111827;
    line-height:1.4;
}

/* 리스트 */
.info-card ul{
    margin:0;
    padding-left:18px;
}

.info-card li{
    margin-bottom:12px;
    font-size:14px;
    color:#6b7280;
    line-height:1.9;
}

.info-card li:last-child{
    margin-bottom:0;
}

/* 강조 */
.hl{
    display:inline-block;
    padding:2px 8px;
    border-radius:10px;
    background:#fff3bf;
    color:#9a6700;
    font-weight:700;
}

/* 이용 안내 */
.info-notice{
    display:inline-block;
    margin-top:22px;
    padding:14px 22px;
    border-radius:14px;
    background:linear-gradient(135deg,#f5f3ff,#ede9fe);
    border:1px solid #ddd6fe;
    font-size:14px;
    color:#5b21b6;
    line-height:1.8;
    font-weight:500;
    box-shadow:0 6px 18px rgba(121,80,242,0.08);
}

.info-notice b{
    color:#7c3aed;
    font-weight:800;
}

@media(max-width:768px){

    .info-notice{
        display:block;
        font-size:13px;
        padding:14px 16px;
        margin-top:18px;
        line-height:1.7;
    }

}

/* 모바일 */
@media(max-width:1100px){

    .info-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .info-section{
        padding:38px 20px;
        border-radius:16px;
    }

    .info-header{
        margin-bottom:35px;
    }

    .info-header h1{
        font-size:28px;
    }

    .info-header .subtitle{
        font-size:14px;
    }

    .info-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .info-card{
        padding:28px 22px;
        border-radius:18px;
    }

    .guide-icon{
        width:66px;
        height:66px;

        font-size:26px;

        border-radius:20px;

        margin-bottom:20px;
    }

    .info-card h5{
        font-size:20px;
    }

    .info-card li{
        font-size:14px;
    }

}


.side-banner {
    margin: 20px 0;
}

.side-banner a {
    display: block;
    position: relative;
    width: 100%;
    height: 200px; /* 세로 크게 */
    border-radius:10px;
    overflow: hidden;
    background: #ededed; /* 배경 (이미지 없을 때 대비) */
}

/* 전체 영역 */
.banner-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;  /* 가로 가운데 */
    align-items: center;      /* 세로 가운데 */
}

/* 광고 라벨 (좌측 상단 유지) */
.banner-label {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(0,0,0,0.7);
    color: #fff;
    font-size: 12px;
    padding: 4px 6px;
    border-radius:10px;
}

/* 중앙 텍스트 */
.banner-text {
    text-align: center;
    color: #000;
}

.banner-text strong {
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 1px;
}

/* 살짝 어두운 오버레이 */
.side-banner a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.4);
}



.top-banner-wrap{
    margin-bottom:50px;
}

/* 아이폰 느낌 글래스 + 오로라 */
.top-banner-box{
    position:relative;
    overflow:hidden;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;

    padding:34px 30px;
    border-radius:10px;
    text-decoration:none;

    background:
        radial-gradient(circle at 10% 20%, rgba(255,255,255,0.28), transparent 30%),
        radial-gradient(circle at 80% 0%, rgba(255,0,128,0.35), transparent 30%),
        radial-gradient(circle at 100% 100%, rgba(0,212,255,0.30), transparent 35%),
        linear-gradient(135deg, #6d28d9 0%, #7950f2 35%, #2563eb 70%, #06b6d4 100%);

    color:#fff;

    border:1px solid rgba(255,255,255,0.15);

    box-shadow:
        0 15px 35px rgba(79,70,229,0.35),
        inset 0 1px 1px rgba(255,255,255,0.2);

    backdrop-filter:blur(14px);

    transition:all .35s ease;
}

/* 움직이는 오로라 */
.top-banner-box::before{
    content:'';
    position:absolute;
    top:-50%;
    left:-20%;
    width:420px;
    height:420px;
    background:radial-gradient(circle,
        rgba(255,255,255,0.22) 0%,
        rgba(255,255,255,0) 70%
    );

    animation:auroraMove 8s linear infinite;
}

/* 빛 반사 */
.top-banner-box::after{
    content:'';
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;

    background:linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.25) 50%,
        rgba(255,255,255,0) 100%
    );

    transform:skewX(-20deg);

    transition:all .8s ease;
}

.top-banner-box:hover::after{
    left:130%;
}

.top-banner-box:hover{
    transform:translateY(-3px) scale(1.01);

    box-shadow:
        0 22px 45px rgba(79,70,229,0.45),
        inset 0 1px 1px rgba(255,255,255,0.25);
}

.top-banner-left{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:18px;
}

.top-banner-badge{
    width:60px;
    height:60px;

    border-radius:18px;

    background:rgba(255,255,255,0.16);

    border:1px solid rgba(255,255,255,0.18);

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    font-size:18px;
    font-weight:800;

    backdrop-filter:blur(10px);

    box-shadow:
        inset 0 1px 1px rgba(255,255,255,0.15),
        0 8px 20px rgba(0,0,0,0.12);
}

.top-banner-title{
    font-size:24px;
    font-weight:800;
    margin-bottom:8px;
    line-height:1.4;
    color:#fff;

    text-shadow:0 2px 10px rgba(0,0,0,0.15);
}

.top-banner-desc{
    font-size:14px;
    line-height:1.7;
    color:rgba(255,255,255,0.92);
}

.top-banner-btn{
    position:relative;
    z-index:2;
    flex-shrink:0;
    padding:13px 24px;
    border-radius:999px;
    background:rgba(255,255,255,0.95);
    color:#5b21b6;
    font-size:14px;
    font-weight:800;
    box-shadow:
        0 6px 20px rgba(255,255,255,0.2),
        inset 0 1px 1px rgba(255,255,255,0.8);

    transition:all .25s ease;
}

.top-banner-btn:hover{
    transform:scale(1.05);
}

.banner-icon{
    font-size:25px;
    color:#fff;
}
/* 오로라 애니메이션 */
@keyframes auroraMove{

    0%{
        transform:translate(0,0) rotate(0deg);
    }

    50%{
        transform:translate(40px,60px) rotate(180deg);
    }

    100%{
        transform:translate(0,0) rotate(360deg);
    }
}

@media(max-width:768px){

    .top-banner-box{
        flex-direction:column;
        align-items:flex-start;
        padding:24px 20px;
        border-radius:20px;
    }

    .top-banner-left{
        align-items:flex-start;
    }

    .top-banner-title{
        font-size:19px;
    }

    .top-banner-btn{
        width:100%;
        text-align:center;
        box-sizing:border-box;
    }

}
