:root {
  --shop-plum: #451936;
  --shop-plum-deep: #260d20;
  --shop-plum-soft: #74455f;
  --shop-gold: #c89a48;
  --shop-champagne: #f2d9a2;
  --shop-ivory: #fffaf0;
  --shop-ink: #2f2229;
}

.shop-nav-link { display: inline-flex !important; align-items: center; gap: .35rem; }
.shop-nav-link > span { display: grid; place-items: center; min-width: 1.35rem; height: 1.35rem; padding: 0 .25rem; color: #fff; background: var(--shop-plum); border: 1px solid var(--shop-gold); border-radius: 999px; font-size: .66rem; }

/* Public shop */
.public-shop { background: var(--shop-ivory); }
.shop-hero { position: relative; overflow: hidden; min-height: 590px; color: #fff; background: radial-gradient(circle at 78% 28%, rgba(230,190,107,.28), transparent 19%), radial-gradient(circle at 14% 82%, rgba(179,117,164,.2), transparent 25%), linear-gradient(128deg, #260d20 0%, #4b1939 58%, #6c3a56 100%); }
.shop-hero::before, .support-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle, rgba(255,240,190,.9) 0 1px, transparent 1.7px), radial-gradient(circle, rgba(255,255,255,.7) 0 1px, transparent 1.5px); background-position: 0 0, 37px 29px; background-size: 83px 83px, 127px 127px; opacity: .28; }
.shop-hero::after { content: ""; position: absolute; width: 42rem; height: 42rem; right: -12rem; top: -18rem; border: 1px solid rgba(242,217,162,.24); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(255,255,255,.018), 0 0 0 8rem rgba(255,255,255,.015); }
.shop-hero-grid { position: relative; z-index: 1; min-height: 590px; display: grid; grid-template-columns: 1.3fr .7fr; gap: 5rem; align-items: center; padding-top: 5rem; padding-bottom: 5rem; }
.shop-hero .eyebrow, .support-hero .eyebrow { color: var(--shop-champagne); }
.shop-hero h1 { max-width: 760px; margin: 1rem 0 1.25rem; font: 600 clamp(3.8rem, 8vw, 7.4rem)/.82 'Cormorant Garamond', Georgia, serif; letter-spacing: -.055em; }
.shop-hero h1 em { color: var(--shop-champagne); font-weight: 500; }
.shop-hero p { max-width: 620px; margin-bottom: 2rem; color: rgba(255,255,255,.78); font-size: 1.03rem; line-height: 1.8; }
.shop-hero-seal { justify-self: center; width: 260px; aspect-ratio: 1; display: grid; place-content: center; gap: .7rem; text-align: center; border: 1px solid rgba(242,217,162,.65); border-radius: 50%; box-shadow: inset 0 0 0 9px rgba(242,217,162,.07), 0 0 65px rgba(218,177,88,.16); transform: rotate(5deg); }
.shop-hero-seal span { color: var(--shop-champagne); font-size: 1.4rem; }.shop-hero-seal strong { font: 600 2.1rem/1 'Cormorant Garamond',serif; }.shop-hero-seal small { color: rgba(255,255,255,.58); letter-spacing: .18em; text-transform: uppercase; }
.shop-intro { padding: 1rem 0; color: #fff; background: linear-gradient(90deg, #a47224, #d4ad5f, #9c6b20); }
.shop-intro p { margin: 0; text-align: center; font: 600 1.02rem 'Cormorant Garamond',serif; letter-spacing: .025em; }.shop-intro span { margin: 0 1rem; }
.shop-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }.shop-section-heading h2 { color: var(--shop-plum); font: 600 clamp(2.6rem,5vw,4.7rem)/.92 'Cormorant Garamond',serif; }
.shop-bag-link { display: inline-flex; align-items: center; gap: .65rem; color: var(--shop-plum); font-weight: 700; }.shop-bag-link span { display: grid; place-items: center; min-width: 2rem; height: 2rem; color: #fff; background: var(--shop-plum); border: 1px solid var(--shop-gold); border-radius: 50%; }
.shop-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.25rem; }
.shop-product-card { overflow: hidden; color: var(--shop-ink); background: rgba(255,255,255,.68); border: 1px solid rgba(89,34,70,.12); box-shadow: 0 18px 48px rgba(58,24,45,.08); }
.shop-product-image { position: relative; display: block; overflow: hidden; aspect-ratio: 4/5; background: linear-gradient(145deg,#eedecb,#d6b4c8); }
.shop-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s ease; }.shop-product-card:hover img { transform: scale(1.035); }
.shop-product-view { position: absolute; inset: auto 1rem 1rem; padding: .75rem 1rem; text-align: center; color: #fff; background: rgba(48,15,37,.85); border: 1px solid rgba(242,217,162,.52); opacity: 0; transform: translateY(.5rem); transition: .25s; }.shop-product-card:hover .shop-product-view { opacity: 1; transform: none; }
.shop-image-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(255,255,255,.72); font: 600 7rem 'Cormorant Garamond',serif; background: radial-gradient(circle,rgba(255,255,255,.2),transparent 45%), linear-gradient(145deg,#4b1939,#7b4966); }
.shop-product-copy { display: grid; gap: .85rem; padding: 1.5rem; }.shop-product-copy h3 { margin: .25rem 0 0; font: 600 2rem/1 'Cormorant Garamond',serif; }.shop-product-copy h3 a { color: var(--shop-plum); }.shop-product-copy p { min-height: 3rem; margin: 0; color: #72646c; font-size: .88rem; line-height: 1.65; }
.shop-product-meta { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid rgba(69,25,54,.12); }.shop-product-meta strong { color: var(--shop-plum); font-size: 1rem; }.shop-product-meta span { font-size: .72rem; }.is-available { color: #526f4b; }.is-sold-out { color: #8c6666; }
.shop-empty { grid-column: 1/-1; padding: 5rem 2rem; text-align: center; color: var(--shop-plum); border: 1px solid rgba(200,154,72,.45); background: radial-gradient(circle at 50% 0,rgba(200,154,72,.18),transparent 40%),#fffaf2; }.shop-empty > span { color: var(--shop-gold); font-size: 2rem; }.shop-empty h2 { margin: 1rem auto; max-width: 650px; font: 600 2.8rem/1 'Cormorant Garamond',serif; }.shop-empty p { max-width: 550px; margin: 0 auto 1.5rem; color: #75636e; }
.shop-promise { color: #fff; background: var(--shop-plum-deep); }.shop-promise > div { display: grid; grid-template-columns: repeat(3,1fr); }.shop-promise > div > div { padding: 3rem; border-right: 1px solid rgba(242,217,162,.18); }.shop-promise span { color: var(--shop-gold); font-size: .72rem; letter-spacing: .15em; }.shop-promise h2 { margin: .5rem 0; color: var(--shop-champagne); font: 600 1.65rem 'Cormorant Garamond',serif; }.shop-promise p { margin: 0; color: rgba(255,255,255,.62); font-size: .82rem; }

/* Product and cart */
.shop-breadcrumb { display: flex; align-items: center; gap: .7rem; padding-top: 2rem; padding-bottom: 2rem; color: #8a7480; font-size: .78rem; }.shop-breadcrumb a { color: var(--shop-plum); }.shop-breadcrumb .shop-bag-link { margin-left: auto; }
.product-detail { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(2.5rem,6vw,7rem); align-items: center; padding-bottom: 6rem; }
.product-detail-image { position: relative; overflow: hidden; aspect-ratio: 4/5; background: #e5d0dc; box-shadow: 0 28px 70px rgba(48,15,37,.14); }.product-detail-image img { width: 100%; height: 100%; object-fit: cover; }.product-detail-image > i { position: absolute; top: 1.5rem; right: 1.5rem; color: var(--shop-champagne); font-size: 1.5rem; text-shadow: 0 2px 12px #321025; }
.product-detail-copy h1 { margin: .7rem 0; color: var(--shop-plum); font: 600 clamp(3.2rem,6vw,5.8rem)/.88 'Cormorant Garamond',serif; letter-spacing: -.045em; }.product-price { display: block; color: #996817; font-size: 1.2rem; }.product-description { margin: 1.4rem 0 2rem; color: #6f6169; line-height: 1.8; white-space: pre-line; }
.product-order-form { display: grid; grid-template-columns: 1fr 110px; gap: .8rem; padding: 1.5rem; background: #fff; border: 1px solid rgba(69,25,54,.14); }.product-order-form label:nth-of-type(2) { grid-column: 2; grid-row: 1; }.product-order-form .btn { grid-column: 1/-1; }.product-care { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.3rem; }.product-care > div { display: flex; gap: .7rem; padding: 1rem; color: #725e69; border: 1px solid rgba(200,154,72,.25); }.product-care span { color: #b78329; }.product-care p { margin: 0; font-size: .75rem; }.product-care strong { display: block; color: var(--shop-plum); font-family: 'Cormorant Garamond',serif; font-size: 1rem; }
.product-detail-footer { padding: 3rem 0; color: #fff; background: var(--shop-plum); }.product-detail-footer > div { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }.product-detail-footer p { margin: 0; color: var(--shop-champagne); font: italic 600 1.8rem 'Cormorant Garamond',serif; }.product-detail-footer a { color: #fff; }
.shop-cart-hero { padding: 5rem 0 3rem; color: #fff; background: radial-gradient(circle at 80% 20%,rgba(223,180,91,.22),transparent 25%),var(--shop-plum); }.shop-cart-hero h1 { margin: .5rem 0; color: #fff; font: 600 clamp(3.4rem,6vw,5.4rem)/.9 'Cormorant Garamond',serif; }.shop-cart-hero p { color: rgba(255,255,255,.7); }
.shop-cart-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(320px,.55fr); gap: 3rem; align-items: start; }.shop-cart-heading { display: flex; justify-content: space-between; align-items: center; padding-bottom: 1rem; border-bottom: 1px solid rgba(69,25,54,.15); }.shop-cart-heading h2 { color: var(--shop-plum); font: 600 2rem 'Cormorant Garamond',serif; }.shop-cart-heading a { color: #8e621b; font-size: .8rem; }
.shop-cart-line { display: grid; grid-template-columns: 105px 1fr 105px 100px; gap: 1.2rem; align-items: center; padding: 1.3rem 0; border-bottom: 1px solid rgba(69,25,54,.12); }.shop-cart-image { overflow: hidden; aspect-ratio: 1; }.shop-cart-image img { width: 100%; height: 100%; object-fit: cover; }.shop-cart-line h3 { margin: 0; color: var(--shop-plum); font: 600 1.45rem 'Cormorant Garamond',serif; }.shop-cart-line p { margin: .2rem 0; color: #887581; font-size: .78rem; }.shop-cart-line label span,.shop-cart-line label small { display: block; color: #7c6974; font-size: .65rem; }.shop-cart-line > strong:last-child { text-align: right; color: var(--shop-plum); }
.shop-order-summary { position: sticky; top: 7rem; padding: 2rem; color: #fff; background: radial-gradient(circle at 100% 0,rgba(224,181,91,.22),transparent 35%),var(--shop-plum-deep); box-shadow: 0 22px 60px rgba(38,13,32,.16); }.shop-order-summary .eyebrow { color: var(--shop-champagne); }.shop-order-summary h2 { margin: .6rem 0; color: #fff; font: 600 3rem 'Cormorant Garamond',serif; }.shop-order-summary p { color: rgba(255,255,255,.66); font-size: .82rem; line-height: 1.7; }.shop-order-summary .form-label { color: #fff; }.shop-order-summary .btn { margin-top: 1rem; }.shop-order-summary ul { display: grid; gap: .55rem; margin: 1.5rem 0 0; padding: 1.2rem 0 0; border-top: 1px solid rgba(255,255,255,.14); list-style: none; color: var(--shop-champagne); font-size: .72rem; }.shop-order-summary li::before { content: "✦"; margin-right: .6rem; color: var(--shop-gold); }

/* Support */
.public-support { background: #fffaf2; }.support-hero { position: relative; overflow: hidden; padding: 5rem 0; color: #fff; background: linear-gradient(125deg,var(--shop-plum-deep),var(--shop-plum)); }.support-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .85fr 1.15fr; gap: 4rem; align-items: center; }.support-hero-copy h1 { margin: .7rem 0 1.2rem; color: #fff; font: 600 clamp(4rem,7vw,7rem)/.8 'Cormorant Garamond',serif; letter-spacing: -.055em; }.support-hero-copy h1 em { color: var(--shop-champagne); font-weight: 500; }.support-hero-copy p { max-width: 530px; color: rgba(255,255,255,.73); line-height: 1.8; }.support-hero-image { position: relative; min-height: 500px; }.support-hero-image img,.support-image-fallback { width: 100%; height: 500px; object-fit: cover; border: 1px solid rgba(242,217,162,.35); box-shadow: 0 30px 80px rgba(0,0,0,.28); }.support-image-fallback { display: grid; place-content: center; gap: 1rem; padding: 4rem; text-align: center; background: radial-gradient(circle,rgba(224,181,91,.24),transparent 40%),linear-gradient(145deg,#6a3657,#321025); }.support-image-fallback span { color: var(--shop-champagne); font-size: 2rem; }.support-image-fallback p { max-width: 430px; color: #fff; font: italic 600 2.5rem/1.1 'Cormorant Garamond',serif; }.support-image-note { position: absolute; right: -1rem; bottom: 2rem; padding: .8rem 1.1rem; color: var(--shop-plum-deep); background: var(--shop-champagne); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.support-purpose { padding: 5rem 0; background: #fff; }.support-purpose > div { display: grid; grid-template-columns: 90px 1fr 1fr; gap: 2.5rem; align-items: center; }.support-purpose-mark { color: var(--shop-gold); font: 500 4rem 'Cormorant Garamond',serif; }.support-purpose h2 { max-width: 650px; margin: .5rem 0 0; color: var(--shop-plum); font: 600 clamp(2.4rem,4vw,4rem)/.95 'Cormorant Garamond',serif; }.support-purpose p { margin: 0; color: #74636c; line-height: 1.85; }
.support-contribution-section { background: linear-gradient(145deg,#f5eadc,#fffaf2); }.support-contribution-grid { display: grid; grid-template-columns: 1fr .9fr; gap: 5rem; align-items: center; }.support-contribution-grid > div > h2 { margin: .5rem 0 1rem; color: var(--shop-plum); font: 600 clamp(3rem,5vw,5rem)/.88 'Cormorant Garamond',serif; }.support-contribution-grid > div > p { color: #74646c; line-height: 1.8; }.support-amounts { display: grid; gap: .7rem; margin-top: 2rem; }.support-amounts button { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.2rem; color: var(--shop-plum); background: rgba(255,255,255,.7); border: 1px solid rgba(69,25,54,.16); text-align: left; font: 700 1rem 'DM Sans',sans-serif; }.support-amounts button span { color: #8a757f; font-size: .72rem; font-weight: 500; }.support-amounts button:hover,.support-amounts button.is-selected { color: #fff; background: var(--shop-plum); border-color: var(--shop-gold); }.support-amounts button:hover span,.support-amounts button.is-selected span { color: var(--shop-champagne); }
.support-form { position: relative; padding: 2.5rem; color: #fff; background: radial-gradient(circle at 100% 0,rgba(224,181,91,.2),transparent 30%),var(--shop-plum-deep); box-shadow: 0 25px 70px rgba(48,15,37,.2); }.support-form-number { position: absolute; right: 2rem; top: 1.4rem; color: rgba(242,217,162,.26); font: 600 4rem 'Cormorant Garamond',serif; }.support-form h2 { color: #fff; font: 600 2.2rem 'Cormorant Garamond',serif; }.support-form > p { color: rgba(255,255,255,.64); font-size: .8rem; line-height: 1.7; }.support-form .form-label { color: var(--shop-champagne); }.support-amount-input { display: grid; grid-template-columns: auto 1fr; align-items: center; margin-bottom: 1.2rem; color: var(--shop-champagne); background: #fff; }.support-amount-input > span { padding-left: 1rem; font-weight: 700; }.support-amount-input .form-control { border: 0; box-shadow: none; }.support-form .form-check { display: flex; gap: .6rem; margin: 1.2rem 0; }.support-form .form-check-label strong,.support-form .form-check-label small { display: block; }.support-form .form-check-label small { color: rgba(255,255,255,.58); font-size: .68rem; }.support-form .support-form-trust { margin: 1rem 0 0; text-align: center; color: rgba(242,217,162,.7); font-size: .62rem; letter-spacing: .05em; }
.support-process { padding: 6rem 0; color: #fff; background: var(--shop-plum); }.support-process-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; }.support-process-heading .eyebrow { color: var(--shop-champagne); }.support-process-heading h2 { max-width: 650px; color: #fff; font: 600 clamp(2.7rem,5vw,4.6rem)/.9 'Cormorant Garamond',serif; }.support-process ol { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(242,217,162,.3); }.support-process li { padding: 2rem 2rem 0 0; }.support-process li > span { color: var(--shop-gold); font-size: .72rem; letter-spacing: .15em; }.support-process h3 { margin: .8rem 0; color: var(--shop-champagne); font: 600 1.6rem 'Cormorant Garamond',serif; }.support-process p { color: rgba(255,255,255,.62); font-size: .82rem; line-height: 1.7; }
.support-assurance { padding: 6rem 0; background: #fff; }.support-assurance > div { display: grid; grid-template-columns: 1.1fr .9fr; gap: 5rem; align-items: center; }.support-assurance > div > div:first-child { padding: 3rem; border: 1px solid rgba(200,154,72,.4); background: radial-gradient(circle at 15% 10%,rgba(200,154,72,.17),transparent 28%),#fffaf2; }.support-assurance h2 { margin: .6rem 0 0; color: var(--shop-plum); font: 600 clamp(3rem,5vw,5.2rem)/.85 'Cormorant Garamond',serif; }.support-assurance h2 em { color: #a77625; }.support-assurance h3 { color: var(--shop-plum); font: 600 1.35rem 'Cormorant Garamond',serif; }.support-assurance p { margin-bottom: 1.5rem; color: #786871; font-size: .83rem; line-height: 1.65; }

/* Admin: consolidated placement and shop workspaces */
.admin-nav-label { display: block; margin: .75rem .95rem .2rem; color: rgba(255,255,255,.43); font-size: .55rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.owner-metrics-focused { grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: .7rem; }.owner-workspaces { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; margin-bottom: .7rem; }.owner-workspaces > a { display: flex; align-items: center; gap: .8rem; padding: 1.15rem; color: #4a203d; background: linear-gradient(145deg,#fffdf9,#f7ecf2); border: 1px solid rgba(75,25,58,.14); border-radius: 12px; }.owner-workspaces > a:hover { border-color: #bd8b37; box-shadow: 0 10px 28px rgba(70,24,54,.1); }.owner-workspace-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; color: #ad781d; background: #fff4de; border-radius: 50%; }.owner-workspaces h2 { margin: .1rem 0; font: 600 1.25rem 'Cormorant Garamond',serif; }.owner-workspaces p { margin: 0; color: #786a72; font-size: .65rem; }.owner-workspaces > a > .admin-icon:last-child { width: 18px; margin-left: auto; }
.placement-jump { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }.placement-jump a { padding: .6rem .85rem; color: #5c284b; background: #fffaf2; border: 1px solid rgba(92,40,75,.14); border-radius: 999px; font-size: .72rem; }.placement-jump strong { display: inline-grid; place-items: center; min-width: 1.3rem; height: 1.3rem; margin-left: .3rem; color: #fff; background: #5c284b; border-radius: 50%; font-size: .6rem; }
.placement-feature { display: grid; grid-template-columns: minmax(250px,.7fr) minmax(0,1.3fr); gap: 2rem; align-items: center; margin-bottom: 1rem; background: linear-gradient(135deg,#fffdf8,#f4e7ef); }.placement-feature h2,.placement-card h2 { color: #512040; font: 600 2rem/1 'Cormorant Garamond',serif; }.placement-carousel-strip,.placement-product-strip { display: grid; grid-template-columns: repeat(5,1fr); gap: .5rem; }.placement-carousel-strip figure { position: relative; overflow: hidden; aspect-ratio: 4/3; margin: 0; border-radius: 7px; }.placement-carousel-strip img { width: 100%; height: 100%; object-fit: cover; }.placement-carousel-strip figcaption { position: absolute; right: .3rem; bottom: .3rem; width: 1.4rem; height: 1.4rem; display: grid; place-items: center; color: #fff; background: rgba(49,14,37,.8); border-radius: 50%; font-size: .6rem; }
.placement-grid { display: grid; gap: 1rem; }.placement-card { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); gap: 1.5rem; scroll-margin-top: 2rem; }.placement-preview { position: relative; min-height: 310px; overflow: hidden; background: #e8d7e1; }.placement-preview img { width: 100%; height: 100%; min-height: 310px; object-fit: cover; }.placement-preview.is-empty { display: grid; place-items: center; text-align: center; color: #74455f; background: radial-gradient(circle,rgba(255,255,255,.6),transparent 45%),linear-gradient(145deg,#eadce4,#d7b9ca); }.placement-preview.is-empty span { display: block; color: #b47e24; font-size: 2rem; }.placement-preview.is-empty strong,.placement-preview.is-empty small { display: block; }.placement-status { position: absolute; left: .7rem; bottom: .7rem; padding: .35rem .6rem; color: #fff; background: #416a44; border-radius: 999px; font-size: .62rem; }.placement-current { display: grid; gap: .2rem; padding: .7rem; color: #5f294d; background: #fbf1f6; border-left: 3px solid #bd8b37; }.placement-current span { color: #806f78; font-size: .7rem; }.placement-editor { margin-top: .7rem; border-top: 1px solid rgba(81,32,64,.12); }.placement-editor summary,.product-admin-section summary { padding: .8rem 0; color: #5b264a; cursor: pointer; font-weight: 700; font-size: .78rem; }.placement-editor form { padding-bottom: .6rem; }.placement-or { display: flex; align-items: center; gap: .7rem; margin: .8rem 0; color: #97878f; font-size: .65rem; }.placement-or::before,.placement-or::after { content: ""; flex: 1; border-top: 1px solid #dfd1d8; }.placement-remove { margin-top: .7rem; }.placement-product-strip { grid-template-columns: repeat(4,1fr); }.placement-product-strip article { overflow: hidden; background: #fff; border: 1px solid #eadce4; }.placement-product-strip img,.placement-product-strip article > span { width: 100%; aspect-ratio: 1; object-fit: cover; display: grid; place-items: center; color: #bd8b37; background: #eadce4; }.placement-product-strip strong,.placement-product-strip small { display: block; padding: .35rem .5rem 0; font-size: .65rem; }.placement-product-strip small { padding-top: 0; padding-bottom: .4rem; color: #8b7982; }
.product-create summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }.product-create summary strong { display: block; color: #512040; font: 600 1.6rem 'Cormorant Garamond',serif; }.product-create[open] summary { margin-bottom: 1.5rem; }.product-admin-form { display: grid; gap: .75rem; }.product-image-fieldset { padding: 1rem; border: 1px solid rgba(81,32,64,.15); }.product-image-fieldset legend { float: none; width: auto; padding: 0 .4rem; color: #512040; font: 600 1.2rem 'Cormorant Garamond',serif; }.product-admin-list { display: grid; gap: 1rem; margin-top: 1rem; }.product-admin-card { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 1.5rem; }.product-admin-preview { position: relative; overflow: hidden; min-height: 260px; color: #bd8b37; background: #eadce4; }.product-admin-preview img { width: 100%; height: 100%; object-fit: cover; }.product-admin-preview > span:first-child { height: 100%; display: grid; place-items: center; font-size: 3rem; }.product-admin-preview .status-badge { position: absolute; left: .7rem; top: .7rem; }.product-admin-section { padding: 0 1rem; border: 1px solid rgba(81,32,64,.12); }.product-variant-list { display: grid; gap: .6rem; padding-bottom: 1rem; }.product-variant-row { display: grid; grid-template-columns: 1.2fr 1fr 90px 100px; gap: .6rem; align-items: end; }.product-variant-row.is-new { padding-top: .7rem; border-top: 1px dashed #cfbac5; }.product-variant-row .form-check { margin-bottom: .55rem; }.product-admin-save { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }.product-admin-save .form-check { margin-right: auto; }

@media (max-width: 991px) {
  .shop-hero-grid,.support-hero-grid,.support-contribution-grid,.support-assurance > div,.product-detail,.shop-cart-layout { grid-template-columns: 1fr; }
  .shop-hero-seal { display: none; }.shop-product-grid { grid-template-columns: repeat(2,1fr); }.support-purpose > div { grid-template-columns: 60px 1fr; }.support-purpose > div > p { grid-column: 2; }.support-contribution-grid { gap: 2.5rem; }.shop-order-summary { position: static; }.owner-workspaces { grid-template-columns: 1fr; }.owner-metrics-focused { grid-template-columns: repeat(2,1fr); }.placement-card,.placement-feature,.product-admin-card { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .shop-hero,.shop-hero-grid { min-height: 520px; }.shop-hero h1,.support-hero-copy h1 { font-size: 3.8rem; }.shop-product-grid,.shop-promise > div,.support-process ol,.product-care { grid-template-columns: 1fr; }.shop-promise > div > div { border-right: 0; border-bottom: 1px solid rgba(242,217,162,.18); }.shop-section-heading,.support-process-heading,.product-detail-footer > div { align-items: flex-start; flex-direction: column; }.shop-cart-line { grid-template-columns: 80px 1fr; }.shop-cart-line label,.shop-cart-line > strong:last-child { grid-column: 2; text-align: left; }.support-purpose > div { grid-template-columns: 1fr; }.support-purpose > div > p { grid-column: auto; }.support-purpose-mark { display: none; }.support-hero-image,.support-hero-image img,.support-image-fallback { min-height: 350px; height: 350px; }.support-form { padding: 1.5rem; }.placement-carousel-strip { grid-template-columns: repeat(3,1fr); }.placement-product-strip { grid-template-columns: repeat(2,1fr); }.product-variant-row { grid-template-columns: 1fr 1fr; }.product-admin-save { align-items: stretch; flex-direction: column; }.product-admin-save .form-check { margin-right: 0; }
}

/* Public-page repair: readable cards and deliberate mobile compositions. */
.public-join .form-intro,
.public-join .application-promise {
  color: #3f1f2b !important;
}
.public-join .form-intro h1,
.public-join .form-intro h2,
.public-join .application-promise strong {
  color: #512040 !important;
  text-shadow: none !important;
}
.public-join .form-intro > p,
.public-join .application-promise p {
  color: #66545c !important;
}
.public-join .form-intro .eyebrow { color: #9a681c !important; }

/* Dashboard shortcuts make the two image libraries explicit. */
.owner-image-shortcuts { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); gap: 1.2rem; align-items: center; margin-bottom: .7rem; }
.owner-image-shortcuts-heading { display: flex; gap: .9rem; align-items: center; }
.owner-image-shortcuts-heading h2 { margin: .2rem 0; color: #512040; font: 600 1.55rem/1.05 'Cormorant Garamond',serif; }
.owner-image-shortcuts-heading p { margin: 0; color: #786a72; font-size: .7rem; }
.owner-image-shortcut-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
.owner-image-shortcut-grid a { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .15rem .6rem; min-height: 78px; padding: .85rem 1rem; color: #512040; background: #fffaf5; border: 1px solid rgba(81,32,64,.14); border-radius: 10px; }
.owner-image-shortcut-grid a:hover { border-color: #bd8b37; box-shadow: 0 8px 22px rgba(70,24,54,.08); }
.owner-image-shortcut-grid a strong { font-size: .78rem; }
.owner-image-shortcut-grid a span { grid-column: 1; color: #806f78; font-size: .62rem; }
.owner-image-shortcut-grid a .admin-icon { grid-column: 2; grid-row: 1 / 3; align-self: center; width: 17px; }

/* Website media stays compact until an owner chooses to edit an item. */
.website-media-upload { display: grid; grid-template-columns: minmax(250px,.7fr) minmax(290px,1.3fr); gap: 1rem 1.5rem; align-items: start; margin-bottom: 1rem; }
.website-media-upload-copy h2 { margin: .35rem 0; color: #512040; font: 600 2rem/1 'Cormorant Garamond',serif; }
.website-media-upload-copy p { color: #786a72; font-size: .75rem; }
.website-media-drop { position: relative; grid-row: span 5; min-height: 230px; display: grid; place-content: center; gap: .35rem; overflow: hidden; padding: 1.5rem; text-align: center; color: #6d3758; background: #fbf2f7; border: 1px dashed rgba(81,32,64,.34); border-radius: 14px; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.website-media-drop:hover,.website-media-drop.is-dragging { border-color: #bd8b37; background: #fff8ed; }
.website-media-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.website-media-drop > span { width: 38px; height: 38px; display: grid; place-items: center; margin: 0 auto .25rem; color: #fff; background: #6d3758; border-radius: 50%; font-size: 1.5rem; }
.website-media-drop strong { font-size: .82rem; }
.website-media-drop small { color: #8d7884; font-size: .64rem; }
.website-media-drop img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.website-media-drop.has-preview::after { position: absolute; right: .7rem; bottom: .7rem; padding: .35rem .6rem; color: #fff; background: rgba(49,14,37,.82); border-radius: 999px; content: "Choose a different image"; font-size: .58rem; }
.website-media-upload .form-row,.website-media-upload > .form-label,.website-media-upload > .form-control,.website-media-upload > .media-help,.website-media-upload > .btn { grid-column: 1; }
.website-media-usage { width: max-content; max-width: 100%; margin-top: .25rem; padding: .22rem .45rem; color: #6d5c65; background: #f2e7ed; border-radius: 999px; font-size: .56rem; }
.website-media-usage.is-live { color: #315c39; background: #e4f1e6; }
.website-media-editor { margin-top: .35rem; border-top: 1px solid #eadce4; }
.website-media-editor summary { padding: .65rem 0 .35rem; color: #642c50; cursor: pointer; font-size: .68rem; font-weight: 700; }

@media (max-width: 991px) {
  .owner-image-shortcuts,.website-media-upload { grid-template-columns: 1fr; }
  .website-media-drop { grid-row: auto; min-height: 210px; }
  .website-media-upload .form-row,.website-media-upload > .form-label,.website-media-upload > .form-control,.website-media-upload > .media-help,.website-media-upload > .btn { grid-column: auto; }
}

@media (max-width: 820px) {
  .auth-login-page .auth-page { padding: 1rem; }
  .auth-login-page .auth-composition { width: 100%; max-width: 620px; grid-template-columns: minmax(0,1fr); min-height: 0; overflow: visible; border-radius: 22px; }
  .auth-login-page .auth-composition .auth-visual { display: none; }
  .auth-login-page .auth-composition .auth-panel { min-width: 0; padding: clamp(1.7rem,7vw,3rem); background: linear-gradient(145deg,#fffaf5,#f4e8ef); border-radius: inherit; }
  .auth-login-page .auth-composition .auth-card { min-width: 0; max-width: none; }
  .auth-login-page .auth-composition .auth-card h1 { max-width: 100%; font-size: clamp(2.75rem,12vw,4rem); line-height: .96; white-space: normal; overflow-wrap: anywhere; }
  .auth-login-page .auth-composition .auth-intro { font-size: 1rem; line-height: 1.55; }
  .auth-login-page .auth-form-row { flex-direction: row; align-items: center; flex-wrap: wrap; }
}

@media (max-width: 700px) {
  .public-join .form-page { padding: 1rem 0 3.5rem; }
  .public-join .form-page-grid { gap: 1rem; }
  .public-join .form-intro { padding: clamp(1.25rem,5vw,2rem); border-radius: 18px 46px 18px 18px; }
  .public-join .form-intro h1 { margin: .7rem 0 1rem; font-size: clamp(2.65rem,12vw,4rem); line-height: .96; overflow-wrap: anywhere; }
  .public-join .form-intro > p { font-size: .96rem; line-height: 1.65; }
  .public-join .application-promise { align-items: flex-start; padding: .85rem; }
  .public-join .application-promise p { font-size: .76rem; line-height: 1.5; }
  .public-join .form-card { padding: 1.15rem; border-radius: 18px; }
  .support-hero { padding: 2.5rem 0 3.5rem; }
  .support-hero-grid { gap: 2rem; }
  .support-hero-copy h1 { font-size: clamp(3.25rem,15vw,4.8rem); }
  .support-hero-image,.support-hero-image img,.support-image-fallback { min-height: 390px; height: 390px; }
  .support-image-fallback { padding: 2.2rem 1.5rem 4.8rem; }
  .support-image-fallback p { max-width: 300px; margin-inline: auto; font-size: clamp(2rem,9vw,3rem); line-height: 1.03; }
  .support-image-note { right: .75rem; bottom: .75rem; left: .75rem; padding: .8rem .65rem; text-align: center; white-space: normal; }
  .owner-image-shortcut-grid { grid-template-columns: 1fr; }
}

.auth-login-page .auth-composition .auth-panel {
  background: linear-gradient(145deg, #321628, #552747 68%, #704161);
}
.auth-login-page .auth-composition .auth-card {
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fffaf5;
}
.auth-login-page .auth-composition .auth-card h1,
.auth-login-page .auth-composition .auth-card .form-label,
.auth-login-page .auth-composition .auth-card .consent-field,
.auth-login-page .auth-composition .auth-card .form-check-label,
.auth-login-page .auth-composition .auth-card .form-footnote,
.auth-login-page .auth-composition .auth-card .auth-intro,
.auth-login-page .auth-composition .auth-card details {
  color: #fffaf5;
}
.auth-login-page .auth-composition .auth-card .eyebrow {
  color: #f2d98f;
}
.auth-login-page .auth-composition .auth-card a {
  color: #f2d98f;
  text-decoration-color: rgba(242,217,143,.7);
  text-underline-offset: .18em;
}
.auth-login-page .auth-composition .auth-card a:hover,
.auth-login-page .auth-composition .auth-card a:focus-visible {
  color: #fff3c4;
}
.auth-login-page .auth-composition .auth-card .field-required,
.auth-login-page .auth-composition .auth-card .field-optional {
  color: #fffaf5;
  background: rgba(255,250,245,.12);
  border-color: rgba(255,250,245,.24);
}
.auth-login-page .auth-composition .auth-card .form-hint {
  color: #f4dfe7;
}
.auth-login-page .auth-composition .auth-card .form-error {
  color: #ffd4d9;
}
.auth-login-page .auth-composition .auth-card .form-check-input {
  border-color: rgba(255,250,245,.7);
}
.auth-login-page .auth-composition .auth-card .form-control {
  color: #321628;
  background: #fffaf7;
}
.auth-login-page .auth-composition .auth-card .form-control::placeholder {
  color: #75656d;
  opacity: 1;
}
.auth-login-page .auth-composition [data-auth-submit],
.auth-login-page .auth-composition [data-auth-submit]:hover,
.auth-login-page .auth-composition [data-auth-submit]:focus-visible,
.auth-login-page .auth-composition [data-auth-submit]:active {
  color: #321628 !important;
  text-shadow: none;
}
