:root{--ink:#171316;--ink2:#241d24;--plum:#342836;--lav:#d9c0d9;--lav2:#eadbea;--mutedlav:#bda7bd;--cream:#f7f1eb;--cream2:#ede4dc;--white:#fffdfb;--muted:#6e636b;--border:rgba(217,192,217,.3);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.6}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}h1,h2,h3{margin:0;font-family:"Cormorant Garamond",Georgia,serif;line-height:1}h1{font-size:clamp(3.6rem,8vw,7.4rem);letter-spacing:-.055em}h2{font-size:clamp(2.6rem,5vw,4.8rem);letter-spacing:-.04em}h3{font-size:1.8rem}.announcement{background:var(--lav);text-align:center;padding:.72rem 1rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.15em}.site-header{position:sticky;top:0;z-index:30;background:rgba(23,19,22,.95);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}.nav{max-width:var(--max);margin:auto;min-height:78px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.55rem}.links{display:flex;gap:32px;font-size:.93rem}.links a:hover{color:var(--lav)}.nav-actions{display:flex;gap:18px;font-size:.9rem}.hero{min-height:690px;background:radial-gradient(circle at 78% 42%,rgba(217,192,217,.18),transparent 29%),linear-gradient(135deg,#171316 0%,#211921 58%,#302331 100%);color:var(--cream);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);align-items:center;overflow:hidden}.hero-copy{width:min(690px,calc(100% - 56px));margin-left:max(28px,calc((100vw - var(--max))/2));padding:84px 0 98px}.eyebrow{color:var(--lav);text-transform:uppercase;letter-spacing:.24em;font-size:.76rem;font-weight:600;margin-bottom:1.25rem}.hero-copy p{max-width:620px;font-size:1.15rem;color:rgba(247,241,235,.82);margin:1.8rem 0 0}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:2.4rem}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:999px;border:0;font:inherit;font-size:.93rem;font-weight:600;cursor:pointer}.button.primary{background:var(--lav);color:var(--ink)}.button.secondary{border:1px solid rgba(247,241,235,.34);color:var(--cream);background:transparent}.hero-art{height:100%;min-height:690px;display:grid;place-items:center}.hero-art img{width:min(640px,92%);filter:drop-shadow(0 28px 50px rgba(0,0,0,.34))}.section{padding:96px 28px}.inner{max-width:var(--max);margin:auto}.intro{background:var(--lav);text-align:center}.intro .inner{max-width:900px}.intro p{max-width:760px;margin:1.5rem auto 0}.heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.heading .eyebrow{color:#7e657e}.text-link{font-size:.92rem;font-weight:600;border-bottom:1px solid var(--mutedlav)}.collection-grid,.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 10px 34px rgba(45,34,45,.06)}.collection-photo,.product-photo{aspect-ratio:1/1;display:grid;place-items:center;background:linear-gradient(145deg,rgba(217,192,217,.48),rgba(247,241,235,.95));overflow:hidden}.collection-photo img,.product-photo img{width:100%;height:100%;object-fit:cover}.card-copy{padding:20px}.card-copy h3{font-size:1.9rem}.card-copy p{color:var(--muted);font-size:.9rem;margin:.45rem 0 0}.featured{background:#efe7e1}.product{position:relative}.product-badge{position:absolute;z-index:2;top:12px;left:12px;background:var(--ink);color:var(--lav2);font-size:.66rem;letter-spacing:.12em;padding:7px 10px;border-radius:999px}.product-meta{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding-top:14px}.product-meta h3{font-size:1.45rem}.price{white-space:nowrap;font-size:.92rem}.event-highlight{background:#efe7e1}.event-highlight-card{background:var(--white);border:1px solid #e3d7e3;border-radius:22px;padding:30px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.event-date{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#7e657e;font-weight:600}.event-highlight-card h3{font-size:2.45rem;margin-top:8px}.custom-card{border-radius:28px;background:radial-gradient(circle at 78% 38%,rgba(217,192,217,.16),transparent 20%),linear-gradient(120deg,var(--ink),#302532);color:var(--cream);padding:clamp(42px,7vw,82px);display:grid;grid-template-columns:1fr .7fr;align-items:center;overflow:hidden}.custom-card p{margin:1.5rem 0 2rem;color:rgba(247,241,235,.78);max-width:580px}.moonbox{display:grid;place-items:center;min-height:300px;position:relative}.moon{width:min(340px,72%);color:var(--lav)}.social{background:var(--lav)}.social .inner{display:flex;justify-content:space-between;gap:28px;align-items:center}.social .eyebrow{color:#675367}.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.event-card{background:var(--white);border:1px solid #e3d7e3;border-radius:18px;padding:24px}.event-card p{color:var(--muted)}.faq details{background:var(--white);border:1px solid #e5d9e5;border-radius:12px;padding:20px 22px;margin-bottom:12px}.faq summary{cursor:pointer;font-weight:600}.page-hero{background:linear-gradient(135deg,#171316,#302331);color:var(--cream);padding:100px 28px}.page-hero .inner{max-width:900px}.page-hero p{font-size:1.1rem;color:rgba(247,241,235,.75);margin-top:18px}.content{max-width:900px;margin:auto;font-size:1.05rem}.content p{white-space:pre-line}.form-card{max-width:760px;margin:auto;background:var(--white);padding:30px;border-radius:18px;border:1px solid #e3d7e3}.field{display:grid;gap:7px;margin-bottom:16px}.field label{font-size:.82rem;font-weight:600}.field input,.field textarea,.field select{width:100%;border:1px solid #d8cad8;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}.field textarea{min-height:140px}.success{background:#e7efe8;color:#35573e;padding:12px 14px;border-radius:10px;margin-bottom:18px}.footer{background:var(--ink);color:var(--cream);padding:60px 28px 25px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-logo{width:120px}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.footer-links a{display:block;color:rgba(247,241,235,.65);margin-top:7px}.copyright{max-width:var(--max);margin:40px auto 0;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;color:rgba(247,241,235,.45);font-size:.78rem}.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px}.pagination a,.pagination span{padding:8px 12px;background:#fff;border-radius:8px;border:1px solid #e0d4e0}.product-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:50px}.gallery-main{border-radius:20px;overflow:hidden;background:#eee4ee}.gallery-main img{width:100%;aspect-ratio:1/1;object-fit:cover}.product-info h1{font-size:clamp(3rem,6vw,5rem)}.product-info .price{font-size:1.3rem;margin-top:18px}.product-info .description{white-space:pre-line;margin-top:22px;color:var(--muted)}.soldout{display:inline-block;margin-top:20px;background:#3b303b;color:#fff;padding:10px 14px;border-radius:999px}.menu-toggle{display:none}@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-copy{margin:0 auto;width:min(760px,calc(100% - 48px));text-align:center;padding-bottom:30px}.hero-copy p{margin-left:auto;margin-right:auto}.buttons{justify-content:center}.hero-art{min-height:420px;padding-bottom:50px}.collection-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.custom-card,.product-detail{grid-template-columns:1fr}.social .inner{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.links{display:none}.nav{padding:0 18px}.collection-grid,.product-grid,.events-grid{grid-template-columns:1fr}.section{padding:70px 18px}.heading{align-items:flex-start;flex-direction:column}.event-highlight-card{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.copyright{flex-direction:column;gap:6px}.hero-art{min-height:320px}.hero-copy{padding-top:60px}}

.muted{color:var(--muted);font-size:.9rem}

/* Shop navigation */
.shop-menu {
    position: relative;
}

.shop-menu summary {
    cursor: pointer;
    list-style: none;
}

.shop-menu summary::-webkit-details-marker {
    display: none;
}

.shop-menu summary::after {
    content: " ▾";
    font-size: .72em;
}

.shop-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    z-index: 50;
    display: grid;
    min-width: 210px;
    padding: 10px;
    background: #211c22;
    border: 1px solid rgba(206, 184, 208, .22);
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .28);
}

.shop-dropdown a {
    display: block;
    padding: 9px 12px;
    border-radius: 8px;
    white-space: nowrap;
}

.shop-dropdown a:hover {
    background: rgba(191, 163, 195, .14);
}

/* Shop category filters */
.category-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
}

.category-filter a {
    padding: 9px 16px;
    border: 1px solid rgba(116, 87, 119, .28);
    border-radius: 999px;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease;
}

.category-filter a:hover,
.category-filter a.active {
    background: #846b87;
    border-color: #846b87;
    color: #fff;
}

@media (max-width: 800px) {
    .shop-dropdown {
        position: static;
        margin-top: 10px;
        box-shadow: none;
    }
}

/* Clean floating Shop dropdown */
.shop-menu {
    position: relative;
    display: inline-block;
}

.shop-menu summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    list-style: none;
    color: inherit;
}

.shop-menu summary::-webkit-details-marker {
    display: none;
}

.shop-menu summary::after {
    content: "▾";
    font-size: 0.7em;
    color: #cdb6cf;
}

.shop-menu[open] summary::after {
    transform: rotate(180deg);
}

.shop-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    z-index: 1000;

    display: flex;
    flex-direction: column;
    gap: 2px;

    min-width: 220px;
    padding: 10px;

    background: #211c22;
    border: 1px solid rgba(205, 182, 207, 0.22);
    border-radius: 12px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.38);
}

.shop-dropdown a {
    display: block;
    width: 100%;
    padding: 10px 12px;

    color: #f3edf3;
    text-decoration: none;
    white-space: nowrap;

    border-radius: 8px;
}

.shop-dropdown a:hover {
    color: #ffffff;
    background: rgba(205, 182, 207, 0.14);
}

@media (max-width: 800px) {
    .shop-dropdown {
        min-width: 200px;
    }
}


/* Store pagination */
.store-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 18px;
    max-width: 520px;
    margin: 40px auto 0;
}

.store-pagination > div:last-child {
    text-align: right;
}

.store-pagination a,
.store-pagination .pagination-disabled {
    display: inline-block;
    padding: 9px 16px;
    border: 1px solid rgba(116, 87, 119, 0.28);
    border-radius: 8px;
    text-decoration: none;
}

.store-pagination a:hover {
    background: rgba(132, 107, 135, 0.12);
}

.store-pagination .pagination-disabled {
    opacity: 0.4;
}

.store-pagination .pagination-summary {
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .store-pagination {
        grid-template-columns: 1fr 1fr;
    }

    .store-pagination .pagination-summary {
        grid-column: 1 / -1;
        grid-row: 1;
    }
}


/* Clear storefront pagination */
.shop-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    margin: 48px auto 0;
    clear: both;
}

.shop-page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.shop-page-link,
.shop-page-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    color: #241e24;
    background: transparent;
    border: 1px solid rgba(116, 87, 119, 0.3);
    border-radius: 999px;
    text-decoration: none;
    font-weight: 500;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease;
}

.shop-page-number {
    min-width: 44px;
    padding-left: 12px;
    padding-right: 12px;
}

.shop-page-link:hover,
.shop-page-number:hover {
    color: #ffffff;
    background: #846b87;
    border-color: #846b87;
}

.shop-page-number.active {
    color: #ffffff;
    background: #846b87;
    border-color: #846b87;
}

.shop-page-link.disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.shop-pagination-summary {
    margin: 12px 0 0;
    text-align: center;
    color: rgba(36, 30, 36, 0.65);
    font-size: 14px;
}

.shop-empty-state {
    grid-column: 1 / -1;
    padding: 50px 20px;
    text-align: center;
}

@media (max-width: 600px) {
    .shop-pagination {
        gap: 8px;
    }

    .shop-page-link,
    .shop-page-number {
        min-height: 40px;
        padding: 8px 12px;
    }

    .shop-page-number {
        min-width: 40px;
    }
}


/* Custom order illustration */
.moonbox {
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-order-art {
    display: block;
    width: min(100%, 340px);
    height: auto;
    object-fit: contain;
}

@media (max-width: 760px) {
    .custom-order-art {
        width: min(78%, 280px);
    }
}


/* Make custom-order artwork larger */
.custom-order-art {
    width: min(100%, 430px);
}

@media (max-width: 760px) {
    .custom-order-art {
        width: min(88%, 330px);
    }
}


/* Preserve formatting entered in website page editors */
.formatted-page-content {
    white-space: pre-line;
    line-height: 1.75;
}


/* Formatted informational pages */
.formatted-page-content {
    line-height: 1.75;
}

.formatted-page-content h2 {
    margin: 36px 0 12px;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.formatted-page-content h2:first-child {
    margin-top: 0;
}

.formatted-page-content h3 {
    margin: 28px 0 10px;
    font-size: 1.45rem;
}

.formatted-page-content p {
    margin: 0 0 18px;
}

.formatted-page-content ul,
.formatted-page-content ol {
    margin: 0 0 22px 24px;
    padding: 0;
}

.formatted-page-content li {
    margin-bottom: 7px;
}

.formatted-page-content strong {
    font-weight: 600;
}


/* Tighter spacing before lists on formatted pages */
.formatted-page-content p + ul,
.formatted-page-content p + ol {
    margin-top: -8px;
}

.formatted-page-content ul,
.formatted-page-content ol {
    margin-bottom: 20px;
}


/* Markdown pages use normal HTML spacing */
.formatted-page-content {
    white-space: normal;
}

.formatted-page-content p:has(+ ul),
.formatted-page-content p:has(+ ol) {
    margin-bottom: 8px;
}

.formatted-page-content p + ul,
.formatted-page-content p + ol {
    margin-top: 0;
}


.instagram-link {
    color: inherit;
    text-decoration: none;
}

.instagram-link:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
}


/* Cart and promo-code styling */
.cart-error {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f5e4e4;
    color: #7f4141;
}

.cart-item-card {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 18px;
    align-items: center;
    margin-bottom: 14px;
    padding: 14px;
    border-radius: 14px;
    background: var(--card, #fff);
}

.cart-item-image,
.cart-item-placeholder {
    width: 120px;
    height: 120px;
    border-radius: 12px;
}

.cart-item-image {
    object-fit: cover;
}

.cart-item-placeholder {
    background: #eee4ee;
}

.cart-quantity-form {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
}

.cart-quantity-form input {
    width: 70px;
    padding: 7px;
}

.cart-quantity-form .button {
    min-height: 38px;
    padding: 0 14px;
}

.cart-remove {
    border: 0;
    background: none;
    cursor: pointer;
}

.cart-promo-card,
.cart-summary-card {
    margin-top: 24px;
    padding: 24px;
    border-radius: 14px;
    background: var(--card, #fff);
}

.cart-promo-card h3 {
    margin-top: 0;
}

.promo-code-form {
    display: flex;
    gap: 10px;
}

.promo-code-form input {
    flex: 1;
    min-width: 0;
}

.applied-promo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.applied-promo span {
    margin-left: 6px;
    color: #6e636b;
}

.cart-total-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: 1.1rem;
}

.cart-total-row + .cart-total-row {
    margin-top: 12px;
}

.discount-row {
    color: #5f7658;
}

.cart-estimated-total {
    padding-top: 14px;
    border-top: 1px solid rgba(70, 54, 72, 0.14);
    font-size: 1.25rem;
}

.cart-checkout-note {
    margin: 18px 0 0;
    color: #6e636b;
}

@media (max-width: 650px) {
    .cart-item-card {
        grid-template-columns: 90px 1fr;
    }

    .cart-item-image,
    .cart-item-placeholder {
        width: 90px;
        height: 90px;
    }

    .cart-item-card > form:last-child {
        grid-column: 2;
    }

    .promo-code-form {
        flex-direction: column;
    }
}


/* Promo-code card refinements */
.cart-promo-card {
    background: #ead9ec;
    border: 1px solid rgba(96, 67, 101, 0.18);
}

.cart-promo-card h3 {
    margin-bottom: 14px;
}

.promo-code-form input {
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid rgba(74, 52, 78, 0.35);
    border-radius: 10px;
    background: #fff;
}

.promo-code-form .button {
    min-width: 120px;
    min-height: 50px;
    border: 1px solid #5f4564;
    background: #5f4564;
    color: #fff;
    font-weight: 600;
}

.promo-code-form .button:hover {
    background: #4d3652;
    border-color: #4d3652;
}

.promo-code-form .button:focus {
    outline: 3px solid rgba(95, 69, 100, 0.25);
    outline-offset: 2px;
}


/* Promo-code card correction */
.cart-promo-card {
    background: #fff;
    border: 2px solid #d7b9dc;
}

.promo-code-form .button {
    background: #765a79;
    border-color: #765a79;
    color: #fff;
}

.promo-code-form .button:hover {
    background: #604864;
    border-color: #604864;
}


/* Promo-code card final styling */
.cart-promo-card {
    background: #fff;
    border: 0;
}


/* Keep promo Apply as a secondary action */
.promo-code-form .button {
    background: #d8bddb;
    border-color: #d8bddb;
    color: #2a2229;
}

.promo-code-form .button:hover {
    background: #c8a8cc;
    border-color: #c8a8cc;
}


/* Header wordmark */
.brand-moss,
.brand-moonlight {
    color: inherit;
}

.brand-ampersand {
    display: inline-block;
    margin: 0 3px;
    color: #d2b4d7;
    font-size: 1.12em;
    font-style: italic;
    line-height: 1;
    transform: translateY(1px);
}


/* Cursive Moonlight wordmark */
.brand-moonlight {
    display: inline-block;
    font-family: "Allura", cursive;
    font-size: 1.45em;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 0.8;
    transform: translateY(3px);
}


/* Refine the header wordmark */
.brand-moss {
    font-size: 1.08em;
}

.brand-ampersand {
    margin: 0 1px;
    color: inherit;
    font-size: 1em;
    font-style: normal;
    transform: none;
}

.brand-moonlight {
    font-size: 1.52em;
    font-weight: 400;
    transform: translateY(3px);
}


/* Fine-tune header wordmark alignment */
.brand-moss {
    position: relative;
    top: -2px;
}

.brand-ampersand {
    position: relative;
    top: -1px;
}

.brand-moonlight {
    position: relative;
    top: 2px;
}


/* Header wordmark alignment refinement */
.brand-moss {
    position: relative;
    top: -5px;
}

.brand-ampersand {
    position: relative;
    top: 0;
}

.brand-moonlight {
    position: relative;
    top: 2px;
}


/* Restore header wordmark alignment */
.brand-moss {
    position: relative;
    top: 0;
}

.brand-ampersand {
    position: relative;
    top: 0;
}

.brand-moonlight {
    position: relative;
    top: 0;
}


/* Full cursive header wordmark */
.brand-moss,
.brand-ampersand,
.brand-moonlight {
    position: static;
    top: auto;
    display: inline-block;
    margin: 0;
    color: inherit;
    font-family: "Allura", cursive;
    font-size: 1.55em;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.8;
    transform: none;
}

.brand-moss {
    margin-right: -2px;
}

.brand-ampersand {
    margin: 0 -1px;
    font-size: 1.05em;
}

.brand-moonlight {
    margin-left: -2px;
}


/* Enlarge the cursive ampersand */
.brand-ampersand {
    margin: 0 1px;
    font-size: 1.35em;
    line-height: 0.7;
    transform: translateY(2px);
}


/* Handmade section celestial star cluster */
.intro-star-cluster {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    line-height: 1;
}

.intro-star {
    display: inline-block;
    color: #241d23;
}

.intro-star-main {
    font-size: 1rem;
    transform: translateY(-5px);
}

.intro-star-small {
    font-size: 0.62rem;
}

.intro-star-tiny {
    font-size: 0.42rem;
    transform: translateY(5px);
}

