.shop{--ink:#382741;--rose:#f7dbe4;--green:#335849;color:var(--ink);max-width:1120px;margin:30px auto 60px}.shop-hero{display:grid;grid-template-columns:1.3fr 1fr;background:#f9ecea;border:1px solid #ecd6dd;border-radius:28px;padding:64px;gap:36px;align-items:center}.shop-kicker{font-size:11px;font-weight:800;letter-spacing:.16em}.shop h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,66px);line-height:1.08;font-weight:500;margin:24px 0}.shop h1 em{color:#955471}.shop p{line-height:1.75}.shop-hero p{max-width:430px}.shop-button{display:inline-flex;align-items:center;gap:20px;padding:13px 22px;border-radius:30px;background:var(--green);color:#fff!important;border:0;text-decoration:none;font-weight:700;font-size:14px;cursor:pointer}.shop-button:hover{background:#254235}.shop-art{background:#e7e9dc;border-radius:48% 48% 40% 40%;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(5deg);color:#416051}.shop-art>span{font-size:35px}.shop-cat{font-family:monospace;white-space:pre;font-size:43px;line-height:1.15}.shop-art p{font-family:Georgia,serif;font-style:italic;font-size:15px}.shop-ribbon{display:flex;justify-content:space-around;gap:15px;padding:25px 0;border-bottom:1px solid #e5dbe2;font-size:13px}.shop-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:48px 0 25px}.shop h2{font-family:Georgia,serif;font-size:30px;font-weight:500;margin:10px 0}.shop-heading>span,.shop-note{font-size:12px;color:#706574}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.shop-card{border:1px solid #e7dfe5;border-radius:20px;overflow:hidden;background:#fff}.shop-card img,.shop-placeholder{width:100%;height:240px;object-fit:cover}.shop-placeholder{display:grid;place-items:center;background:#ede9f1;color:#94789d;font-size:80px}.shop-card-body{padding:24px}.shop-card h3{margin:0}.shop-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.shop-card small{font-size:10px}.shop-empty{grid-column:1/-1;text-align:center;background:#fbf8f5;border:1px dashed #d9c5d1;border-radius:20px;padding:50px 25px}.shop-empty>span{font-size:36px}.shop-footer-note{text-align:center;margin-top:50px;padding:30px;background:#edf0e7;border-radius:20px}.shop-footer-note p{max-width:620px;margin:15px auto}.shop-checkout{max-width:640px;border:1px solid #ecd6dd;border-radius:24px;background:#fffaf7;padding:36px}.shop-checkout h1{font-size:42px}.shop-checkout label{display:block;font-weight:600;margin-bottom:8px}.shop-checkout input,.shop-checkout textarea,.shop-checkout select{box-sizing:border-box;width:100%;padding:12px;border:1px solid #b9a5b6;border-radius:10px;background:white;font:inherit}.shop-checkout button{margin-top:16px}.shop-address{overflow-wrap:anywhere;font-family:monospace;background:#edf0e7;padding:16px}.shop a:focus-visible,.shop button:focus-visible{outline:3px solid #955471;outline-offset:4px}@media(max-width:700px){.shop-hero{grid-template-columns:1fr;padding:30px}.shop-art{min-height:220px;max-width:290px;width:100%;margin:auto}.shop-grid{grid-template-columns:1fr}.shop-heading{align-items:flex-start;flex-direction:column}.shop-ribbon{flex-wrap:wrap}.shop-checkout{padding:22px}.shop{margin-top:15px}}
.shop-order-row{padding:22px;margin-bottom:16px;overflow-wrap:anywhere}.shop-checkout input[type=checkbox]{width:auto;margin-right:8px}.shop-checkout .errorlist{color:#922044}
.shop-product-media{display:grid;gap:24px;margin:24px 0}.shop-product-photo{margin:0;background:#f3eee9;border-radius:18px;overflow:hidden}.shop-product-photo img{display:block;width:100%;max-height:480px;object-fit:contain}.shop-product-model{padding:20px;border:1px solid #e7dfe5;border-radius:18px;background:#edf0e7}.shop-product-model h2{font-size:24px}.shop-product-model model-viewer{display:block;width:100%;height:380px;border-radius:12px;--progress-bar-color:#335849}.shop-product-model p{margin-bottom:0}@media(max-width:600px){.shop-product-model{padding:12px}.shop-product-model model-viewer{height:290px}}
.shop-payment-badge{display:inline-block;background:#e7e9dc;color:#335849;border-radius:20px;padding:5px 14px;font-weight:700}.shop-usd-estimate{font-weight:600;color:#335849}
.shop-color-options{min-width:0;margin:28px 0;padding:20px;border:1px solid #d6c4ce;border-radius:16px;background:#f9ecea}.shop-color-options legend{padding:0 8px;font-family:Georgia,serif;font-size:24px}.shop-color-options legend small{font-family:inherit;font-size:14px;color:#79566b}.shop-color-options>p{margin-top:0}.shop-color-options textarea{background:#fff}
.shop-product-lede{font-size:1.1rem;color:#706574}
.shop-external-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.shop-external-links a{display:inline-block;border:1px solid #c68ba5;border-radius:999px;padding:8px 14px;color:#793f63;text-decoration:none;font-weight:700;background:#f8e0e9}.shop-stock-status{display:inline-block;border-radius:999px;padding:8px 14px;font-weight:800;background:#edf0e7;color:#335849}.shop-stock-status--out{background:#f7d9d6;color:#8a3028}
.shop-color-pickers{display:grid;gap:12px;margin-top:16px}.shop-color-picker-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;background:#fff;border-radius:12px}.shop-color-picker-row label{display:flex;gap:12px;align-items:center;margin:0;flex:1;overflow-wrap:anywhere}.shop-color-picker-row input[type=color]{width:52px;height:42px;padding:3px;flex-shrink:0;cursor:pointer}.shop-color-picker-row button{margin:0;background:none;border:1px solid #b9a5b6;border-radius:8px;padding:7px;cursor:pointer;color:#793f63}.shop-buyer-colors{min-width:0;margin:20px 0;border:0;padding:0}.shop-buyer-colors legend{font-weight:700;margin-bottom:12px}.shop-color-choices{display:flex;flex-wrap:wrap;gap:10px}.shop-checkout label.shop-color-choice{display:flex;align-items:center;gap:10px;border:2px solid #ded1da;background:white;border-radius:14px;padding:12px;margin:0;cursor:pointer;max-width:100%;box-sizing:border-box}.shop-color-choice:has(input:checked){border-color:#335849;background:#edf0e7}.shop-color-choice:focus-within{outline:3px solid #955471;outline-offset:3px}.shop-checkout .shop-color-choice input{width:auto;margin:0;accent-color:#335849}.shop-color-choice>span:last-child{overflow-wrap:anywhere;min-width:0}.shop-color-choice small{display:block;font-size:11px;font-weight:400;color:#706574}.shop-color-dot{display:inline-block;width:30px;height:30px;flex-shrink:0;border-radius:50%;border:1px solid #8b8089;box-shadow:inset 0 0 0 2px #ffffff80;vertical-align:middle}.shop-color-dot--unset{background:repeating-linear-gradient(45deg,#eee 0,#eee 5px,#fff 5px,#fff 10px)}
.shop-conversation { margin-top: 2rem; border-top: 1px solid #ddd; padding-top: 1.5rem; }
.shop-conversation-entry { padding: 1rem; margin: 0.75rem 0; background: #fff; border: 1px solid #e6dce4; border-radius: 12px; overflow-wrap: anywhere; }
.shop-conversation-entry p { margin-top: 0; }
.shop-conversation textarea { width: 100%; box-sizing: border-box; }
.shop a.shop-card { display: block; color: var(--ink); text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.shop a.shop-card:hover { border-color: #955471; box-shadow: 0 4px 16px #38274118; }
.shop a.shop-card:focus-visible { outline: 3px solid #955471; outline-offset: 4px; }
.shop-shipping { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #e5dbe2; border-radius: 16px; min-width: 0; }
.shop-shipping legend { padding: 0 .4rem; font-size: 1.1rem; font-weight: 700; }
.shop-shipping-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.shop-shipping-field { grid-column: 1 / -1; min-width: 0; }
.shop-shipping-field--half { grid-column: auto; }
.shop-shipping .shop-note { margin: .4rem 0; }
.shop-shipping input { font-size: 16px; min-height: 48px; }
@media (max-width: 480px) { .shop-shipping-grid { grid-template-columns: 1fr; } .shop-shipping { padding: 1rem; } }
.shop-status--success, .shop-order--fulfilled { border-left: 5px solid #32804b; }
.shop-status--warning, .shop-order--pending, .shop-order--review { border-left: 5px solid #b77a13; }
.shop-status--danger, .shop-order--denied { border-left: 5px solid #ba404e; }
.shop-order--paid { border-left: 5px solid #397db3; }
.shop-status-label { display: inline-block; padding: .25rem .6rem; margin: .35rem .2rem .1rem 0; border-radius: 8px; background: #f0edf1; font-size: .85rem; font-weight: 600; }
.shop-status--success .shop-status-label, .shop-order--fulfilled .shop-status-label { background: #e5f3e9; color: #235c35; }
.shop-status--warning .shop-status-label, .shop-order--pending .shop-status-label, .shop-order--review .shop-status-label { background: #fff1cd; color: #79500b; }
.shop-status--danger .shop-status-label, .shop-order--denied .shop-status-label { background: #fce8ec; color: #8c2734; }
.shop-order--paid .shop-status-label { background: #e5f0fb; color: #27567d; }
.shop-order-card { margin: .85rem 0; }
.shop-order-card summary { padding: 1rem; cursor: pointer; }
.shop-order-title { font-weight: 700; margin-right: .75rem; overflow-wrap: anywhere; }
.shop-read-label { font-size: .8rem; margin-left: .5rem; }
.shop-order-card summary:focus-visible { outline: 3px solid #955471; outline-offset: -3px; }
.shop-order-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.shop-order-actions form { margin: 0; }
.shop-button--secondary { background: #65536d; }
@media (max-width: 480px) { .shop-order-title { display: block; } .shop-order-actions > *, .shop-order-actions button { width: 100%; box-sizing: border-box; justify-content: center; } }
.shop-seller-credit { font-size: .9rem; padding: .5rem 0; color: #594363; }
.shop-shop-form label { display: block; font-weight: 600; margin-bottom: .4rem; }
.shop-shop-form input:not([type=hidden]), .shop-shop-form textarea { width: 100%; box-sizing: border-box; padding: .7rem; border: 1px solid #b9a5b6; border-radius: 8px; font: inherit; font-size: 16px; }
.seller-welcome-hero { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; align-items: center; background: #f9ecea; border-radius: 28px; padding: 3rem; margin: 1.5rem 0 3rem; }
.seller-welcome-art { background: #fffaf2; border: 3px solid #d5aeaa; border-radius: 18px; text-align: center; transform: rotate(3deg); padding-bottom: 2rem; box-shadow: 10px 10px 0 #e7d8df; }
.seller-awning { background: repeating-linear-gradient(90deg,#edd3de 0 32px,#fff4ed 32px 64px); border-radius: 14px 14px 0 0; padding: 1.4rem .5rem; font-weight: 800; }
.seller-window { font-size: 2.5rem; margin: 2rem .5rem; padding: 1rem; background: #edf0e7; border-radius: 8px; }
.seller-open-sign { font-family: Georgia,serif; font-style: italic; font-size: 1.4rem; }
.seller-steps, .seller-features { display: grid; gap: 1rem; padding: 0; margin: 1.5rem 0 3rem; }
.seller-steps { grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; }
.seller-features { grid-template-columns: repeat(3,minmax(0,1fr)); }
.seller-steps li, .seller-features article { border: 1px solid #e7dfe5; border-radius: 20px; padding: 1.3rem; background: #fff; }
.seller-steps li:nth-child(even), .seller-features article:nth-child(even) { background: #edf0e7; }
.seller-steps li > span, .seller-features article > span { font-size: 2rem; }
.seller-steps h3, .seller-features h3 { margin: .8rem 0; }
.seller-application { margin: auto; max-width: 680px; }
@media(max-width:800px) { .seller-steps, .seller-features { grid-template-columns: repeat(2,minmax(0,1fr)); } .seller-welcome-hero { grid-template-columns: 1fr; padding: 2rem; } .seller-welcome-art { max-width: 320px; width: 100%; margin: auto; } }
@media(max-width:480px) { .seller-steps, .seller-features { grid-template-columns: 1fr; } .seller-welcome-hero { padding: 1.5rem; } }
.shop-directory-card { padding: 1.5rem; box-sizing: border-box; }
.shop-directory-icon { display: grid; place-items: center; width: 64px; height: 64px; background: #f7dbe4; border-radius: 20px; font-size: 2rem; margin-bottom: 1rem; }
.shop-directory-card:nth-child(even) .shop-directory-icon { background: #edf0e7; }
.shop-directory-card h3, .shop-directory-card p { overflow-wrap: anywhere; }
.shop-seller-banner { margin-top: 1.5rem; padding: clamp(1.5rem,5vw,3rem); background: #f9ecea; border-radius: 24px; }
.shop .shop-directory-picture { display: block; width: 64px; height: 64px; object-fit: cover; border-radius: 20px; margin-bottom: 1rem; border: 1px solid #e7dfe5; }
.shop-reward-badge {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .7rem;
    border: 1px solid #dac3e7;
    border-radius: 999px;
    background: linear-gradient(115deg, #f4eafa, #fff0e6);
    color: #623c77;
    font-size: .85rem;
    font-weight: 750;
    box-shadow: 0 2px 7px #b989c51a;
}
.shop-reward-terms { display: block; margin-top: .35rem; }
.shop-reward-sparkle { color: #935e9e; animation: shop-reward-twinkle 3.5s ease-in-out 3; }
.shop-reward-sparkle--small { font-size: .8em; animation-delay: 1.2s; }
@keyframes shop-reward-twinkle {
    0%, 100% { opacity: .7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.15); }
}
@media (prefers-reduced-motion: reduce) { .shop-reward-sparkle { animation: none; } }
.shop-seller-heading { display: flex; align-items: center; gap: 1.25rem; }
.shop-seller-heading h1 { margin: .5rem 0; overflow-wrap: anywhere; min-width: 0; }
.shop-seller-picture { width: 112px; height: 112px; flex: 0 0 112px; object-fit: cover; border-radius: 24px; border: 2px solid #e7dfe5; background: #fff; }
@media (max-width: 480px) { .shop-seller-heading { flex-direction: column; align-items: flex-start; gap: .75rem; } }

.shop-button:disabled{opacity:.55;cursor:not-allowed}

/* A little invitation to the KTY rewards shelf. */
.secret-shelf-invite{display:inline-flex;align-items:center;justify-content:center;gap:16px;max-width:100%;box-sizing:border-box;padding:14px 24px;border:1px solid #d8b8df;border-radius:24px;background:linear-gradient(115deg,#f0e4ff,#fff0e6 55%,#fce2ef);color:#593465!important;text-decoration:none;box-shadow:0 3px 16px #b17fc125,inset 0 1px 0 #ffffff;transition:box-shadow .2s ease,border-color .2s ease;vertical-align:middle}
.secret-shelf-invite strong{display:block;font-family:Georgia,serif;font-size:23px;line-height:1.3}
.secret-shelf-caption{display:block;font-size:13px;line-height:1.6}
.secret-shelf-stars{color:#91529c;font-size:22px;white-space:nowrap;animation:secret-shelf-twinkle 3s ease-in-out 3}
.secret-shelf-stars-last{animation-delay:.7s;font-size:17px}
.secret-shelf-invite:hover{border-color:#ad77bd;box-shadow:0 5px 22px #b17fc145,inset 0 1px 0 #fff}
.secret-shelf-invite:focus-visible{outline:3px solid #955471;outline-offset:4px}
@keyframes secret-shelf-twinkle{0%,100%{opacity:.65;transform:scale(.92)}50%{opacity:1;transform:scale(1.12);text-shadow:0 0 10px #cc92df}}
@media(max-width:480px){.secret-shelf-invite{gap:10px;padding:12px 16px}.secret-shelf-stars{font-size:17px}.secret-shelf-stars-last{font-size:13px}}
@media(prefers-reduced-motion:reduce){.secret-shelf-stars{animation:none}.secret-shelf-invite{transition:none}}

.secret-shelf-video{display:block;width:100%;max-width:800px;aspect-ratio:16/9;border:0;border-radius:16px;background:#211927;margin:16px 0}

/* Clear sections within Secret Shelf cards and their editor preview. */
.shop .shelf-publisher{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:16px 0 20px;padding:10px 14px;border:1px solid #e2d3eb;border-radius:12px;background:#f7f0fb;color:#593465;overflow-wrap:anywhere;line-height:1.5}
.shelf-publisher-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#705577}
.shelf-publisher a,.shelf-publisher strong{font-size:14px;font-weight:700}
.shop .shelf-description{margin:0 0 18px;color:#514657;overflow-wrap:anywhere;line-height:1.75}
.shelf-description p:first-child{margin-top:0}.shelf-description p:last-child{margin-bottom:0}
.shop .shelf-price{border-top:1px solid #e9dfe9;padding-top:18px;margin:0 0 16px}

/* Stable seller accents match product cards to the shop directory. */
.shop-colored-card{--shop-accent:hsl(var(--shop-hue) 36% 39%);--shop-tint:hsl(var(--shop-hue) 55% 96%);border-top:5px solid var(--shop-accent)}
.shop .shop-colored-card .shop-seller-credit{display:flex;flex-direction:column;gap:4px;margin:16px 0 20px;padding:12px 14px;border:1px solid hsl(var(--shop-hue) 35% 82%);border-left:4px solid var(--shop-accent);border-radius:12px;background:var(--shop-tint);color:#382741;line-height:1.5;overflow-wrap:anywhere}
.shop-credit-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--shop-accent)}
.shop-credit-owner{font-size:12px;color:#605769}
.shop-colored-card .shop-card-bottom{border-top:1px solid #e9dfe9;padding-top:16px;margin-top:18px}
.shop .shop-colored-card.shop-directory-card{background:var(--shop-tint)}
.shop .shop-colored-card .shop-directory-icon{background:hsl(var(--shop-hue) 45% 90%)}
.shop a.shop-colored-card:hover{border-color:var(--shop-accent)}

/* Seller workspace: grouped tools with one primary action. */
.seller-dashboard-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:24px 0; }
.seller-dashboard .seller-dashboard-eyebrow { font-size:11px; font-weight:800; letter-spacing:.13em; color:#65536d; margin:0 0 8px; }
.seller-dashboard-header h1 { font-size:clamp(32px,4vw,48px); margin:0 0 12px; }
.seller-dashboard-header p { margin:0; }
.seller-dashboard-header .shop-button { flex-shrink:0; }
.seller-dashboard-shortcuts { display:flex; flex-wrap:wrap; gap:8px 24px; padding:16px 0; border-top:1px solid #e7dfe5; border-bottom:1px solid #e7dfe5; margin-bottom:24px; }
.seller-dashboard-shortcuts a { display:inline-flex; align-items:center; gap:8px; padding:6px 0; color:#335849; font-weight:700; text-decoration:none; }
.seller-dashboard-shortcuts span { border-radius:20px; background:#e8efe9; padding:2px 8px; font-size:12px; }
.seller-tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.seller-tool-group { min-width:0; padding:22px; border:1px solid #e7dfe5; border-radius:20px; background:#fff; }
.seller-tool-group:first-child { background:#f1f6f1; border-color:#d6e3d8; }
.seller-tool-group:last-child { background:#faf4f8; }
.seller-tool-group h2 { font-size:26px; margin:0; }
.seller-dashboard .seller-tool-intro { font-size:13px; line-height:1.5; color:#65536d; margin:8px 0 18px; }
.seller-dashboard .seller-tool-link { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--ink); padding:14px 0; text-decoration:none; border-top:1px solid #e3dce3; }
.seller-tool-link strong { display:block; font-size:14px; line-height:1.4; }
.seller-tool-link small { display:block; font-size:12px; line-height:1.5; margin-top:5px; color:#65536d; }
.seller-tool-link:hover strong, .seller-dashboard-shortcuts a:hover { text-decoration:underline; }
.seller-tool-link:hover { color:#335849; }
.seller-tool-footer { display:flex; flex-wrap:wrap; gap:12px; border-top:1px solid #e3dce3; padding-top:14px; font-size:12px; }
.seller-dashboard-settings { margin:22px 0 12px; padding:14px 18px; background:#f3eef3; border-radius:12px; font-size:13px; overflow-wrap:anywhere; }
.seller-dashboard-settings summary { cursor:pointer; font-weight:700; padding:4px 0; }
.seller-dashboard summary:focus-visible { outline:3px solid #955471; outline-offset:4px; }
.seller-dashboard #seller-listings, .seller-dashboard #orders, .seller-dashboard #shop-information { scroll-margin-top:180px; }
@media(max-width:1000px) { .seller-tool-grid { grid-template-columns:1fr; } .seller-tool-group { padding:20px; } }
@media(max-width:600px) { .seller-dashboard-header { align-items:flex-start; flex-direction:column; gap:18px; } .seller-dashboard-header .shop-button { align-self:stretch; justify-content:center; } .seller-dashboard-shortcuts { gap:8px 18px; } }
