.wpt-mini-store{
position: relative;
display: flex;
flex-direction: column;
min-height: 100vh;
width: 100%;
max-width: 100%;
overflow-x: hidden;
box-sizing: border-box;
background-color: var(--wpt-color-light, #FAF9F7);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
color: var(--wpt-color-dark, #0D0D0D);
isolation: isolate;
}
.wpt-ms-header{
display: flex;
align-items: center;
padding: var(--wpt-spacing-sm, 0.5rem) var(--wpt-spacing-lg, 1.5rem);
background-color: #FFFFFF;
border-bottom: 1px solid var(--wpt-color-border, #E0DBD3);
min-height: 60px;
gap: var(--wpt-spacing-md, 1rem);
position: relative;
}
.wpt-ms-header--logo-left .wpt-ms-logo-wrap{
flex: 1 1 0%;
display: flex;
justify-content: flex-start;
align-items: center;
}
.wpt-ms-header--logo-left .wpt-ms-cart-icon-btn{
flex-shrink: 0;
margin-left: auto;
}
.wpt-ms-header--logo-center{
justify-content: center;
}
.wpt-ms-header--logo-center .wpt-ms-logo-wrap{
display: flex;
justify-content: center;
align-items: center;
}
.wpt-ms-header--logo-center .wpt-ms-cart-icon-btn{
position: absolute;
right: var(--wpt-spacing-lg, 1.5rem);
top: 50%;
transform: translateY(-50%);
}
.wpt-ms-header--logo-right{
flex-direction: row-reverse;
}
.wpt-ms-header--logo-right .wpt-ms-logo-wrap{
flex: 1 1 0%;
display: flex;
justify-content: flex-end;
align-items: center;
}
.wpt-ms-header--logo-right .wpt-ms-cart-icon-btn{
flex-shrink: 0;
margin-right: auto;
}
.wpt-ms-logo{
display: block;
width: auto;
object-fit: contain;
object-position: left center;
}
.wpt-ms-logo--sm{height: 32px;}
.wpt-ms-logo--md{height: 44px;}
.wpt-ms-logo--lg{height: 60px;}
.wpt-ms-header--logo-center .wpt-ms-logo{
object-position: center center;
margin: 0 auto;
}
.wpt-ms-header--logo-right .wpt-ms-logo{
object-position: right center;
}
.wpt-ms-logo--mobile{display: none;}
.wpt-ms-logo--desktop{display: block;}
@media (max-width: 640px){
.wpt-ms-logo--desktop{display: none;}
.wpt-ms-logo--mobile{display: block;}
}
.wpt-ms-brand-name{
font-family: var(--wpt-font-heading, 'Cormorant Garamond', serif);
font-size: var(--wpt-text-xl, 1.25rem);
font-weight: 600;
color: var(--wpt-color-primary, #C9A96E);
letter-spacing: 0.12em;
text-transform: uppercase;
}
.wpt-ms-cart-icon-btn{
position: relative;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid var(--wpt-color-border, #E0DBD3);
color: var(--wpt-color-dark, #0D0D0D);
border-radius: var(--wpt-radius-full, 9999px);
width: 40px;
height: 40px;
cursor: pointer;
font-size: var(--wpt-text-lg, 1.125rem);
line-height: 1;
padding: 0;
flex-shrink: 0;
}
.wpt-ms-cart-icon-btn:hover{
border-color: var(--wpt-color-primary, #C9A96E);
color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-cart-icon-btn:focus-visible{
outline: 2px solid var(--wpt-color-primary, #C9A96E);
outline-offset: 2px;
}
.wpt-ms-cart-badge{
position: absolute;
top: -5px;
right: -5px;
background-color: var(--wpt-color-primary, #C9A96E);
color: var(--wpt-color-dark, #0D0D0D);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 10px;
font-weight: 700;
line-height: 1;
min-width: 18px;
height: 18px;
border-radius: var(--wpt-radius-full, 9999px);
display: flex;
align-items: center;
justify-content: center;
padding: 0 3px;
}
.wpt-ms-filters{
display: flex;
align-items: center;
gap: var(--wpt-spacing-sm, 0.5rem);
padding: var(--wpt-spacing-xs, 0.25rem) var(--wpt-spacing-lg, 1.5rem);
background-color: var(--wpt-color-light, #FAF9F7);
border-bottom: 1px solid var(--wpt-color-border, #E0DBD3);
}
.wpt-ms-search-input{
flex: 1 1 0%;
padding: var(--wpt-spacing-xs, 0.25rem) var(--wpt-spacing-sm, 0.5rem);
border: 1px solid var(--wpt-color-border, #E0DBD3);
border-radius: var(--wpt-radius-sm, 0.25rem);
background-color: var(--wpt-color-light, #FAF9F7);
color: var(--wpt-color-dark, #0D0D0D);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-sm, 0.875rem);
}
.wpt-ms-search-input::placeholder{
color: var(--wpt-color-muted, #9A9490);
}
.wpt-ms-search-input:focus{
outline: 1px solid var(--wpt-color-primary, #C9A96E);
border-color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-cat-select{
padding: var(--wpt-spacing-xs, 0.25rem) var(--wpt-spacing-sm, 0.5rem);
border: 1px solid var(--wpt-color-border, #E0DBD3);
border-radius: var(--wpt-radius-sm, 0.25rem);
background-color: var(--wpt-color-light, #FAF9F7);
color: var(--wpt-color-dark, #0D0D0D);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-sm, 0.875rem);
cursor: pointer;
min-width: 130px;
}
.wpt-ms-cat-select:focus{
outline: 1px solid var(--wpt-color-primary, #C9A96E);
border-color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-grid{
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1px;
background-color: var(--wpt-color-border, #E0DBD3);
flex: 1 1 auto;
align-content: start;
padding-bottom: 64px;
}
@media (min-width: 768px){
.wpt-ms-grid{
grid-template-columns: repeat(3, 1fr);
}
}
@media (min-width: 1200px){
.wpt-ms-grid{
grid-template-columns: repeat(4, 1fr);
}
}
.wpt-ms-card{
display: flex;
flex-direction: column;
background-color: var(--wpt-color-surface, #F2EFE9);
cursor: pointer;
}
.wpt-ms-card:focus-visible{
outline: 2px solid var(--wpt-color-primary, #C9A96E);
outline-offset: -2px;
}
.wpt-ms-card:hover{
background-color: var(--wpt-color-light, #FAF9F7);
}
.wpt-ms-card-img-wrap{
position: relative;
aspect-ratio: 3 / 4;
overflow: hidden;
background-color: var(--wpt-color-border, #E0DBD3);
}
.wpt-ms-card-img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.wpt-ms-card-oos{
position: absolute;
top: 0;
left: 0;
right: 0;
padding: 4px var(--wpt-spacing-xs, 0.25rem);
background-color: var(--wpt-color-dark, #0D0D0D);
color: var(--wpt-color-muted, #9A9490);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 10px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
text-align: center;
}
.wpt-ms-card-info{
display: flex;
flex-direction: column;
gap: 3px;
padding: var(--wpt-spacing-sm, 0.5rem) var(--wpt-spacing-sm, 0.5rem) var(--wpt-spacing-md, 1rem);
flex: 1 1 auto;
position: relative;
}
.wpt-ms-card-name{
font-family: var(--wpt-font-heading, 'Cormorant Garamond', serif);
font-size: var(--wpt-text-base, 1rem);
font-weight: 500;
color: var(--wpt-color-dark, #0D0D0D);
margin: 0;
line-height: 1.3;
letter-spacing: 0.01em;
}
.wpt-ms-card-price{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-sm, 0.875rem);
color: var(--wpt-color-primary, #C9A96E);
font-weight: 500;
letter-spacing: 0.02em;
}
.wpt-ms-card-price .woocommerce-Price-amount{
color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-card-options-hint{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 10px;
color: var(--wpt-color-muted, #9A9490);
letter-spacing: 0.08em;
text-transform: uppercase;
}
.wpt-ms-card-chevron{
position: absolute;
bottom: var(--wpt-spacing-sm, 0.5rem);
right: var(--wpt-spacing-sm, 0.5rem);
font-size: var(--wpt-text-base, 1rem);
color: var(--wpt-color-primary, #C9A96E);
line-height: 1;
opacity: 0.7;
}
.wpt-ms-lazy{
background-color: var(--wpt-color-border, #E0DBD3);
}
.wpt-ms-empty{
grid-column: 1 / -1;
background-color: var(--wpt-color-light, #FAF9F7);
text-align: center;
padding: var(--wpt-spacing-3xl, 4rem) var(--wpt-spacing-lg, 1.5rem);
color: var(--wpt-color-muted, #9A9490);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-sm, 0.875rem);
letter-spacing: 0.04em;
}
.wpt-ms-grid-spinner{
grid-column: 1 / -1;
background-color: var(--wpt-color-light, #FAF9F7);
display: flex;
align-items: center;
justify-content: center;
padding: var(--wpt-spacing-2xl, 2.5rem);
aspect-ratio: 1;
}
.wpt-ms-grid-spinner::after{
content: '';
width: 28px;
height: 28px;
border: 1px solid var(--wpt-color-border, #E0DBD3);
border-top-color: var(--wpt-color-primary, #C9A96E);
border-radius: var(--wpt-radius-full, 9999px);
}
.wpt-ms-sentinel{height: 1px;width: 100%;}
.wpt-ms-nav{
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 40;
display: flex;
align-items: stretch;
background-color: var(--wpt-color-dark, #0D0D0D);
border-top: 1px solid rgba(201, 169, 110, 0.2);
}
.wpt-ms-nav-btn{
flex: 1 1 0%;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 2px;
padding: var(--wpt-spacing-sm, 0.5rem) var(--wpt-spacing-xs, 0.25rem);
min-height: 48px;
background: transparent;
border: none;
border-right: 1px solid rgba(255, 255, 255, 0.06);
color: var(--wpt-color-muted, #9A9490);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 10px;
font-weight: 500;
letter-spacing: 0.1em;
text-transform: uppercase;
cursor: pointer;
}
.wpt-ms-nav-btn:last-child{
border-right: none;
}
.wpt-ms-nav-btn.active{
color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-nav-btn:focus-visible{
outline: 1px solid var(--wpt-color-primary, #C9A96E);
outline-offset: -2px;
}
.wpt-ms-nav-icon{
width: 20px;
height: 20px;
flex-shrink: 0;
display: block;
}
.wpt-ms-cart-count{
display: inline-flex;
align-items: center;
justify-content: center;
background-color: var(--wpt-color-primary, #C9A96E);
color: var(--wpt-color-dark, #0D0D0D);
font-size: 10px;
font-weight: 700;
min-width: 16px;
height: 16px;
border-radius: var(--wpt-radius-full, 9999px);
padding: 0 3px;
line-height: 1;
}
#wpt-ms-overlay{
position: fixed;
inset: 0;
z-index: 100;
background-color: var(--wpt-color-dark, #0D0D0D);
opacity: 0.65;
}
.wpt-ms-modal{
position: fixed;
inset: 0;
z-index: 110;
display: flex;
align-items: flex-end;
justify-content: center;
pointer-events: none;
}
.wpt-ms-modal:not([hidden]){pointer-events: auto;}
.wpt-ms-modal[hidden]{display: none;}
.wpt-ms-modal-inner{
position: relative;
width: 100%;
max-width: 100%;
box-sizing: border-box;
max-height: 92dvh;
max-height: 92vh;
overflow-y: auto;
overflow-x: hidden;
background-color: var(--wpt-color-light, #FAF9F7);
border-top: 1px solid var(--wpt-color-border, #E0DBD3);
padding: var(--wpt-spacing-lg, 1.5rem);
padding-bottom: var(--wpt-spacing-4xl, 6rem);
}
@media (min-width: 768px){
.wpt-ms-modal{
align-items: center;
}
.wpt-ms-modal-inner{
width: 820px;
max-width: calc(100vw - 2rem);
border-top: none;
border: 1px solid var(--wpt-color-border, #E0DBD3);
padding-bottom: var(--wpt-spacing-2xl, 2.5rem);
}
}
.wpt-ms-modal-topbar{
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 0 var(--wpt-spacing-sm, 0.5rem) 0;
border-bottom: 1px solid var(--wpt-color-border, #E0DBD3);
margin-bottom: var(--wpt-spacing-sm, 0.5rem);
min-height: 36px;
flex-shrink: 0;
}
.wpt-ms-continue-shopping{
display: inline-flex;
align-items: center;
gap: 5px;
background: transparent;
border: none;
padding: 0;
cursor: pointer;
color: var(--wpt-color-muted, #9A9490);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-xs, 0.75rem);
font-weight: 500;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.wpt-ms-continue-shopping:hover{color: var(--wpt-color-dark, #0D0D0D);}
.wpt-ms-continue-shopping svg{pointer-events: none;flex-shrink: 0;}
.wpt-ms-modal-close{
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid var(--wpt-color-border, #E0DBD3);
border-radius: var(--wpt-radius-full, 9999px);
color: var(--wpt-color-muted, #9A9490);
font-size: var(--wpt-text-base, 1rem);
cursor: pointer;
line-height: 1;
padding: 0;
flex-shrink: 0;
box-sizing: border-box;
}
.wpt-ms-modal-close:hover{
border-color: var(--wpt-color-dark, #0D0D0D);
color: var(--wpt-color-dark, #0D0D0D);
}
.wpt-ms-modal-close:focus-visible{
outline: 2px solid var(--wpt-color-primary, #C9A96E);
outline-offset: 2px;
}
.wpt-ms-modal-body{
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-lg, 1.5rem);
margin-top: var(--wpt-spacing-sm, 0.5rem);
}
@media (min-width: 640px){
.wpt-ms-modal-body{
flex-direction: row;
align-items: flex-start;
gap: var(--wpt-spacing-xl, 2rem);
}
}
.wpt-ms-modal-spinner{
width: 40px;
height: 40px;
border: 1px solid var(--wpt-color-border, #E0DBD3);
border-top-color: var(--wpt-color-primary, #C9A96E);
border-radius: var(--wpt-radius-full, 9999px);
margin: var(--wpt-spacing-3xl, 4rem) auto;
}
.wpt-ms-modal-error{
text-align: center;
color: var(--wpt-color-muted, #9A9490);
padding: var(--wpt-spacing-2xl, 2.5rem);
font-size: var(--wpt-text-sm, 0.875rem);
}
.wpt-ms-modal-gallery{
flex: 0 0 auto;
width: 100%;
position: relative;
-webkit-user-select: none;
user-select: none;
}
@media (min-width: 640px){
.wpt-ms-modal-gallery{
width: 42%;
}
}
.wpt-ms-slider-wrap{
width: 100%;
position: relative;
padding-bottom: 133.33%;
overflow: hidden;
background-color: var(--wpt-color-surface, #F2EFE9);
border: 1px solid var(--wpt-color-border, #E0DBD3);
box-sizing: border-box;
}
.wpt-ms-slider-track{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
will-change: transform;
}
.wpt-ms-slide{
flex: 0 0 100%;
min-width: 100%;
height: 100%;
overflow: hidden;
position: relative;
}
.wpt-ms-slide img{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.wpt-ms-slider-prev,
.wpt-ms-slider-next{
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 32px;
height: 32px;
background: #FFFFFF;
border: 1px solid var(--wpt-color-border, #E0DBD3);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
z-index: 2;
opacity: 0.92;
box-sizing: border-box;
}
.wpt-ms-slider-prev:hover,
.wpt-ms-slider-next:hover{
background: var(--wpt-color-primary, #C9A96E);
border-color: var(--wpt-color-primary, #C9A96E);
color: #FFFFFF;
opacity: 1;
}
.wpt-ms-slider-prev[hidden],
.wpt-ms-slider-next[hidden]{display: none;}
.wpt-ms-slider-prev{left: 8px;}
.wpt-ms-slider-next{right: 8px;}
.wpt-ms-slider-prev svg,
.wpt-ms-slider-next svg{pointer-events: none;}
.wpt-ms-slider-dots{
display: flex;
justify-content: center;
gap: 6px;
padding: 8px 0 4px;
}
.wpt-ms-slider-dots[hidden]{display: none;}
.wpt-ms-slider-dot{
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--wpt-color-border, #E0DBD3);
border: none;
padding: 0;
cursor: pointer;
flex-shrink: 0;
}
.wpt-ms-slider-dot.active{
background: var(--wpt-color-primary, #C9A96E);
width: 18px;
border-radius: 3px;
}
.wpt-ms-modal-thumbs{
display: none;
gap: 4px;
margin-top: 4px;
flex-wrap: wrap;
}
@media (min-width: 640px){
.wpt-ms-modal-thumbs{display: flex;}
}
.wpt-ms-thumb{
width: 52px;
height: 52px;
overflow: hidden;
background: transparent;
padding: 0;
cursor: pointer;
flex-shrink: 0;
border: 1px solid var(--wpt-color-border, #E0DBD3);
box-sizing: border-box;
}
.wpt-ms-thumb.active{
border-color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-thumb img{
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.wpt-ms-modal-info{
flex: 1 1 0%;
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-sm, 0.5rem);
}
.wpt-ms-modal-name{
font-family: var(--wpt-font-heading, 'Cormorant Garamond', serif);
font-size: var(--wpt-text-3xl, 1.875rem);
font-weight: 500;
color: var(--wpt-color-dark, #0D0D0D);
margin: 0;
line-height: 1.15;
letter-spacing: 0.01em;
}
.wpt-ms-modal-price{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-lg, 1.125rem);
font-weight: 500;
color: var(--wpt-color-primary, #C9A96E);
letter-spacing: 0.03em;
}
.wpt-ms-modal-price .woocommerce-Price-amount{
color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-modal-desc{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-sm, 0.875rem);
color: var(--wpt-color-muted, #9A9490);
line-height: 1.7;
margin: 0;
}
.wpt-ms-modal-sku{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-xs, 0.75rem);
color: var(--wpt-color-muted, #9A9490);
letter-spacing: 0.08em;
text-transform: uppercase;
margin: 0;
}
.wpt-ms-stock{
display: inline-flex;
align-items: center;
gap: 5px;
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 10px;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.wpt-ms-stock::before{
content: '\25CF';
font-size: 7px;
}
.wpt-ms-stock.in-stock{
color: var(--wpt-color-success, #6B8E6B);
}
.wpt-ms-stock.out-of-stock{
color: var(--wpt-color-muted, #9A9490);
}
.wpt-ms-variations{
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-md, 1rem);
padding: var(--wpt-spacing-md, 1rem) 0;
border-top: 1px solid var(--wpt-color-border, #E0DBD3);
border-bottom: 1px solid var(--wpt-color-border, #E0DBD3);
}
.wpt-ms-variation-prompt{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-xs, 0.75rem);
color: var(--wpt-color-muted, #9A9490);
letter-spacing: 0.06em;
margin: 0;
}
.wpt-ms-attr-group{
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-xs, 0.25rem);
}
.wpt-ms-attr-required .wpt-ms-attr-label{
color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-attr-label-row{
display: flex;
align-items: center;
gap: var(--wpt-spacing-xs, 0.25rem);
}
.wpt-ms-attr-label{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 10px;
font-weight: 600;
color: var(--wpt-color-dark, #0D0D0D);
letter-spacing: 0.12em;
text-transform: uppercase;
}
.wpt-ms-attr-selected-value{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 10px;
color: var(--wpt-color-primary, #C9A96E);
letter-spacing: 0.04em;
}
.wpt-ms-swatches{
display: flex;
flex-wrap: wrap;
gap: var(--wpt-spacing-xs, 0.25rem);
}
.wpt-ms-swatch{
display: inline-flex;
align-items: center;
justify-content: center;
padding: 5px 10px;
background-color: transparent;
border: 1px solid var(--wpt-color-border, #E0DBD3);
color: var(--wpt-color-dark, #0D0D0D);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-xs, 0.75rem);
font-weight: 500;
letter-spacing: 0.04em;
cursor: pointer;
min-width: 40px;
line-height: 1;
}
.wpt-ms-swatch.selected{
background-color: var(--wpt-color-dark, #0D0D0D);
border-color: var(--wpt-color-dark, #0D0D0D);
color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-swatch:focus-visible{
outline: 1px solid var(--wpt-color-primary, #C9A96E);
outline-offset: 2px;
}
.wpt-ms-swatch-color{
width: 28px;
height: 28px;
min-width: 28px;
padding: 0;
border-radius: var(--wpt-radius-full, 9999px);
border-width: 2px;
}
.wpt-ms-swatch-color.selected{
outline: 2px solid var(--wpt-color-primary, #C9A96E);
outline-offset: 2px;
background-color: inherit;
border-color: var(--wpt-color-light, #FAF9F7);
}
.wpt-ms-qty-wrap{
display: flex;
align-items: center;
gap: var(--wpt-spacing-sm, 0.5rem);
}
.wpt-ms-qty-label{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 10px;
font-weight: 600;
color: var(--wpt-color-dark, #0D0D0D);
letter-spacing: 0.12em;
text-transform: uppercase;
}
.wpt-ms-qty-ctrl{
display: flex;
align-items: center;
border: 1px solid var(--wpt-color-border, #E0DBD3);
overflow: hidden;
background-color: var(--wpt-color-light, #FAF9F7);
}
.wpt-ms-qty-btn{
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: none;
color: var(--wpt-color-dark, #0D0D0D);
font-size: var(--wpt-text-base, 1rem);
cursor: pointer;
line-height: 1;
padding: 0;
flex-shrink: 0;
}
.wpt-ms-qty-btn:focus-visible{
outline: 1px solid var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-qty-input{
width: 44px;
height: 32px;
text-align: center;
border: none;
border-left: 1px solid var(--wpt-color-border, #E0DBD3);
border-right: 1px solid var(--wpt-color-border, #E0DBD3);
background: transparent;
color: var(--wpt-color-dark, #0D0D0D);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: var(--wpt-text-sm, 0.875rem);
font-weight: 500;
padding: 0;
-moz-appearance: textfield;
}
.wpt-ms-qty-input::-webkit-outer-spin-button,
.wpt-ms-qty-input::-webkit-inner-spin-button{
-webkit-appearance: none;
margin: 0;
}
.wpt-ms-qty-input:focus{outline: none;}
.wpt-ms-qty-ctrl-sm .wpt-ms-qty-btn{width: 26px;height: 26px;font-size: var(--wpt-text-sm, 0.875rem);}
.wpt-ms-qty-ctrl-sm .wpt-ms-qty-input{width: 36px;height: 26px;font-size: var(--wpt-text-xs, 0.75rem);}
.wpt-ms-modal-actions{
margin-top: var(--wpt-spacing-xs, 0.25rem);
}
.wpt-ms-btn-primary{
display: inline-flex;
align-items: center;
justify-content: center;
width: 100%;
padding: var(--wpt-spacing-sm, 0.5rem) var(--wpt-spacing-lg, 1.5rem);
background-color: var(--wpt-color-dark, #0D0D0D);
color: var(--wpt-color-primary, #C9A96E);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 11px;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
text-decoration: none;
border: 1px solid var(--wpt-color-dark, #0D0D0D);
cursor: pointer;
line-height: 1;
min-height: 46px;
}
.wpt-ms-btn-primary:focus-visible{
outline: 2px solid var(--wpt-color-primary, #C9A96E);
outline-offset: 2px;
}
.wpt-ms-btn-primary:disabled,
.wpt-ms-btn-primary[aria-disabled="true"]{
background-color: var(--wpt-color-surface, #F2EFE9);
color: var(--wpt-color-muted, #9A9490);
border-color: var(--wpt-color-border, #E0DBD3);
cursor: not-allowed;
}
.wpt-ms-btn-ghost{
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--wpt-spacing-xs, 0.25rem) var(--wpt-spacing-md, 1rem);
background: transparent;
color: var(--wpt-color-dark, #0D0D0D);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 11px;
font-weight: 500;
letter-spacing: 0.1em;
text-transform: uppercase;
border: 1px solid var(--wpt-color-border, #E0DBD3);
cursor: pointer;
min-height: 40px;
text-decoration: none;
}
.wpt-ms-btn-ghost:focus-visible{
outline: 1px solid var(--wpt-color-primary, #C9A96E);
outline-offset: 2px;
}
#wpt-ms-mini-cart{
background-color: var(--wpt-color-surface, #F2EFE9);
border: 1px solid var(--wpt-color-border, #E0DBD3);
padding: var(--wpt-spacing-md, 1rem);
margin-top: var(--wpt-spacing-sm, 0.5rem);
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-sm, 0.5rem);
}
#wpt-ms-mini-cart[hidden]{display: none;}
.wpt-ms-mini-cart-added{
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 11px;
font-weight: 600;
color: var(--wpt-color-success, #6B8E6B);
letter-spacing: 0.1em;
text-transform: uppercase;
}
.wpt-ms-mini-cart-item{
display: flex;
align-items: center;
gap: var(--wpt-spacing-sm, 0.5rem);
border-top: 1px solid var(--wpt-color-border, #E0DBD3);
padding-top: var(--wpt-spacing-sm, 0.5rem);
}
.wpt-ms-mini-cart-img{
width: 52px;
height: 64px;
object-fit: cover;
flex-shrink: 0;
background-color: var(--wpt-color-border, #E0DBD3);
}
.wpt-ms-mini-cart-item-info{
flex: 1 1 0%;
display: flex;
flex-direction: column;
gap: 2px;
}
.wpt-ms-mini-cart-item-name{
font-family: var(--wpt-font-heading, 'Cormorant Garamond', serif);
font-size: var(--wpt-text-base, 1rem);
font-weight: 500;
color: var(--wpt-color-dark, #0D0D0D);
}
.wpt-ms-mini-cart-item-var{
font-size: var(--wpt-text-xs, 0.75rem);
color: var(--wpt-color-muted, #9A9490);
letter-spacing: 0.04em;
}
.wpt-ms-mini-cart-item-total{
font-size: var(--wpt-text-sm, 0.875rem);
font-weight: 600;
color: var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-mini-cart-total{
display: flex;
justify-content: space-between;
border-top: 1px solid var(--wpt-color-border, #E0DBD3);
padding-top: var(--wpt-spacing-sm, 0.5rem);
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 11px;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--wpt-color-dark, #0D0D0D);
}
.wpt-ms-mini-cart-actions{
display: flex;
gap: var(--wpt-spacing-sm, 0.5rem);
padding-top: var(--wpt-spacing-xs, 0.25rem);
}
.wpt-ms-mini-cart-actions .wpt-ms-btn-ghost,
.wpt-ms-mini-cart-actions .wpt-ms-btn-primary{
flex: 1 1 0%;
font-size: 10px;
min-height: 36px;
}
.wpt-ms-mini-cart-error{
color: var(--wpt-color-muted, #9A9490);
font-size: var(--wpt-text-sm, 0.875rem);
text-align: center;
}
.wpt-ms-cart-drawer{
position: fixed;
top: 0;
right: 0;
bottom: 0;
z-index: 110;
width: min(100vw, 360px);
display: flex;
flex-direction: column;
background-color: var(--wpt-color-light, #FAF9F7);
border-left: 1px solid var(--wpt-color-border, #E0DBD3);
}
.wpt-ms-cart-drawer[hidden]{display: none;}
.wpt-ms-drawer-inner{
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
}
.wpt-ms-drawer-header{
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--wpt-spacing-md, 1rem) var(--wpt-spacing-lg, 1.5rem);
background-color: var(--wpt-color-dark, #0D0D0D);
border-bottom: 1px solid rgba(201, 169, 110, 0.2);
flex-shrink: 0;
}
.wpt-ms-drawer-header h3{
font-family: var(--wpt-font-heading, 'Cormorant Garamond', serif);
font-size: var(--wpt-text-lg, 1.125rem);
font-weight: 500;
color: var(--wpt-color-primary, #C9A96E);
letter-spacing: 0.08em;
text-transform: uppercase;
margin: 0;
}
.wpt-ms-drawer-close{
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid rgba(201, 169, 110, 0.4);
border-radius: var(--wpt-radius-full, 9999px);
color: var(--wpt-color-primary, #C9A96E);
font-size: var(--wpt-text-base, 1rem);
cursor: pointer;
line-height: 1;
padding: 0;
}
.wpt-ms-drawer-close:focus-visible{
outline: 1px solid var(--wpt-color-primary, #C9A96E);
outline-offset: 2px;
}
.wpt-ms-cart-body{
flex: 1 1 0%;
overflow-y: auto;
padding: var(--wpt-spacing-md, 1rem) var(--wpt-spacing-lg, 1.5rem);
}
.wpt-ms-cart-footer{
flex-shrink: 0;
padding: var(--wpt-spacing-md, 1rem) var(--wpt-spacing-lg, 1.5rem);
border-top: 1px solid var(--wpt-color-border, #E0DBD3);
background-color: var(--wpt-color-light, #FAF9F7);
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-sm, 0.5rem);
}
.wpt-ms-cart-empty{
text-align: center;
padding: var(--wpt-spacing-3xl, 4rem) var(--wpt-spacing-lg, 1.5rem);
color: var(--wpt-color-muted, #9A9490);
font-size: var(--wpt-text-sm, 0.875rem);
letter-spacing: 0.06em;
}
.wpt-ms-cart-list{
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-md, 1rem);
}
.wpt-ms-cart-list-item{
display: flex;
align-items: flex-start;
gap: var(--wpt-spacing-sm, 0.5rem);
padding-bottom: var(--wpt-spacing-md, 1rem);
border-bottom: 1px solid var(--wpt-color-border, #E0DBD3);
}
.wpt-ms-cart-list-item:last-child{border-bottom: none;}
.wpt-ms-cart-item-img{
width: 56px;
height: 72px;
object-fit: cover;
flex-shrink: 0;
background-color: var(--wpt-color-surface, #F2EFE9);
}
.wpt-ms-cart-item-info{
flex: 1 1 0%;
display: flex;
flex-direction: column;
gap: 3px;
}
.wpt-ms-cart-item-name{
font-family: var(--wpt-font-heading, 'Cormorant Garamond', serif);
font-size: var(--wpt-text-base, 1rem);
font-weight: 500;
color: var(--wpt-color-dark, #0D0D0D);
}
.wpt-ms-cart-item-var{
font-size: var(--wpt-text-xs, 0.75rem);
color: var(--wpt-color-muted, #9A9490);
letter-spacing: 0.04em;
}
.wpt-ms-cart-item-actions{
display: flex;
align-items: center;
gap: var(--wpt-spacing-xs, 0.25rem);
margin-top: 4px;
}
.wpt-ms-cart-item-total{
font-size: var(--wpt-text-sm, 0.875rem);
font-weight: 600;
color: var(--wpt-color-primary, #C9A96E);
flex-shrink: 0;
align-self: center;
}
.wpt-ms-cart-remove{
width: 22px;
height: 22px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: 1px solid var(--wpt-color-border, #E0DBD3);
border-radius: var(--wpt-radius-full, 9999px);
color: var(--wpt-color-muted, #9A9490);
font-size: var(--wpt-text-sm, 0.875rem);
cursor: pointer;
line-height: 1;
padding: 0;
}
.wpt-ms-cart-remove:focus-visible{
outline: 1px solid var(--wpt-color-primary, #C9A96E);
}
.wpt-ms-drawer-total{
display: flex;
justify-content: space-between;
font-family: var(--wpt-font-body, 'Jost', sans-serif);
font-size: 11px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--wpt-color-dark, #0D0D0D);
padding-bottom: var(--wpt-spacing-xs, 0.25rem);
}
.wpt-ms-drawer-actions{
display: flex;
gap: var(--wpt-spacing-sm, 0.5rem);
}
.wpt-ms-drawer-actions .wpt-ms-btn-ghost,
.wpt-ms-drawer-actions .wpt-ms-btn-primary{
flex: 1 1 0%;
}
body.wpt-ms-no-scroll{overflow: hidden;}
.wpt-ms-spinner{
width: 28px;
height: 28px;
border: 1px solid var(--wpt-color-border, #E0DBD3);
border-top-color: var(--wpt-color-primary, #C9A96E);
border-radius: var(--wpt-radius-full, 9999px);
margin: var(--wpt-spacing-xl, 2rem) auto;
}
.wpt-ms-error{
text-align: center;
padding: var(--wpt-spacing-xl, 2rem);
color: var(--wpt-color-muted, #9A9490);
font-size: var(--wpt-text-sm, 0.875rem);
letter-spacing: 0.04em;
}
.wpt-preset-switcher__trigger{
position: fixed;
z-index: 9999;
display: flex;
align-items: center;
gap: var(--wpt-spacing-xs, 0.25rem);
padding: var(--wpt-spacing-sm, 0.5rem) var(--wpt-spacing-md, 1rem);
border: 2px solid var(--wpt-color-primary, #6366f1);
border-radius: var(--wpt-radius-lg, 0.75rem);
background: var(--wpt-color-primary, #6366f1);
color: #fff;
font-size: var(--wpt-font-size-sm, 0.875rem);
font-weight: var(--wpt-font-weight-semibold, 600);
cursor: pointer;
line-height: 1;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.wpt-preset-switcher__trigger--bottom-right{
bottom: var(--wpt-spacing-xl, 2rem);
right: var(--wpt-spacing-xl, 2rem);
}
.wpt-preset-switcher__trigger--bottom-left{
bottom: var(--wpt-spacing-xl, 2rem);
left: var(--wpt-spacing-xl, 2rem);
}
.wpt-preset-switcher__trigger--top-right{
top: var(--wpt-spacing-xl, 2rem);
right: var(--wpt-spacing-xl, 2rem);
}
.wpt-preset-switcher__trigger--top-left{
top: var(--wpt-spacing-xl, 2rem);
left: var(--wpt-spacing-xl, 2rem);
}
.wpt-preset-switcher__trigger:hover,
.wpt-preset-switcher__trigger:focus-visible{
background: var(--wpt-color-primary-dark, #4f46e5);
border-color: var(--wpt-color-primary-dark, #4f46e5);
outline: none;
}
.wpt-preset-switcher__trigger:focus-visible{
box-shadow:
0 4px 12px rgba(0, 0, 0, 0.15),
0 0 0 3px color-mix(in srgb, var(--wpt-color-primary, #6366f1) 35%, transparent);
}
.wpt-preset-switcher__drawer{
position: fixed;
inset: 0;
z-index: 10000;
display: flex;
align-items: flex-end;
justify-content: center;
}
.wpt-preset-switcher__drawer[hidden]{
display: none;
}
.wpt-preset-switcher__backdrop{
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.6);
cursor: pointer;
}
.wpt-preset-switcher__panel{
position: relative;
z-index: 1;
width: 100%;
max-width: 480px;
max-height: 80vh;
overflow-y: auto;
background: var(--wpt-color-surface, #fff);
border-radius: var(--wpt-radius-xl, 1rem) var(--wpt-radius-xl, 1rem) 0 0;
box-shadow: 0 -4px 32px rgba(0, 0, 0, 0.15);
padding: var(--wpt-spacing-xl, 2rem) var(--wpt-spacing-lg, 1.5rem) var(--wpt-spacing-2xl, 3rem);
box-sizing: border-box;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: var(--wpt-color-border, rgba(0,0,0,0.15)) transparent;
}
.wpt-preset-switcher__panel::-webkit-scrollbar{
width: 4px;
}
.wpt-preset-switcher__panel::-webkit-scrollbar-track{
background: transparent;
}
.wpt-preset-switcher__panel::-webkit-scrollbar-thumb{
background-color: var(--wpt-color-border, rgba(0,0,0,0.2));
border-radius: 2px;
}
.wpt-preset-switcher__header{
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: var(--wpt-spacing-lg, 1.5rem);
}
.wpt-preset-switcher__title{
margin: 0;
font-size: var(--wpt-font-size-lg, 1.125rem);
font-weight: var(--wpt-font-weight-bold, 700);
color: var(--wpt-color-text, #1f2937);
line-height: 1.3;
}
.wpt-preset-switcher__close{
display: flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
padding: 0;
border: 1px solid var(--wpt-color-border, rgba(0,0,0,0.1));
border-radius: 50%;
background: var(--wpt-color-background, #f9fafb);
color: var(--wpt-color-text-muted, #6b7280);
cursor: pointer;
flex-shrink: 0;
}
.wpt-preset-switcher__close:hover,
.wpt-preset-switcher__close:focus-visible{
background: var(--wpt-color-surface, #fff);
border-color: var(--wpt-color-primary, #6366f1);
color: var(--wpt-color-primary, #6366f1);
outline: none;
}
.wpt-preset-switcher__close:focus-visible{
box-shadow: 0 0 0 3px color-mix(in srgb, var(--wpt-color-primary, #6366f1) 30%, transparent);
}
.wpt-preset-switcher__list{
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-sm, 0.5rem);
margin: 0;
padding: 0;
list-style: none;
}
.wpt-preset-switcher__item{
display: flex;
flex-direction: column;
gap: var(--wpt-spacing-xs, 0.25rem);
padding: var(--wpt-spacing-md, 1rem);
border: 2px solid var(--wpt-color-border, rgba(0,0,0,0.08));
border-radius: var(--wpt-radius-md, 0.5rem);
background: var(--wpt-color-background, #f9fafb);
cursor: pointer;
text-align: left;
width: 100%;
box-sizing: border-box;
}
.wpt-preset-switcher__item:hover,
.wpt-preset-switcher__item:focus-visible{
border-color: var(--wpt-color-primary, #6366f1);
background: var(--wpt-color-surface, #fff);
outline: none;
}
.wpt-preset-switcher__item:focus-visible{
box-shadow: 0 0 0 3px color-mix(in srgb, var(--wpt-color-primary, #6366f1) 25%, transparent);
}
.wpt-preset-switcher__item--active{
border-color: var(--wpt-color-primary, #6366f1);
background: color-mix(in srgb, var(--wpt-color-primary, #6366f1) 6%, var(--wpt-color-surface, #fff));
}
.wpt-preset-switcher__name{
font-size: var(--wpt-font-size-base, 1rem);
font-weight: var(--wpt-font-weight-semibold, 600);
color: var(--wpt-color-text, #1f2937);
line-height: 1.3;
}
.wpt-preset-switcher__item--active .wpt-preset-switcher__name{
color: var(--wpt-color-primary, #6366f1);
}
.wpt-preset-switcher__active-badge{
display: inline-flex;
align-items: center;
gap: 4px;
font-size: var(--wpt-font-size-xs, 0.7rem);
font-weight: var(--wpt-font-weight-semibold, 600);
color: var(--wpt-color-primary, #6366f1);
text-transform: uppercase;
letter-spacing: 0.06em;
}
.wpt-preset-switcher__description{
font-size: var(--wpt-font-size-sm, 0.875rem);
color: var(--wpt-color-text-muted, #6b7280);
line-height: 1.5;
margin: 0;
}
.wpt-preset-switcher__swatches{
display: flex;
gap: 4px;
flex-wrap: wrap;
margin-top: var(--wpt-spacing-xs, 0.25rem);
}
.wpt-preset-switcher__swatch{
width: 16px;
height: 16px;
border-radius: 50%;
border: 1px solid rgba(0, 0, 0, 0.1);
flex-shrink: 0;
}
.wpt-preset-switcher__reset{
margin-top: var(--wpt-spacing-md, 1rem);
width: 100%;
padding: var(--wpt-spacing-sm, 0.5rem) var(--wpt-spacing-md, 1rem);
border: 1px solid var(--wpt-color-border, rgba(0,0,0,0.1));
border-radius: var(--wpt-radius-md, 0.5rem);
background: transparent;
color: var(--wpt-color-text-muted, #6b7280);
font-size: var(--wpt-font-size-sm, 0.875rem);
cursor: pointer;
text-align: center;
box-sizing: border-box;
}
.wpt-preset-switcher__reset:hover,
.wpt-preset-switcher__reset:focus-visible{
border-color: var(--wpt-color-text-muted, #6b7280);
color: var(--wpt-color-text, #1f2937);
outline: none;
}
.wpt-preset-switcher__reset:focus-visible{
box-shadow: 0 0 0 2px var(--wpt-color-text-muted, #6b7280);
}
body.wpt-preset-switcher--open{
overflow: hidden;
}
.wpt-preset-switcher--editor-placeholder{
display: flex;
align-items: center;
gap: var(--wpt-spacing-sm, 0.5rem);
padding: var(--wpt-spacing-md, 1rem) var(--wpt-spacing-lg, 1.5rem);
border: 2px dashed var(--wpt-color-primary, #6366f1);
border-radius: var(--wpt-radius-md, 0.5rem);
background: color-mix(in srgb, var(--wpt-color-primary, #6366f1) 5%, transparent);
color: var(--wpt-color-primary, #6366f1);
font-size: var(--wpt-font-size-sm, 0.875rem);
font-weight: var(--wpt-font-weight-medium, 500);
}
.wpt-bg-primary{background-color: var(--wpt-color-primary,   #FF6B35);}
.wpt-bg-secondary{background-color: var(--wpt-color-secondary, #004E89);}
.wpt-bg-accent{background-color: var(--wpt-color-accent,    #FFD23F);}
.wpt-bg-dark{background-color: var(--wpt-color-dark,      #1A1A1D);}
.wpt-bg-light{background-color: var(--wpt-color-light,     #FFFFFF);}
.wpt-bg-surface{background-color: var(--wpt-color-surface,   #F8F9FA);}
.wpt-bg-muted{background-color: var(--wpt-color-muted,     #6C757D);}
.wpt-text-primary{color: var(--wpt-color-primary,   #FF6B35);}
.wpt-text-secondary{color: var(--wpt-color-secondary, #004E89);}
.wpt-text-dark{color: var(--wpt-color-dark,      #1A1A1D);}
.wpt-text-light{color: var(--wpt-color-light,     #FFFFFF);}
.wpt-text-muted{color: var(--wpt-color-muted,     #6C757D);}
.wpt-radius-none{border-radius: 0;}
.wpt-radius-sm{border-radius: var(--wpt-radius-sm,   0.25rem);}
.wpt-radius-md{border-radius: var(--wpt-radius-md,   0.375rem);}
.wpt-radius-lg{border-radius: var(--wpt-radius-lg,   0.5rem);}
.wpt-radius-xl{border-radius: var(--wpt-radius-xl,   0.75rem);}
.wpt-radius-full{border-radius: var(--wpt-radius-full, 9999px);}
.wpt-shadow-none{box-shadow: none;}
.wpt-shadow-sm{box-shadow: var(--wpt-shadow-sm, 0 1px 2px rgba(0,0,0,0.05));}
.wpt-shadow-md{box-shadow: var(--wpt-shadow-md, 0 4px 6px -1px rgba(0,0,0,0.1));}
.wpt-shadow-lg{box-shadow: var(--wpt-shadow-lg, 0 10px 15px -3px rgba(0,0,0,0.1));}
.wpt-shadow-xl{box-shadow: var(--wpt-shadow-xl, 0 20px 25px -5px rgba(0,0,0,0.1));}
.wpt-pad-xs{padding-top: var(--wpt-spacing-xs,  0.25rem);padding-bottom: var(--wpt-spacing-xs,  0.25rem);}
.wpt-pad-sm{padding-top: var(--wpt-spacing-sm,  0.5rem);padding-bottom: var(--wpt-spacing-sm,  0.5rem);}
.wpt-pad-md{padding-top: var(--wpt-spacing-md,  1rem);padding-bottom: var(--wpt-spacing-md,  1rem);}
.wpt-pad-lg{padding-top: var(--wpt-spacing-lg,  1.5rem);padding-bottom: var(--wpt-spacing-lg,  1.5rem);}
.wpt-pad-xl{padding-top: var(--wpt-spacing-xl,  2rem);padding-bottom: var(--wpt-spacing-xl,  2rem);}
.wpt-pad-2xl{padding-top: var(--wpt-spacing-2xl, 3rem);padding-bottom: var(--wpt-spacing-2xl, 3rem);}
.wpt-pad-3xl{padding-top: var(--wpt-spacing-3xl, 4rem);padding-bottom: var(--wpt-spacing-3xl, 4rem);}
.wpt-pad-4xl{padding-top: var(--wpt-spacing-4xl, 6rem);padding-bottom: var(--wpt-spacing-4xl, 6rem);}
.wpt-text-left{text-align: left;}
.wpt-text-center{text-align: center;}
.wpt-text-right{text-align: right;}
.wpt-container{
width: 100%;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
padding-left:  var(--wpt-spacing-lg, 1.5rem);
padding-right: var(--wpt-spacing-lg, 1.5rem);
box-sizing: border-box;
}
.wpt-btn{
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--wpt-spacing-xs, 0.25rem);
font-family: var(--wpt-font-body, sans-serif);
font-weight: var(--wpt-font-semibold, 600);
text-decoration: none;
border: 2px solid transparent;
cursor: pointer;
border-radius: var(--wpt-radius-md, 0.375rem);
line-height: 1;
box-sizing: border-box;
}
.wpt-btn--sm{padding: var(--wpt-spacing-xs, 0.25rem) var(--wpt-spacing-sm, 0.5rem);font-size: var(--wpt-text-sm, 0.875rem);}
.wpt-btn--md{padding: var(--wpt-spacing-sm, 0.5rem)  var(--wpt-spacing-md, 1rem);font-size: var(--wpt-text-base, 1rem);}
.wpt-btn--lg{padding: var(--wpt-spacing-md, 1rem)    var(--wpt-spacing-xl, 2rem);font-size: var(--wpt-text-lg, 1.125rem);}
.wpt-btn--primary{background: var(--wpt-color-primary,   #FF6B35);color: #fff;}
.wpt-btn--secondary{background: var(--wpt-color-secondary, #004E89);color: #fff;}
.wpt-btn--outline{background: transparent;border-color: currentColor;}
.wpt-glass{
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.wpt-grid{display: grid;}
.wpt-grid--2col{grid-template-columns: repeat(2, 1fr);gap: var(--wpt-spacing-lg, 1.5rem);}
.wpt-grid--3col{grid-template-columns: repeat(3, 1fr);gap: var(--wpt-spacing-lg, 1.5rem);}
.wpt-grid--4col{grid-template-columns: repeat(4, 1fr);gap: var(--wpt-spacing-lg, 1.5rem);}
@media (max-width: 1024px){
.wpt-grid--4col,.wpt-grid--3col{grid-template-columns: repeat(2,1fr);}
}
@media (max-width: 640px){
.wpt-grid--2col,.wpt-grid--3col,.wpt-grid--4col{grid-template-columns: 1fr;}
}
@media (max-width: 640px){
.wpt-hide-mobile{display: none !important;}
}
@media (min-width: 641px) and (max-width: 1024px){
.wpt-hide-tablet{display: none !important;}
}
@media (min-width: 1025px){
.wpt-hide-desktop{display: none !important;}
}
@media (max-width: 640px){
.wpt-mobile-stack{flex-direction: column !important;}
.wpt-mobile-row{flex-direction: row    !important;flex-wrap: wrap;}
}
@media (min-width: 641px) and (max-width: 1024px){
.wpt-tablet-stack{flex-direction: column !important;}
.wpt-tablet-row{flex-direction: row    !important;flex-wrap: wrap;}
}
@media (min-width: 1025px){
.wpt-desktop-stack{flex-direction: column !important;}
.wpt-desktop-row{flex-direction: row    !important;flex-wrap: wrap;}
}
.wpt-sr-only{
position: absolute;width: 1px;height: 1px;
padding: 0;margin: -1px;overflow: hidden;
clip: rect(0,0,0,0);white-space: nowrap;border: 0;
}
#wpt-ip-wrap{
position:        fixed;
inset:           0;
z-index:         999999;
background:      rgba(0, 0, 0, 0.75);
display:         flex;
align-items:     center;
justify-content: center;
padding:         20px;
box-sizing:      border-box;
backdrop-filter: blur(2px);
}
#wpt-ip-modal{
width:            720px;
max-width:        100%;
max-height:       90vh;
background:       #1a2130;
border:           1px solid #2e3a4e;
border-radius:    14px;
box-shadow:       0 24px 80px rgba(0,0,0,0.6);
display:          flex;
flex-direction:   column;
overflow:         hidden;
font-family:      -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.wpt-ip-topbar{
display:         flex;
align-items:     center;
justify-content: space-between;
padding:         14px 16px 12px;
background:      #151c28;
border-bottom:   1px solid #2e3a4e;
flex-shrink:     0;
}
.wpt-ip-topbar-title{
display:     flex;
align-items: center;
gap:         8px;
font-size:   14px;
font-weight: 600;
color:       #e2e8f0;
}
.wpt-ip-close-btn{
display:         flex;
align-items:     center;
justify-content: center;
width:           30px;
height:          30px;
background:      none;
border:          1px solid #2e3a4e;
border-radius:   6px;
color:           #64748b;
cursor:          pointer;
padding:         0;
font-size:       14px;
line-height:     1;
}
.wpt-ip-close-btn:hover{color: #e2e8f0;background: #2e3a4e;border-color: #3d4f66;}
.wpt-ip-cat-bar{
background:    #151c28;
border-bottom: 1px solid #2e3a4e;
flex-shrink:   0;
}
.wpt-ip-cat-tabs{
display:         flex;
padding:         8px 12px 0;
overflow-x:      auto;
scrollbar-width: none;
}
.wpt-ip-cat-tabs::-webkit-scrollbar{display: none;}
.wpt-ip-ctab{
background:     none;
border:         none;
border-bottom:  2px solid transparent;
color:          #4a5568;
cursor:         pointer;
font-size:      12px;
font-weight:    600;
padding:        6px 12px 8px;
white-space:    nowrap;
letter-spacing: 0.02em;
text-transform: capitalize;
border-radius:  4px 4px 0 0;
margin-right:   2px;
}
.wpt-ip-ctab:hover{color: #94a3b8;background: rgba(255,255,255,0.04);}
.wpt-ip-ctab--on{
color:               #ff6b35 !important;
border-bottom-color: #ff6b35;
background:          rgba(255,107,53,0.08);
}
.wpt-ip-search-row{
display:       flex;
align-items:   center;
gap:           10px;
padding:       10px 14px;
background:    #1a2130;
border-bottom: 1px solid #2e3a4e;
flex-shrink:   0;
}
.wpt-ip-search-box{
flex:        1;
position:    relative;
display:     flex;
align-items: center;
}
.wpt-ip-search-svg{
position:       absolute;
left:           10px;
color:          #4a5568;
pointer-events: none;
}
#wpt-ip-search{
width:         100%;
background:    #1e2a3a;
border:        1px solid #2e3a4e;
border-radius: 7px;
padding:       8px 12px 8px 34px;
color:         #e2e8f0;
font-size:     13px;
outline:       none;
}
#wpt-ip-search::placeholder{
color: #4a5568;
}
#wpt-ip-search:focus{
border-color: #ff6b35;
box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.15);
}
.wpt-ip-count{
font-size:   12px;
color:       #4a5568;
white-space: nowrap;
min-width:   60px;
text-align:  right;
}
.wpt-ip-grid-area{
flex:            1;
overflow-y:      auto;
min-height:      0;
padding:         10px;
background:      #1a2130;
scrollbar-width: thin;
scrollbar-color: #2e3a4e #1a2130;
}
.wpt-ip-grid-area::-webkit-scrollbar{width: 5px;}
.wpt-ip-grid-area::-webkit-scrollbar-track{background: #1a2130;}
.wpt-ip-grid-area::-webkit-scrollbar-thumb{background: #2e3a4e;border-radius: 3px;}
.wpt-ip-loading-state{
display:         flex;
flex-direction:  column;
align-items:     center;
justify-content: center;
gap:             12px;
padding:         50px 20px;
color:           #4a5568;
font-size:       13px;
}
.wpt-ip-spinner{
width:            28px;
height:           28px;
border:           3px solid #2e3a4e;
border-top-color: #ff6b35;
border-radius:    50%;
animation: wpt-spin 0.7s linear infinite;
}
@keyframes wpt-spin{
to{
transform: rotate(360deg);
}
}
.wpt-ip-empty-state{
text-align: center;
padding:    50px 20px;
color:      #4a5568;
font-size:  13px;
}
.wpt-ip-grid{
display:               grid;
grid-template-columns: repeat( auto-fill, minmax(46px, 1fr) );
gap:                   4px;
}
.wpt-ip-item{
display:         flex;
align-items:     center;
justify-content: center;
aspect-ratio:    1;
background:      #1e2a3a;
border:          1px solid transparent;
border-radius:   7px;
color:           #64748b;
cursor:          pointer;
padding:         0;
position:        relative;
}
.wpt-ip-item:hover{background: #263347;color: #e2e8f0;border-color: #3d4f66;}
.wpt-ip-item--on{
background:   rgba(255, 107, 53, 0.15) !important;
border-color: #ff6b35 !important;
color:        #ff6b35 !important;
}
.wpt-ip-item--pending{
background:   rgba(255, 107, 53, 0.28) !important;
border-color: #ff6b35 !important;
color:        #ff6b35 !important;
box-shadow:   0 0 0 2px rgba(255, 107, 53, 0.4) !important;
}
.wpt-ip-item:hover::after{
content:        attr(title);
position:       absolute;
top:            calc(100% + 5px);
left:           50%;
transform:      translateX(-50%);
background:     #0f1520;
border:         1px solid #2e3a4e;
color:          #e2e8f0;
font-size:      10px;
line-height:    1.2;
padding:        3px 7px;
border-radius:  4px;
white-space:    nowrap;
pointer-events: none;
z-index:        10;
max-width:      180px;
overflow:       hidden;
text-overflow:  ellipsis;
}
.wpt-ip-footer{
display:        flex;
flex-direction: column;
padding:        0;
background:     #151c28;
border-top:     1px solid #2e3a4e;
flex-shrink:    0;
}
.wpt-ip-size-row{
display:       flex;
align-items:   center;
gap:           8px;
padding:       8px 14px;
border-bottom: 1px solid #2e3a4e;
background:    #131a26;
}
.wpt-ip-size-label{
font-size:      10px;
font-weight:    700;
color:          #4a5568;
text-transform: uppercase;
letter-spacing: 0.05em;
flex-shrink:    0;
}
.wpt-ip-size-btns{
display:         flex;
gap:             4px;
flex-wrap:       wrap;
flex:            1;
min-width:       0;
}
.wpt-ip-size-btn{
background:    none;
border:        1px solid #2e3a4e;
border-radius: 5px;
color:         #64748b;
cursor:        pointer;
font-size:     10px;
font-weight:   600;
padding:       4px 8px;
white-space:   nowrap;
flex-shrink:   0;
line-height:   1;
}
.wpt-ip-size-btn:hover{color: #e2e8f0;border-color: #3d4f66;background: #263347;}
.wpt-ip-size-btn--on{
background:   rgba(255, 107, 53, 0.18) !important;
border-color: #ff6b35 !important;
color:        #ff6b35 !important;
}
.wpt-ip-size-px{
font-size:   10px;
color:       #ff6b35;
font-family: monospace;
font-weight: 700;
flex-shrink: 0;
min-width:   30px;
text-align:  right;
}
.wpt-ip-footer-main{
display:         flex;
align-items:     center;
justify-content: space-between;
padding:         10px 14px;
gap:             10px;
}
.wpt-ip-footer-left{
display:     flex;
align-items: center;
gap:         10px;
min-width:   0;
flex-shrink: 1;
}
.wpt-ip-footer-thumb{
display:         flex;
align-items:     center;
justify-content: center;
width:           38px;
height:          38px;
background:      #1e2a3a;
border:          1px solid #2e3a4e;
border-radius:   8px;
flex-shrink:     0;
}
.wpt-ip-footer-name{
font-size:     13px;
font-weight:   500;
color:         #e2e8f0;
font-family:   monospace;
overflow:      hidden;
text-overflow: ellipsis;
white-space:   nowrap;
max-width:     180px;
}
.wpt-ip-footer-hint{
font-size:  11px;
color:      #4a5568;
margin-top: 1px;
}
.wpt-ip-footer-actions{
display:     flex;
align-items: center;
gap:         8px;
flex-shrink: 0;
}
.wpt-ip-insert-btn{
display:       inline-flex;
align-items:   center;
background:    #1e2a3a;
border:        1px solid #2e3a4e;
border-radius: 6px;
color:         #4a5568;
cursor:        default;
font-size:     12px;
font-weight:   600;
padding:       7px 14px;
white-space:   nowrap;
opacity:       0.5;
}
.wpt-ip-insert-btn--ready{
background:   #ff6b35;
border-color: #e85a22;
color:        #ffffff;
cursor:       pointer;
opacity:      1;
}
.wpt-ip-insert-btn--ready:hover{
background:   #e85a22;
border-color: #cc4d1a;
}
.wpt-ip-insert-btn--ready:focus-visible{
outline:        2px solid #ff6b35;
outline-offset: 2px;
}
.wpt-ip-clear-btn{
background:    none;
border:        1px solid #2e3a4e;
border-radius: 6px;
color:         #64748b;
cursor:        pointer;
font-size:     12px;
padding:       6px 12px;
white-space:   nowrap;
flex-shrink:   0;
}
.wpt-ip-clear-btn:hover{color: #e2e8f0;border-color: #3d4f66;background: #2e3a4e;}
.wpt-ip-trigger{
display:       inline-flex;
align-items:   center;
gap:           8px;
padding:       7px 10px;
background:    #1e2a3a;
border:        1px solid #2e3a4e;
border-radius: 7px;
color:         #94a3b8;
cursor:        pointer;
font-size:     12px;
min-width:     150px;
max-width:     100%;
user-select:   none;
}
.wpt-ip-trigger:hover{border-color: #ff6b35;background: #263347;}
.wpt-ip-trigger-icon{
display:         flex;
align-items:     center;
justify-content: center;
width:           26px;
height:          26px;
background:      #ff6b35;
border-radius:   5px;
flex-shrink:     0;
}
.wpt-ip-trigger-label{
flex:          1;
overflow:      hidden;
text-overflow: ellipsis;
white-space:   nowrap;
font-family:   monospace;
}
#wpt-ip-modal *,
#wpt-ip-modal *::before,
#wpt-ip-modal *::after{
box-sizing: border-box;
}
#wpt-ip-modal button:focus-visible{
outline: 2px solid #ff6b35;
outline-offset: 2px;
}
#wpt-ip-modal p{
margin: 0;
}
.wpt-icon-mask{
display:               inline-block;
flex-shrink:           0;
vertical-align:        middle;
background-color:      currentColor;
-webkit-mask-image:    var(--wpt-icon-src);
mask-image:    var(--wpt-icon-src);
-webkit-mask-size:     contain;
mask-size:     contain;
-webkit-mask-repeat:   no-repeat;
mask-repeat:   no-repeat;
-webkit-mask-position: center;
mask-position: center;
}
.wpt-icon-mask--xs{
width:  var(--wpt-icon-size-xs, 16px);
height: var(--wpt-icon-size-xs, 16px);
}
.wpt-icon-mask--sm{
width:  var(--wpt-icon-size-sm, 20px);
height: var(--wpt-icon-size-sm, 20px);
}
.wpt-icon-mask--md{
width:  var(--wpt-icon-size-md, 24px);
height: var(--wpt-icon-size-md, 24px);
}
.wpt-icon-mask--lg{
width:  var(--wpt-icon-size-lg, 28px);
height: var(--wpt-icon-size-lg, 28px);
}
.wpt-icon-mask--xl{
width:  var(--wpt-icon-size-xl, 32px);
height: var(--wpt-icon-size-xl, 32px);
}
.wpt-icon-mask--2xl{
width:  var(--wpt-icon-size-2xl, 40px);
height: var(--wpt-icon-size-2xl, 40px);
}
.wpt-icon-mask--3xl{
width:  var(--wpt-icon-size-3xl, 48px);
height: var(--wpt-icon-size-3xl, 48px);
}
.wpt-icon-mask--4xl{
width:  var(--wpt-icon-size-4xl, 56px);
height: var(--wpt-icon-size-4xl, 56px);
}
.wpt-icon-mask--5xl{
width:  var(--wpt-icon-size-5xl, 64px);
height: var(--wpt-icon-size-5xl, 64px);
}
.wpt-ip-cat-bar--searching .wpt-ip-ctab{
opacity:        0.35;
cursor:         default;
pointer-events: none;
}
.wpt-ip-search-clear{
position:    absolute;
right:       8px;
background:  none;
border:      none;
color:       #4a5568;
cursor:      pointer;
font-size:   12px;
line-height: 1;
padding:     2px 4px;
}
.wpt-ip-search-clear:hover{color: #e2e8f0;}
.wpt-ip-grid--search{
grid-template-columns: repeat( auto-fill, minmax(52px, 1fr) );
gap: 4px;
}
.wpt-ip-item--search{
flex-direction: column;
gap:            2px;
aspect-ratio:   unset;
padding:        6px 2px 4px;
height:         60px;
}
.wpt-ip-item-cat{
display:       block;
font-size:     8px;
line-height:   1.1;
color:         #4a5568;
text-align:    center;
overflow:      hidden;
text-overflow: ellipsis;
white-space:   nowrap;
width:         100%;
padding:       0 2px;
}
.wpt-ip-item--search:hover .wpt-ip-item-cat{color: #94a3b8;}
.wpt-ip-item--on .wpt-ip-item-cat{color: #ff6b35 !important;}
.wpt-ip-item--pending .wpt-ip-item-cat{color: #ff6b35 !important;}