/* BASIC css start */

.thumb_wrap .swiper-container .swiper-slide img{display:block; max-width:100%; margin:0 auto; }
.thumb_wrap .swiper-container .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{background:#000;}

.MK-oneclick-only-text li.MK-oneclick-text span{font-size: .6875rem;}
.MK-oneclick-value{font-size: .6875rem;}
.option_tk .product-opt{margin: 10px 0;}
.option_tk .add-opt_item{margin: 10px 0;}
.shopdetail .shopdetailItem .shopdetail_Content .detail_item{padding: 20px 10px 30px; text-align: center;}


.option_tk .shopdetailInfoSelect{margin-top:10px}
.option_tk .shopdetailInfoSelect select{font-size:12px; margin-bottom:7px}
.shopdetailInfoOneclick{background-color:#fff !important}

.shopdetail .shopdetailInfo .shopdetailInfoBottom .option_area.fixed::after{content:""; display:block; width:100%; height:100%; position:fixed; top:0; left:0; background:rgba(0,0,0,.5); z-index:-1}

/* 게시글 */
#tabs {
    padding-bottom: 10px;
    font-size: 12px;
    /*margin: 0 10px;*/
}
#tabs .shopdetailBoard {
    overflow: hidden;
    text-align: center;
    border-bottom: 1px solid #cdcdcd;
    padding: 10px 8px;
    margin-bottom: 0;
    text-align: left;
}
#tabs .shopdetailBoard .tab_on {
    padding: 10px 0;
    font-weight: bold;
}
#tabs .util {
    border-bottom: 1px solid #e4e4e4;
    /*padding: 10px;*/
    padding:10px 0; 
}
#tabs .util a {
    border:0;
    display: inline-block;
    height: 30px;
    line-height: 30px;
    width: 100%;
    text-align: center;
    background-color: #b4b4b4;
}
#tabs .list_board .reply-detail {
    margin: 0 5px;
    border: 1px solid #73adff;
    font-size: 0.875em;
    color: #5da0ff;
    display: inline-block;
    height: 18px;
    line-height: 18px;
    padding: 0 3px;
}
#tabs .review .list_board > ul > li.now > .cont_wrap {
    display: block;
}
#tabs .list_board > ul > li > .wrap .re-wrap {
    padding: 10px;
    border-top: 1px solid #bebebe;
}
#tabs .empty-board {
    text-align: center;
    padding: 15px 0 5px;
}
.list_board ul li {
    color: #424242;
    word-break: break-all;
}
.list_board .re-wrap ul li {
    font-size: 1em;
    border-bottom: 0;
    border-top: 1px dotted #bebebe;
    margin-top: 5px;
    padding-top: 5px;
    list-style: none;
}
.list_board ul li dl {
    padding: 7px;
}
.list_board ul li dl h4 {
    margin: 0
}
.list_board ul li .cont_wrap {
    padding-top: 5px;
    border-top: 1px dotted rgb(190, 190, 190);
    padding: 7px;
}
.list_board ul li .cont_wrap img {
    max-width: 100%;
    padding-bottom: 5px;
}
/* 댓글 */
.MS_cmt_list_box {
    color: #656565;
}
.MS_cmt_list_box .comment_list:last-child {
    border-bottom: 1px solid #cecece;
}
.MS_cmt_list_box .comment_list {
    padding: 5px;
    border: 1px solid #cecece;
    border-bottom: 0;
    background-color: #fff;
}
.MS_cmt_list_box .MS_cmt_hname {
    padding-left: 5px;
}
.MS_cmt_list_box .MS_cmt_content {
    padding-left: 15px;
}
.MS_cmt_list_box .comment_depth2 {
    padding-left: 10px;
}
.MS_cmt_list_box .comment_depth3 {
    padding-left: 15px;
}
#comment_password {
    width: 250px;
    left: 7px;
    box-shadow: 0 0 5px 0 #808080;
}
#comment_password input[type="password"] {
    width: 75%;
}
#comment_password form {
    height: auto !important;
}
#comment_password form span {
    display: block;
}
/* 답글 */
.list_board ul li .reply_depth1 .rating, .list_board ul li .reply_depth1 .info, .list_board ul li .reply_depth2 .rating, .list_board ul li .reply_depth2 .info, .list_board ul li .reply_depth3 .rating, .list_board ul li .reply_depth3 .info {
    padding-left: 12px;
}
.list_board ul li .reply_status {
    font-size: 0.875em;
    color: #777777;
    font-weight: normal;
}
/* 비번입력 */
.list_board input[type="password"] {
    border-radius: 3px 0 0 3px;
    width: 80%;
    border-right: 0;
    box-sizing: border-box;
    height: 35px;
}
.list_board input[type="button"] {
    width: 20%;
    float: right;
    height: 35px;
    border-radius: 0 3px 3px 0;
    background-color: #444;
    color: #fff;
    border: 1px solid #444;
    box-sizing: border-box;
}
.paging a.now {
    background-color: #fff !important;
    border: none !important;
    color: #000;
}
/* new, hit 아이콘 */
.list_board ul li dl h4 .new {
    display: inline-block;
    width: 15px;
    height: 15px;
    line-height: 15px;
    color: #fff;
    font-size: 0.875em;
    background-color: #5cb7fa;
    -webkit-border-radius: 3px !important;
    border-radius: 3px !important;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    text-align: center;
}
.list_board ul li dl h4 .hit {
    display: inline-block;
    width: 15px;
    height: 15px;
    line-height: 15px;
    color: #fff;
    font-size: 0.875em;
    background-color: #ff912c;
    -webkit-border-radius: 3px !important;
    border-radius: 3px !important;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    text-align: center;
}
/* 수정,삭제버튼 */
.list_board ul li .cont_wrap .comment_modify {
    text-align: right;
    margin-top: 5px;
}
.list_board ul li .cont_wrap .comment_modify a {
    width: 45px;
    border: 1px solid #444;
    border-radius: 3px;
    font-size: 0.875em;
    display: inline-block;
    text-align: center;
    line-height: 20px;
    height: 20px;
    background-color: #fff;
}
.list_board ul li dl .info .review_del {
    width: 45px;
    border: 1px solid #444;
    border-radius: 3px;
    font-size: 0.875em;
    display: inline-block;
    text-align: center;
    line-height: 20px;
    height: 20px;
    background-color: #fff;
}

/* Product detail local mobile skin. Every selector stays inside the detail page namespace. */
.shopdetail.product-detail-page {
    --product-detail-ink: #302526;
    --product-detail-muted: #8d7671;
    --product-detail-line: rgba(74, 57, 48, .16);
    --product-detail-panel: rgba(255, 250, 247, .86);
    --product-detail-accent: #9b5c6c;
    --product-detail-wish-outline: #111;
    --product-detail-wish-active: #df2438;
    box-sizing: border-box;
    min-height: 100%;
    padding-top: var(--store-header-height, 70px);
    padding-bottom: calc(var(--product-detail-content-bottom, 176px) + env(safe-area-inset-bottom));
    color: var(--product-detail-ink);
    background: #fbf7f3;
}

#header .head_menu .ham a.product-detail-header-back {
    position: relative;
    color: inherit;
}

#header .head_menu .ham a.product-detail-header-back .header_icon--menu {
    display: none;
}

#header .head_menu .ham a.product-detail-header-back::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 14px;
    width: 18px;
    height: 1px;
    background: currentColor;
}

#header .head_menu .ham a.product-detail-header-back::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 9px;
    width: 9px;
    height: 9px;
    border-bottom: 1px solid currentColor;
    border-left: 1px solid currentColor;
    transform: rotate(45deg);
    transform-origin: center;
}

.shopdetail.product-detail-page .page_top {
    box-sizing: border-box;
    min-height: 0;
    margin: 0;
    padding: 12px 15px 9px;
    border-bottom: 1px solid var(--product-detail-line);
    background: rgba(255, 250, 247, .72);
}

.shopdetail.product-detail-page .page_nav {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
    color: var(--product-detail-muted);
    font: 500 10px/1.4 'Jost', 'Noto Sans KR', sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.shopdetail.product-detail-page .page_nav a {
    min-width: 0;
    overflow: hidden;
    color: inherit;
    text-overflow: ellipsis;
    text-decoration: none;
}

.shopdetail.product-detail-page .page_nav a + a::before {
    content: "/";
    display: inline-block;
    margin-right: 8px;
    color: rgba(141, 118, 113, .54);
}

.shopdetail.product-detail-page .shopdetailInfo {
    margin: 0;
    background: transparent;
}

.shopdetail.product-detail-page .shopdetailInfoTop {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 16px 15px 20px;
    background: radial-gradient(circle at 50% 34%, rgba(255, 255, 255, .98), rgba(249, 241, 237, .88) 70%, rgba(244, 233, 230, .54));
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: clamp(280px, 44vh, 420px);
    overflow: hidden;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap > img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-container,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-wrapper,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-slide {
    width: 100%;
    height: 100%;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.shopdetail.product-detail-page .shopdetailInfoTop .swiper-pagination {
    bottom: 4px;
}

.shopdetail.product-detail-page .shopdetailInfoTop .swiper-pagination .swiper-pagination-bullet {
    width: 5px;
    height: 5px;
    margin: 0 3px;
    background: rgba(48, 37, 38, .28);
    opacity: 1;
}

.shopdetail.product-detail-page .shopdetailInfoTop .swiper-pagination .swiper-pagination-bullet-active {
    background: var(--product-detail-accent);
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 22px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    touch-action: manipulation;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish i.fa {
    margin: 0;
    font-size: 18px;
    line-height: 1;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish i.fa-heart,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish i.fa-heart-o {
    -webkit-text-stroke: 1px var(--product-detail-wish-outline);
    paint-order: stroke fill;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish i.fa-heart {
    display: none !important;
    color: var(--product-detail-wish-active);
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish i.fa-heart-o {
    display: inline-block !important;
    color: #fff;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish.is-saved i.fa-heart,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish[aria-pressed="true"] i.fa-heart,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish.wish-on i.fa-heart,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish i.fa-heart.is-saved {
    display: inline-block !important;
    color: var(--product-detail-wish-active);
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish.is-saved i.fa-heart-o,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish[aria-pressed="true"] i.fa-heart-o,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish.wish-on i.fa-heart-o,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish i.fa-heart-o.is-saved {
    display: none !important;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .product-detail-wish:focus-visible {
    outline: 2px solid var(--product-detail-accent);
    outline-offset: 2px;
}

.shopdetail.product-detail-page .shopdetailInfoBottom {
    margin: 0;
    padding: 0;
    background: var(--product-detail-panel);
}

.shopdetail.product-detail-page .shopdetailInfo_basic {
    box-sizing: border-box;
    margin: 0;
    padding: 22px 15px 17px;
    border-bottom: 1px solid var(--product-detail-line);
}

.shopdetail.product-detail-page .shopdetailInfo_basic h2 {
    margin: 0;
    color: var(--product-detail-ink);
    font-size: clamp(1.18rem, 4.5vw, 1.55rem);
    font-weight: 600;
    line-height: 1.42;
    word-break: keep-all;
}

.shopdetail.product-detail-page .shopdetailInfo_basic .sub_name {
    margin: 7px 0 0;
    color: var(--product-detail-muted);
    font-size: .78rem;
    line-height: 1.55;
    word-break: keep-all;
}

.shopdetail.product-detail-page .shopdetailInfoValue {
    box-sizing: border-box;
    margin: 0;
    padding: 5px 15px 13px;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc {
    display: grid;
    grid-template-columns: minmax(76px, .34fr) minmax(0, 1fr);
    align-items: baseline;
    gap: 12px;
    margin: 0;
    padding: 8px 0;
    border-bottom: 1px solid rgba(74, 57, 48, .08);
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc:last-child {
    border-bottom: 0;
}

.shopdetail.product-detail-page .shopdetailInfoValue .shopdetailInfoName {
    color: var(--product-detail-muted);
    font-size: .7rem;
    line-height: 1.45;
}

.shopdetail.product-detail-page .shopdetailInfoValue .shopdetailInfoCont {
    min-width: 0;
    color: var(--product-detail-ink);
    font-size: .86rem;
    line-height: 1.5;
    text-align: right;
    word-break: keep-all;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc:first-child .shopdetailInfoCont {
    font-size: 1.13rem;
    font-weight: 600;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc:first-child .shopdetailInfoCont strike {
    color: var(--product-detail-muted);
    font-size: .8rem;
    font-weight: 400;
}

.shopdetail.product-detail-page .shopdetailInfoValue .shopdetailInfoCont .big {
    font-size: inherit;
    font-style: normal;
}

.shopdetail.product-detail-page .shopdetailInfoValue .shopdetailInfoCont .fc_point {
    color: var(--product-detail-accent);
}

.shopdetail.product-detail-page .shopdetailInfoValue .shopdetailInfoCont .unit {
    font-size: .72em;
    font-weight: 500;
}

.shopdetail.product-detail-page .shopdetailInfoValue .shopdetailInfoDiscount .shopdetailInfoCont {
    color: var(--product-detail-accent);
    font-size: 1rem;
    font-weight: 600;
}

.shopdetail.product-detail-page .option_area_bg {
    display: none;
}

.shopdetail.product-detail-page .option_area {
    position: relative;
    box-sizing: border-box;
    margin: 0;
    padding: 17px 15px 18px;
    border-top: 1px solid var(--product-detail-line);
    background: rgba(255, 250, 247, .94);
}

.shopdetail.product-detail-page .option_tk {
    margin: 0;
}

.shopdetail.product-detail-page .option_tk .option-wrap {
    display: grid;
    gap: 11px;
    margin: 0 0 12px;
}

.shopdetail.product-detail-page .option_tk .option-box {
    box-sizing: border-box;
    padding: 13px 12px 12px;
    border: 1px solid var(--product-detail-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .62);
}

.shopdetail.product-detail-page .option_tk .option-box .tit {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 10px;
    color: var(--product-detail-ink);
    font-size: .75rem;
    line-height: 1.45;
}

.shopdetail.product-detail-page .option_tk .option-box .tit span {
    color: var(--product-detail-muted);
    font-size: .68rem;
    text-align: right;
}

.shopdetail.product-detail-page .option_tk .option-box .list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shopdetail.product-detail-page .option_tk .option-box .list > li {
    position: relative;
    min-width: 0;
    padding: 8px;
    border: 1px solid rgba(74, 57, 48, .12);
    border-radius: 8px;
    background: #fff;
}

.shopdetail.product-detail-page .option_tk .option-box .list > li .prdimg img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100px;
    object-fit: contain;
}

.shopdetail.product-detail-page .option_tk .option-box .list > li .prdname,
.shopdetail.product-detail-page .option_tk .option-box .list > li .prdprice,
.shopdetail.product-detail-page .option_tk .option-box .list > li .prdnote {
    display: block;
    margin: 4px 0 0;
    color: var(--product-detail-ink);
    font-size: .68rem;
    line-height: 1.45;
    word-break: keep-all;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect {
    margin: 0;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item {
    display: grid;
    grid-template-columns: minmax(76px, .34fr) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid rgba(74, 57, 48, .1);
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt:last-child,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item:last-child {
    border-bottom: 0;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoName {
    min-width: 0;
    color: var(--product-detail-muted);
    font-size: .72rem;
    line-height: 1.45;
    word-break: keep-all;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoList {
    min-width: 0;
    color: var(--product-detail-ink);
    font-size: .78rem;
    line-height: 1.45;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect select,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect input:not([type="hidden"]) {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    margin: 0 0 0;
    padding: 0 11px;
    border: 1px solid rgba(74, 57, 48, .2);
    border-radius: 7px;
    background: #fff;
    color: var(--product-detail-ink);
    font: inherit;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoOneclick .shopdetailInfoList {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoOneclick .shopdetailInfoList > * {
    max-width: 100%;
}

.shopdetail.product-detail-page .option_tk .ms_qty-ctrl {
    display: inline-flex;
    align-items: stretch;
    min-height: 38px;
    overflow: hidden;
    border: 1px solid rgba(74, 57, 48, .2);
    border-radius: 7px;
    background: #fff;
}

.shopdetail.product-detail-page .option_tk .ms_qty-ctrl input:not([type="hidden"]) {
    width: 48px;
    min-height: 36px;
    padding: 0 5px;
    border: 0;
    border-right: 1px solid rgba(74, 57, 48, .12);
    border-radius: 0;
    text-align: center;
}

.shopdetail.product-detail-page .option_tk .ms_qty-ctrl a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    color: var(--product-detail-ink);
    font-size: .82rem;
    text-decoration: none;
}

.shopdetail.product-detail-page .option_tk .ms_qty-ctrl a + a {
    border-left: 1px solid rgba(74, 57, 48, .12);
}

.shopdetail.product-detail-page .option_tk .add-option-sel {
    margin: 14px 0 0;
    color: var(--product-detail-accent);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.45;
}

.shopdetail.product-detail-page .option_tk .shopdetailTotal {
    margin: 14px 0 0;
    padding-top: 13px;
    border-top: 1px solid var(--product-detail-line);
    color: var(--product-detail-ink);
    font-size: .8rem;
    text-align: right;
}

.shopdetail.product-detail-page .option_tk .shopdetailTotal p {
    margin: 0;
}

.shopdetail.product-detail-page .option_area .buy_on {
    display: none !important;
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] {
    display: flex !important;
    align-items: stretch;
    gap: 7px;
    box-sizing: border-box;
    width: min(100%, 850px);
    min-height: 68px;
    margin: 0;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    position: fixed !important;
    left: 50% !important;
    bottom: var(--product-detail-purchase-bottom, 84px) !important;
    /* The purchase bar and the bottom navigation are one fixed stack. Keep
       them on the same layer so neither one can unexpectedly cover the other. */
    z-index: 130 !important;
    transform: translateX(-50%) !important;
    border: 1px solid rgba(74, 57, 48, .18);
    border-radius: 14px 14px 0 0;
    background: rgba(255, 250, 247, .96);
    box-shadow: 0 12px 32px rgba(47, 37, 37, .2);
    -webkit-backdrop-filter: blur(16px) saturate(1.08);
    backdrop-filter: blur(16px) saturate(1.08);
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar].fixed {
    display: flex !important;
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar].is-empty {
    display: none !important;
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions,
.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar].fixed .product-detail-fixed-actions {
    flex: 1 1 auto;
    min-width: 0;
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on {
    display: flex !important;
    align-items: stretch;
    gap: 6px;
    width: 100%;
    margin: 0;
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a {
    display: inline-flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    min-height: 48px;
    padding: 0 8px;
    border: 1px solid rgba(74, 57, 48, .18);
    border-radius: 8px;
    background: #fff;
    color: var(--product-detail-ink);
    font-size: .73rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a.buy {
    border-color: var(--product-detail-accent);
    background: var(--product-detail-accent);
    color: #fffaf7;
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar].product-detail-fixed-footer-visible,
.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar].fixed.product-detail-fixed-footer-visible {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(calc(100% + 12px)) !important;
}

.shopdetail.product-detail-page.is-purchase-fixed:not(.is-product-detail-footer-visible) .shopdetailButton {
    box-sizing: border-box;
    height: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.shopdetail.product-detail-page .shopdetailButton {
    margin: 0;
    padding: 17px 15px 0;
}

.shopdetail.product-detail-page .shopdetailButton .btn_box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.shopdetail.product-detail-page .shopdetailButton .btn_box .btn_100 {
    grid-column: 1 / -1;
}

.shopdetail.product-detail-page .shopdetailButton .btn_box a {
    min-height: 44px;
    box-sizing: border-box;
    border-radius: 7px;
}

.shopdetail.product-detail-page .shopdetailItem {
    box-sizing: border-box;
    margin: 0;
    padding: 26px 15px 0;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer {
    margin: 0 0 14px;
    border: 1px solid var(--product-detail-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .58);
    overflow: hidden;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item_nav {
    overflow-x: auto;
    border-bottom: 1px solid var(--product-detail-line);
    white-space: nowrap;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item_nav ul {
    display: flex;
    min-width: max-content;
    margin: 0;
    padding: 0 12px;
    list-style: none;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item_nav li {
    margin: 0;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item_nav a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 9px;
    color: var(--product-detail-muted);
    font-size: .7rem;
    text-decoration: none;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item_nav li.on a {
    color: var(--product-detail-ink);
    font-weight: 700;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 50px;
    padding: 0 14px;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_head h3 {
    margin: 0;
    color: var(--product-detail-ink);
    font-size: .84rem;
    line-height: 1.4;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_head .btn_toggle {
    position: relative;
    display: inline-flex !important;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--product-detail-line) !important;
    border-radius: 50%;
    background: transparent !important;
    color: var(--product-detail-ink) !important;
    font: inherit;
    font-size: 0 !important;
    line-height: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background-color .18s ease, border-color .18s ease;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_head .btn_toggle::before {
    display: block;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    content: "";
    transform: translateY(-2px) rotate(45deg);
    transition: transform .18s ease;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_head .btn_toggle[aria-expanded="true"]::before {
    transform: translateY(2px) rotate(225deg);
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_head .btn_toggle:hover,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_head .btn_toggle:focus-visible {
    background: var(--product-detail-line) !important;
    outline: none;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_head .btn_toggle:focus-visible {
    outline: 2px solid var(--product-detail-accent);
    outline-offset: 2px;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item {
    box-sizing: border-box;
    padding: 16px 14px 20px;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    object-fit: contain;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer.shopdetailQna.close > .detail_item,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer.shopdetailReview.close > .detail_item,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer.shopdetailNotify.close > .detail_item,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer.shopdetailPolicy.close > .detail_item {
    display: none;
}

.shopdetail.product-detail-page .shopdetailItem .product_detail_outer.shopdetailQna:not(.close) > .detail_item,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer.shopdetailReview:not(.close) > .detail_item,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer.shopdetailNotify:not(.close) > .detail_item,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer.shopdetailPolicy:not(.close) > .detail_item {
    display: block;
}

.shopdetail.product-detail-page .product-detail-category-wide {
    box-sizing: border-box;
    width: 100%;
    margin: 10px 0 24px;
    padding: 0 15px;
}

.shopdetail.product-detail-page .product-detail-category-wide__header {
    margin: 0 0 12px;
}

.shopdetail.product-detail-page .product-detail-category-wide__eyebrow {
    margin: 0 0 5px;
    color: var(--product-detail-muted);
    font: 600 .62rem/1.4 'Jost', 'Noto Sans KR', sans-serif;
    letter-spacing: .16em;
}

.shopdetail.product-detail-page .product-detail-category-wide__header h2 {
    margin: 0;
    color: var(--product-detail-ink);
    font-size: .96rem;
    font-weight: 600;
    line-height: 1.4;
}

.shopdetail.product-detail-page .product-detail-category-wide__entry {
    display: none;
    flex-direction: column;
    width: 100%;
    color: var(--product-detail-ink);
    text-decoration: none;
}

.shopdetail.product-detail-page .product-detail-category-wide__entry.is-active {
    display: flex;
}

.shopdetail.product-detail-page .product-detail-category-wide__image {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    border-radius: 12px;
    background: rgba(155, 92, 108, .06);
    object-fit: contain;
}

.shopdetail.product-detail-page .product-detail-category-wide__image[hidden],
.shopdetail.product-detail-page .product-detail-category-wide__fallback[hidden] {
    display: none;
}

.shopdetail.product-detail-page .product-detail-category-wide__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: clamp(180px, 42vw, 500px);
    border: 1px solid var(--product-detail-line);
    border-radius: 12px;
    background: rgba(155, 92, 108, .06);
    color: var(--product-detail-accent);
    font-size: .78rem;
}

.shopdetail.product-detail-page .product-detail-category-wide__label {
    /* Keep the category name in the DOM for category matching, but do not
       render the Korean label below the full-width category image. */
    display: none;
}

.shopdetail.product-detail-page .product-detail-category-wide__entry:focus-visible .product-detail-category-wide__image,
.shopdetail.product-detail-page .product-detail-category-wide__entry:hover .product-detail-category-wide__image {
    outline: 2px solid rgba(155, 92, 108, .5);
    outline-offset: 3px;
}

.shopdetail.product-detail-page .product-detail-category-wide.is-empty {
    display: none;
}

@media (max-width: 390px) {
    .shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap {
        height: clamp(260px, 42vh, 370px);
    }

    .shopdetail.product-detail-page .shopdetailInfoValue .product_desc,
    .shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
    .shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item {
        grid-template-columns: minmax(68px, .32fr) minmax(0, 1fr);
        gap: 8px;
    }

    .shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] {
        gap: 4px;
        padding-right: 7px;
        padding-left: 7px;
    }

    .shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on {
        gap: 4px;
    }

    .shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a {
        padding-right: 5px;
        padding-left: 5px;
        font-size: .66rem;
    }

    .shopdetail.product-detail-page .product-detail-category-wide {
        margin-top: 8px;
        margin-bottom: 20px;
        padding-right: 12px;
        padding-left: 12px;
    }

    .shopdetail.product-detail-page .product-detail-category-wide__header {
        margin-bottom: 9px;
    }

    .shopdetail.product-detail-page .product-detail-category-wide__image,
    .shopdetail.product-detail-page .product-detail-category-wide__fallback {
        border-radius: 10px;
    }
}

/* Guest gate imagery: ALERT on top, then native Leave/Login image actions side by side. */
.product-detail-page .product-detail-login-gate {
    box-sizing: border-box;
    color: #302526;
    margin: 20px 15px 24px;
    padding: 1px;
    border: 1px solid rgba(74, 57, 48, .12);
    border-radius: 18px;
    background: #fff;
    background-image: none;
    box-shadow: 0 6px 18px rgba(47, 37, 37, .06);
    filter: none;
}

.product-detail-page .product-detail-login-gate__inner {
    box-sizing: border-box;
    padding: 12px 12px 13px;
    border: 1px solid rgba(74, 57, 48, .08);
    border-radius: 17px;
    background: #fff;
    color: #302526;
}

.product-detail-page .product-detail-login-gate__alert {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0;
    object-fit: contain;
    object-position: center;
}

.product-detail-page .product-detail-login-gate__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 10px;
    width: 100%;
    max-width: 320px;
    margin-top: 12px;
    margin-right: auto;
    margin-left: auto;
}

.product-detail-page .product-detail-login-gate__choice {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #302526;
    line-height: 0;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.product-detail-page .product-detail-login-gate__choice img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

.product-detail-page .product-detail-login-gate__choice:hover,
.product-detail-page .product-detail-login-gate__choice:focus-visible {
    border-color: transparent;
    box-shadow: none;
    outline: none;
    transform: translateY(-1px);
}

.product-detail-page .product-detail-login-gate__choice:focus-visible {
    outline: 2px solid #9b5c6c;
    outline-offset: 3px;
}

.shopdetail.product-detail-page.is-product-detail-guest {
    padding-bottom: calc(var(--product-detail-purchase-bottom, 84px) + 12px + env(safe-area-inset-bottom));
}

body.succubus-night .shopdetail.product-detail-page .product-detail-login-gate,
body.succubus-night .shopdetail.product-detail-page .product-detail-login-gate__inner {
    color: #302526;
    border-color: rgba(74, 57, 48, .08);
    background: #fff;
    background-image: none;
    box-shadow: 0 6px 18px rgba(47, 37, 37, .06);
    filter: none;
}

body.succubus-night .shopdetail.product-detail-page .product-detail-login-gate__choice {
    color: #302526;
    border-color: transparent;
    background: transparent;
    background-image: none;
    box-shadow: none;
    filter: none;
}

@media (max-width: 390px) {
    .product-detail-page .product-detail-login-gate {
        margin: 16px 12px 24px;
    }

    .product-detail-page .product-detail-login-gate__inner {
        padding: 10px 8px 12px;
    }

    .product-detail-page .product-detail-login-gate__choices {
        gap: 7px;
        margin-top: 8px;
    }

}

@media (min-width: 600px) {
    .product-detail-page .product-detail-login-gate__inner {
        padding: 18px 24px 20px;
    }

    .product-detail-page .product-detail-login-gate__choices {
        gap: 16px;
        max-width: 520px;
        margin-top: 16px;
    }
}

/* Product-detail first screen: the product image starts at the viewport edge.
   The store header stays available as a transparent control layer, but its
   brand mark and the breadcrumb row do not occupy space above the image. */
body.product-detail-page #header,
body:has(#contents .shopdetail.product-detail-page) #header {
    background: transparent !important;
    background-image: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.product-detail-page #header .head_inner h1.logo,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner h1.logo {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.product-detail-page #header {
    color: #302526;
}

body.succubus-night.product-detail-page #header,
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) #header {
    color: #fff5ef;
}

body.product-detail-page #container,
body.product-detail-page #contents,
body:has(#contents .shopdetail.product-detail-page) #container,
body:has(#contents .shopdetail.product-detail-page) #contents {
    box-sizing: border-box;
    padding-top: 0 !important;
    margin-top: 0 !important;
    background: #fff !important;
}

.shopdetail.product-detail-page {
    box-sizing: border-box;
    padding-top: 0 !important;
    background: #fff;
    --product-detail-panel: #fff;
}

.shopdetail.product-detail-page > .page_top {
    display: none !important;
}

.shopdetail.product-detail-page .shopdetailInfoTop {
    box-sizing: border-box;
    width: 100vw;
    max-width: none;
    margin: 0 0 0 calc(50% - 50vw);
    padding: 0 !important;
    background: #fff;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap {
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    background: #fff;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap > img,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-slide > img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: center top;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-container,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-wrapper,
.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-slide {
    width: 100%;
    height: auto !important;
    min-height: 0;
}

.shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap .swiper-slide {
    display: block;
}

.shopdetail.product-detail-page .shopdetailInfoTop .swiper-pagination {
    bottom: 8px;
}

.shopdetail.product-detail-page .shopdetailInfoBottom,
.shopdetail.product-detail-page .option_area,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer {
    background: #fff;
}

/* Default/day presentation is white. Logged-in night mode can still use the
   shared succubus-night state without changing the guest first paint. */
body.succubus-night.product-detail-page #container,
body.succubus-night.product-detail-page #contents,
body.succubus-night.product-detail-page .shopdetail.product-detail-page,
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) #container,
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) #contents,
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page {
    background: #171118 !important;
}

body.succubus-night .shopdetail.product-detail-page {
    --product-detail-ink: #fff5ef;
    --product-detail-muted: #c7aab4;
    --product-detail-line: rgba(255, 245, 239, .18);
    --product-detail-panel: #211620;
    --product-detail-accent: #d18da3;
}

body.succubus-night .shopdetail.product-detail-page .shopdetailInfoTop,
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .shopdetailInfoTop {
    background: #171118;
}

body.succubus-night .shopdetail.product-detail-page .shopdetailInfoBottom,
body.succubus-night .shopdetail.product-detail-page .option_area,
body.succubus-night .shopdetail.product-detail-page .shopdetailItem .product_detail_outer {
    background: #211620;
}

@media (max-width: 390px) {
    .shopdetail.product-detail-page .shopdetailInfoTop .thumb_wrap {
        height: auto !important;
    }
}

/* The transparent detail header sits over the full-bleed product image. Give
   its three functional controls a small white frame so they stay readable on
   both light and dark photographs without bringing back the full header bar. */
body.product-detail-page #header .head_menu .ham a,
body.product-detail-page #header .head_actions > a.head_action,
body:has(#contents .shopdetail.product-detail-page) #header .head_menu .ham a,
body:has(#contents .shopdetail.product-detail-page) #header .head_actions > a.head_action {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, .94) !important;
    border-radius: 50%;
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: 0 1px 5px rgba(36, 25, 28, .2), inset 0 1px 0 rgba(255, 255, 255, .92);
}

body.product-detail-page #header .head_menu .ham a.product-detail-header-back::before,
body.product-detail-page #header .head_menu .ham a.product-detail-header-back::after,
body:has(#contents .shopdetail.product-detail-page) #header .head_menu .ham a.product-detail-header-back::before,
body:has(#contents .shopdetail.product-detail-page) #header .head_menu .ham a.product-detail-header-back::after {
    color: #302526;
}

body.product-detail-page #header .head_actions .header_icon--search,
body:has(#contents .shopdetail.product-detail-page) #header .head_actions .header_icon--search {
    filter: none !important;
}

body.product-detail-page #header .head_actions .header_icon--bag,
body:has(#contents .shopdetail.product-detail-page) #header .head_actions .header_icon--bag {
    color: #302526;
}

/* Final global monochrome contract for product detail.  Product photography,
 * member notices and supplied artwork keep their source pixels; the page
 * chrome, information panels, forms and controls use explicit white/black
 * surfaces for day/night instead of a whole-page color flip. */
.shopdetail.product-detail-page,
body:has(#contents .shopdetail) #container,
body:has(#contents .shopdetail) #contents,
body:has(#contents .shopdetail) .shopdetail {
    --product-detail-bg: #fff;
    --product-detail-surface: #fff;
    --product-detail-ink: #000;
    --product-detail-muted: #666;
    --product-detail-line: rgba(0, 0, 0, .16);
    --product-detail-control-bg: #fff;
    --product-detail-control-ink: #000;
    --product-detail-accent: #d51f32;
    --product-detail-wish-outline: #000;
    --product-detail-wish-active: #d51f32;
    background: #fff !important;
    background-image: none !important;
    color: #000 !important;
}

body:has(#contents .shopdetail) #container,
body:has(#contents .shopdetail) #contents {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* The global header is fixed at the top of the phone. Keep the detail page's
 * first product image in normal flow below that 70px header slot, rather than
 * allowing the image to begin underneath the header. */
body.product-detail-page #contents,
body:has(#contents .shopdetail.product-detail-page) #contents {
    padding-top: var(--store-header-height, 70px) !important;
}

body:has(#contents .shopdetail) .shopdetail,
body:has(#contents .shopdetail) .shopdetail .page_top,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfo,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfo_basic,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue,
body:has(#contents .shopdetail) .shopdetail .option_area,
body:has(#contents .shopdetail) .shopdetail .option_tk,
body:has(#contents .shopdetail) .shopdetail .shopdetailButton,
body:has(#contents .shopdetail) .shopdetail .shopdetailItem,
body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
body:has(#contents .shopdetail) .shopdetail .product_detail_outer .detail_item_nav,
body:has(#contents .shopdetail) .shopdetail .product_detail_outer .detail_head,
body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide,
body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner,
body:has(#contents .shopdetail) #tabs,
body:has(#contents .shopdetail) #tabs .shopdetailBoard,
body:has(#contents .shopdetail) #tabs .util,
body:has(#contents .shopdetail) .MS_cmt_list_box .comment_list {
    background: #fff !important;
    background-image: none !important;
    color: #000 !important;
}

body:has(#contents .shopdetail) .shopdetail a,
body:has(#contents .shopdetail) .shopdetail h2,
body:has(#contents .shopdetail) .shopdetail h3,
body:has(#contents .shopdetail) .shopdetail h4,
body:has(#contents .shopdetail) .shopdetail p,
body:has(#contents .shopdetail) .shopdetail li,
body:has(#contents .shopdetail) .shopdetail dt,
body:has(#contents .shopdetail) .shopdetail dd,
body:has(#contents .shopdetail) .shopdetail label,
body:has(#contents .shopdetail) #tabs,
body:has(#contents .shopdetail) #tabs a,
body:has(#contents .shopdetail) .list_board ul li,
body:has(#contents .shopdetail) .MS_cmt_list_box {
    color: #000 !important;
}

body:has(#contents .shopdetail) .shopdetail .page_nav,
body:has(#contents .shopdetail) .shopdetail .page_nav a,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoName,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfo_basic .sub_name,
body:has(#contents .shopdetail) .shopdetail .option_tk .shopdetailInfoName,
body:has(#contents .shopdetail) .shopdetail .option-box .tit span,
body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__eyebrow,
body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__label,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoCont strike,
body:has(#contents .shopdetail) .list_board .reply_status,
body:has(#contents .shopdetail) .MS_cmt_list_box {
    color: #666 !important;
}

body:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
body:has(#contents .shopdetail) .shopdetail .option_area,
body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
body:has(#contents .shopdetail) .shopdetail .product_detail_outer .detail_item_nav,
body:has(#contents .shopdetail) .shopdetail .product_detail_outer .detail_head,
body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide,
body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner,
body:has(#contents .shopdetail) #tabs .shopdetailBoard,
body:has(#contents .shopdetail) #tabs .util,
body:has(#contents .shopdetail) .list_board ul li .cont_wrap,
body:has(#contents .shopdetail) .list_board ul li > .wrap .re-wrap,
body:has(#contents .shopdetail) .MS_cmt_list_box .comment_list {
    border-color: rgba(0, 0, 0, .16) !important;
}

body:has(#contents .shopdetail) .shopdetail .option-box,
body:has(#contents .shopdetail) .shopdetail .option-box .list > li,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoSelect select,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoSelect input:not([type="hidden"]),
body:has(#contents .shopdetail) .shopdetail .ms_qty-ctrl,
body:has(#contents .shopdetail) .shopdetail .ms_qty-ctrl input,
body:has(#contents .shopdetail) .shopdetail .add-option-sel,
    body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__image,
body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__fallback,
body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner {
    background: #fff !important;
    border-color: rgba(0, 0, 0, .16) !important;
    color: #000 !important;
    box-shadow: none !important;
}

body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoCont .fc_point,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoDiscount .shopdetailInfoCont,
body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoDiscount .fc_point {
    color: #d51f32 !important;
}

body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a,
body:has(#contents .shopdetail) .shopdetail .shopdetailButton .btn_box a,
body:has(#contents .shopdetail) .shopdetail .btn_basic_1,
body:has(#contents .shopdetail) #tabs .util a,
body:has(#contents .shopdetail) .list_board input[type="button"] {
    background: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

body:has(#contents .shopdetail) .shopdetail .btn_basic_2 {
    background: #fff !important;
    border-color: rgba(0, 0, 0, .3) !important;
    color: #000 !important;
}

/* The purchase bar sits directly against the four-item footer dock on the
 * detail page. Removing only this page's top padding keeps other pages'
 * footer spacing unchanged. */
body:has(#contents .shopdetail) .foot_functional-wrap {
    padding-top: 0 !important;
}

body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
    background: #fff !important;
    border-color: rgba(0, 0, 0, .18) !important;
    color: #000 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* The image-first detail header keeps its readable control frames, now with
 * the same explicit palette as the rest of the page. */
body:has(#contents .shopdetail) #header .head_menu .ham a,
body:has(#contents .shopdetail) #header .head_actions > a.head_action {
    border-color: #000 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #000 !important;
}

body:has(#contents .shopdetail) #header .head_actions .header_icon--search {
    filter: none !important;
}

body:has(#contents .shopdetail) #header .head_actions .header_icon--bag,
body:has(#contents .shopdetail) #header .head_menu .ham a.product-detail-header-back::before,
body:has(#contents .shopdetail) #header .head_menu .ham a.product-detail-header-back::after {
    color: #000 !important;
}

html.succubus-preload-night .shopdetail.product-detail-page,
html.succubus-night .shopdetail.product-detail-page,
body.succubus-night .shopdetail.product-detail-page,
html.succubus-preload-night body:has(#contents .shopdetail) #container,
html.succubus-night body:has(#contents .shopdetail) #container,
body.succubus-night:has(#contents .shopdetail) #container,
html.succubus-preload-night body:has(#contents .shopdetail) #contents,
html.succubus-night body:has(#contents .shopdetail) #contents,
body.succubus-night:has(#contents .shopdetail) #contents,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail,
html.succubus-night body:has(#contents .shopdetail) .shopdetail,
body.succubus-night:has(#contents .shopdetail) .shopdetail,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .page_top,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .page_top,
body.succubus-night:has(#contents .shopdetail) .shopdetail .page_top,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfo,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfo,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfo,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfo_basic,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfo_basic,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfo_basic,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .option_area,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .option_area,
body.succubus-night:has(#contents .shopdetail) .shopdetail .option_area,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .option_tk,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .option_tk,
body.succubus-night:has(#contents .shopdetail) .shopdetail .option_tk,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailButton,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailButton,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailButton,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailItem,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailItem,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailItem,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product_detail_outer,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product-detail-category-wide,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs,
html.succubus-night body:has(#contents .shopdetail) #tabs,
body.succubus-night:has(#contents .shopdetail) #tabs,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs .shopdetailBoard,
html.succubus-night body:has(#contents .shopdetail) #tabs .shopdetailBoard,
body.succubus-night:has(#contents .shopdetail) #tabs .shopdetailBoard,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs .util,
html.succubus-night body:has(#contents .shopdetail) #tabs .util,
body.succubus-night:has(#contents .shopdetail) #tabs .util,
html.succubus-preload-night body:has(#contents .shopdetail) .MS_cmt_list_box .comment_list,
html.succubus-night body:has(#contents .shopdetail) .MS_cmt_list_box .comment_list,
body.succubus-night:has(#contents .shopdetail) .MS_cmt_list_box .comment_list {
    background: #000 !important;
    background-image: none !important;
    color: #fff !important;
}

html.succubus-preload-night .shopdetail.product-detail-page,
html.succubus-night .shopdetail.product-detail-page,
body.succubus-night .shopdetail.product-detail-page,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail,
html.succubus-night body:has(#contents .shopdetail) .shopdetail,
body.succubus-night:has(#contents .shopdetail) .shopdetail {
    --product-detail-bg: #000;
    --product-detail-surface: #000;
    --product-detail-ink: #fff;
    --product-detail-muted: #aaa;
    --product-detail-line: rgba(255, 255, 255, .18);
    --product-detail-control-bg: #000;
    --product-detail-control-ink: #fff;
    --product-detail-accent: #ff4054;
    --product-detail-wish-outline: #fff;
    --product-detail-wish-active: #ff4054;
    background: #000 !important;
    color: #fff !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail a,
html.succubus-night body:has(#contents .shopdetail) .shopdetail a,
body.succubus-night:has(#contents .shopdetail) .shopdetail a,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail h2,
html.succubus-night body:has(#contents .shopdetail) .shopdetail h2,
body.succubus-night:has(#contents .shopdetail) .shopdetail h2,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail h3,
html.succubus-night body:has(#contents .shopdetail) .shopdetail h3,
body.succubus-night:has(#contents .shopdetail) .shopdetail h3,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail h4,
html.succubus-night body:has(#contents .shopdetail) .shopdetail h4,
body.succubus-night:has(#contents .shopdetail) .shopdetail h4,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail p,
html.succubus-night body:has(#contents .shopdetail) .shopdetail p,
body.succubus-night:has(#contents .shopdetail) .shopdetail p,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail li,
html.succubus-night body:has(#contents .shopdetail) .shopdetail li,
body.succubus-night:has(#contents .shopdetail) .shopdetail li,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail dt,
html.succubus-night body:has(#contents .shopdetail) .shopdetail dt,
body.succubus-night:has(#contents .shopdetail) .shopdetail dt,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail dd,
html.succubus-night body:has(#contents .shopdetail) .shopdetail dd,
body.succubus-night:has(#contents .shopdetail) .shopdetail dd,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail label,
html.succubus-night body:has(#contents .shopdetail) .shopdetail label,
body.succubus-night:has(#contents .shopdetail) .shopdetail label,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs,
html.succubus-night body:has(#contents .shopdetail) #tabs,
body.succubus-night:has(#contents .shopdetail) #tabs,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs a,
html.succubus-night body:has(#contents .shopdetail) #tabs a,
body.succubus-night:has(#contents .shopdetail) #tabs a,
html.succubus-preload-night body:has(#contents .shopdetail) .list_board ul li,
html.succubus-night body:has(#contents .shopdetail) .list_board ul li,
body.succubus-night:has(#contents .shopdetail) .list_board ul li {
    color: #fff !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .page_nav,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .page_nav,
body.succubus-night:has(#contents .shopdetail) .shopdetail .page_nav,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .page_nav a,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .page_nav a,
body.succubus-night:has(#contents .shopdetail) .shopdetail .page_nav a,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoName,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoName,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoName,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfo_basic .sub_name,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfo_basic .sub_name,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfo_basic .sub_name,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .option_tk .shopdetailInfoName,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .option_tk .shopdetailInfoName,
body.succubus-night:has(#contents .shopdetail) .shopdetail .option_tk .shopdetailInfoName,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .option-box .tit span,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .option-box .tit span,
body.succubus-night:has(#contents .shopdetail) .shopdetail .option-box .tit span,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__eyebrow,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__eyebrow,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__eyebrow,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__label,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__label,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product-detail-category-wide__label,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoCont strike,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoCont strike,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoCont strike {
    color: #aaa !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .option_area,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .option_area,
body.succubus-night:has(#contents .shopdetail) .shopdetail .option_area,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product_detail_outer,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product-detail-category-wide,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product-detail-category-wide,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product-detail-login-gate,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product-detail-login-gate__inner,
html.succubus-preload-night body:has(#contents .shopdetail) .option-box,
html.succubus-night body:has(#contents .shopdetail) .option-box,
body.succubus-night:has(#contents .shopdetail) .option-box,
html.succubus-preload-night body:has(#contents .shopdetail) .option-box .list > li,
html.succubus-night body:has(#contents .shopdetail) .option-box .list > li,
body.succubus-night:has(#contents .shopdetail) .option-box .list > li,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetailInfoSelect select,
html.succubus-night body:has(#contents .shopdetail) .shopdetailInfoSelect select,
body.succubus-night:has(#contents .shopdetail) .shopdetailInfoSelect select,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetailInfoSelect input:not([type="hidden"]),
html.succubus-night body:has(#contents .shopdetail) .shopdetailInfoSelect input:not([type="hidden"]),
body.succubus-night:has(#contents .shopdetail) .shopdetailInfoSelect input:not([type="hidden"]),
html.succubus-preload-night body:has(#contents .shopdetail) .ms_qty-ctrl,
html.succubus-night body:has(#contents .shopdetail) .ms_qty-ctrl,
body.succubus-night:has(#contents .shopdetail) .ms_qty-ctrl,
html.succubus-preload-night body:has(#contents .shopdetail) .ms_qty-ctrl input,
html.succubus-night body:has(#contents .shopdetail) .ms_qty-ctrl input,
body.succubus-night:has(#contents .shopdetail) .ms_qty-ctrl input {
    background: #000 !important;
    border-color: rgba(255, 255, 255, .18) !important;
    color: #fff !important;
    box-shadow: none !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoCont .fc_point,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoCont .fc_point,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoCont .fc_point,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoDiscount .shopdetailInfoCont,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoDiscount .shopdetailInfoCont,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoValue .shopdetailInfoDiscount .shopdetailInfoCont {
    color: #ff4054 !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) #header .head_menu .ham a,
html.succubus-night body:has(#contents .shopdetail) #header .head_menu .ham a,
body.succubus-night:has(#contents .shopdetail) #header .head_menu .ham a,
html.succubus-preload-night body:has(#contents .shopdetail) #header .head_actions > a.head_action,
html.succubus-night body:has(#contents .shopdetail) #header .head_actions > a.head_action,
body.succubus-night:has(#contents .shopdetail) #header .head_actions > a.head_action {
    border-color: #fff !important;
    background: #000 !important;
    color: #fff !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) #header .head_actions .header_icon--bag,
html.succubus-night body:has(#contents .shopdetail) #header .head_actions .header_icon--bag,
body.succubus-night:has(#contents .shopdetail) #header .head_actions .header_icon--bag,
html.succubus-preload-night body:has(#contents .shopdetail) #header .head_menu .ham a.product-detail-header-back::before,
html.succubus-night body:has(#contents .shopdetail) #header .head_menu .ham a.product-detail-header-back::before,
body.succubus-night:has(#contents .shopdetail) #header .head_menu .ham a.product-detail-header-back::before,
html.succubus-preload-night body:has(#contents .shopdetail) #header .head_menu .ham a.product-detail-header-back::after,
html.succubus-night body:has(#contents .shopdetail) #header .head_menu .ham a.product-detail-header-back::after,
body.succubus-night:has(#contents .shopdetail) #header .head_menu .ham a.product-detail-header-back::after {
    color: #fff !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a,
body.succubus-night:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .btn_basic_1,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .btn_basic_1,
body.succubus-night:has(#contents .shopdetail) .shopdetail .btn_basic_1,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs .util a,
html.succubus-night body:has(#contents .shopdetail) #tabs .util a,
body.succubus-night:has(#contents .shopdetail) #tabs .util a,
html.succubus-preload-night body:has(#contents .shopdetail) .list_board input[type="button"],
html.succubus-night body:has(#contents .shopdetail) .list_board input[type="button"],
body.succubus-night:has(#contents .shopdetail) .list_board input[type="button"] {
    background: #fff !important;
    border-color: #fff !important;
    color: #000 !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
html.succubus-night body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
body.succubus-night:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
    background: #000 !important;
    border-color: rgba(255, 255, 255, .18) !important;
    color: #fff !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* Last-cascade product-detail contract for Makeshop's mobile parser. */
body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
    width: 850px !important;
    max-width: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar].product-detail-fixed-footer-visible,
body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar].fixed.product-detail-fixed-footer-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(-50%) !important;
}

body.product-detail-page #header .head_inner h1.logo,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner h1.logo {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

@media (max-width: 850px) {
    body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
    html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
    html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* The detail hero must begin below the fixed global header on first paint. */
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page {
    padding-top: var(--store-header-height, 70px) !important;
}

/* Absolute last cascade: labels stay in one left column and values in one
 * right column after all legacy Makeshop detail-page rules have loaded. */
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr) !important;
    column-gap: 16px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoName,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoName,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item > .shopdetailInfoName {
    grid-column: 1 !important;
    justify-self: start !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: normal !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item > .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoList {
    grid-column: 2 !important;
    justify-self: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > a,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > em,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > strong,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > span {
    text-align: right !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoList {
    justify-content: flex-end !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoCont select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
}

/* Absolute last cascade: the live Makeshop base stylesheet has legacy rules
 * that otherwise put the value column before or beside the label column. */
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr) !important;
    column-gap: 16px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoName,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoName,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item > .shopdetailInfoName {
    grid-column: 1 !important;
    justify-self: start !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: normal !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item > .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoList {
    grid-column: 2 !important;
    justify-self: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > a,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > em,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > strong,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > span {
    text-align: right !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoList {
    justify-content: flex-end !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoCont > select,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoCont select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
}

/* Final product-detail field/value contract: labels share one left edge and
 * their values share one right edge on every metadata and option row. */
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr) !important;
    column-gap: 16px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoName,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoName,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item > .shopdetailInfoName {
    grid-column: 1 !important;
    justify-self: start !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
    white-space: normal !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item > .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoList {
    grid-column: 2 !important;
    justify-self: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > a,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > em,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > strong,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > span {
    text-align: right !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoList {
    justify-content: flex-end !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoCont > select,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoCont select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
}

/* 2026-09-14 Product options: soft selected rows and a compact, touch-ready
 * quantity stepper. Keep the existing Makeshop option nodes and AJAX links;
 * this is a final visual cascade only. */
body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_inner-opt-cm {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_inner-opt-cm > li {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 30px !important;
    grid-template-areas:
        "name name name"
        "qty price delete" !important;
    align-items: center !important;
    column-gap: 9px !important;
    row-gap: 10px !important;
    min-width: 0 !important;
    margin: 8px 0 0 !important;
    padding: 12px 12px 12px 13px !important;
    border: 1px solid rgba(91, 69, 64, .14) !important;
    border-radius: 16px !important;
    background: #fffaf7 !important;
    box-shadow: 0 5px 14px rgba(73, 46, 45, .06) !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_p-name {
    grid-area: name !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #332a2b !important;
    font-size: .77rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl {
    grid-area: qty !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-self: start !important;
    width: 118px !important;
    flex: 0 0 118px !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    overflow: hidden !important;
    border: 1px solid rgba(91, 69, 64, .18) !important;
    border-radius: 999px !important;
    background: #fff !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl input:not([type="hidden"]) {
    order: 2 !important;
    width: 38px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid rgba(91, 69, 64, .12) !important;
    border-left: 1px solid rgba(91, 69, 64, .12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #332a2b !important;
    font-size: .76rem !important;
    text-align: center !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 39px !important;
    flex: 0 0 39px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #332a2b !important;
    font-size: .75rem !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl a:first-of-type {
    order: 1 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl a:last-of-type {
    order: 3 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl a:hover,
body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl a:focus-visible {
    background: rgba(199, 137, 134, .14) !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_price {
    grid-area: price !important;
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 2px !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #332a2b !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_btn-del {
    grid-area: delete !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(91, 69, 64, .18) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #887a78 !important;
    text-decoration: none !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_btn-del img {
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    object-fit: contain !important;
    opacity: .72 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptTotal {
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 2px 3px !important;
    border: 0 !important;
    background: transparent !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_p_total {
    margin: 0 !important;
    color: #c13f49 !important;
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptTotal .txt-won {
    color: #c13f49 !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
}

html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_inner-opt-cm > li,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_inner-opt-cm > li,
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_inner-opt-cm > li {
    border-color: rgba(255, 245, 239, .18) !important;
    background: #2b202b !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .22) !important;
}

html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_p-name,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_p-name,
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_p-name,
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_price,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_price,
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_price {
    color: #fff5ef !important;
}

html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl,
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl {
    border-color: rgba(255, 245, 239, .22) !important;
    background: #211722 !important;
}

html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl input:not([type="hidden"]),
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl input:not([type="hidden"]),
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl input:not([type="hidden"]),
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl a,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl a,
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_qty-ctrl a {
    border-color: rgba(255, 245, 239, .14) !important;
    color: #fff5ef !important;
}

html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_btn-del,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_btn-del,
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptScroll .MK_btn-del {
    border-color: rgba(255, 245, 239, .22) !important;
    background: #211722 !important;
    color: #d1aab9 !important;
}

html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_p_total,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_p_total,
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_p_total,
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptTotal .txt-won,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptTotal .txt-won,
body.succubus-night:has(#contents .shopdetail.product-detail-page) .shopdetail #MK_innerOptTotal .txt-won {
    color: #f0b5bd !important;
}

/* Final product-detail fixed-bar contract: keep the purchase actions in the
 * same centered 850px content layer as the mobile footer dock. Plain width
 * values are used for Makeshop parser compatibility. The bar remains visible
 * at the document footer; the dock's 84px bottom slot is its only offset. */
body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
    width: 850px !important;
    max-width: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar].product-detail-fixed-footer-visible,
body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar].fixed.product-detail-fixed-footer-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(-50%) !important;
}

/* Keep the detail-page brand mark visible in the transparent header. */
body.product-detail-page #header .head_inner h1.logo,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner h1.logo {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

@media (max-width: 850px) {
    body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
    html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
    html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
        width: 100% !important;
        max-width: 100% !important;
    }
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product_detail_outer,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer * ,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer * ,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product_detail_outer * {
    border-color: rgba(255, 255, 255, .18) !important;
}

/* The fixed purchase bar is the only purchase control kept on the detail
 * page. Remove the duplicate modules that used to sit below the option form,
 * while leaving the option fields and the product-detail tabs available. */
.shopdetail.product-detail-page .shopdetailInfoDelivery,
.shopdetail.product-detail-page .shopdetailButton,
.shopdetail.product-detail-page .product-detail-shortcuts {
    display: none !important;
}

/* Keep the category portrait/card visible between the option area and the
 * detail tabs.  The category module is populated from the native cate links
 * by makeshop_mobile_product_detail_design.js; hiding the whole section here
 * made the requested cate big-sister artwork disappear even when its asset
 * resolved successfully. */
.shopdetail.product-detail-page .product-detail-category-wide {
    display: block !important;
}

.shopdetail.product-detail-page .product-detail-category-wide.is-empty {
    display: none !important;
}

/* The supplied Q-version artwork is the visible control. Keep the native
 * anchor, href, and Makeshop click hooks, but remove the old rectangular
 * button skin around the image. */
.shopdetail.product-detail-page .product-action-image-link,
.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-action-image-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: transparent !important;
    line-height: 0 !important;
    text-decoration: none !important;
}

.shopdetail.product-detail-page .product-action-image-link > img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
}

.shopdetail.product-detail-page .shopdetailButton .product-action-image-link {
    min-height: 0 !important;
}

/* Product-detail header back state uses the supplied transparent square asset.
 * The header script still owns the native return behavior. */
body.product-detail-page #header .head_inner .ham a.product-detail-header-back .header_icon--menu-image,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner .ham a.product-detail-header-back .header_icon--menu-image,
body.product-detail-page #header .head_inner .ham a.product-detail-header-back .header_icon--menu-close-image,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner .ham a.product-detail-header-back .header_icon--menu-close-image {
    display: none !important;
}
body.product-detail-page #header .head_inner .ham a.product-detail-header-back .header_icon--back-image,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner .ham a.product-detail-header-back .header_icon--back-image {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 1px rgba(255,255,255,.18)) !important;
}
body.product-detail-page #header .head_inner .ham a.product-detail-header-back .header_icon--menu::before,
body.product-detail-page #header .head_inner .ham a.product-detail-header-back .header_icon--menu::after,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner .ham a.product-detail-header-back .header_icon--menu::before,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner .ham a.product-detail-header-back .header_icon--menu::after {
    display: none !important;
    content: none !important;
}
html.succubus-night body.product-detail-page #header .header_icon--back-image,
html.succubus-night body:has(#contents .shopdetail.product-detail-page) #header .header_icon--back-image,
body.succubus-night.product-detail-page #header .header_icon--back-image,
body.succubus-night:has(#contents .shopdetail.product-detail-page) #header .header_icon--back-image {
    filter: drop-shadow(0 0 3px rgba(255,255,255,.84)) drop-shadow(0 0 8px rgba(255,255,255,.28)) !important;
}

/* The legacy mobile skin draws separators and stacks the product metadata in
 * narrow blocks. Keep the detail page on one clean, two-column information
 * rhythm: labels finish at the left column edge and values start together in
 * the right column. */
.shopdetail.product-detail-page .page_top,
.shopdetail.product-detail-page .shopdetailInfo,
.shopdetail.product-detail-page .shopdetailInfoTop,
.shopdetail.product-detail-page .shopdetailInfoBottom,
.shopdetail.product-detail-page .shopdetailInfo_basic,
.shopdetail.product-detail-page .shopdetailInfoValue,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc,
.shopdetail.product-detail-page .option_area,
.shopdetail.product-detail-page .option_tk,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item,
.shopdetail.product-detail-page .option_tk .shopdetailTotal {
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    margin: 0 !important;
    padding: 10px 0 !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoName,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoName {
    display: block !important;
    min-width: 0 !important;
    align-self: start !important;
    justify-self: start !important;
    color: var(--product-detail-muted) !important;
    text-align: left !important;
    white-space: normal !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoList {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    align-self: start !important;
    justify-self: stretch !important;
    color: var(--product-detail-ink) !important;
    text-align: right !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > a,
.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > a > span {
    display: inline !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: right !important;
    white-space: normal !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue .product_desc .shopdetailInfoCont > a + a {
    margin-left: 8px !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    margin: 0 !important;
    padding: 9px 0 !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect .shopdetailInfoOneclick .shopdetailInfoList {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

/* Definitive metadata alignment: the field label is the right edge of the
 * left column, while its value starts at the same left edge of the right
 * column. Keep this limited to direct row children so Makeshop's nested
 * price, coupon, delivery and link markup remains intact. */
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc {
    display: grid !important;
    grid-template-columns: minmax(92px, 30%) minmax(0, 1fr) !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoName {
    grid-column: 1 !important;
    justify-self: stretch !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    line-height: 1.5 !important;
    white-space: normal !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont {
    grid-column: 2 !important;
    justify-self: stretch !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > a,
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > a > span,
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > em,
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > strong,
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > strike {
    text-align: left !important;
}

@media (max-width: 390px) {
    .shopdetail.product-detail-page .shopdetailInfoValue > .product_desc {
        grid-template-columns: minmax(86px, 29%) minmax(0, 1fr) !important;
        column-gap: 10px !important;
    }
}

/* Definitive last-cascade product-detail contract. */
body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
    width: 850px !important;
    max-width: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar].product-detail-fixed-footer-visible,
body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar].fixed.product-detail-fixed-footer-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(-50%) !important;
}

body.product-detail-page #header .head_inner h1.logo,
body:has(#contents .shopdetail.product-detail-page) #header .head_inner h1.logo {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

@media (max-width: 850px) {
    body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
    html.succubus-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
    html.succubus-preload-night body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* Q-version product actions: the supplied transparent pill artwork is the only visible surface. */
.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a.product-action-image-link,
.shopdetail.product-detail-page .buy_on a.product-action-image-link,
.shopdetail.product-detail-page .shopdetailButton a.product-action-image-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: transparent !important;
    line-height: 0 !important;
}

.shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a.product-action-image-link > img,
.shopdetail.product-detail-page .buy_on a.product-action-image-link > img,
.shopdetail.product-detail-page .shopdetailButton a.product-action-image-link > img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
}

/* Keep the transparent Q-version artwork above any later shared button skin. */
html body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a.product-action-image-link,
html body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .buy_on a.product-action-image-link,
html body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .shopdetailButton a.product-action-image-link {
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    color: transparent !important;
}

html body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a.product-action-image-link > img,
html body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .buy_on a.product-action-image-link > img,
html body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .shopdetailButton a.product-action-image-link > img {
    display: block !important;
    background: transparent !important;
    margin: 0 !important;
}

/* 2026-09-15: the global header already reserves its own 70px slot on the
 * detail page.  The later legacy/detail contract added the same top padding
 * to the main element a second time, which produced the empty band between
 * the header and the first product image.  Keep the content below the fixed
 * header, but remove only the duplicate main-element slot. */
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page {
    padding-top: 0 !important;
}

/* Detail header uses the same translucent glass treatment as the storefront
 * header.  The supplied logo and native detail-page controls remain visible;
 * only the detail-page back control replaces the menu glyph. */
body:has(#contents .shopdetail.product-detail-page) #header {
    --header-ink: #2f2525;
    background-color: rgba(247, 244, 239, .34) !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, .24) !important;
    box-shadow: none !important;
    color: var(--header-ink) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.04) !important;
    backdrop-filter: blur(16px) saturate(1.04) !important;
}

body:has(#contents .shopdetail.product-detail-page) #header .head_inner h1.logo {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

body:has(#contents .shopdetail.product-detail-page) #header .head_menu .ham a,
body:has(#contents .shopdetail.product-detail-page) #header .head_actions > a.head_action {
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--header-ink) !important;
}

body:has(#contents .shopdetail.product-detail-page) #header .head_actions .header_icon--bag,
body:has(#contents .shopdetail.product-detail-page) #header .head_actions .header_icon--search,
body:has(#contents .shopdetail.product-detail-page) #header .head_menu .ham a.product-detail-header-back::before,
body:has(#contents .shopdetail.product-detail-page) #header .head_menu .ham a.product-detail-header-back::after {
    color: var(--header-ink) !important;
    filter: none !important;
}

/* 2026-09-15: direct detail-tab anchors need the same active treatment as li-wrapped tabs. */
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item_nav > a.is-active,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item_nav > a.on,
.shopdetail.product-detail-page .shopdetailItem .product_detail_outer .detail_item_nav li.on > a {
    color: var(--product-detail-ink) !important;
    font-weight: 700;
}

/* 2026-09-15: product metadata shares the product-title left edge.  Keep a
 * stable value start for every row and align each label/value pair on the
 * same text baseline; long delivery text wraps only inside the value track. */
.shopdetail.product-detail-page .shopdetailInfoValue {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    align-items: baseline !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 0 !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoName {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: baseline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont {
    grid-column: 2 !important;
    justify-self: stretch !important;
    align-self: baseline !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > a,
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > a > span,
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > em,
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > strong,
.shopdetail.product-detail-page .shopdetailInfoValue > .product_desc > .shopdetailInfoCont > strike {
    text-align: left !important;
}

@media (max-width: 390px) {
    .shopdetail.product-detail-page .shopdetailInfoValue > .product_desc {
        grid-template-columns: 88px minmax(0, 1fr) !important;
        column-gap: 12px !important;
    }
}

/* 2026-09-15: the option selector follows the same field/value grid as the
 * metadata above.  Keep the label and the selector on one baseline, with the
 * selector starting at the shared value edge rather than floating right. */
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item {
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    align-items: baseline !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 0 !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoName,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item > .shopdetailInfoName {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: baseline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt > .shopdetailInfoCont,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item > .shopdetailInfoCont {
    grid-column: 2 !important;
    justify-self: stretch !important;
    align-self: baseline !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
}

.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt select,
.shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
}

@media (max-width: 390px) {
    .shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .product-opt,
    .shopdetail.product-detail-page .option_tk .shopdetailInfoSelect > .add-opt_item {
        grid-template-columns: 88px minmax(0, 1fr) !important;
        column-gap: 12px !important;
    }
}

/* 2026-09-15: an open global search sheet must sit above the detail-page
 * purchase actions.  Keep the permanent footer dock above the sheet as
 * requested, but place only the add-to-cart/buy bar below the sheet so the
 * search surface fully covers it and takes the pointer events. */
body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
    z-index: 110 !important;
}

/* 2026-09-15 image-only NIGHT contract for detail chrome and Wishlist. The
 * product/photo resources may change; detail surfaces, text, controls and
 * tab panels remain the DAY treatment. */
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail,
html.succubus-night body:has(#contents .shopdetail) .shopdetail,
body.succubus-night:has(#contents .shopdetail) .shopdetail {
    --product-detail-bg: #fff !important;
    --product-detail-surface: #fff !important;
    --product-detail-ink: #000 !important;
    --product-detail-muted: #666 !important;
    --product-detail-line: rgba(0, 0, 0, .16) !important;
    --product-detail-control-bg: #fff !important;
    --product-detail-control-ink: #000 !important;
    --product-detail-accent: #d51f32 !important;
    --product-detail-wish-outline: #000 !important;
    --product-detail-wish-active: #d51f32 !important;
    background: #fff !important;
    background-color: #fff !important;
    color: #000 !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) #container,
html.succubus-night body:has(#contents .shopdetail) #container,
body.succubus-night:has(#contents .shopdetail) #container,
html.succubus-preload-night body:has(#contents .shopdetail) #contents,
html.succubus-night body:has(#contents .shopdetail) #contents,
body.succubus-night:has(#contents .shopdetail) #contents,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfo,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfo,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfo,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoTop,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .product_detail_outer,
body.succubus-night:has(#contents .shopdetail) .shopdetail .product_detail_outer,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs,
html.succubus-night body:has(#contents .shopdetail) #tabs,
body.succubus-night:has(#contents .shopdetail) #tabs,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs .shopdetailBoard,
html.succubus-night body:has(#contents .shopdetail) #tabs .shopdetailBoard,
body.succubus-night:has(#contents .shopdetail) #tabs .shopdetailBoard,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs .util,
html.succubus-night body:has(#contents .shopdetail) #tabs .util,
body.succubus-night:has(#contents .shopdetail) #tabs .util {
    background: #fff !important;
    background-color: #fff !important;
    color: #000 !important;
    border-color: rgba(0, 0, 0, .16) !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail a,
html.succubus-night body:has(#contents .shopdetail) .shopdetail a,
body.succubus-night:has(#contents .shopdetail) .shopdetail a,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail h2,
html.succubus-night body:has(#contents .shopdetail) .shopdetail h2,
body.succubus-night:has(#contents .shopdetail) .shopdetail h2,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail h3,
html.succubus-night body:has(#contents .shopdetail) .shopdetail h3,
body.succubus-night:has(#contents .shopdetail) .shopdetail h3,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail p,
html.succubus-night body:has(#contents .shopdetail) .shopdetail p,
body.succubus-night:has(#contents .shopdetail) .shopdetail p,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail dt,
html.succubus-night body:has(#contents .shopdetail) .shopdetail dt,
body.succubus-night:has(#contents .shopdetail) .shopdetail dt,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail dd,
html.succubus-night body:has(#contents .shopdetail) .shopdetail dd,
body.succubus-night:has(#contents .shopdetail) .shopdetail dd,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs a,
html.succubus-night body:has(#contents .shopdetail) #tabs a,
body.succubus-night:has(#contents .shopdetail) #tabs a {
    color: #000 !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .product-detail-wish,
html.succubus-night body:has(#contents .shopdetail) .product-detail-wish,
body.succubus-night:has(#contents .shopdetail) .product-detail-wish {
    --product-detail-wish-outline: #000 !important;
    --product-detail-wish-active: #d51f32 !important;
    background: transparent !important;
    color: #fff !important;
    filter: none !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoBottom,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .option_area,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .option_area,
body.succubus-night:has(#contents .shopdetail) .shopdetail .option_area,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailItem .product_detail_outer,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailItem .product_detail_outer,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailItem .product_detail_outer,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .option-box,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .option-box,
body.succubus-night:has(#contents .shopdetail) .shopdetail .option-box,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .option-box .list > li,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .option-box .list > li,
body.succubus-night:has(#contents .shopdetail) .shopdetail .option-box .list > li,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoSelect select,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoSelect select,
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoSelect select,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoSelect input:not([type="hidden"]),
html.succubus-night body:has(#contents .shopdetail) .shopdetail .shopdetailInfoSelect input:not([type="hidden"]),
body.succubus-night:has(#contents .shopdetail) .shopdetail .shopdetailInfoSelect input:not([type="hidden"]),
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .ms_qty-ctrl,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .ms_qty-ctrl,
body.succubus-night:has(#contents .shopdetail) .shopdetail .ms_qty-ctrl,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .ms_qty-ctrl input,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .ms_qty-ctrl input,
body.succubus-night:has(#contents .shopdetail) .shopdetail .ms_qty-ctrl input {
    background: #fff !important;
    border-color: rgba(0, 0, 0, .16) !important;
    color: #000 !important;
    box-shadow: none !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
html.succubus-night body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar],
body.succubus-night:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
    background: #fff !important;
    border-color: rgba(0, 0, 0, .16) !important;
    color: #000 !important;
    box-shadow: 0 -8px 20px rgba(47, 37, 37, .08) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.04) !important;
    backdrop-filter: blur(16px) saturate(1.04) !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) #header .head_menu .ham a,
html.succubus-night body:has(#contents .shopdetail) #header .head_menu .ham a,
body.succubus-night:has(#contents .shopdetail) #header .head_menu .ham a,
html.succubus-preload-night body:has(#contents .shopdetail) #header .head_actions > a.head_action,
html.succubus-night body:has(#contents .shopdetail) #header .head_actions > a.head_action,
body.succubus-night:has(#contents .shopdetail) #header .head_actions > a.head_action {
    border-color: transparent !important;
    background: transparent !important;
    color: #302526 !important;
}

html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a,
body.succubus-night:has(#contents .shopdetail) .shopdetail .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a,
html.succubus-preload-night body:has(#contents .shopdetail) .shopdetail .btn_basic_1,
html.succubus-night body:has(#contents .shopdetail) .shopdetail .btn_basic_1,
body.succubus-night:has(#contents .shopdetail) .shopdetail .btn_basic_1,
html.succubus-preload-night body:has(#contents .shopdetail) #tabs .util a,
html.succubus-night body:has(#contents .shopdetail) #tabs .util a,
body.succubus-night:has(#contents .shopdetail) #tabs .util a,
html.succubus-preload-night body:has(#contents .shopdetail) .list_board input[type="button"],
html.succubus-night body:has(#contents .shopdetail) .list_board input[type="button"],
body.succubus-night:has(#contents .shopdetail) .list_board input[type="button"] {
    background: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

/* -------------------------------------------------------------------------
   Product purchase panel reconstruction

   The detail page's purchase area now follows the Account page language:
   the same 720px reading width, 16px page gutter, section rhythm, muted
   labels, soft gray module surfaces, 16px cards and quiet borders.  Only
   presentation is changed here.  Makeshop option fields, virtual tags,
   native hrefs, form controls and AJAX hooks remain untouched.
   ------------------------------------------------------------------------- */

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 0 16px calc(132px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    background: #fff !important;
    color: #111 !important;
    font-family: 'Noto Sans KR', 'Apple SD Gothic Neo', Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel,
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel *,
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel *::before,
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel *::after {
    box-sizing: border-box;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfo_basic {
    display: block !important;
    margin: 0 !important;
    padding: 22px 0 20px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(17, 17, 17, .14) !important;
    background: #fff !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfo_basic::before {
    display: block;
    margin: 0 0 10px;
    color: #777;
    content: 'PRODUCT PURCHASE';
    font-family: 'Jost', 'Noto Sans KR', Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.2;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfo_basic h2 {
    max-width: 100%;
    margin: 0 !important;
    color: #111 !important;
    font-size: clamp(18px, 4.8vw, 25px) !important;
    font-weight: 600 !important;
    letter-spacing: -.02em;
    line-height: 1.4 !important;
    word-break: keep-all;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfo_basic .sub_name {
    margin: 7px 0 0 !important;
    color: #777 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue {
    display: grid !important;
    gap: 0 !important;
    margin: 22px 0 0 !important;
    padding: 4px 16px !important;
    border: 1px solid rgba(17, 17, 17, .14) !important;
    border-radius: 16px !important;
    background: #f5f5f5 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue .product_desc {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    align-items: baseline !important;
    column-gap: 12px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 0 11px !important;
    border-bottom: 1px solid rgba(17, 17, 17, .1) !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue .product_desc:last-child {
    border-bottom: 0 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue .shopdetailInfoName {
    min-width: 0 !important;
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    white-space: nowrap;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue .shopdetailInfoCont {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    color: #111 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue .product_desc:first-child .shopdetailInfoCont {
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -.025em;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue .product_desc:first-child .shopdetailInfoCont .unit,
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue .product_desc:first-child .shopdetailInfoCont .fc_point {
    font-size: 12px !important;
    font-weight: 600 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options {
    position: relative !important;
    margin: 26px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options::before {
    display: block;
    margin: 0 0 10px;
    color: #777;
    content: 'PURCHASE OPTIONS';
    font-family: 'Jost', 'Noto Sans KR', Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.2;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options > .option_tk {
    margin: 0 !important;
    padding: 4px 16px 16px !important;
    border: 1px solid rgba(17, 17, 17, .14) !important;
    border-radius: 16px !important;
    background: #f5f5f5 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .option-wrap {
    gap: 10px !important;
    margin: 0 0 10px !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .option-box {
    margin: 0 !important;
    padding: 13px 12px 12px !important;
    border: 1px solid rgba(17, 17, 17, .12) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .option-box .tit {
    color: #111 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .option-box .tit span {
    color: #777 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .option-box .list > li {
    border-color: rgba(17, 17, 17, .12) !important;
    border-radius: 10px !important;
    background: #fff !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect {
    margin: 0 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect > .product-opt,
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect > .add-opt_item {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 11px 0 !important;
    border-bottom-color: rgba(17, 17, 17, .1) !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect .shopdetailInfoName {
    color: #777 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    white-space: nowrap;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect .shopdetailInfoCont,
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect .shopdetailInfoList {
    min-width: 0 !important;
    color: #111 !important;
    font-size: 12px !important;
    text-align: left !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect select,
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect input:not([type="hidden"]) {
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid rgba(17, 17, 17, .18) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 12px !important;
    text-align: left !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .ms_qty-ctrl {
    min-height: 42px !important;
    border-color: rgba(17, 17, 17, .18) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .ms_qty-ctrl a {
    width: 36px !important;
    color: #111 !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailTotal {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 12px 0 0 !important;
    padding: 14px 0 0 !important;
    border-top-color: rgba(17, 17, 17, .14) !important;
    color: #111 !important;
    font-size: 12px !important;
    text-align: left !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailTotal em {
    margin-left: auto;
    font-size: 18px;
    font-weight: 700;
}

/* The floating actions use the same account-page card shell.  The supplied
   Q-version images are still the actual visual buttons inside it. */
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .fixed-btn[data-product-detail-fixed-bar] {
    width: min(100%, 720px) !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    border: 1px solid rgba(17, 17, 17, .14) !important;
    border-radius: 16px 16px 0 0 !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 -10px 26px rgba(17, 17, 17, .08) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    backdrop-filter: blur(16px) !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on {
    gap: 8px !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a.product-action-image-link {
    min-height: 52px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: transparent !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .fixed-btn[data-product-detail-fixed-bar] .product-detail-fixed-actions .buy_on a.product-action-image-link > img {
    width: 100% !important;
    height: 52px !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* Keep the non-fixed fallback action block in the same account rhythm when
   the fixed shell is not created by Makeshop (for example during loading). */
body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-actions {
    margin: 24px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-actions .btn_box {
    gap: 8px !important;
    padding: 0 !important;
}

@media (max-width: 380px) {
    body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue,
    body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options > .option_tk {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .shopdetailInfoValue .product_desc,
    body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect > .product-opt,
    body:has(#contents .shopdetail.product-detail-page) .shopdetail.product-detail-page .product-purchase-panel .product-purchase-options .shopdetailInfoSelect > .add-opt_item {
        grid-template-columns: 66px minmax(0, 1fr) !important;
        column-gap: 8px !important;
    }
}

/* -------------------------------------------------------------------------
   2026-09-16: fixed purchase stack safety contract

   The purchase bar and the native four-item dock are separate fixed layers.
   Keep the purchase bar below the dock/search sheet, reserve their measured
   combined height in the detail flow, and extend only this page's footer
   padding so the copyright remains above both fixed layers at document end.
   The JS sets --product-detail-footer-padding from the actual footer/copyright
   geometry; the 96px fallback preserves the shared footer's native rhythm
   before the first measurement. Native buy_on links and their AJAX handlers
   are not replaced or visually masked.
   ------------------------------------------------------------------------- */

html:has(#contents .shopdetail.product-detail-page) {
    scroll-padding-bottom: calc(var(--product-detail-fixed-stack-height, 176px) + env(safe-area-inset-bottom, 0px));
}

body:has(#contents .shopdetail.product-detail-page) .shopdetail .fixed-btn[data-product-detail-fixed-bar] {
    z-index: 900 !important;
}

body:has(#contents .shopdetail.product-detail-page) .foot_functional-wrap {
    z-index: 1200 !important;
}

body:has(#contents .shopdetail.product-detail-page) #footer.store-footer,
body:has(#contents .shopdetail.product-detail-page) footer.store-footer {
    padding-bottom: calc(var(--product-detail-footer-padding, 96px) + env(safe-area-inset-bottom, 0px)) !important;
}


/* BASIC css end */

