:root{
    --max:620px;
    --black:#111;
    --muted:#858585;
    --line:#ececea;
    --soft:#f6f6f4;
    --safe:env(safe-area-inset-bottom,0px);
}

*{
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
}

html,
body{
    margin:0;
    min-height:100%;
    background:#e8e8e6;
    color:#171717;
    font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR",sans-serif;
    -webkit-font-smoothing:antialiased;
}

body.modal-open{
    overflow:hidden;
}

button,
input,
select{
    font:inherit;
}

button{
    color:inherit;
}

a{
    color:inherit;
    text-decoration:none;
}

svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.v2-page{
    width:100%;
    max-width:var(--max);
    min-height:100vh;
    margin:0 auto;
    padding-bottom:calc(78px + var(--safe));
    background:#fff;
}

.v2-preview{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:32px;
    padding:5px 13px;
    background:#111;
    color:#fff;
    font-size:9px;
}

.v2-preview a{
    padding:4px 8px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
}

.v2-header{
    position:sticky;
    top:0;
    z-index:100;
    display:grid;
    grid-template-columns:42px 1fr auto;
    align-items:center;
    height:52px;
    padding:0 7px;
    border-bottom:1px solid rgba(0,0,0,.05);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(15px);
}

.v2-logo{
    justify-self:center;
    font-size:20px;
    font-weight:950;
}

.v2-header-actions{
    display:flex;
}

.v2-icon-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:39px;
    height:39px;
    padding:0;
    border:0;
    background:transparent;
}

.v2-icon-button svg{
    width:22px;
    height:22px;
}

.v2-gallery{
    position:relative;
    overflow:hidden;
    background:#f2f2f0;
}

.v2-gallery-track{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
}

.v2-gallery-track::-webkit-scrollbar{
    display:none;
}

.v2-gallery-slide{
    flex:0 0 100%;
    width:100%;
    aspect-ratio:1/1;
    padding:0;
    border:0;
    background:#f2f2f0;
    scroll-snap-align:start;
}

.v2-gallery-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.v2-gallery-count{
    position:absolute;
    right:12px;
    bottom:12px;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(0,0,0,.62);
    color:#fff;
    font-size:9px;
}

.v2-gallery-wish{
    position:absolute;
    top:12px;
    right:12px;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid rgba(0,0,0,.08);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    font-size:24px;
}

.v2-gallery-wish.active,
.v2-buy-wish.active{
    color:#e53666;
}

.v2-gallery-dots{
    position:absolute;
    bottom:16px;
    left:50%;
    display:flex;
    gap:5px;
    transform:translateX(-50%);
}

.v2-gallery-dots i{
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(0,0,0,.25);
}

.v2-gallery-dots i.active{
    width:16px;
    border-radius:999px;
    background:#111;
}

.v2-summary,
.v2-information,
.v2-options,
.v2-about,
.v2-detail,
.v2-inspection,
.v2-review,
.v2-delivery,
.v2-related{
    padding:24px 16px;
    border-bottom:8px solid #f4f4f2;
}

.v2-brand-line{
    display:flex;
    justify-content:space-between;
    color:#88704c;
    font-size:10px;
    font-weight:800;
}

.v2-brand-line span{
    color:#999;
    font-weight:500;
}

.v2-summary h1{
    margin:10px 0 0;
    font-size:20px;
    line-height:1.43;
    letter-spacing:-.4px;
}

.v2-price{
    margin-top:18px;
    font-size:25px;
    font-weight:950;
}

.v2-feature-card{
    display:grid;
    grid-template-columns:44px 1fr 18px;
    align-items:center;
    gap:11px;
    width:100%;
    min-height:76px;
    margin-top:22px;
    padding:11px 14px;
    border:1px solid #e5e5e3;
    border-radius:14px;
    background:linear-gradient(135deg,#f4f1ff,#f8fbff);
    text-align:left;
}

.v2-feature-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:#fff;
    color:#6956bc;
}

.v2-feature-icon svg{
    width:23px;
    height:23px;
}

.v2-feature-copy strong{
    display:block;
    font-size:13px;
}

.v2-feature-copy em{
    margin-left:4px;
    padding:2px 5px;
    border-radius:4px;
    background:#111;
    color:#fff;
    font-size:7px;
    font-style:normal;
}

.v2-feature-copy small{
    display:block;
    margin-top:5px;
    color:#777;
    font-size:9px;
}

.v2-chevron{
    color:#999;
    font-size:22px;
}

.v2-benefit-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    margin-top:15px;
    overflow:hidden;
    border:1px solid #e9e9e7;
    border-radius:12px;
    background:#e9e9e7;
}

.v2-benefit-list div{
    min-width:0;
    padding:11px 4px;
    background:#fafafa;
    text-align:center;
}

.v2-benefit-list b{
    display:block;
    font-size:9px;
}

.v2-benefit-list span{
    display:block;
    margin-top:4px;
    overflow:hidden;
    color:#888;
    font-size:8px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.v2-trust-row{
    display:flex;
    justify-content:space-between;
    width:100%;
    margin-top:14px;
    padding:13px 14px;
    border:0;
    border-radius:10px;
    background:#111;
    color:#fff;
    font-size:10px;
}

.v2-information h2,
.v2-options h2,
.v2-about h2,
.v2-inspection h2,
.v2-review h2,
.v2-delivery h2{
    margin:0 0 18px;
    font-size:17px;
}

.v2-info-list{
    margin:0;
    border-top:1px solid var(--line);
}

.v2-info-list div{
    display:grid;
    grid-template-columns:92px 1fr;
    gap:10px;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    font-size:11px;
}

.v2-info-list dt{
    color:#888;
}

.v2-info-list dd{
    margin:0;
    text-align:right;
    font-weight:700;
}

.v2-text-button{
    padding:0;
    border:0;
    background:none;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:3px;
}

.v2-option-head,
.v2-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:16px;
}

.v2-option-head h2,
.v2-section-head h2{
    margin:0;
    font-size:17px;
}

.v2-option-head button{
    padding:0;
    border:0;
    background:none;
    color:#666;
    font-size:10px;
    text-decoration:underline;
}

.v2-size-options{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.v2-size-options button{
    min-width:51px;
    height:42px;
    padding:0 12px;
    border:1px solid #ddd;
    border-radius:9px;
    background:#fff;
    font-size:11px;
    font-weight:750;
}

.v2-size-options button.active{
    border-color:#111;
    background:#111;
    color:#fff;
}

.v2-profile-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:19px;
    padding:15px;
    border-radius:12px;
    background:#f7f7f6;
}

.v2-profile-summary small,
.v2-profile-summary strong,
.v2-profile-summary span{
    display:block;
}

.v2-profile-summary small{
    color:#8868b0;
    font-size:8px;
    font-weight:900;
}

.v2-profile-summary strong{
    margin-top:5px;
    font-size:13px;
}

.v2-profile-summary span{
    margin-top:4px;
    color:#777;
    font-size:9px;
}

.v2-profile-summary button{
    flex:0 0 auto;
    padding:10px 15px;
    border:0;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-size:9px;
    font-weight:800;
}

.v2-tabs{
    position:sticky;
    top:52px;
    z-index:80;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    height:48px;
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);
}

.v2-tabs button{
    position:relative;
    border:0;
    background:none;
    color:#888;
    font-size:10px;
    font-weight:650;
}

.v2-tabs button.active{
    color:#111;
    font-weight:900;
}

.v2-tabs button.active::after{
    content:"";
    position:absolute;
    right:20%;
    bottom:0;
    left:20%;
    height:2px;
    background:#111;
}

.v2-about p{
    margin:0;
    color:#333;
    font-size:13px;
    line-height:1.9;
}

.v2-detail{
    padding-right:0;
    padding-left:0;
}

.v2-detail .v2-section-head{
    padding:0 16px;
}

.v2-section-head span,
.v2-section-head a{
    color:#888;
    font-size:9px;
}

.v2-detail-image{
    display:block;
    width:100%;
    padding:0;
    border:0;
    background:#fff;
}

.v2-detail-image img{
    display:block;
    width:100%;
    height:auto;
}

.v2-detail-hidden{
    display:none;
}

.v2-detail-list.open .v2-detail-hidden{
    display:block;
}

.v2-detail-more{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:calc(100% - 32px);
    height:48px;
    margin:15px 16px 24px;
    border:1px solid #111;
    border-radius:8px;
    background:#fff;
    font-size:11px;
    font-weight:850;
}

.v2-process-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:9px;
}

.v2-process-grid article{
    min-height:126px;
    padding:14px 12px;
    border:1px solid #e7e7e5;
    border-radius:10px;
    background:#fafafa;
}

.v2-process-grid b{
    color:#987443;
    font-size:9px;
}

.v2-process-grid strong{
    display:block;
    margin-top:10px;
    font-size:12px;
}

.v2-process-grid p{
    margin:6px 0 0;
    color:#777;
    font-size:9px;
    line-height:1.55;
}

.v2-empty-card{
    padding:26px 15px;
    border:1px solid #e8e8e6;
    border-radius:11px;
    background:#fafafa;
    text-align:center;
}

.v2-empty-card strong{
    font-size:11px;
}

.v2-empty-card p{
    margin:7px 0 0;
    color:#888;
    font-size:9px;
}

.v2-delivery dl{
    margin:0;
}

.v2-delivery dl div{
    display:grid;
    grid-template-columns:80px 1fr;
    gap:10px;
    padding:13px 0;
    border-bottom:1px solid var(--line);
    font-size:10px;
}

.v2-delivery dt{
    color:#888;
}

.v2-delivery dd{
    margin:0;
    line-height:1.6;
}

.v2-related-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:17px 9px;
}

.v2-related-grid > a{
    min-width:0;
}

.v2-related-image{
    aspect-ratio:1/1;
    overflow:hidden;
    border-radius:8px;
    background:#f2f2f0;
}

.v2-related-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.v2-related-grid small{
    display:block;
    margin-top:8px;
    overflow:hidden;
    color:#85663b;
    font-size:8px;
    font-weight:850;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.v2-related-grid strong{
    display:-webkit-box;
    min-height:33px;
    margin-top:4px;
    overflow:hidden;
    font-size:10px;
    line-height:16px;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.v2-related-grid b{
    display:block;
    margin-top:6px;
    font-size:11px;
}

.v2-buy-bar{
    position:fixed;
    right:0;
    bottom:0;
    left:0;
    z-index:500;
    display:grid;
    grid-template-columns:52px 1fr 1.25fr;
    gap:7px;
    width:100%;
    max-width:var(--max);
    margin:0 auto;
    padding:8px 10px calc(8px + var(--safe));
    border-top:1px solid rgba(0,0,0,.08);
    background:rgba(255,255,255,.98);
    box-shadow:0 -4px 18px rgba(0,0,0,.07);
}

.v2-buy-bar a,
.v2-buy-bar button{
    display:flex;
    align-items:center;
    justify-content:center;
    height:49px;
    border-radius:8px;
    font-size:11px;
    font-weight:850;
}

.v2-buy-wish{
    border:1px solid #ddd;
    background:#fff;
    font-size:25px!important;
}

.v2-buy-bar a{
    border:1px solid #111;
}

.v2-buy-bar .primary{
    background:#111;
    color:#fff;
}

.v2-buy-bar .wide{
    grid-column:2/-1;
}

.v2-sheet,
.v2-size-modal,
.v2-viewer{
    position:fixed;
    inset:0;
    z-index:30000;
    visibility:hidden;
    opacity:0;
    transition:.22s ease;
}

.v2-sheet.open,
.v2-size-modal.open,
.v2-viewer.open{
    visibility:visible;
    opacity:1;
}

.v2-sheet-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.48);
}

.v2-sheet-panel{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    max-width:var(--max);
    max-height:86vh;
    margin:auto;
    padding:0 16px calc(17px + var(--safe));
    overflow-y:auto;
    border-radius:20px 20px 0 0;
    background:#fff;
    transform:translateY(105%);
    transition:.28s ease;
}

.v2-sheet.open .v2-sheet-panel{
    transform:translateY(0);
}

.v2-sheet-panel header,
.v2-size-panel header{
    display:grid;
    grid-template-columns:42px 1fr 42px;
    align-items:center;
    min-height:58px;
}

.v2-sheet-panel header strong,
.v2-size-panel header strong{
    grid-column:2;
    text-align:center;
    font-size:14px;
}

.v2-sheet-panel header button,
.v2-size-panel header button{
    width:38px;
    height:38px;
    padding:0;
    border:0;
    background:none;
    font-size:23px;
}

.v2-sheet-panel header button:last-child{
    grid-column:3;
}

.v2-sheet-content article{
    display:grid;
    grid-template-columns:32px 1fr;
    gap:10px;
    padding:14px 0;
    border-top:1px solid var(--line);
}

.v2-sheet-content article > b{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#111;
    color:#fff;
    font-size:8px;
}

.v2-sheet-content strong{
    font-size:11px;
}

.v2-sheet-content p{
    margin:5px 0 0;
    color:#777;
    font-size:9px;
}

.v2-sheet-confirm{
    width:100%;
    height:47px;
    border:0;
    border-radius:9px;
    background:#111;
    color:#fff;
    font-size:11px;
    font-weight:850;
}

.v2-fitting-product{
    display:grid;
    grid-template-columns:55px 1fr;
    gap:10px;
    align-items:center;
    padding:10px;
    border-radius:10px;
    background:#f6f6f5;
}

.v2-fitting-product img{
    width:55px;
    height:55px;
    object-fit:cover;
    border-radius:7px;
}

.v2-fitting-product small,
.v2-fitting-product strong{
    display:block;
}

.v2-fitting-product small{
    color:#888;
    font-size:8px;
}

.v2-fitting-product strong{
    margin-top:4px;
    font-size:10px;
}

.v2-fitting-upload{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:300px;
    margin-top:12px;
    overflow:hidden;
    border:1px dashed #cfcfcd;
    border-radius:13px;
    background:#f5f5f3;
}

.v2-fitting-upload > img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
}

#v2FittingEmpty{
    position:relative;
    z-index:2;
    text-align:center;
}

#v2FittingEmpty b{
    display:flex;
    align-items:center;
    justify-content:center;
    width:43px;
    height:43px;
    margin:0 auto 10px;
    border-radius:50%;
    background:#fff;
    font-size:22px;
}

#v2FittingEmpty strong,
#v2FittingEmpty small{
    display:block;
}

#v2FittingEmpty strong{
    font-size:11px;
}

#v2FittingEmpty small{
    margin-top:5px;
    color:#999;
    font-size:8px;
}

.v2-fitting-scan{
    position:absolute;
    inset:8px;
    z-index:3;
    overflow:hidden;
}

.v2-fitting-scan i{
    position:absolute;
    right:0;
    left:0;
    height:2px;
    background:#43d98e;
    box-shadow:0 0 12px #43d98e;
    animation:v2scan 1.4s ease-in-out infinite;
}

@keyframes v2scan{
    0%,100%{top:2%}
    50%{top:98%}
}

.v2-ai-progress{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:12px;
}

.v2-ai-progress div{
    text-align:center;
    color:#aaa;
    font-size:9px;
}

.v2-ai-progress i{
    display:block;
    width:9px;
    height:9px;
    margin:0 auto 5px;
    border-radius:50%;
    background:#ddd;
}

.v2-ai-progress div.active{
    color:#111;
    font-weight:850;
}

.v2-ai-progress div.active i{
    background:#43c985;
    box-shadow:0 0 0 5px rgba(67,201,133,.12);
}

.v2-ai-progress div.done i{
    background:#111;
}

.v2-fitting-message{
    margin:12px 0 0;
    padding:11px;
    border-radius:8px;
    background:#111;
    color:#fff;
    font-size:9px;
}

.v2-fitting-result{
    margin-top:12px;
    padding:15px;
    border-radius:10px;
    background:#effaf4;
}

.v2-fitting-result strong{
    font-size:11px;
}

.v2-fitting-result p{
    margin:6px 0 0;
    color:#567562;
    font-size:9px;
}

.v2-size-modal{
    background:rgba(0,0,0,.5);
}

.v2-size-panel{
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:var(--max);
    background:#fff;
    transform:translate(-50%,20px);
    transition:.25s ease;
}

.v2-size-modal.open .v2-size-panel{
    transform:translate(-50%,0);
}

.v2-size-panel header{
    flex:0 0 55px;
    border-bottom:1px solid var(--line);
}

.v2-size-panel header button:first-child{
    grid-column:1;
}

.v2-size-panel header button:last-child{
    grid-column:3;
}

.v2-size-progress{
    display:flex;
    gap:4px;
    padding:13px 17px 0;
}

.v2-size-progress i{
    width:7px;
    height:7px;
    border-radius:999px;
    background:#ddd;
}

.v2-size-progress i.active{
    width:26px;
    background:#111;
}

.v2-size-progress i.done{
    background:#111;
}

.v2-size-steps{
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:20px 17px 105px;
}

.v2-size-step{
    display:none;
}

.v2-size-step.active{
    display:block;
}

.v2-size-step h2{
    margin:0 0 28px;
    text-align:center;
    font-size:20px;
}

.v2-size-step h3{
    margin:25px 0 11px;
    font-size:11px;
}

.v2-choice-grid{
    display:grid;
    gap:8px;
}

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

.v2-choice-grid.three{
    grid-template-columns:repeat(3,1fr);
}

.v2-choice-grid.four{
    grid-template-columns:repeat(4,1fr);
}

.v2-choice-grid button{
    min-height:48px;
    padding:8px 5px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff;
    font-size:10px;
    font-weight:750;
}

.v2-choice-grid button.selected{
    border:2px solid #111;
    background:#111;
    color:#fff;
}

.v2-size-input{
    display:grid;
    grid-template-columns:75px 1fr auto;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    padding:0 13px;
    height:52px;
    border-radius:10px;
    background:#f6f6f4;
}

.v2-size-input span{
    font-size:10px;
    font-weight:750;
}

.v2-size-input input,
.v2-size-input select{
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    text-align:right;
    font-weight:800;
}

.v2-size-input b{
    color:#888;
    font-size:9px;
}

.v2-size-panel footer{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    display:grid;
    grid-template-columns:.8fr 1.3fr;
    gap:8px;
    padding:9px 17px calc(9px + var(--safe));
    border-top:1px solid var(--line);
    background:#fff;
}

.v2-size-panel footer button{
    height:48px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff;
    font-size:10px;
    font-weight:850;
}

.v2-size-panel footer .primary{
    border-color:#111;
    background:#111;
    color:#fff;
}

.v2-size-analyzing{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:240px;
}

.v2-size-analyzing i{
    width:42px;
    height:42px;
    margin-bottom:15px;
    border:3px solid #eee;
    border-top-color:#111;
    border-radius:50%;
    animation:v2spin .7s linear infinite;
}

@keyframes v2spin{
    to{transform:rotate(360deg)}
}

.v2-size-analyzing strong{
    font-size:11px;
}

.v2-size-result{
    padding:23px 17px;
    border-radius:13px;
    background:#f7f7f5;
    text-align:center;
}

.v2-size-result > small{
    color:#888;
    font-size:9px;
}

.v2-size-result > strong{
    display:block;
    margin-top:8px;
    font-size:40px;
}

.v2-size-result > p{
    color:#555;
    font-size:10px;
    line-height:1.7;
}

#v2SavedProfile{
    margin-top:15px;
    padding:12px;
    border-radius:8px;
    background:#fff;
    font-size:9px;
    line-height:1.65;
}

.v2-viewer{
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.97);
}

.v2-viewer button{
    position:absolute;
    top:14px;
    right:14px;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    background:rgba(0,0,0,.5);
    color:#fff;
    font-size:26px;
}

.v2-viewer img{
    max-width:96vw;
    max-height:90vh;
    object-fit:contain;
}

.v2-toast{
    position:fixed;
    bottom:88px;
    left:50%;
    z-index:50000;
    visibility:hidden;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(17,17,17,.92);
    color:#fff;
    font-size:9px;
    opacity:0;
    transform:translate(-50%,8px);
    transition:.2s ease;
}

.v2-toast.show{
    visibility:visible;
    opacity:1;
    transform:translate(-50%,0);
}

@media(min-width:700px){
    .v2-page{
        margin-top:18px;
        margin-bottom:18px;
        border-radius:18px;
        overflow:hidden;
        box-shadow:0 0 34px rgba(0,0,0,.08);
    }
}

/* ==================================================
   V2 DETAIL GALLERY THUMBNAILS + SIMILAR CAMERA
================================================== */

.v2-gallery{
    padding-bottom:76px;
}

.v2-gallery-thumbs{
    position:absolute;
    right:70px;
    bottom:14px;
    left:14px;
    z-index:8;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
}

.v2-gallery-thumbs::-webkit-scrollbar{
    display:none;
}

.v2-gallery-thumb{
    position:relative;
    flex:0 0 48px;
    width:48px;
    height:48px;
    padding:3px;
    overflow:hidden;
    border:2px solid transparent;
    border-radius:9px;
    background:rgba(255,255,255,.94);
    box-shadow:0 3px 12px rgba(0,0,0,.12);
}

.v2-gallery-thumb.active{
    border-color:#111;
}

.v2-gallery-thumb img{
    display:block;
    width:100%;
    height:100%;
    border-radius:5px;
    object-fit:cover;
}

.v2-gallery-thumb-more{
    position:absolute;
    inset:3px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:5px;
    background:rgba(17,17,17,.78);
    color:#fff;
    font-size:11px;
    font-weight:900;
}

.v2-gallery-camera{
    position:absolute;
    right:14px;
    bottom:15px;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border:1px solid rgba(0,0,0,.07);
    border-radius:13px;
    background:rgba(255,255,255,.97);
    color:#111;
    box-shadow:0 5px 18px rgba(0,0,0,.15);
}

.v2-gallery-camera svg{
    width:22px;
    height:22px;
}

.v2-gallery-camera span{
    position:absolute;
    top:-7px;
    right:-5px;
    padding:3px 5px;
    border-radius:5px;
    background:#111;
    color:#fff;
    font-size:7px;
    font-weight:900;
}

.v2-gallery-dots{
    bottom:72px;
}

.v2-gallery-count{
    bottom:78px;
}

@media(max-width:380px){
    .v2-gallery-thumb{
        flex-basis:43px;
        width:43px;
        height:43px;
    }

    .v2-gallery-camera{
        width:44px;
        height:44px;
    }
}


/* =========================================
   대표이미지 위 썸네일·카메라 오버레이
========================================= */

.v2-gallery{
    position:relative;
    padding-bottom:0 !important;
}

/* 대표이미지 하단 중앙에 겹쳐 표시 */
.v2-gallery-thumbs{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    bottom:14px !important;
    z-index:20 !important;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    width:auto;
    max-width:calc(100% - 145px);
    padding:0;

    overflow-x:auto;
    transform:translateX(-50%);
    scrollbar-width:none;
}

.v2-gallery-thumbs::-webkit-scrollbar{
    display:none;
}

.v2-gallery-thumb{
    flex:0 0 48px;
    width:48px;
    height:48px;
    padding:3px;

    border:2px solid rgba(255,255,255,.9);
    border-radius:9px;

    background:rgba(255,255,255,.96);
    box-shadow:
        0 4px 15px rgba(0,0,0,.22),
        0 0 0 1px rgba(0,0,0,.05);
}

.v2-gallery-thumb.active{
    border-color:#111;
    box-shadow:
        0 4px 15px rgba(0,0,0,.25),
        0 0 0 1px #fff;
}

.v2-gallery-thumb-more{
    cursor:pointer;
    background:rgba(17,17,17,.82);
    backdrop-filter:blur(4px);
}

/* 카메라 버튼도 대표이미지 위 오른쪽에 겹침 */
.v2-gallery-camera{
    position:absolute !important;
    right:14px !important;
    bottom:14px !important;
    z-index:22 !important;

    width:48px;
    height:48px;

    border-radius:12px;
    background:rgba(255,255,255,.96);
    box-shadow:0 5px 18px rgba(0,0,0,.22);
    backdrop-filter:blur(8px);
}

/* 점과 이미지 수는 썸네일 위로 이동 */
.v2-gallery-dots{
    bottom:72px !important;
}

.v2-gallery-count{
    bottom:72px !important;
}

/* 모바일에서 썸네일이 카메라와 겹치지 않게 */
@media(max-width:400px){

    .v2-gallery-thumbs{
        max-width:calc(100% - 125px);
        gap:6px;
    }

    .v2-gallery-thumb{
        flex-basis:43px;
        width:43px;
        height:43px;
    }

    .v2-gallery-camera{
        width:44px;
        height:44px;
    }
}


/* =========================================
   갤러리 오버레이 최종 반응형
========================================= */

.v2-gallery-count{
    display:none !important;
}

/* 카메라 버튼 위아래로 살짝 움직임 */
.v2-gallery-camera{
    animation:v2CameraFloat 2.2s ease-in-out infinite;
    will-change:transform;
}

@keyframes v2CameraFloat{
    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-5px);
    }
}

/* 썸네일은 대표이미지 하단 중앙 */
.v2-gallery-thumbs{
    left:50% !important;
    right:auto !important;
    bottom:14px !important;
    width:max-content !important;
    max-width:calc(100% - 142px) !important;
    padding:0 2px !important;
    transform:translateX(-50%) !important;
}

/* 썸네일 크기도 화면 폭에 따라 자동 변화 */
.v2-gallery-thumb{
    flex:0 0 clamp(40px, 9vw, 50px) !important;
    width:clamp(40px, 9vw, 50px) !important;
    height:clamp(40px, 9vw, 50px) !important;
}

/* 카메라 버튼 */
.v2-gallery-camera{
    right:clamp(10px, 3vw, 16px) !important;
    bottom:clamp(11px, 3vw, 16px) !important;
    width:clamp(44px, 10vw, 50px) !important;
    height:clamp(44px, 10vw, 50px) !important;
}

/* 페이지 폭이 좁을 때 썸네일 간격 축소 */
@media(max-width:480px){

    .v2-gallery-thumbs{
        gap:6px !important;
        max-width:calc(100% - 124px) !important;
    }

    .v2-gallery-thumb{
        border-radius:8px !important;
    }

    .v2-gallery-camera{
        border-radius:11px !important;
    }
}

/* 매우 좁은 모바일 */
@media(max-width:350px){

    .v2-gallery-thumbs{
        left:12px !important;
        right:66px !important;
        width:auto !important;
        max-width:none !important;
        justify-content:flex-start !important;
        transform:none !important;
    }

    .v2-gallery-thumb{
        flex-basis:39px !important;
        width:39px !important;
        height:39px !important;
    }

    .v2-gallery-camera{
        right:10px !important;
        width:42px !important;
        height:42px !important;
    }
}

/* 태블릿·PC에서도 모바일형 폭 안에서 자연스럽게 */
@media(min-width:621px){

    .v2-gallery-thumbs{
        max-width:470px !important;
    }

    .v2-gallery-thumb{
        flex-basis:50px !important;
        width:50px !important;
        height:50px !important;
    }

    .v2-gallery-camera{
        right:16px !important;
        bottom:16px !important;
        width:50px !important;
        height:50px !important;
    }
}

/* 움직임 최소화 설정 사용자 대응 */
@media(prefers-reduced-motion:reduce){

    .v2-gallery-camera{
        animation:none !important;
    }
}


/* =========================================
   AI 추천 사이즈 단일 카드
========================================= */

.v2-ai-size-only{
    margin-top:0 !important;
}

.v2-ai-size-copy{
    min-width:0;
}

.v2-ai-size-only small{
    color:#7960a8;
    font-weight:900;
}

.v2-ai-size-only strong{
    font-size:16px;
}

.v2-ai-size-only #v2SelectedSize{
    display:inline-flex;
    margin-top:9px;
    padding:6px 9px;
    border-radius:7px;
    background:#111;
    color:#fff;
    font-size:9px;
    font-weight:850;
}

.v2-ai-size-only #v2SelectedSize[hidden]{
    display:none !important;
}


/* AI 추천만 사용: 직접 사이즈 선택 버튼 완전 제거 */
.v2-size-options,
#v2SizeOptions,
[data-order-size]{
    display:none !important;
}


.v2-size-sheet{
position:fixed;
inset:0;
z-index:9999;
display:none;
}

.v2-size-sheet.show{
display:block;
}

.v2-size-sheet-backdrop{
position:absolute;
inset:0;
background:rgba(0,0,0,.45);
backdrop-filter:blur(2px);
}

.v2-size-sheet-body{

position:absolute;
left:0;
right:0;
bottom:0;

background:#fff;

border-radius:26px 26px 0 0;

padding:20px;

animation:v2SheetUp .25s ease;

}

@keyframes v2SheetUp{

from{

transform:translateY(100%);

}

to{

transform:none;

}

}

.v2-sheet-handle{

width:44px;
height:5px;

border-radius:30px;

background:#ddd;

margin:0 auto 18px;

}

.v2-sheet-close{

position:absolute;

right:18px;
top:18px;

border:0;
background:none;

font-size:20px;

}

.v2-size-badge{

display:inline-block;

background:#edf4ff;

color:#2563eb;

padding:6px 12px;

border-radius:30px;

font-size:12px;

font-weight:700;

margin:12px 0;

}

.v2-step{

display:flex;

gap:14px;

margin:18px 0;

}

.v2-step .n{

width:28px;
height:28px;

border-radius:50%;

background:#111;

color:#fff;

display:flex;

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

font-size:13px;

font-weight:700;

}

.v2-step b{

display:block;

font-size:14px;

margin-bottom:3px;

}

.v2-step span{

font-size:12px;

color:#666;

}

.v2-sheet-stat{

display:grid;

grid-template-columns:repeat(3,1fr);

margin:20px 0;

background:#f7f7f7;

border-radius:14px;

}

.v2-sheet-stat>div{

padding:18px 10px;

text-align:center;

}

.v2-sheet-stat strong{

display:block;

font-size:24px;

}

.v2-sheet-stat span{

font-size:11px;

color:#777;

}

.v2-sheet-main{

width:100%;
height:52px;

border:0;

border-radius:14px;

background:#111;

color:#fff;

font-size:15px;

font-weight:700;

}


/* 사이즈 안내는 설명 전용 */
#v2SizeGuideModal .v2-sheet-main,
#v2OpenProfile{
    display:none !important;
}

.v2-size-sheet-body{
    padding-bottom:max(24px, env(safe-area-inset-bottom));
}


/* =========================================
   상품정보 전용 사이즈 안내 Bottom Sheet
========================================= */

.v2-size-info-sheet{
    position:fixed;
    inset:0;
    z-index:35000;
    visibility:hidden;
    opacity:0;
    transition:opacity .22s ease, visibility .22s ease;
}

.v2-size-info-sheet.open{
    visibility:visible;
    opacity:1;
}

.v2-size-info-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.48);
    backdrop-filter:blur(2px);
}

.v2-size-info-panel{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    max-width:620px;
    max-height:88vh;
    margin:auto;
    padding:12px 18px calc(24px + env(safe-area-inset-bottom));
    overflow-y:auto;
    border-radius:22px 22px 0 0;
    background:#fff;
    transform:translateY(105%);
    transition:transform .28s ease;
}

.v2-size-info-sheet.open .v2-size-info-panel{
    transform:translateY(0);
}

.v2-size-info-handle{
    width:42px;
    height:4px;
    margin:0 auto 8px;
    border-radius:999px;
    background:#d7d7d7;
}

.v2-size-info-panel header{
    display:grid;
    grid-template-columns:42px 1fr 42px;
    align-items:center;
    min-height:48px;
}

.v2-size-info-panel header strong{
    grid-column:2;
    text-align:center;
    font-size:15px;
}

.v2-size-info-panel header button{
    grid-column:3;
    width:38px;
    height:38px;
    border:0;
    background:#f5f5f4;
    border-radius:50%;
    font-size:21px;
}

.v2-size-info-badge{
    display:inline-flex;
    margin-top:8px;
    padding:6px 10px;
    border-radius:999px;
    background:#eef5ff;
    color:#3478e5;
    font-size:10px;
    font-weight:800;
}

.v2-size-info-panel h2{
    margin:14px 0 8px;
    font-size:18px;
    line-height:1.5;
}

.v2-size-info-description{
    margin:0;
    color:#777;
    font-size:11px;
    line-height:1.75;
}

.v2-size-info-steps{
    margin-top:18px;
}

.v2-size-info-steps article{
    display:grid;
    grid-template-columns:28px 1fr;
    gap:11px;
    align-items:start;
    padding:10px 0;
}

.v2-size-info-steps article > b{
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#111;
    color:#fff;
    font-size:10px;
}

.v2-size-info-steps strong{
    display:block;
    font-size:11px;
}

.v2-size-info-steps p{
    margin:4px 0 0;
    color:#8a8a8a;
    font-size:9px;
    line-height:1.55;
}

.v2-size-info-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:16px;
    overflow:hidden;
    border-radius:12px;
    background:#f7f7f6;
}

.v2-size-info-stats div{
    padding:15px 5px;
    text-align:center;
    border-right:1px solid #e9e9e7;
}

.v2-size-info-stats div:last-child{
    border-right:0;
}

.v2-size-info-stats strong,
.v2-size-info-stats span{
    display:block;
}

.v2-size-info-stats strong{
    font-size:19px;
}

.v2-size-info-stats span{
    margin-top:4px;
    color:#888;
    font-size:8px;
}

.v2-size-info-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:12px;
}

.v2-size-info-tags span{
    padding:6px 8px;
    border-radius:999px;
    background:#f0f5e9;
    color:#627c43;
    font-size:8px;
    font-weight:750;
}

@media(max-width:480px){
    .v2-size-info-panel{
        padding-right:16px;
        padding-left:16px;
    }
}

/* =========================================================
   V2 ITEM BALANCED RESPONSIVE START
========================================================= */

/* 모바일은 기존 디자인 유지 */
@media (max-width:767px) {
    :root {
        --max:620px;
    }

    .v2-top {
        display:block;
    }
}

/* 태블릿 */
@media (min-width:768px) and (max-width:1023px) {
    :root {
        --max:960px;
    }

    .v2-page {
        width:calc(100% - 32px);
        max-width:960px;
        margin:16px auto;
    }

    .v2-top {
        display:grid;
        grid-template-columns:minmax(0,56%) minmax(300px,44%);
        gap:24px;
        padding:24px;
        align-items:start;
    }

    .v2-left,
    .v2-right {
        min-width:0;
    }

    .v2-summary {
        padding:0;
        border-bottom:0;
    }

    .v2-gallery-slide {
        aspect-ratio:1/1;
    }

    .v2-gallery-slide img {
        object-fit:contain;
    }
}

/* PC */
@media (min-width:1024px) {
    :root {
        --max:1280px;
    }

    body {
        background:#f3f3f2;
    }

    .v2-page {
        width:calc(100% - 48px);
        max-width:1280px;
        margin:24px auto;
        border-radius:20px;
        overflow:hidden;
        box-shadow:0 10px 36px rgba(0,0,0,.07);
    }

    .v2-top {
        display:grid;
        grid-template-columns:minmax(0,680px) minmax(360px,1fr);
        gap:38px;
        max-width:1180px;
        margin:0 auto;
        padding:34px 30px 42px;
        align-items:start;
    }

    .v2-left,
    .v2-right {
        min-width:0;
    }

    .v2-right {
        position:sticky;
        top:76px;
        align-self:start;
    }

    .v2-gallery {
        width:100%;
        margin:0;
        border-radius:16px;
    }

    .v2-gallery-track {
        width:100%;
        max-width:none;
    }

    .v2-gallery-slide {
        width:100%;
        aspect-ratio:1/1;
    }

    .v2-gallery-slide img {
        width:100%;
        height:100%;
        object-fit:contain;
    }

    .v2-summary {
        padding:8px 0 0;
        border-bottom:0;
    }

    .v2-summary h1 {
        font-size:25px;
        line-height:1.45;
    }

    .v2-price {
        font-size:30px;
    }

    /* 아래 내용은 너무 넓지 않게 중앙 정렬 */
    .v2-information,
    .v2-options,
    .v2-about,
    .v2-inspection,
    .v2-review,
    .v2-delivery,
    .v2-related {
        width:calc(100% - 60px);
        max-width:1100px;
        margin:0 auto;
        padding:32px 30px;
    }

    .v2-detail {
        width:calc(100% - 60px);
        max-width:900px;
        margin:0 auto;
        padding:32px 0;
    }

    .v2-detail .v2-section-head {
        padding:0;
    }

    .v2-tabs {
        width:calc(100% - 60px);
        max-width:1100px;
        margin:0 auto;
    }

    .v2-process-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }

    .v2-related-grid {
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:18px;
    }

    .v2-buy-bar {
        right:auto;
        left:50%;
        width:calc(100% - 48px);
        max-width:1280px;
        transform:translateX(-50%);
    }

    .v2-sheet-panel,
    .v2-size-panel,
    .v2-size-info-panel {
        max-width:760px;
    }
}

@media (min-width:1500px) {
    .v2-related-grid {
        grid-template-columns:repeat(6,minmax(0,1fr));
    }
}

/* =========================================================
   V2 ITEM BALANCED RESPONSIVE END
========================================================= */

/* =========================================================
   V2 ITEM PC WIDTH FORCE
========================================================= */

@media (min-width:1024px){

html,
body{
    width:100% !important;
    min-width:1024px;
}

body{
    display:block !important;
}

.v2-page{
    width:calc(100vw - 80px) !important;
    max-width:1280px !important;
    min-width:1000px !important;
    margin:24px auto !important;
}

.v2-page > main{
    width:100% !important;
    max-width:none !important;
}

.v2-top{
    width:calc(100% - 60px) !important;
    max-width:1180px !important;
    grid-template-columns:minmax(0,680px) minmax(360px,1fr) !important;
    gap:38px !important;
    margin:0 auto !important;
    padding:34px 0 42px !important;
}

.v2-left,
.v2-right{
    width:auto !important;
    max-width:none !important;
}

.v2-gallery{
    width:100% !important;
    max-width:none !important;
}

.v2-gallery-track{
    width:100% !important;
    max-width:none !important;
}

.v2-gallery-slide{
    width:100% !important;
    flex-basis:100% !important;
    aspect-ratio:1/1 !important;
}

.v2-information,
.v2-options,
.v2-about,
.v2-inspection,
.v2-review,
.v2-delivery,
.v2-related,
.v2-tabs{
    width:calc(100% - 80px) !important;
    max-width:1080px !important;
    margin-right:auto !important;
    margin-left:auto !important;
}

.v2-detail{
    width:calc(100% - 80px) !important;
    max-width:900px !important;
    margin-right:auto !important;
    margin-left:auto !important;
}

.v2-buy-bar{
    width:calc(100vw - 80px) !important;
    max-width:1280px !important;
}

}

@media (min-width:1500px){

.v2-page,
.v2-buy-bar{
    max-width:1360px !important;
}

.v2-top{
    max-width:1260px !important;
    grid-template-columns:minmax(0,720px) minmax(380px,1fr) !important;
}

}

/* =========================================================
   END V2 ITEM PC WIDTH FORCE
========================================================= */


/* PC 상단 좌우 비율 조정 */
@media (min-width:1024px){

.v2-top{
    grid-template-columns:minmax(0,55%) minmax(420px,45%) !important;
    gap:34px !important;
}

.v2-summary h1{
    font-size:27px !important;
    line-height:1.42 !important;
}

.v2-price{
    font-size:32px !important;
}

}

/* 넓은 모니터 */
@media (min-width:1500px){

.v2-top{
    grid-template-columns:minmax(0,54%) minmax(440px,46%) !important;
    gap:40px !important;
}

}


/* =========================================================
   V2 REPRESENTATIVE IMAGE FIXED COVER
========================================================= */

@media (min-width:768px){

.v2-gallery{
    overflow:hidden !important;
    background:#f2f2f0 !important;
}

.v2-gallery-track{
    width:100% !important;
    height:100% !important;
}

.v2-gallery-slide{
    width:100% !important;
    flex:0 0 100% !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
    background:#f2f2f0 !important;
}

.v2-gallery-slide img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
}

}

/* PC 대표이미지 높이 고정 */
@media (min-width:1024px){

.v2-left{
    min-width:0 !important;
}

.v2-gallery{
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    border-radius:16px !important;
}

.v2-gallery-track{
    aspect-ratio:1 / 1 !important;
}

.v2-gallery-slide{
    aspect-ratio:1 / 1 !important;
}

}

/* =========================================================
   END V2 REPRESENTATIVE IMAGE FIXED COVER
========================================================= */


/* =========================================================
   V2 상세 단일 위치 탭 — 20260716
========================================================= */

.v2-switch-tabs{
    border-bottom:8px solid #f4f4f2;
    background:#fff;
}

.v2-switch-tabs > .v2-tabs{
    position:sticky;
    top:52px;
    z-index:80;
}

.v2-tab-panels{
    min-height:360px;
    background:#fff;
}

.v2-tab-panel{
    display:none;
}

.v2-tab-panel.active{
    display:block;
}

.v2-tab-panel[hidden]{
    display:none !important;
}

.v2-tab-content{
    padding:24px 16px 30px;
}

.v2-tab-content > h2{
    margin:0 0 18px;
    font-size:17px;
}

/* 상품정보 탭 내부에서는 기존 굵은 구분선 제거 */
.v2-tab-panel .v2-about,
.v2-tab-panel .v2-detail{
    border-bottom:0;
}

.v2-tab-panel .v2-about{
    padding-bottom:20px;
}

.v2-tab-panel .v2-detail{
    padding-top:8px;
    padding-bottom:10px;
}

/* 탭 제목 */
.v2-tab-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:16px;
}

.v2-tab-heading h2{
    margin:0;
    font-size:17px;
}

.v2-tab-heading span{
    color:#888;
    font-size:10px;
}

/* 최신 리뷰 */
.v2-latest-review-list{
    border-top:1px solid var(--line);
}

.v2-latest-review{
    padding:16px 0;
    border-bottom:1px solid var(--line);
}

.v2-review-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.v2-review-meta strong{
    font-size:10px;
}

.v2-review-meta span{
    color:#111;
    font-size:10px;
    letter-spacing:1px;
}

.v2-latest-review h3{
    margin:9px 0 0;
    font-size:11px;
    line-height:1.5;
}

.v2-latest-review p{
    display:-webkit-box;
    margin:6px 0 0;
    overflow:hidden;
    color:#666;
    font-size:10px;
    line-height:1.7;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}

.v2-latest-review small{
    display:block;
    margin-top:8px;
    color:#aaa;
    font-size:8px;
}

.v2-review-more{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:48px;
    margin-top:17px;
    border:1px solid #111;
    border-radius:9px;
    background:#fff;
    font-size:11px;
    font-weight:850;
}

/* 배송/반품 카드 */
.v2-policy-card{
    overflow:hidden;
    margin-bottom:12px;
    border:1px solid #e2e2e0;
    border-radius:13px;
    background:#fff;
}

.v2-policy-card summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:56px;
    padding:0 15px;
    cursor:pointer;
    list-style:none;
    font-size:12px;
    font-weight:850;
}

.v2-policy-card summary::-webkit-details-marker{
    display:none;
}

.v2-policy-card summary span{
    display:flex;
    align-items:center;
    gap:8px;
}

.v2-policy-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    color:#666;
    font-style:normal;
}

.v2-policy-card summary b{
    color:#aaa;
    font-size:13px;
    transition:transform .2s ease;
}

.v2-policy-card:not([open]) summary b{
    transform:rotate(180deg);
}

.v2-policy-body{
    padding:0 16px 17px;
    color:#666;
    font-size:10px;
    line-height:1.75;
}

.v2-policy-body > ul{
    margin:0;
    padding-left:17px;
}

.v2-policy-body li{
    margin:7px 0;
}

.v2-policy-body li::marker{
    color:#d4d4d2;
}

.v2-delay-notice{
    margin-top:15px;
    padding:13px;
    border:1px solid #efc44d;
    border-radius:9px;
    background:#fff9e7;
    color:#9b541b;
}

.v2-delay-notice strong{
    display:block;
    margin-bottom:8px;
    font-size:10px;
}

.v2-delay-notice ul{
    margin:0;
    padding-left:17px;
}

.v2-delay-notice li{
    margin:4px 0;
    font-size:9px;
    line-height:1.55;
}

@media(max-width:480px){
    .v2-tab-content{
        padding-right:14px;
        padding-left:14px;
    }
}


/* =========================================================
   갤러리 썸네일 클릭 영역 최종 보정
========================================================= */

.v2-gallery{
    position:relative !important;
}

#v2GalleryThumbs{
    z-index:100 !important;
    pointer-events:auto !important;
}

#v2GalleryThumbs .v2-gallery-thumb{
    position:relative !important;
    z-index:101 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    touch-action:manipulation !important;
    user-select:none;
}

#v2GalleryThumbs .v2-gallery-thumb img,
#v2GalleryThumbs .v2-gallery-thumb-more{
    pointer-events:none !important;
}

#v2GalleryDots{
    pointer-events:none !important;
}

.v2-gallery-camera{
    z-index:102 !important;
    pointer-events:auto !important;
}


/* =========================================================
   V2 상품상세 PC 우측 상품정보 배치
   모바일 구조와 탭은 그대로 유지
========================================================= */
@media (min-width: 900px) {
    .v2-right {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .v2-right .v2-information {
        width: 100%;
        margin: 22px 0 0;
        padding: 22px 0 0;
        border-top: 1px solid #eeeeee;
    }

    .v2-right .v2-information h2 {
        margin: 0 0 14px;
        font-size: 17px;
        line-height: 1.3;
    }

    .v2-right .v2-info-list {
        margin: 0;
    }

    .v2-right .v2-info-list > div {
        min-height: 43px;
        padding: 11px 0;
    }
}

/* 모바일은 기존 전체폭 구조 유지 */
@media (max-width: 899px) {
    .v2-right .v2-information {
        width: 100%;
    }
}

/* =========================================================
   V2 상품 AI / 찜·조회 / 배때지 신뢰보증
========================================================= */
.v2-product-ai-button {
    width: 100%;
    min-height: 58px;
    margin-top: 12px;
    padding: 0 16px;
    border: 1px solid #e2e2e2;
    border-radius: 10px;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    cursor: pointer;
}

.v2-product-ai-button > span:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.v2-product-ai-button strong,
.v2-product-ai-button small {
    display: block;
}

.v2-product-ai-button strong {
    color: #111;
    font-size: 14px;
}

.v2-product-ai-button small {
    margin-top: 4px;
    color: #888;
    font-size: 11px;
}

.v2-product-ai-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f5f1ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}

.v2-product-ai-button > b {
    font-size: 22px;
    font-weight: 400;
}

.v2-social-stats {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 16px;
    color: #777;
    font-size: 13px;
}

.v2-social-stats span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.v2-social-stats i {
    font-style: normal;
    color: #999;
    font-size: 16px;
}

.v2-social-stats b {
    color: #666;
    font-weight: 500;
}

.v2-trust-guarantee {
    min-height: 58px;
    padding: 0 16px;
}

.v2-trust-guarantee > span {
    flex: 1;
    text-align: left;
}

.v2-trust-guarantee strong,
.v2-trust-guarantee small {
    display: block;
}

.v2-trust-guarantee strong {
    font-size: 14px;
}

.v2-trust-guarantee small {
    margin-top: 4px;
    color: #aaa;
    font-size: 11px;
    font-weight: 400;
}

/* 신뢰보증 */
.v2-trust-panel {
    overflow: hidden;
}

.v2-trust-header {
    background: #151515;
    color: #fff;
}

.v2-trust-header strong {
    display: flex;
    align-items: center;
    gap: 8px;
}

.v2-trust-content {
    padding: 20px 16px 30px;
    overflow-y: auto;
}

.v2-trust-hero {
    padding: 22px;
    border-radius: 14px;
    background: #151515;
    color: #fff;
}

.v2-trust-hero span {
    color: #d4b35d;
    font-size: 10px;
    letter-spacing: 1px;
}

.v2-trust-hero h2 {
    margin: 10px 0 8px;
    font-size: 21px;
    line-height: 1.35;
}

.v2-trust-hero p {
    margin: 0;
    color: #bbb;
    font-size: 13px;
    line-height: 1.65;
}

.v2-trust-main-card {
    margin-top: 14px;
    padding: 17px;
    border: 1px solid #ece8db;
    border-radius: 12px;
    background: #fffdf7;
    display: flex;
    gap: 13px;
}

.v2-trust-main-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    flex: 0 0 auto;
    background: #151515;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.v2-trust-main-card strong {
    display: block;
    font-size: 14px;
}

.v2-trust-main-card p {
    margin: 6px 0 0;
    color: #777;
    font-size: 12px;
    line-height: 1.55;
}

.v2-trust-steps {
    margin-top: 16px;
}

.v2-trust-steps article {
    padding: 16px 0;
    border-bottom: 1px solid #eee;
    display: flex;
    gap: 13px;
}

.v2-trust-steps article > b {
    color: #b29242;
    font-size: 13px;
}

.v2-trust-steps strong {
    font-size: 14px;
}

.v2-trust-steps p {
    margin: 5px 0 0;
    color: #888;
    font-size: 12px;
}

.v2-trust-promise {
    margin-top: 18px;
    padding: 18px;
    border-radius: 12px;
    background: #f7f7f7;
}

.v2-trust-promise strong {
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
}

.v2-trust-promise ul {
    margin: 0;
    padding-left: 18px;
}

.v2-trust-promise li {
    margin: 7px 0;
    color: #666;
    font-size: 12px;
    line-height: 1.5;
}

/* 상품 AI */
.v2-product-ai-panel {
    height: min(720px, 88vh);
    display: flex;
    flex-direction: column;
}

.v2-product-ai-panel > header {
    flex: 0 0 auto;
    background: #151515;
    color: #fff;
}

.v2-product-ai-product {
    margin: 16px;
    padding: 12px;
    border: 1px solid #eee;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.v2-product-ai-product img {
    width: 62px;
    height: 62px;
    border-radius: 8px;
    object-fit: cover;
    background: #f5f5f5;
}

.v2-product-ai-product div {
    min-width: 0;
}

.v2-product-ai-product small,
.v2-product-ai-product strong,
.v2-product-ai-product b {
    display: block;
}

.v2-product-ai-product strong {
    margin: 3px 0 5px;
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-product-ai-intro {
    padding: 0 18px 14px;
    text-align: center;
}

.v2-product-ai-intro strong {
    font-size: 14px;
}

.v2-product-ai-intro p {
    margin: 7px 0 0;
    color: #999;
    font-size: 11px;
    line-height: 1.5;
}

.v2-product-ai-messages {
    flex: 1;
    min-height: 180px;
    padding: 14px 16px;
    overflow-y: auto;
    background: #fafafa;
}

.v2-ai-message {
    margin-bottom: 12px;
    display: flex;
}

.v2-ai-message p {
    max-width: 86%;
    margin: 0;
    padding: 11px 13px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.55;
}

.v2-ai-message.assistant p {
    background: #fff;
    border: 1px solid #eee;
}

.v2-ai-message.user {
    justify-content: flex-end;
}

.v2-ai-message.user p {
    background: #151515;
    color: #fff;
}

.v2-product-ai-suggestions {
    padding: 10px 12px;
    display: flex;
    gap: 7px;
    overflow-x: auto;
    border-top: 1px solid #eee;
}

.v2-product-ai-suggestions button {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: #fff;
    font-size: 11px;
}

.v2-product-ai-form {
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    display: flex;
    gap: 8px;
    border-top: 1px solid #eee;
}

.v2-product-ai-form input {
    flex: 1;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    border: 1px solid #ddd;
    border-radius: 22px;
    font-size: 13px;
}

.v2-product-ai-form button {
    width: 56px;
    border: 0;
    border-radius: 22px;
    background: #151515;
    color: #fff;
    font-weight: 700;
}

@media (min-width: 900px) {
    .v2-product-ai-panel,
    .v2-trust-panel {
        width: 560px;
        max-width: calc(100vw - 40px);
        border-radius: 16px;
    }
}

/* 1. 배때지 신뢰보증 */
    .v2-summary .v2-trust-guarantee {
        order: 4;
        margin-top: 14px;
    }

    /* 2. 상품 AI 문의 */
    .v2-summary .v2-product-ai-button {
        order: 5;
        margin-top: 10px;
    }

    /* 3. 찜 / 조회 */
    .v2-summary .v2-social-stats {
        order: 6;
        margin-top: 4px;
    }

    /* 4. AI 가상 피팅 */
    .v2-summary .v2-fit-card {
        order: 7;
        margin-top: 8px;
    }

    /* 5. 무료배송 / 검수사진 / 쿠폰 */
    .v2-summary .v2-benefit-list {
        order: 8;
        margin-top: 10px;
    }
}

@media (max-width: 899px) {
    .v2-summary .v2-trust-guarantee {
        min-height: 52px;
        padding: 0 16px;
        border: 0;
        border-radius: 8px;
        background: #151515;
        color: #fff;
    }

    .v2-summary .v2-trust-guarantee strong {
        color: #fff;
    }

    .v2-summary .v2-trust-guarantee small {
        color: #bdbdbd;
    }

    .v2-summary .v2-trust-guarantee > b {
        color: #fff;
    }

    .v2-summary .v2-product-ai-button {
        min-height: 52px;
        border-color: #d7b56d;
        background: #fff;
    }

    .v2-summary .v2-social-stats {
        padding: 2px 4px 4px;
        border-bottom: 1px solid #eeeeee;
    }
}

/* =========================================================
   V2 듀엘로형 상품요약 최종 구조
========================================================= */

.v2-summary{
    display:flex;
    flex-direction:column;
}

/* 신뢰보증: 가격 바로 아래 */
.v2-summary .v2-trust-guarantee{
    display:flex;
    align-items:center;
    width:100%;
    min-height:54px;
    margin-top:20px;
    padding:0 16px;
    border:0;
    border-radius:9px;
    background:#151515;
    color:#fff;
    text-align:left;
    box-shadow:none;
}

.v2-summary .v2-trust-guarantee > span{
    display:block;
    flex:1;
    min-width:0;
}

.v2-summary .v2-trust-guarantee strong{
    display:block;
    color:#fff;
    font-size:13px;
    font-weight:850;
    line-height:1.3;
}

.v2-summary .v2-trust-guarantee strong::before{
    content:"◇";
    margin-right:7px;
    color:#d8b85f;
    font-size:13px;
}

.v2-summary .v2-trust-guarantee small{
    display:block;
    margin-top:4px;
    color:#bcbcbc;
    font-size:9px;
    font-weight:500;
    line-height:1.3;
}

.v2-summary .v2-trust-guarantee > b{
    flex:0 0 auto;
    margin-left:12px;
    color:#fff;
    font-size:17px;
    font-weight:400;
}

/* AI 물어보기 */
.v2-summary .v2-product-ai-button{
    display:flex;
    align-items:center;
    width:100%;
    min-height:54px;
    margin-top:10px;
    padding:0 15px;
    border:1px solid #d8b76a;
    border-radius:9px;
    background:#fff;
    text-align:left;
    box-shadow:none;
}

.v2-summary .v2-product-ai-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    margin-right:10px;
    border-radius:50%;
    background:#f6f1ff;
    color:#725bb4;
    font-size:14px;
}

.v2-summary .v2-product-ai-button > span:nth-child(2){
    flex:1;
    min-width:0;
}

.v2-summary .v2-product-ai-button strong{
    display:block;
    color:#181818;
    font-size:12px;
    font-weight:850;
}

.v2-summary .v2-product-ai-button small{
    display:block;
    margin-top:3px;
    overflow:hidden;
    color:#8b8b8b;
    font-size:8px;
    font-weight:400;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.v2-summary .v2-product-ai-button > b{
    margin-left:10px;
    color:#999;
    font-size:17px;
    font-weight:400;
}

/* 찜수 / 조회수 */
.v2-summary .v2-social-stats{
    display:flex;
    align-items:center;
    gap:14px;
    width:100%;
    min-height:38px;
    margin-top:7px;
    padding:0 3px;
    border-bottom:1px solid #eeeeec;
    color:#777;
}

.v2-summary .v2-social-stats span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-width:0;
}

.v2-summary .v2-social-stats i{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:17px;
    height:17px;
    color:#929292;
    font-size:17px;
    font-style:normal;
    line-height:1;
}

.v2-summary .v2-social-stats b{
    color:#666;
    font-size:10px;
    font-weight:600;
}

.v2-summary .v2-stat-eye svg{
    display:block;
    width:17px;
    height:17px;
    stroke-width:1.6;
}

/* 가상피팅: 통계 다음 */
.v2-summary .v2-fit-card{
    margin-top:13px;
}

/* 혜택: 가상피팅 다음 */
.v2-summary .v2-benefit-list{
    margin-top:12px;
}

/* 상품정보와 요약 사이 과한 공백 제거 */
.v2-right .v2-information{
    margin-top:18px;
}

/* PC 우측을 빈틈없이 자연스럽게 */
@media(min-width:900px){

    .v2-right{
        display:flex;
        flex-direction:column;
        min-width:0;
    }

    .v2-right .v2-summary{
        padding-bottom:0;
        border-bottom:0;
    }

    .v2-right .v2-information{
        width:100%;
        margin-top:20px;
        padding-top:20px;
        border-top:1px solid #ededeb;
        border-bottom:0;
    }

    .v2-summary .v2-trust-guarantee{
        margin-top:18px;
    }
}

/* 모바일 간격 */
@media(max-width:699px){

    .v2-summary{
        padding-top:21px;
        padding-bottom:18px;
    }

    .v2-summary .v2-trust-guarantee{
        margin-top:17px;
    }

    .v2-summary .v2-fit-card{
        min-height:62px;
    }

    .v2-right .v2-information{
        margin-top:0;
    }
}

/* =========================================================
   V2 상품 상세 하단 최종 디자인
   비슷한 상품 → 안내 → 상품정보 → 상품보증 → 사이즈 상담
========================================================= */

/* 비슷한 상품 뒤 굵은 회색 띠 제거 */
.v2-related{
    padding-bottom:30px;
    border-bottom:0 !important;
}

/* 하단 전체 영역 */
.v2-bottom-product-guide{
    position:relative;
    width:100%;
    margin:0;
    padding:30px 16px calc(34px + var(--safe));
    border:0 !important;
    background:#fff;
}

/* 비슷한 상품과 하단 안내 사이 얇은 구분선 */
.v2-bottom-product-guide::before{
    content:"";
    display:block;
    width:100%;
    height:1px;
    margin:0 0 26px;
    background:#ededeb;
}

/* 관련 상품이 없는 경우에도 동일 */
.v2-switch-tabs + .v2-bottom-product-guide{
    border-top:0 !important;
}

/* 안내 사항 카드 */
.v2-bottom-notice{
    margin:0;
    padding:19px 18px;
    border:0;
    border-radius:14px;
    background:#f7f7f6;
    box-shadow:none;
}

.v2-bottom-notice h3{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 13px;
    color:#242424;
    font-size:13px;
    font-weight:800;
    letter-spacing:-.15px;
}

.v2-bottom-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    color:#777;
    font-size:13px;
    line-height:1;
}

.v2-bottom-notice ul{
    margin:0;
    padding:0;
    list-style:none;
}

.v2-bottom-notice li{
    position:relative;
    margin:8px 0 0;
    padding-left:13px;
    color:#737373;
    font-size:10px;
    line-height:1.65;
    word-break:keep-all;
}

.v2-bottom-notice li:first-child{
    margin-top:0;
}

.v2-bottom-notice li::before{
    content:"";
    position:absolute;
    top:.75em;
    left:2px;
    width:3px;
    height:3px;
    border-radius:50%;
    background:#bdbdbd;
}

/* 상품정보·상품보증 접이식 카드 */
.v2-bottom-accordion{
    margin:11px 0 0;
    overflow:hidden;
    border:1px solid #e7e7e5;
    border-radius:13px;
    background:#fff;
    box-shadow:none;
}

.v2-bottom-accordion summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    padding:0 16px;
    cursor:pointer;
    list-style:none;
    background:#fff;
}

.v2-bottom-accordion summary::-webkit-details-marker{
    display:none;
}

.v2-bottom-accordion summary > span{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.v2-bottom-accordion summary strong{
    color:#292929;
    font-size:12px;
    font-weight:800;
    letter-spacing:-.1px;
}

.v2-bottom-cube,
.v2-bottom-shield{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 19px;
    width:19px;
    height:19px;
    color:#6f6f6f;
}

.v2-bottom-cube svg,
.v2-bottom-shield svg{
    display:block;
    width:18px;
    height:18px;
    stroke-width:1.65;
}

.v2-bottom-arrow{
    color:#9b9b9b;
    font-size:17px;
    font-weight:400;
    line-height:1;
    transition:transform .18s ease;
}

.v2-bottom-accordion[open] .v2-bottom-arrow{
    transform:rotate(180deg);
}

/* 펼쳐진 내용 */
.v2-bottom-accordion-body{
    padding:0 16px 17px;
    border-top:1px solid #f0f0ee;
    background:#fff;
}

/* 하단 상품정보 */
.v2-bottom-info-list{
    margin:0;
}

.v2-bottom-info-list > div{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:12px;
    min-height:43px;
    padding:12px 0;
    border-bottom:1px solid #f1f1ef;
    font-size:10px;
}

.v2-bottom-info-list > div:last-child{
    border-bottom:0;
}

.v2-bottom-info-list dt{
    color:#888;
}

.v2-bottom-info-list dd{
    min-width:0;
    margin:0;
    color:#333;
    text-align:right;
    font-weight:700;
    word-break:keep-all;
}

.v2-bottom-size-button{
    padding:0;
    border:0;
    background:transparent;
    color:#222;
    font-size:10px;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:3px;
}

/* 상품보증 내용 */
.v2-bottom-guarantee-list{
    margin:0;
    padding:12px 0 0;
    list-style:none;
}

.v2-bottom-guarantee-list li{
    position:relative;
    padding:6px 0 6px 18px;
    color:#666;
    font-size:10px;
    line-height:1.62;
    word-break:keep-all;
}

.v2-bottom-guarantee-list li::before{
    content:"✓";
    position:absolute;
    top:6px;
    left:0;
    color:#a88635;
    font-size:11px;
    font-weight:900;
}

.v2-bottom-trust-button{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:46px;
    margin-top:13px;
    padding:0 14px;
    border:0;
    border-radius:9px;
    background:#171717;
    color:#fff;
    font-size:10px;
    font-weight:800;
}

.v2-bottom-trust-button span{
    font-size:17px;
    font-weight:400;
}

/* 상품 보증 아래 사이즈 상담 */
.v2-bottom-size-help{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:auto;
    margin:17px 0 0;
    padding:4px 8px 0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#888;
    text-align:center;
}

.v2-bottom-size-help > span{
    flex:0 0 auto;
    font-size:12px;
    line-height:1;
}

.v2-bottom-size-help > div{
    display:flex;
    align-items:center;
    gap:4px;
    min-width:0;
}

.v2-bottom-size-help strong{
    display:inline;
    color:#777;
    font-size:9px;
    font-weight:650;
    line-height:1.5;
}

.v2-bottom-size-help p{
    display:inline;
    margin:0;
    color:#999;
    font-size:9px;
    line-height:1.5;
}

.v2-bottom-size-help p::before{
    content:"·";
    margin-right:4px;
    color:#bbb;
}

/* 하단 구매바와 내용 겹침 방지 */
.v2-bottom-product-guide{
    margin-bottom:10px;
}

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

    .v2-bottom-product-guide{
        padding-right:16px;
        padding-left:16px;
    }

    .v2-bottom-product-guide::before{
        margin-bottom:23px;
    }
}

/* PC */
@media(min-width:900px){

    .v2-bottom-product-guide{
        max-width:880px;
        margin-right:auto;
        margin-left:auto;
        padding-right:0;
        padding-left:0;
    }

    .v2-bottom-notice{
        padding:21px 22px;
    }

    .v2-bottom-accordion summary{
        min-height:62px;
        padding-right:20px;
        padding-left:20px;
    }

    .v2-bottom-accordion-body{
        padding-right:20px;
        padding-left:20px;
    }
}


/* =========================================================
   V2 상품 AI 버튼 최종 반응형 보정
========================================================= */
.v2-summary,
.v2-summary *{
    min-width:0;
}

.v2-summary .v2-product-ai-button{
    display:grid !important;
    grid-template-columns:
        clamp(30px, 8vw, 36px)
        minmax(0, 1fr)
        18px;
    align-items:center;
    gap:clamp(8px, 2.5vw, 12px);

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:clamp(52px, 13vw, 60px);

    margin-top:10px;
    padding:
        clamp(9px, 2.4vw, 12px)
        clamp(12px, 3.5vw, 16px);

    overflow:hidden;
    border:1px solid #d8b76a;
    border-radius:10px;
    background:#fff;
    box-sizing:border-box;
}

.v2-summary .v2-product-ai-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:clamp(30px, 8vw, 36px);
    height:clamp(30px, 8vw, 36px);

    margin:0 !important;
    border-radius:50%;
    flex:none;
}

.v2-summary .v2-product-ai-button > span:nth-child(2){
    display:block;
    width:100%;
    min-width:0 !important;
    overflow:hidden;
}

.v2-summary .v2-product-ai-button strong{
    display:block;
    width:100%;
    margin:0;
    overflow:hidden;

    color:#181818;
    font-size:clamp(11px, 3.1vw, 13px);
    font-weight:850;
    line-height:1.35;

    white-space:normal !important;
    overflow-wrap:anywhere;
    word-break:keep-all;
}

.v2-summary .v2-product-ai-button small{
    display:block;
    width:100%;
    margin-top:3px;
    overflow:hidden;

    color:#888;
    font-size:clamp(8px, 2.35vw, 10px);
    line-height:1.4;

    white-space:normal !important;
    text-overflow:clip !important;
    overflow-wrap:anywhere;
    word-break:keep-all;
}

.v2-summary .v2-product-ai-button > b{
    display:flex;
    align-items:center;
    justify-content:flex-end;

    width:18px;
    min-width:18px;
    margin:0 !important;

    color:#999;
    font-size:18px;
    font-weight:400;
}

/* 아주 좁은 모바일 */
@media(max-width:360px){

    .v2-summary .v2-product-ai-button{
        grid-template-columns:30px minmax(0,1fr) 14px;
        gap:7px;
        padding:9px 10px;
    }

    .v2-summary .v2-product-ai-button small{
        font-size:8px;
    }

    .v2-summary .v2-product-ai-button > b{
        width:14px;
        min-width:14px;
        font-size:16px;
    }
}

/* PC 우측 컬럼에서도 정확히 맞춤 */
@media(min-width:900px){

    .v2-right,
    .v2-right .v2-summary{
        min-width:0;
    }

    .v2-right .v2-product-ai-button{
        width:100% !important;
        max-width:100% !important;
    }
}

/* AI 모달도 화면 폭에 맞춤 */
.v2-product-ai-panel{
    width:min(100%, 560px) !important;
    max-width:calc(100vw - 20px) !important;
}

@media(max-width:699px){

    .v2-product-ai-panel{
        width:100% !important;
        max-width:100% !important;
        border-radius:20px 20px 0 0 !important;
    }
}

/* =========================================================
   V2 상품 AI 버튼 PC 마우스 호버·클릭 효과
========================================================= */
.v2-product-ai-button{
    position:relative;
    cursor:pointer !important;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.v2-product-ai-button *{
    pointer-events:none;
}

@media (hover:hover) and (pointer:fine){

    .v2-summary .v2-product-ai-button:hover{
        border-color:#a88635 !important;
        background:#fffdf7 !important;
        box-shadow:0 7px 22px rgba(17,17,17,.09);
        transform:translateY(-2px);
    }

    .v2-summary .v2-product-ai-button:hover
    .v2-product-ai-icon{
        background:#171717;
        color:#fff;
        transform:scale(1.06);
    }

    .v2-summary .v2-product-ai-button:hover strong{
        color:#8a681c;
    }

    .v2-summary .v2-product-ai-button:hover > b{
        color:#171717;
        transform:translateX(3px);
    }
}

.v2-product-ai-icon,
.v2-product-ai-button > b{
    transition:
        color .18s ease,
        background-color .18s ease,
        transform .18s ease;
}

.v2-summary .v2-product-ai-button:active{
    transform:translateY(0) scale(.99);
    box-shadow:none;
}

.v2-summary .v2-product-ai-button:focus-visible{
    outline:3px solid rgba(168,134,53,.25);
    outline-offset:2px;
}

/* FASHN 가상피팅 결과 */
.v2-tryon-result-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:43px;
    margin-top:12px;
    border-radius:8px;
    background:#111;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

/* =========================================================
   V2 체형 기반 AI 가상피팅
========================================================= */
.v2-body-fit-panel{
    max-height:92vh;
}

.v2-body-fit-product{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    align-items:center;
    gap:11px;
    padding:11px;
    border-radius:11px;
    background:#f6f6f5;
}

.v2-body-fit-product img{
    width:58px;
    height:58px;
    border-radius:8px;
    object-fit:cover;
}

.v2-body-fit-product small,
.v2-body-fit-product strong{
    display:block;
}

.v2-body-fit-product small{
    color:#888;
    font-size:9px;
}

.v2-body-fit-product strong{
    margin-top:4px;
    overflow:hidden;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.v2-body-fit-section{
    margin-top:20px;
}

.v2-body-fit-section h3{
    margin:0 0 10px;
    font-size:12px;
}

.v2-body-fit-label{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.v2-body-fit-label strong{
    font-size:13px;
}

.v2-body-fit-gender,
.v2-body-fit-types{
    display:grid;
    gap:8px;
}

.v2-body-fit-gender{
    grid-template-columns:repeat(2,1fr);
}

.v2-body-fit-types{
    grid-template-columns:repeat(3,1fr);
}

.v2-body-fit-gender button,
.v2-body-fit-types button{
    min-height:43px;
    border:1px solid #ddd;
    border-radius:9px;
    background:#fff;
    font-size:10px;
    font-weight:750;
}

.v2-body-fit-gender button.active,
.v2-body-fit-types button.active{
    border-color:#111;
    background:#111;
    color:#fff;
}

.v2-body-fit-section input[type="range"]{
    width:100%;
    accent-color:#111;
}

.v2-body-fit-recommend,
.v2-body-fit-start{
    width:100%;
    min-height:49px;
    margin-top:23px;
    border:0;
    border-radius:9px;
    background:#111;
    color:#fff;
    font-size:11px;
    font-weight:850;
}

.v2-body-fit-recommendation{
    padding-top:18px;
}

.v2-body-fit-badge{
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    background:#f0ecff;
    color:#7158ad;
    font-size:8px;
    font-weight:900;
}

.v2-body-fit-model-card{
    display:grid;
    grid-template-columns:140px minmax(0,1fr);
    align-items:center;
    gap:14px;
    margin-top:12px;
    padding:13px;
    border:1px solid #e8e8e6;
    border-radius:13px;
}

.v2-body-fit-model-card img{
    width:140px;
    height:190px;
    border-radius:9px;
    object-fit:cover;
    background:#f2f2f0;
}

.v2-body-fit-model-card strong,
.v2-body-fit-model-card span{
    display:block;
}

.v2-body-fit-model-card strong{
    font-size:13px;
    line-height:1.5;
}

.v2-body-fit-model-card span{
    margin-top:9px;
    color:#888;
    font-size:10px;
}

.v2-body-fit-model-card b{
    color:#111;
}

.v2-body-fit-reset{
    width:100%;
    min-height:42px;
    margin-top:8px;
    border:1px solid #ddd;
    border-radius:9px;
    background:#fff;
    font-size:10px;
    font-weight:750;
}

.v2-body-fit-progress{
    padding:60px 10px;
    text-align:center;
}

.v2-body-fit-loader{
    width:48px;
    height:48px;
    margin:0 auto 18px;
    border:4px solid #eee;
    border-top-color:#111;
    border-radius:50%;
    animation:v2spin .8s linear infinite;
}

.v2-body-fit-progress strong{
    display:block;
    font-size:14px;
}

.v2-body-fit-progress p{
    margin:8px 0 0;
    color:#888;
    font-size:10px;
}

.v2-body-fit-result{
    padding-top:16px;
}

.v2-body-fit-result-images{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.v2-body-fit-result figure{
    margin:0;
}

.v2-body-fit-result figure img{
    display:block;
    width:100%;
    aspect-ratio:3/4;
    border-radius:10px;
    object-fit:cover;
    background:#f2f2f0;
}

.v2-body-fit-result figcaption{
    margin-top:6px;
    color:#777;
    font-size:9px;
    text-align:center;
}

.v2-body-fit-result > p{
    margin:14px 0 0;
    color:#888;
    font-size:9px;
    line-height:1.6;
    text-align:center;
}

.v2-body-fit-result-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:14px;
}

.v2-body-fit-result-actions button,
.v2-body-fit-result-actions a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    border-radius:9px;
    font-size:10px;
    font-weight:800;
}

.v2-body-fit-result-actions button{
    border:1px solid #ddd;
    background:#fff;
}

.v2-body-fit-result-actions a{
    background:#111;
    color:#fff;
}

@media(max-width:380px){
    .v2-body-fit-types{
        grid-template-columns:repeat(2,1fr);
    }

    .v2-body-fit-model-card{
        grid-template-columns:110px minmax(0,1fr);
    }

    .v2-body-fit-model-card img{
        width:110px;
        height:155px;
    }
}

/* =========================================================
   V2 가상피팅 방식 선택 · 개인 사진
========================================================= */
.v2-fit-mode-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:14px;
    padding:4px;
    border-radius:12px;
    background:#f2f2f0;
}

.v2-fit-mode-tabs button{
    min-width:0;
    min-height:55px;
    padding:9px 8px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#777;
    text-align:center;
}

.v2-fit-mode-tabs button.active{
    background:#fff;
    color:#111;
    box-shadow:0 2px 10px rgba(0,0,0,.07);
}

.v2-fit-mode-tabs strong,
.v2-fit-mode-tabs small{
    display:block;
}

.v2-fit-mode-tabs strong{
    font-size:10px;
    font-weight:850;
}

.v2-fit-mode-tabs small{
    margin-top:4px;
    overflow:hidden;
    font-size:8px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.v2-private-fit-form{
    padding-top:17px;
}

.v2-private-fit-guide{
    padding:15px;
    border-radius:11px;
    background:#f7f7f5;
}

.v2-private-fit-guide strong{
    display:block;
    font-size:11px;
}

.v2-private-fit-guide ul{
    margin:10px 0 0;
    padding-left:17px;
}

.v2-private-fit-guide li{
    margin-top:5px;
    color:#777;
    font-size:9px;
    line-height:1.5;
}

.v2-private-fit-upload{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:330px;
    margin-top:12px;
    overflow:hidden;
    border:1px dashed #cfcfcd;
    border-radius:13px;
    background:#f4f4f2;
    cursor:pointer;
}

.v2-private-fit-upload > img{
    display:block;
    width:100%;
    max-height:480px;
    object-fit:contain;
}

#v2PrivateFitEmpty{
    padding:30px;
    text-align:center;
}

#v2PrivateFitEmpty b{
    display:flex;
    align-items:center;
    justify-content:center;
    width:43px;
    height:43px;
    margin:0 auto 11px;
    border-radius:50%;
    background:#fff;
    font-size:22px;
}

#v2PrivateFitEmpty strong,
#v2PrivateFitEmpty small{
    display:block;
}

#v2PrivateFitEmpty strong{
    font-size:11px;
}

#v2PrivateFitEmpty small{
    margin-top:5px;
    color:#999;
    font-size:8px;
}

.v2-private-fit-privacy{
    margin:10px 2px 0;
    color:#888;
    font-size:8px;
    line-height:1.55;
    text-align:center;
}

.v2-private-fit-start{
    width:100%;
    min-height:49px;
    margin-top:13px;
    border:0;
    border-radius:9px;
    background:#111;
    color:#fff;
    font-size:11px;
    font-weight:850;
}

.v2-private-fit-start:disabled{
    background:#d5d5d3;
    cursor:not-allowed;
}

/* =========================================================
   AI 가상피팅 UI 최종 개선
========================================================= */

.v2-body-fit-panel{
    max-width:700px;
}

.v2-body-fit-product{
    display:grid;
    grid-template-columns:56px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:14px;
    border:1px solid #ececec;
    border-radius:16px;
    background:#fafafa;
    margin-bottom:18px;
}

.v2-body-fit-product img{
    width:56px;
    height:56px;
    object-fit:cover;
    border-radius:10px;
}

.v2-body-fit-product strong{
    display:block;
    font-size:15px;
    font-weight:700;
    color:#111;
}

.v2-body-fit-product small{
    display:block;
    margin-bottom:4px;
    color:#999;
    font-size:11px;
}

/* 추천 / 내사진 카드 */

.v2-fit-type{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin:18px 0;
}

.v2-fit-card{
    padding:18px;
    border-radius:16px;
    border:1px solid #ececec;
    background:#fafafa;
    cursor:pointer;
    transition:.18s;
}

.v2-fit-card:hover{
    border-color:#111;
    transform:translateY(-2px);
}

.v2-fit-card.active{
    border:2px solid #111;
    background:#fff;
}

.v2-fit-card strong{
    display:block;
    font-size:15px;
    margin-bottom:5px;
}

.v2-fit-card small{
    display:block;
    color:#777;
    line-height:1.5;
}

/* 업로드 */

.v2-upload-box{
    min-height:300px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    border:2px dashed #dddddd;
    border-radius:16px;
    background:#fafafa;
    transition:.2s;
}

.v2-upload-box:hover{
    border-color:#111;
    background:#fff;
}

.v2-upload-box .plus{
    width:70px;
    height:70px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:36px;
    margin-bottom:14px;
}

.v2-upload-box h4{
    margin:0;
    font-size:16px;
}

.v2-upload-box p{
    margin-top:8px;
    color:#888;
    line-height:1.6;
    font-size:13px;
}

/* 안내 */

.v2-fit-guide{
    margin:18px 0;
    padding:15px 18px;
    border-radius:14px;
    background:#f8f8f8;
    color:#666;
    font-size:13px;
    line-height:1.8;
}

/* 실행버튼 */

.v2-fit-start{
    margin-top:20px;
    height:54px;
    border-radius:14px;
    font-size:16px;
    font-weight:700;
}

.v2-fit-start:disabled{
    opacity:.45;
    cursor:not-allowed;
}

/* 모바일 */

@media(max-width:700px){

    .v2-fit-type{
        grid-template-columns:1fr;
    }

    .v2-upload-box{
        min-height:240px;
    }

    .v2-body-fit-panel{
        border-radius:22px 22px 0 0;
    }

}


/* =========================================================
   V2 상품 상담 BOT
========================================================= */
.v2-product-ai-messages{
    scroll-behavior:smooth;
}

.v2-ai-message p{
    white-space:pre-line;
    word-break:keep-all;
    overflow-wrap:anywhere;
}

.v2-ai-message.user{
    display:flex;
    justify-content:flex-end;
}

.v2-ai-message.user p{
    max-width:82%;
    margin-left:auto;
    padding:11px 13px;
    border-radius:15px 15px 4px 15px;
    background:#171717;
    color:#fff;
    font-size:11px;
    line-height:1.65;
}

.v2-ai-message.assistant{
    display:flex;
    justify-content:flex-start;
}

.v2-ai-message.assistant p{
    max-width:88%;
    padding:12px 14px;
    border:1px solid #ececea;
    border-radius:15px 15px 15px 4px;
    background:#fff;
    color:#444;
    font-size:11px;
    line-height:1.75;
    box-shadow:0 3px 12px rgba(0,0,0,.035);
}

.v2-bot-typing{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-width:38px;
    height:18px;
}

.v2-bot-typing i{
    display:block;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#999;
    animation:v2BotTyping 1s infinite ease-in-out;
}

.v2-bot-typing i:nth-child(2){
    animation-delay:.15s;
}

.v2-bot-typing i:nth-child(3){
    animation-delay:.3s;
}

@keyframes v2BotTyping{
    0%,60%,100%{
        opacity:.35;
        transform:translateY(0);
    }

    30%{
        opacity:1;
        transform:translateY(-3px);
    }
}

.v2-product-ai-form button:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.v2-product-ai-suggestions button{
    cursor:pointer;
}

/* =========================================================
   V2 상품 BOT 듀엘로형 최종 UI
========================================================= */

.v2-product-ai-sheet{
    z-index:99999;
}

.v2-product-ai-panel{
    display:flex !important;
    flex-direction:column;
    width:min(100%, 520px) !important;
    height:min(82vh, 760px);
    max-height:calc(100vh - 36px);
    padding:0 !important;
    overflow:hidden;
    border-radius:18px !important;
    background:#f6f6f6;
    box-shadow:0 24px 80px rgba(0,0,0,.28);
}

/* 헤더 */
.v2-product-ai-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex:0 0 56px;
    min-height:56px;
    padding:0 17px;
    border:0;
    background:#171717;
    color:#fff;
}

.v2-product-ai-header strong{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:850;
}

.v2-product-ai-header strong i{
    color:#eee5ff;
    font-size:8px;
    font-style:normal;
}

.v2-product-ai-header button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font-size:25px;
    font-weight:300;
    cursor:pointer;
}

/* 메시지 영역 */
.v2-product-ai-messages{
    flex:1 1 auto;
    min-height:0;
    padding:16px 14px 24px;
    overflow-x:hidden;
    overflow-y:auto;
    background:#f6f6f6;
    scroll-behavior:smooth;
}

.v2-product-ai-messages::-webkit-scrollbar{
    width:5px;
}

.v2-product-ai-messages::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#aaa;
}

.v2-ai-message{
    margin-bottom:14px;
}

.v2-ai-message.assistant{
    display:block;
}

.v2-ai-message.assistant p{
    width:auto;
    max-width:82%;
    margin:0;
    padding:13px 14px;
    border:1px solid #e8e8e8;
    border-radius:14px 14px 14px 4px;
    background:#fff;
    color:#333;
    font-size:11px;
    line-height:1.78;
    white-space:pre-line;
    word-break:keep-all;
    overflow-wrap:anywhere;
    box-shadow:none;
}

.v2-ai-message.assistant p b{
    color:#111;
    font-weight:850;
}

.v2-ai-message.user{
    display:flex;
    justify-content:flex-end;
}

.v2-ai-message.user p{
    width:auto;
    max-width:75%;
    margin:0;
    padding:11px 13px;
    border:0;
    border-radius:14px 14px 4px 14px;
    background:#171717;
    color:#fff;
    font-size:11px;
    line-height:1.6;
    white-space:pre-line;
}

/* 답변 평가 */
.v2-ai-feedback{
    display:flex;
    gap:8px;
    margin:7px 0 0 4px;
}

.v2-ai-feedback button{
    padding:0;
    border:0;
    background:transparent;
    font-size:12px;
    opacity:.7;
    cursor:pointer;
}

.v2-ai-feedback button:hover{
    opacity:1;
    transform:scale(1.12);
}

/* 하단 고정 영역 */
.v2-product-ai-bottom{
    flex:0 0 auto;
    border-top:1px solid #e5e5e5;
    background:#fff;
}

/* 추천 질문 */
.v2-product-ai-suggestions{
    display:flex;
    gap:7px;
    padding:10px 10px 9px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
    white-space:nowrap;
}

.v2-product-ai-suggestions::-webkit-scrollbar{
    height:4px;
}

.v2-product-ai-suggestions::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#aaa;
}

.v2-product-ai-suggestions button{
    flex:0 0 auto;
    min-height:32px;
    padding:0 12px;
    border:1px solid #dedede;
    border-radius:999px;
    background:#fff;
    color:#555;
    font-size:9px;
    font-weight:650;
    cursor:pointer;
}

.v2-product-ai-suggestions button:hover{
    border-color:#111;
    color:#111;
}

/* 입력창 */
.v2-product-ai-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) 52px;
    gap:8px;
    padding:9px 11px 11px;
    border-top:1px solid #efefef;
    background:#fff;
}

.v2-product-ai-form input{
    width:100%;
    min-width:0;
    height:42px;
    padding:0 14px;
    border:1px solid #dedede;
    border-radius:999px;
    outline:none;
    background:#fff;
    color:#222;
    font-size:10px;
}

.v2-product-ai-form input:focus{
    border-color:#999;
}

.v2-product-ai-form input::placeholder{
    color:#aaa;
}

.v2-product-ai-form button{
    width:52px;
    height:42px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#171717;
    color:#fff;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}

.v2-product-ai-form button:disabled{
    background:#d0d0d0;
    color:#fff;
    cursor:not-allowed;
}

/* 입력 중 */
.v2-bot-typing{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-width:36px;
    height:16px;
}

.v2-bot-typing i{
    display:block;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#999;
    animation:v2BotTyping 1s infinite ease-in-out;
}

.v2-bot-typing i:nth-child(2){
    animation-delay:.15s;
}

.v2-bot-typing i:nth-child(3){
    animation-delay:.3s;
}

/* 모바일 전체 화면 */
@media(max-width:699px){

    .v2-product-ai-panel{
        position:fixed !important;
        inset:0 !important;
        width:100% !important;
        height:100dvh !important;
        max-width:none !important;
        max-height:none !important;
        margin:0 !important;
        border-radius:0 !important;
    }

    .v2-product-ai-header{
        padding-top:env(safe-area-inset-top);
        min-height:calc(56px + env(safe-area-inset-top));
    }

    .v2-product-ai-form{
        padding-bottom:calc(
            11px + env(safe-area-inset-bottom)
        );
    }
}

/* PC 중앙 모달 */
@media(min-width:700px){

    .v2-product-ai-sheet{
        display:flex;
        align-items:center;
        justify-content:center;
    }

    .v2-product-ai-panel{
        position:relative !important;
        inset:auto !important;
        margin:0 !important;
    }
}

/* 기존 BOT 상단 상품카드와 설명 제거 */
.v2-product-ai-product,
.v2-product-ai-intro{
    display:none !important;
}

/* =========================================================
   V2 상품 BOT 모달 표시 최종 보정
========================================================= */
#v2ProductAiModal{
    position:fixed !important;
    inset:0 !important;
    z-index:100000 !important;
}

#v2ProductAiModal[aria-hidden="true"],
#v2ProductAiModal[hidden]{
    display:none !important;
}

#v2ProductAiModal[aria-hidden="false"],
#v2ProductAiModal.open,
#v2ProductAiModal.active,
#v2ProductAiModal.is-open{
    display:flex !important;
    align-items:center;
    justify-content:center;
}

#v2ProductAiModal .v2-sheet-backdrop{
    position:absolute;
    inset:0;
    display:block;
    background:rgba(0,0,0,.58);
}

#v2ProductAiModal .v2-product-ai-panel{
    position:relative !important;
    z-index:2;
}

html.v2-modal-open,
body.v2-modal-open{
    overflow:hidden !important;
}

/* =========================================================
   배때지 RAG AI 상품 결과 및 1:1 문의
========================================================= */
.v2-ai-product-results{
    display:grid;
    gap:7px;
    margin-top:10px;
}

.v2-ai-product-result{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:8px;
    border:1px solid #ececea;
    border-radius:10px;
    background:#fff;
    color:#222;
}

.v2-ai-product-result img{
    width:54px;
    height:54px;
    border-radius:7px;
    object-fit:cover;
    background:#f2f2f0;
}

.v2-ai-product-result span,
.v2-ai-product-result small,
.v2-ai-product-result strong,
.v2-ai-product-result b{
    display:block;
    min-width:0;
}

.v2-ai-product-result small{
    color:#999;
    font-size:8px;
}

.v2-ai-product-result strong{
    margin-top:3px;
    overflow:hidden;
    font-size:9px;
    line-height:1.4;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.v2-ai-product-result b{
    margin-top:4px;
    font-size:10px;
}

.v2-ai-handoff-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:42px;
    margin-top:10px;
    border-radius:9px;
    background:#171717;
    color:#fff;
    font-size:10px;
    font-weight:850;
}

/* =========================================================
   V2 대표이미지·헤더·태블릿 최종 복구
========================================================= */

/* 페이지 기본 폭 */
.v2-page{
    width:100%;
    min-width:0;
}

/* 헤더가 페이지 폭 안에서 정확히 유지되도록 */
.v2-header{
    width:100%;
    min-width:0;
    grid-template-columns:42px minmax(0,1fr) auto;
}

.v2-header-actions{
    min-width:0;
    justify-content:flex-end;
}

.v2-logo{
    min-width:0;
    text-align:center;
}

/* 갤러리 높이는 슬라이드의 aspect-ratio가 결정 */
.v2-gallery{
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    overflow:hidden !important;
}

.v2-gallery-track{
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    overflow-x:auto !important;
}

.v2-gallery-slide{
    display:block !important;
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
}

.v2-gallery-slide img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center !important;
    opacity:1 !important;
    visibility:visible !important;
}

/* 사진검색 링크가 다른 레이어에 막히지 않게 */
#v2SimilarSearch{
    position:absolute !important;
    right:14px !important;
    bottom:14px !important;
    z-index:500 !important;
    display:flex !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
}

/* 썸네일은 사진검색 버튼 영역을 침범하지 않음 */
#v2GalleryThumbs{
    z-index:300 !important;
    max-width:calc(100% - 150px) !important;
}

/* 태블릿: 모바일 단일열로 안전하게 유지 */
@media (min-width:700px) and (max-width:899px){

    html,
    body{
        overflow-x:hidden;
    }

    .v2-page{
        max-width:760px !important;
        margin:0 auto !important;
        border-radius:0 !important;
    }

    .v2-top{
        display:block !important;
        width:100% !important;
        max-width:none !important;
        padding:0 !important;
        margin:0 !important;
    }

    .v2-left,
    .v2-right{
        display:block !important;
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
    }

    .v2-gallery-track{
        height:auto !important;
    }

    .v2-gallery-slide{
        height:auto !important;
        aspect-ratio:1 / 1 !important;
    }

    .v2-header{
        position:sticky !important;
        top:0 !important;
        max-width:none !important;
        margin:0 !important;
    }

    .v2-summary,
    .v2-information{
        width:100% !important;
        max-width:none !important;
    }
}

/* PC는 2열 */
@media (min-width:900px){

    .v2-page{
        max-width:1360px !important;
        margin:18px auto !important;
    }

    .v2-header{
        max-width:none !important;
    }

    .v2-top{
        display:grid !important;
        grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr) !important;
        align-items:start !important;
        gap:34px !important;
        width:calc(100% - 80px) !important;
        max-width:1260px !important;
        margin:0 auto !important;
        padding:34px 0 42px !important;
    }

    .v2-left,
    .v2-right{
        min-width:0 !important;
    }

    .v2-gallery-track{
        height:auto !important;
    }

    .v2-gallery-slide{
        height:auto !important;
        aspect-ratio:1 / 1 !important;
    }
}

/* =========================================================
   V2 IMAGE OVERLAY HEADER + SEARCH PANEL
   ========================================================= */

/* 기존 헤더가 혹시 남아도 숨김 */
.v2-preview,
.v2-header{
    display:none !important;
}

/* 페이지와 갤러리를 기준으로 아이콘 배치 */
.v2-page{
    position:relative !important;
}

.v2-left{
    position:relative !important;
}

.v2-gallery{
    position:relative !important;
}

/* 대표 이미지 위 우측 메뉴 */
.v2-image-header{
    position:absolute;
    top:14px;
    right:14px;
    z-index:150;

    display:flex;
    align-items:center;
    gap:8px;

    pointer-events:auto;
}

.v2-image-header-button{
    display:flex;
    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;
    padding:0;

    border:1px solid rgba(0,0,0,.07);
    border-radius:50%;

    background:rgba(255,255,255,.94);
    color:#111;

    box-shadow:
        0 3px 12px rgba(0,0,0,.10);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    cursor:pointer;
}

.v2-image-header-button:active{
    transform:scale(.94);
}

.v2-image-header-button svg{
    width:21px;
    height:21px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* 검색 전체 레이어 */
.v2-item-search{
    position:fixed;
    inset:0;
    z-index:40000;

    visibility:hidden;
    opacity:0;

    transition:
        opacity .2s ease,
        visibility .2s ease;
}

.v2-item-search.open{
    visibility:visible;
    opacity:1;
}

.v2-item-search-backdrop{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,.28);
}

.v2-item-search-panel{
    position:absolute;
    top:0;
    bottom:0;
    left:50%;

    width:100%;
    max-width:760px;
    min-height:100dvh;

    overflow-y:auto;

    background:#fff;

    transform:translate(-50%,-10px);
    transition:transform .22s ease;
}

.v2-item-search.open .v2-item-search-panel{
    transform:translate(-50%,0);
}

.v2-item-search-head{
    position:sticky;
    top:0;
    z-index:10;

    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;

    min-height:68px;
    padding:
        calc(12px + env(safe-area-inset-top,0px))
        16px
        12px;

    border-bottom:1px solid #ededed;

    background:rgba(255,255,255,.97);

    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.v2-item-search-form{
    display:flex;
    align-items:center;

    min-width:0;
    height:44px;
    padding:0 13px;

    border-radius:11px;

    background:#f3f3f3;
}

.v2-item-search-form svg{
    flex:0 0 18px;

    width:18px;
    height:18px;
    margin-right:9px;

    fill:none;
    stroke:#888;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.v2-item-search-form input{
    width:100%;
    min-width:0;
    height:42px;
    padding:0;

    border:0;
    outline:0;

    background:transparent;
    color:#222;

    font-size:13px;
}

.v2-item-search-form input::placeholder{
    color:#999;
}

.v2-item-search-cancel{
    height:42px;
    padding:0 4px;

    border:0;

    background:transparent;
    color:#555;

    font-size:12px;
}

.v2-item-search-body{
    padding:5px 16px 50px;
}

.v2-item-search-section{
    padding:18px 0;
}

.v2-item-search-section + .v2-item-search-section{
    border-top:1px solid #f0f0f0;
}

.v2-item-search-section h2{
    margin:0 0 15px;

    font-size:13px;
    font-weight:850;
}

/* 추천 카테고리 */
.v2-item-search-categories{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.v2-item-search-categories a{
    min-width:0;
    text-align:center;
}

.v2-item-search-categories span{
    display:flex;
    align-items:center;
    justify-content:center;

    width:100%;
    aspect-ratio:1 / .78;

    border-radius:13px;

    background:#f5f5f5;

    font-size:31px;
}

.v2-item-search-categories strong{
    display:block;
    margin-top:8px;

    overflow:hidden;

    font-size:10px;
    font-weight:650;

    text-overflow:ellipsis;
    white-space:nowrap;
}

/* 인기 브랜드 */
.v2-item-search-rank{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.v2-item-search-rank a{
    display:flex;
    align-items:center;
    gap:5px;

    min-height:34px;
    padding:0 12px;

    border:1px solid #dedede;
    border-radius:999px;

    background:#fff;

    font-size:10px;
    white-space:nowrap;
}

.v2-item-search-rank b{
    color:#526cff;
    font-size:10px;
}

/* 급상승 브랜드 */
.v2-item-search-trending{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.v2-item-search-trending a{
    display:flex;
    align-items:center;

    min-height:34px;
    padding:0 13px;

    border-radius:999px;

    background:#f4f4f4;
    color:#444;

    font-size:10px;
    white-space:nowrap;
}

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

    .v2-image-header{
        top:12px;
        right:11px;
        gap:7px;
    }

    .v2-image-header-button{
        width:38px;
        height:38px;
    }

    .v2-item-search-panel{
        max-width:none;
    }
}

/* 아주 작은 화면 */
@media(max-width:380px){

    .v2-image-header{
        gap:5px;
    }

    .v2-image-header-button{
        width:35px;
        height:35px;
    }

    .v2-image-header-button svg{
        width:19px;
        height:19px;
    }

    .v2-item-search-categories{
        gap:7px;
    }
}

/* PC 중앙 앱 폭 */
@media(min-width:700px){

    .v2-item-search-panel{
        box-shadow:
            0 0 38px rgba(0,0,0,.13);
    }
}

/* =========================================================
   V2 IMAGE OVERLAY HEADER + SEARCH PANEL END
   ========================================================= */
