/* QUIZBANK Shopping Quiz */
.shopq-page{
    min-height:calc(100vh - 140px);
    background:#f7f8fa;
}
.shopq-wrap{
    width:min(960px,calc(100% - 40px));
    margin:0 auto;
    padding:28px 0 80px;
}

/* HERO */
.shopq-hero{
    position:relative;
    min-height:190px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    padding:28px 32px;
    overflow:hidden;
    border:1px solid #e8e2d8;
    border-radius:24px;
    background:
        radial-gradient(circle at 86% 20%,rgba(255,255,255,.95),transparent 18%),
        linear-gradient(120deg,#fffaf2,#fff1dc 55%,#fffdf9);
    box-shadow:0 14px 38px rgba(90,70,40,.05);
}
.shopq-hero-copy{
    position:relative;
    z-index:2;
}
.shopq-hero-copy>span{
    display:inline-flex;
    align-items:center;
    height:25px;
    padding:0 10px;
    border-radius:999px;
    background:#fff;
    color:#d58b27;
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em;
}
.shopq-hero h1{
    margin:11px 0 6px;
    font-size:29px;
    letter-spacing:-.04em;
}
.shopq-hero p{
    margin:0;
    color:#818891;
    font-size:10px;
}
.shopq-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:16px;
}
.shopq-tags b{
    padding:7px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.75);
    color:#776d60;
    font-size:9px;
}

.shopq-hero-art{
    position:relative;
    width:245px;
    height:130px;
    flex:0 0 245px;
}
.shopq-card{
    position:absolute;
    right:6px;
    top:22px;
    width:166px;
    height:92px;
    padding:17px 18px;
    border:1px solid rgba(255,255,255,.92);
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 28px rgba(95,70,35,.11);
    transform:rotate(3deg);
    box-sizing:border-box;
}
.shopq-card small{
    display:block;
    color:#d9a35a;
    font-size:9px;
    font-weight:800;
}
.shopq-card strong{
    display:block;
    margin-top:10px;
    color:#443f39;
    font-size:17px;
}
.shopq-card em{
    display:block;
    margin-top:6px;
    color:#9a9185;
    font-size:8px;
    font-style:normal;
}
.shopq-bag{
    position:absolute;
    left:6px;
    top:25px;
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    border-radius:18px 18px 24px 24px;
    background:linear-gradient(145deg,#f2b45e,#dc9131);
    color:#fff;
    box-shadow:0 13px 28px rgba(130,85,25,.18);
    z-index:3;
}
.shopq-bag:before{
    content:"";
    position:absolute;
    top:-13px;
    width:32px;
    height:20px;
    border:5px solid #e7a143;
    border-bottom:0;
    border-radius:18px 18px 0 0;
    box-sizing:border-box;
}
.shopq-bag span{
    font-size:27px;
    font-weight:900;
}
.shopq-star{
    position:absolute;
    right:0;
    bottom:3px;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:#eda947;
    font-size:17px;
    box-shadow:0 8px 18px rgba(70,55,35,.1);
    z-index:4;
}

/* DEVELOPMENT NOTICE */
.shopq-dev-notice{
    margin-top:14px;
    padding:13px 15px;
    border:1px solid #eadbbd;
    border-radius:13px;
    background:#fffaf0;
    color:#817461;
    font-size:9px;
    line-height:1.7;
}
.shopq-dev-notice b{
    margin-right:7px;
    color:#c88729;
}
.shopq-dev-notice strong{
    color:#4b443b;
}

/* INTRO */
.shopq-intro-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    margin-top:14px;
}
.shopq-intro-grid>div{
    padding:18px;
    border:1px solid #e7e9ec;
    border-radius:14px;
    background:#fff;
}
.shopq-intro-grid span{
    color:#d28d31;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}
.shopq-intro-grid strong{
    display:block;
    margin-top:6px;
    font-size:15px;
}
.shopq-intro-grid p{
    margin:5px 0 0;
    color:#92979d;
    font-size:9px;
    line-height:1.6;
}

/* DEV CONTENT */
.shopq-coming-content{
    margin-top:14px;
    padding:28px;
    border:1px solid #e7e9ec;
    border-radius:20px;
    background:#fff;
}
.shopq-coming-content>span{
    color:#d28d31;
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em;
}
.shopq-coming-content h2{
    margin:6px 0 5px;
    font-size:19px;
}
.shopq-coming-content>p{
    margin:0;
    color:#92979d;
    font-size:9px;
}
.shopq-placeholder{
    margin-top:20px;
    padding:40px 20px;
    border-radius:15px;
    background:#f8f9fa;
    text-align:center;
}
.shopq-placeholder>div{
    font-size:30px;
}
.shopq-placeholder strong{
    display:block;
    margin-top:10px;
    font-size:15px;
}
.shopq-placeholder small{
    display:block;
    margin-top:6px;
    color:#999fa5;
    font-size:9px;
}

/* PRE-OPEN SCREEN - CLEAN QUIZBANK STYLE */
.shopq-opening{
    position:relative;
    min-height:500px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:46px 28px;
    overflow:hidden;
    border:1px solid #e7e9ec;
    border-radius:24px;
    background:#fff;
    text-align:center;
    box-sizing:border-box;
}

/* 아주 은은한 쇼핑 배경 */
.shopq-opening:before{
    content:"";
    position:absolute;
    width:330px;
    height:330px;
    top:-210px;
    left:50%;
    transform:translateX(-50%);
    border-radius:50%;
    background:#fff5e7;
}
.shopq-opening:after{
    content:"09.02";
    position:absolute;
    right:24px;
    bottom:15px;
    color:#f5f5f6;
    font-size:72px;
    font-weight:900;
    letter-spacing:-.06em;
    pointer-events:none;
}

.shopq-opening-icon{
    position:relative;
    z-index:2;
    width:66px;
    height:66px;
    display:grid;
    place-items:center;
    margin:0 auto 17px;
    border-radius:19px;
    background:#fff7eb;
    font-size:27px;
}

/* 아이콘 아래 작은 라벨 */
.shopq-opening>span{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    height:24px;
    padding:0 10px;
    margin:0;
    border-radius:999px;
    background:#fff4e2;
    color:#d48b2b;
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em;
}

.shopq-opening h1{
    position:relative;
    z-index:2;
    margin:13px 0 7px;
    color:#30343a;
    font-size:27px;
    line-height:1.3;
    letter-spacing:-.04em;
}

.shopq-opening>p{
    position:relative;
    z-index:2;
    margin:0;
    color:#8e949a;
    font-size:10px;
    line-height:1.75;
}

/* 날짜는 큰 박스 대신 한 줄 오픈 정보로 */
.shopq-open-date{
    position:relative;
    z-index:2;
    width:auto;
    margin:25px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
}
.shopq-open-date small{
    display:block;
    margin-bottom:5px;
    color:#a0a5aa;
    font-size:8px;
    font-weight:800;
    letter-spacing:.12em;
}
.shopq-open-date strong{
    display:inline;
    margin:0;
    color:#d78c2b;
    font-size:29px;
    line-height:1;
    letter-spacing:-.04em;
}
.shopq-open-date em{
    display:inline;
    margin-left:7px;
    color:#4e545a;
    font-size:10px;
    font-style:normal;
    font-weight:700;
}

.shopq-opening-note{
    position:relative;
    z-index:2;
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid #eef0f2;
    color:#979ca1;
    font-size:9px;
    line-height:1.7;
}

.shopq-opening>a{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:40px;
    margin-top:18px;
    padding:0 16px;
    border:1px solid #e4e6e9;
    border-radius:10px;
    background:#fff;
    color:#666d74;
    font-size:9px;
    font-weight:700;
    box-shadow:none;
}

.shopq-opening>a:hover{
    border-color:#d7a65f;
    color:#c98226;
    background:#fffaf3;
}

@media(max-width:720px){
    .shopq-wrap{
        width:calc(100% - 28px);
        padding-top:22px;
    }
    .shopq-hero{
        align-items:flex-start;
        padding:23px 20px;
    }
    .shopq-hero-art{
        width:190px;
        flex-basis:190px;
        transform:scale(.86);
        transform-origin:right center;
    }
}

@media(max-width:560px){
    .shopq-hero{display:block}
    .shopq-hero-art{
        width:230px;
        height:115px;
        margin:15px auto -3px;
        transform:scale(.9);
        transform-origin:center;
    }
    .shopq-intro-grid{grid-template-columns:1fr}
    .shopq-opening{
        min-height:470px;
        padding:38px 18px;
    }
    .shopq-opening:after{
        right:12px;
        font-size:54px;
    }
    .shopq-opening h1{font-size:24px}
}


/* ===== OPENING BOX와 FOOTER 사이 전용 영역 ===== */
.shopq-footer-fill{
    margin-top:16px;
    padding:22px 26px;
    border:1px solid #e5e7ea;
    border-radius:18px;
    background:#fff;
    box-sizing:border-box;
}
.shopq-footer-fill-head{
    display:flex;
    align-items:center;
    gap:10px;
    padding-bottom:17px;
    border-bottom:1px solid #eff0f2;
}
.shopq-footer-fill-head span{
    display:inline-flex;
    align-items:center;
    height:23px;
    padding:0 9px;
    border-radius:999px;
    background:#fff4e3;
    color:#d28a2d;
    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
}
.shopq-footer-fill-head strong{
    color:#4c5258;
    font-size:11px;
}
.shopq-footer-fill-head p{
    margin:0 0 0 auto;
    color:#9a9fa4;
    font-size:9px;
}

.shopq-footer-fill-flow{
    display:grid;
    grid-template-columns:1fr 24px 1fr 24px 1fr;
    align-items:center;
    gap:5px;
    padding-top:17px;
}
.shopq-footer-fill-flow>div{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.shopq-footer-fill-flow>div>i{
    width:35px;
    height:35px;
    flex:0 0 35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#f7f8f9;
    color:#d08a31;
    font-size:8px;
    font-weight:800;
    font-style:normal;
}
.shopq-footer-fill-flow span{
    min-width:0;
}
.shopq-footer-fill-flow b{
    display:block;
    color:#555b61;
    font-size:9px;
}
.shopq-footer-fill-flow small{
    display:block;
    margin-top:3px;
    color:#a0a5aa;
    font-size:8px;
    white-space:nowrap;
}
.shopq-footer-fill-flow>em{
    color:#c8ccd0;
    font-size:12px;
    font-style:normal;
    text-align:center;
}

@media(max-width:620px){
    .shopq-footer-fill{
        padding:19px 17px;
    }
    .shopq-footer-fill-head{
        display:block;
    }
    .shopq-footer-fill-head strong{
        display:block;
        margin-top:8px;
    }
    .shopq-footer-fill-head p{
        margin-top:5px;
    }
    .shopq-footer-fill-flow{
        grid-template-columns:1fr;
        gap:8px;
    }
    .shopq-footer-fill-flow>em{
        display:none;
    }
    .shopq-footer-fill-flow>div{
        padding:7px 0;
    }
}
