.cosmod-sp{
--gap:40px; --accent:#1788C8; --muted:#6b7280;
display:grid;
grid-template-columns:1.1fr .9fr;
gap:var(--gap);
align-items:start;
font-family:Arial,Helvetica,sans-serif;
color:#111;
padding-left:var(--offset-x,0)
}
.cosmod-sp *{ box-sizing:border-box; } .cosmod-gallery{ position:relative; }
.cosmod-gallery .cosmod-main-img{
position:relative; border-radius:16px; overflow:hidden; background:transparent;
display:flex; align-items:center; justify-content:center;
width:var(--main-w, auto); height:var(--main-h, auto); max-width:100%;
}
.cosmod-gallery .cosmod-main-img img{ display:block; width:100%; height:100%; object-fit:contain; }
.cosmod-gallery .cosmod-nav{ position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; pointer-events:none; }
.cosmod-gallery .cosmod-nav button{
pointer-events:auto; width:40px; height:40px; border-radius:999px;
border:1px solid #e5e7eb; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08);
cursor:pointer; font-size:18px; font-weight:700; display:grid; place-items:center; opacity:.95; transition:.2s;
}
.cosmod-gallery .cosmod-nav .prev{ margin-left:8px; }
.cosmod-gallery .cosmod-nav .next{ margin-right:8px; } .cosmod-thumbs{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; justify-content:center; }
.cosmod-thumbs .thumb{ padding:0; border:1px solid #e5e7eb; border-radius:10px; background:#fff; cursor:pointer; }
.cosmod-thumbs img{ display:block; width:64px; height:64px; object-fit:cover; border-radius:8px; }
.cosmod-thumbs .thumb.active{ outline:2px solid var(--accent); } .cosmod-info .title{ font-size:clamp(22px,2.4vw,36px); line-height:1.15; margin:0 }
.cosmod-info .stock{ color:#16a34a; margin:6px 0 }
.cosmod-info .price{ font-size:clamp(20px,2vw,28px); font-weight:700; margin:12px 0 18px }
.cosmod-brief{ margin:10px 0 14px; color:#374151; } .cosmod-qty{ display:inline-flex; align-items:center; gap:8px; margin-bottom:14px }
.cosmod-qty input.qty{ width:70px; height:40px; text-align:center; border:1px solid #d1d5db; border-radius:8px }
.cosmod-qty button{ width:40px; height:40px; border:1px solid #d1d5db; border-radius:8px; background:#fff; font-size:20px; cursor:pointer } .cosmod-info .add-to-cart{
display:inline-block; margin-top:6px; background:#1788C8; color:#fff;
border:none; border-radius:10px; padding:12px 18px; font-weight:600; cursor:pointer
}
.cosmod-info .add-to-cart:hover{ filter:brightness(.95) } .cosmod-bullets{ list-style:none; padding:0; margin:18px 0 0; color:var(--muted) }
.cosmod-bullets li{ margin:6px 0 } .cosmod-like{ --size:40px; width:var(--size); height:var(--size);
border:1px solid #e5e7eb; border-radius:999px; background:#fff; cursor:pointer;
display:grid; place-items:center; margin-left:8px; transition:.2s; box-shadow:0 2px 10px rgba(0,0,0,.05)
}
.cosmod-like:hover{ transform:scale(1.04) }
.cosmod-like .heart{ width:18px; height:18px; display:inline-block; position:relative }
.cosmod-like.in,.cosmod-like.active{ border-color:#ef4444; background:#fff0f0 }
.cosmod-like .heart::before,.cosmod-like .heart::after{ content:""; position:absolute; width:10px; height:16px; background:#ef4444; border-radius:10px 10px 0 0 }
.cosmod-like .heart::before{ left:4px; top:2px; transform:rotate(-45deg) }
.cosmod-like .heart::after { right:4px; top:2px; transform:rotate(45deg) }
.cosmod-info .title-row{ display:flex; align-items:center; gap:8px; margin-bottom:4px } .cosmod-meta{ display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 10px }
.cosmod-meta .badge{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:#f3f4f6; color:#374151; font-size:13px; line-height:1 }
.cosmod-meta .badge--brand a{ color:inherit; text-decoration:underline }
.cosmod-meta .badge--ok{ background:#ecfdf5; color:#065f46 }
.cosmod-meta .badge--out{ background:#fee2e2; color:#991b1b } .cosmod-ing{ margin:12px 0 10px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; }
.cosmod-ing__summary{ padding:10px 14px; font-weight:700; cursor:default; }
.cosmod-ing__body{ padding:0 14px 12px; color:#374151; } .cosmod-zoom{
position:fixed; inset:0; display:none;
align-items:center; justify-content:center;
background:rgba(0,0,0,.78); z-index:9999;
}
.cosmod-zoom.show{ display:flex; }
.cosmod-zoom img{
max-width:100vw; max-height:100vh; width:auto; height:auto; object-fit:contain;
background:#fff; border-radius:8px; box-shadow:0 10px 40px rgba(0,0,0,.5); cursor:zoom-out;
}
.cosmod-zoom .hint{ position:fixed; bottom:14px; left:50%; transform:translateX(-50%); color:#fff; font-size:13px; opacity:.85; text-align:center; } .cosmod-zoom .zprev, .cosmod-zoom .znext{
position:fixed; top:50%; transform:translateY(-50%);
width:46px; height:46px; border:1px solid #e5e7eb; border-radius:999px;
background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.15);
font-size:22px; font-weight:700; display:grid; place-items:center; cursor:pointer; opacity:.98; z-index:10000;
}
.cosmod-zoom .zprev{ left:16px; }
.cosmod-zoom .znext{ right:16px; } .cosmod-zoom .close{
position:fixed; top:16px; right:16px;
width:44px; height:44px; border:none; border-radius:50%;
background:#fff; font-size:20px; font-weight:700; cursor:pointer; z-index:10000;
} .cosmod-tabs{ margin-top:22px; border-top:1px solid #eee; padding-top:16px }
.cosmod-tabs-nav{ display:flex; gap:8px; margin-bottom:12px }
.cosmod-tabs-nav .tab{ padding:8px 14px; border:1px solid #e5e7eb; border-bottom:none; border-radius:10px 10px 0 0; background:#f8f9fa; cursor:pointer; font-weight:600 }
.cosmod-tabs-nav .tab.active{ background:#fff }
.cosmod-tabs-panels{ border:1px solid #e5e7eb; border-radius:0 12px 12px 12px; background:#fff; padding:16px }
.cosmod-tabs-panels .panel{ display:none }
.cosmod-tabs-panels .panel.show{ display:block } @media (min-width: 981px){
.cosmod-sp.gallery-right{ grid-template-columns:.9fr 1.1fr }
.cosmod-sp.gallery-right .cosmod-gallery{ grid-column:2 }
.cosmod-sp.gallery-right .cosmod-info{ grid-column:1 }
.cosmod-sp.gallery-left{ grid-template-columns:1.1fr .9fr }
.cosmod-sp.gallery-left .cosmod-gallery{ grid-column:1 }
.cosmod-sp.gallery-left .cosmod-info{ grid-column:2 }
.cosmod-sp .cosmod-tabs{ grid-column:1 / -1 }
} @media (max-width: 767px){
.cosmod-sp{
grid-template-columns:1fr;
gap:16px;
padding-left:0 !important;
align-items:start;
}
.cosmod-sp .cosmod-gallery{ order:1 }
.cosmod-sp .cosmod-info{ order:2; text-align:center; }
.cosmod-gallery .cosmod-main-img{
margin:0 auto;
border-radius:16px;
overflow:hidden;
background:#fff;
box-shadow:0 2px 12px rgba(0,0,0,.06);
width:auto !important;
height:auto !important;
max-width:100%;
min-height:300px;
}
.cosmod-sp .cosmod-gallery .cosmod-main-img img{
width:100% !important;
max-width:350px !important;
height:300px !important;
object-fit:scale-down;
background:#fff;
} .cosmod-gallery .cosmod-nav{
pointer-events:none !important;
height:0;
overflow:hidden;
}
.cosmod-gallery .cosmod-nav .prev,
.cosmod-gallery .cosmod-nav .next{
opacity:0 !important;
visibility:hidden !important;
pointer-events:none !important;
width:0 !important;
height:0 !important;
margin:0 !important;
padding:0 !important;
border:0 !important;
} .cosmod-thumbs{
display:flex;
flex-wrap:nowrap !important;
justify-content:flex-start !important;
overflow-x:auto;
gap:10px;
padding-bottom:4px;
margin-top:10px;
-webkit-overflow-scrolling:touch;
scroll-snap-type:x mandatory;
}
.cosmod-thumbs .thumb{
flex:0 0 calc((100% - 30px) / 4); max-width:calc((100% - 30px) / 4);
border-radius:10px;
scroll-snap-align:start;
}
.cosmod-thumbs img{
width:100%;
height:auto;
object-fit:cover;
display:block;
}
.cosmod-thumbs .thumb.active{
outline:2px solid #1788C8;
} .cosmod-meta{ justify-content:center }
.cosmod-sp .price{
text-align:center;
margin-left:0;
margin-right:0
}
.cosmod-qty{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
width:fit-content;
margin:10px auto 14px;
}
.cosmod-qty .minus,
.cosmod-qty .plus{
width:44px;
height:44px;
display:flex;
align-items:center;
justify-content:center;
line-height:1;
font-size:20px;
border:1px solid #d1d5db;
border-radius:12px;
background:#fff;
cursor:pointer;
}
.cosmod-qty .plus[disabled]{
opacity:.45;
cursor:not-allowed;
}
.cosmod-qty .qty{
width:64px;
height:44px;
text-align:center;
font-size:16px;
border:1px solid #d1d5db;
border-radius:12px;
padding:0;
line-height:44px;
-moz-appearance:textfield;
}
.cosmod-qty .qty::-webkit-outer-spin-button,
.cosmod-qty .qty::-webkit-inner-spin-button{
-webkit-appearance:none;
margin:0;
}
.cosmod-info .add-to-cart{
width:100%;
min-height:44px;
padding:0 18px;
border-radius:12px;
box-shadow:0 6px 18px rgba(23,136,200,.25);
}
.cosmod-tabs{
margin-top:12px;
border-top:1px solid #eee
}
.cosmod-tabs-nav{
flex-wrap:wrap;
gap:8px;
padding-top:10px
}
.cosmod-tabs-panels{
padding:12px
}
}  .cosmod-info{
display:flex;
flex-wrap:wrap;
align-items:center;
} .cosmod-qty{
display:flex;
align-items:center;
gap:8px;
margin-bottom:0;
} .cosmod-info .add-to-cart{
display:flex;
align-items:center;
justify-content:center;
margin-top:0 !important;
margin-left:12px;
height:40px;
} .cosmod-info > *{
width:100%;
} .cosmod-qty,
.cosmod-info .add-to-cart{
width:auto;
}