
[hidden] {
    display:none!important
}

.cropped-photo {
    display:block;
    width:100%;
    height:100%;
    overflow:hidden
}

.hero-photo>.cropped-photo,.philosophy-photo>.cropped-photo {
    position:absolute;
    inset:0
}

.fallback-image {
    width:100%;
    height:100%
}

.variant-picker {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    margin:30px 0 45px
}

.variant-picker h1 {
    font-size:40px
}

.variant-media .product-picture {
    aspect-ratio:1.08
}

.detail-price {
    font-family:Georgia,serif;
    font-size:26px;
    margin:20px 0
}

.variant-options {
    border:0;
    padding:0;
    margin:0
}

.variant-options legend {
    font-size:12px;
    font-weight:600;
    margin-bottom:12px
}

.swatches {
    display:flex;
    flex-wrap:wrap;
    gap:10px
}

.variant-chip {
    position:relative;
    cursor:pointer
}

.variant-chip input {
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
    margin:0
}

.variant-chip>span {
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid #ddd2ca;
    border-radius:30px;
    padding:8px 14px;
    background:white;
    transition:border-color .2s
}

.variant-chip input:checked+span {
    border-color:#25221f;
    box-shadow:0 0 0 1px #25221f
}

.variant-chip input:focus-visible+span {
    outline:3px solid #bb788b;
    outline-offset:3px
}

.swatch {
    width:24px;
    height:24px
}

.stock-note {
    font-size:12px;
    color:#7a7069;
    margin:0
}

.button:disabled {
    background:#ddd4ce;
    color:#736b65;
    border-color:#ddd4ce;
    cursor:not-allowed
}

.variant-thumbnails {
    display:flex;
    gap:10px;
    margin-top:12px
}

.variant-thumbnail {
    width:65px;
    height:65px;
    border:1px solid #e5d6cc;
    border-radius:5px;
    background:#f7eee8;
    padding:0;
    overflow:hidden
}

.variant-thumbnail img {
    width:100%;
    height:100%;
    object-fit:cover
}

.product-information {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    background:#f9f3ee;
    border-radius:6px;
    padding:30px;
    margin-bottom:40px
}

.product-information dl {
    display:grid;
    grid-template-columns:100px 1fr;
    gap:12px;
    font-size:13px
}

.product-information dt {
    color:#7e756d
}
.product-information dd {
    margin:0
}

.product-reviews {
    border-top:1px solid #eee4dc;
    padding-top:30px
}

.review-item {
    padding:20px 0;
    border-bottom:1px solid #eee4dc
}

.review-item .stars-empty {
    color:#ddd3cb
}

.review-form {
    margin-top:24px;
    max-width:640px
}

.review-field {
    display:grid;
    gap:8px
}

.review-label {
    font-size:13px;
    font-weight:700;
    color:#292521
}

.star-rating {
    display:flex;
    align-items:center;
    gap:4px;
    direction:ltr;
    justify-content:flex-start
}

.star-rating .star {
    border:0;
    background:none;
    padding:4px;
    font-size:30px;
    line-height:1;
    color:#d8cfc6;
    cursor:pointer;
    transition:color .15s,transform .15s
}

.star-rating .star span {
    display:block;
    text-shadow:0 1px 0 #fff
}

.star-rating .star.is-lit {
    color:#bf864a
}

.star-rating .star:hover {
    transform:scale(1.12)
}

.star-rating .star:focus-visible {
    outline:2px solid #1f1b18;
    outline-offset:3px;
    border-radius:4px
}

.star-hint {
    margin:0;
    min-height:20px;
    font-size:13px;
    color:#7e756d
}

.review-form textarea {
    min-height:130px;
    background:#fffdfb;
    border:1px solid #ded5ce;
    border-radius:12px;
    padding:14px 16px;
    font-size:14px;
    line-height:1.6;
    box-shadow:inset 0 1px 2px #2917110d;
    transition:border-color .15s,box-shadow .15s
}

.review-form textarea::placeholder {
    color:#a89e95
}

.review-form textarea:focus {
    outline:none;
    border-color:#1f1b18;
    box-shadow:0 0 0 3px #1f1b181f
}

.quick-view {
    border:0;
    border-radius:14px;
    padding:40px;
    width:min(850px,calc(100% - 40px));
    max-height:90vh;
    overflow:auto;
    box-shadow:0 30px 100px #0003;
    background:#fffdfb
}

.quick-view::backdrop {
    background:#2f211b99;
    backdrop-filter:blur(4px)
}

.quick-view .variant-picker {
    gap:30px;
    margin:5px 0 20px
}

.quick-view h1 {
    font-family:Georgia,serif;
    font-weight:400;
    font-size:30px;
    letter-spacing:-1px
}

.modal-close {
    position:absolute;
    top:12px;
    right:16px;
    z-index:5;
    border:0;
    background:#f1e8e0;
    border-radius:50%;
    width:32px;
    height:32px;
    font-size:22px
}

.toast-region {
    position:fixed;
    bottom:24px;
    right:24px;
    z-index:10000;
    display:grid;
    gap:10px;
    width:min(380px,calc(100% - 32px));
    pointer-events:none
}

.toast {
    --toast-color:#447365;
    --toast-bg:#f5faf7;
    display:grid;
    grid-template-columns:30px 1fr 24px;
    gap:12px;
    align-items:start;
    width:100%;
    padding:17px 18px;
    border:1px solid var(--toast-color);
    border-radius:9px;
    background:var(--toast-bg);
    color:#292521;
    box-shadow:0 10px 35px #2917111a;
    font:13px/1.5 Arial,sans-serif;
    pointer-events:auto;
    animation:toast-enter .22s ease-out
}

.toast-success {
    --toast-color:#447365;
    --toast-bg:#f5faf7
}

.toast-error {
    --toast-color:#ab5367;
    --toast-bg:#fff5f6
}

.toast-warning {
    --toast-color:#aa8543;
    --toast-bg:#fffbf1
}

.toast-info {
    --toast-color:#607b91;
    --toast-bg:#f4f8fb
}

.toast-icon {
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:50%;
    color:white;
    background:var(--toast-color);
    font-weight:600
}

.toast-content p {
    margin:0
}
.toast-content a {
    display:inline-block;
    margin-top:5px;
    text-decoration:underline;
    font-weight:600
}

.toast-close {
    border:0;
    background:transparent;
    color:#655d57;
    font-size:20px;
    line-height:25px;
    padding:0
}

.wish-button [aria-pressed=true] {
    color:#b85273
}
.wish-button [aria-pressed=true] svg {
    fill:#f6c5d3
}

@keyframes toast-enter {
    from {
    opacity:0;
    transform:translateY(12px)
}
to {
    opacity:1;
    transform:translateY(0)
}

}

@media(prefers-reduced-motion:reduce) {
    * {
    animation:none!important;
    transition:none!important
}

}

@media(max-width:760px) {
    .variant-picker {
    grid-template-columns:1fr;
    gap:25px
}
.variant-picker h1 {
    font-size:34px
}
.product-information {
    grid-template-columns:1fr;
    gap:25px;
    padding:22px
}
.quick-view {
    padding:45px 22px 25px
}
.quick-view .variant-picker {
    grid-template-columns:1fr
}
.quick-view .variant-media {
    max-width:280px;
    width:100%;
    margin:auto
}
.toast-region {
    bottom:16px;
    right:16px
}

}



.hero-photo img.banner-artwork{inset:0;width:100%;height:100%;object-fit:cover}.promo-photo{position:absolute;right:0;top:0;width:48%;height:100%;overflow:hidden}.promo>h2,.promo>p,.promo>small,.promo>.mini-button{position:relative;z-index:1;max-width:58%}.policy-body{white-space:pre-wrap;overflow-wrap:anywhere}

.bundle-contents{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.bundle-item a{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:10px;border:1px solid #eee0d6;border-radius:6px;background:#fff;text-decoration:none;color:inherit}
.bundle-item a:hover{border-color:#c9a68f}
.bundle-item-image{display:block;width:72px;height:72px;border-radius:5px;overflow:hidden;background:#f7eee8}
.bundle-item-image img{width:100%;height:100%;object-fit:cover;display:block}
.bundle-item-info strong{display:block;font-size:14px}
.bundle-item-info small{color:#7e756d;font-size:12px}
