.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-sp .cosmod-info .add-to-cart{
width:100% !important;
max-width:100% !important;
min-height:44px !important;
padding:0 18px !important;
margin:6px 0 0 0 !important;
border-radius:12px !important;
box-shadow:0 6px 18px rgba(23,136,200,.25);
display:flex !important;
align-items:center !important;
justify-content:center !important;
}
.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
}
}  .woocommerce .cosmod-sp .cosmod-info button.button,
.woocommerce .cosmod-sp .cosmod-info button.button.add-to-cart,
.woocommerce .cosmod-sp button.button.add-to-cart,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .cosmod-sp button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .cosmod-sp .cosmod-info button.button,
body .cosmod-sp .cosmod-info button.button.add-to-cart{
margin-left:0 !important;
margin-right:0 !important;
}
@media (max-width: 767px){
.woocommerce .cosmod-sp .cosmod-info button.button,
.woocommerce .cosmod-sp .cosmod-info button.button.add-to-cart,
.woocommerce .cosmod-sp button.button.add-to-cart,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .cosmod-sp button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) .cosmod-sp .cosmod-info button.button,
body .cosmod-sp .cosmod-info button.button.add-to-cart{
width:100% !important;
max-width:100% !important;
margin:6px 0 0 0 !important;
padding:0 18px !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
min-height:44px !important;
border-radius:12px !important;
box-shadow:0 6px 18px rgba(23,136,200,.25);
}
}  .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;
} .single-product .elementor-location-single,
.single-product .elementor-location-single > *,
.single-product #content,
.single-product .site-content,
.single-product .content-area,
.single-product .site-main {
overflow: visible !important;
}  .cosmod-sp {
--accent: #111111;
--accent-light: #f5f5f5;
--red: #8B1A1A;
--gap: 48px;
font-family: 'Georgia', serif;
color: #111;
} .cosmod-gallery .cosmod-main-img {
background: #f9f8f6;
border-radius: 20px;
border: 0.5px solid #e8e6e1;
box-shadow: none;
} .cosmod-gallery .cosmod-nav button {
border: 0.5px solid #d1cec7;
background: #fff;
box-shadow: none;
font-size: 14px;
color: #111;
border-radius: 50%;
transition: background 0.2s;
}
.cosmod-gallery .cosmod-nav button:hover {
background: #f0ede8;
} .cosmod-thumbs .thumb {
border: 0.5px solid #e8e6e1;
border-radius: 10px;
background: #f9f8f6;
transition: border-color 0.2s;
}
.cosmod-thumbs .thumb.active {
outline: 1.5px solid #111;
}
.cosmod-thumbs img {
border-radius: 8px;
} .cosmod-info .title {
font-family: 'Georgia', serif;
font-size: clamp(20px, 2.2vw, 32px);
font-weight: 400;
line-height: 1.2;
letter-spacing: -0.01em;
color: #111;
} .cosmod-meta .badge {
background: #f3f2ef;
color: #555;
font-size: 11px;
letter-spacing: 0.06em;
text-transform: uppercase;
border-radius: 4px;
padding: 5px 10px;
}
.cosmod-meta .badge--ok {
background: transparent;
color: #2d7a4f;
font-size: 11px;
letter-spacing: 0.08em;
text-transform: uppercase;
border: 0.5px solid #b6dbc7;
border-radius: 4px;
}
.cosmod-meta .badge--out {
background: transparent;
color: #8B1A1A;
border: 0.5px solid #e8b4b4;
border-radius: 4px;
} .cosmod-info .price {
font-family: 'Georgia', serif;
font-size: clamp(22px, 2vw, 30px);
font-weight: 400;
letter-spacing: -0.01em;
color: #111;
margin: 10px 0 4px;
} .cosmod-info .price del {
font-size: 0.72em;
color: #aaa;
font-weight: 400;
text-decoration: line-through;
margin-right: 10px;
}
.cosmod-info .price ins {
text-decoration: none;
} .cosmod-discount-badge {
display: inline-block;
background: #8B1A1A;
color: #fff;
font-size: 10px;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 3px 8px;
border-radius: 3px;
margin-left: 8px;
vertical-align: middle;
font-family: Arial, sans-serif;
} .cosmod-qty input.qty,
.cosmod-qty button {
border: 0.5px solid #d1cec7;
border-radius: 6px;
background: #fff;
color: #111;
font-size: 15px;
transition: border-color 0.2s;
}
.cosmod-qty button:hover {
border-color: #999;
background: #f9f8f6;
} .cosmod-info .add-to-cart {
background: #111 !important;
color: #fff !important;
border: none !important;
border-radius: 8px !important;
padding: 13px 28px !important;
font-family: Arial, Helvetica, sans-serif !important;
font-size: 12px !important;
font-weight: 400 !important;
letter-spacing: 0.12em !important;
text-transform: uppercase !important;
cursor: pointer !important;
transition: opacity 0.2s !important;
box-shadow: none !important;
height: 46px !important;
}
.cosmod-info .add-to-cart:hover {
filter: none !important;
opacity: 0.82 !important;
} .woocommerce .cosmod-sp .cosmod-info button.button,
.woocommerce .cosmod-sp .cosmod-info button.button.add-to-cart,
.woocommerce .cosmod-sp button.button.add-to-cart,
body .cosmod-sp .cosmod-info button.button.add-to-cart {
background: #111 !important;
color: #fff !important;
border-radius: 8px !important;
letter-spacing: 0.1em !important;
text-transform: uppercase !important;
font-size: 12px !important;
height: 46px !important;
box-shadow: none !important;
border: none !important;
transition: opacity 0.2s !important;
}
.woocommerce .cosmod-sp .cosmod-info button.button:hover,
body .cosmod-sp .cosmod-info button.button.add-to-cart:hover {
opacity: 0.82 !important;
filter: none !important;
} .cosmod-like {
border: 0.5px solid #d1cec7 !important;
background: #fff !important;
box-shadow: none !important;
}
.cosmod-like:hover {
border-color: #999 !important;
transform: none !important;
}
.cosmod-like.in,
.cosmod-like.active {
border-color: #8B1A1A !important;
background: #fdf5f5 !important;
} .cosmod-bullets {
margin: 20px 0 0;
padding: 0;
list-style: none;
border-top: 0.5px solid #e8e6e1;
padding-top: 16px;
}
.cosmod-bullets li {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 0;
border-bottom: 0.5px solid #f0ede8;
font-size: 13px;
color: #555;
letter-spacing: 0.01em;
line-height: 1.4;
font-family: Arial, Helvetica, sans-serif;
}
.cosmod-bullets li:last-child {
border-bottom: none;
} .cosmod-bullets li::before {
content: "";
display: inline-block;
flex-shrink: 0;
width: 18px;
height: 18px;
border-radius: 50%;
border: 0.5px solid #c8c4bc;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5 L4.2 7.5 L8 3' stroke='%23555' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
} .cosmod-ing {
border: 0.5px solid #e8e6e1;
border-radius: 10px;
background: #fafaf8;
}
.cosmod-ing__summary {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #777;
font-weight: 400;
} .cosmod-tabs {
border-top: 0.5px solid #e8e6e1;
margin-top: 28px;
}
.cosmod-tabs-nav .tab {
border: 0.5px solid #e8e6e1;
border-bottom: none;
border-radius: 8px 8px 0 0;
background: #f9f8f6;
font-weight: 400;
font-size: 12px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #777;
padding: 10px 18px;
font-family: Arial, Helvetica, sans-serif;
}
.cosmod-tabs-nav .tab.active {
background: #fff;
color: #111;
border-color: #e8e6e1;
}
.cosmod-tabs-panels {
border: 0.5px solid #e8e6e1;
border-radius: 0 8px 8px 8px;
background: #fff;
} @media (max-width: 767px) {
.cosmod-sp {
gap: 20px;
}
.cosmod-gallery .cosmod-main-img {
background: #f9f8f6;
}
.cosmod-info .title {
font-size: 22px;
}
.cosmod-info .add-to-cart {
border-radius: 8px !important;
letter-spacing: 0.1em !important;
font-size: 11px !important;
box-shadow: none !important;
}
.woocommerce .cosmod-sp .cosmod-info button.button.add-to-cart,
body .cosmod-sp .cosmod-info button.button.add-to-cart {
box-shadow: none !important;
}
}