/** Shopify CDN: Minification failed

Line 733:99 Unexpected "\\n"
Line 733:5610 Unexpected "@media"
Line 733:5894 Unexpected "@media"
Line 1403:121 Unexpected "\\n"
Line 1403:140 Expected ":"
Line 1403:214 Expected ":"
Line 1403:238 Expected ":"
Line 1403:272 Expected ":"
Line 1403:335 Expected ":"
Line 1403:372 Expected ":"
... and 68 more hidden warnings

**/
/* =========================================================
   DESERT SOL STITCH & CO. — APPROVED STOREFRONT DIRECTION
   ========================================================= */

:root {
  --ds-cream: #fbf7f0;
  --ds-header: #f6efea;
  --ds-paper: #fffdf9;
  --ds-sage: #7f886f;
  --ds-sage-deep: #68715c;
  --ds-blush: #e58f89;
  --ds-blush-soft: #f5ddd7;
  --ds-terracotta: #bd684d;
  --ds-gold: #c99a3a;
  --ds-ink: #3a352f;
  --ds-muted: #746f66;
  --ds-line: #e8d6c7;
  --ds-radius: 18px;
  --ds-shadow: 0 14px 36px rgba(65,55,44,.07);
}

body { background: var(--ds-cream); color: var(--ds-ink); }

/* Header — match approved slim boutique layout */
.header-section { background: var(--ds-header) !important; }
#header-component { --header-padding: 4px !important; }
#header-component .header { min-height: 118px; }
#header-component .header__columns { padding-block: 3px !important; }
.header-logo__image {
  max-height: 118px !important;
  width: auto !important;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.header-logo__image-container { max-height: 118px !important; }
.header__menu-item, .menu-list__link, .header-actions__action { letter-spacing: .035em; }
.ds-native-menu--hidden { display:none !important; }
.ds-static-nav {
  display:flex;
  align-items:center;
  justify-content:center;
  gap: clamp(30px, 4.2vw, 64px);
  height:100%;
  white-space:nowrap;
}
.ds-static-nav__link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ds-sage-deep);
  font-family:var(--font-paragraph--family);
  font-size:13px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-decoration:none;
}
.ds-static-nav__link:hover { color:var(--ds-terracotta); }
.ds-static-nav__caret { font-size:13px; transform:translateY(-1px); }
.ds-native-drawer--hidden { display:none !important; }
.ds-mobile-nav { list-style:none; margin:0; padding:0; }

/* Shared buttons */
.ds-button {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:0 23px; border:1px solid transparent; border-radius:5px;
  font-family:var(--font-paragraph--family); font-size:12px; font-weight:700;
  letter-spacing:.1em; line-height:1; text-transform:uppercase; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
.ds-button:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(66,54,43,.08); }
.ds-button--primary { background:var(--ds-sage-deep); color:#fffdf9; }
.ds-button--coral { background:var(--ds-terracotta); color:#fffdf9; }
.ds-button--text { min-height:44px; padding-inline:10px; color:var(--ds-sage-deep); background:transparent; text-transform:none; letter-spacing:.035em; }

/* Homepage */
.ds-home { overflow:hidden; background:var(--ds-cream); }
.ds-home__inner, .ds-page__inner { width:min(1360px, calc(100% - 72px)); margin:0 auto; }
.ds-hero {
  display:grid; grid-template-columns:minmax(390px,.72fr) minmax(0,1.48fr);
  gap:38px; align-items:center; min-height:330px; padding:0;
}
.ds-hero__copy { position:relative; z-index:2; padding:38px 0 28px 42px; }
.ds-hero__eyebrow, .ds-kicker { margin:0 0 10px; color:var(--ds-terracotta); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ds-hero__title, .ds-page-hero__title {
  margin:0; color:var(--ds-sage-deep); font-family:var(--font-heading--family);
  font-size:clamp(48px,4.7vw,72px); font-weight:400; line-height:1.02; letter-spacing:-.035em;
}
.ds-hero__tagline, .ds-page-hero__tagline {
  margin:12px 0 0; color:var(--ds-blush); font-family:var(--font-accent--family,var(--font-heading--family));
  font-size:clamp(26px,2.2vw,36px); font-style:italic; line-height:1.18;
}
.ds-hero__actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
.ds-hero__art { position:relative; align-self:stretch; min-height:330px; }
.ds-hero__editorial-image { width:100%; height:100%; min-height:330px; object-fit:cover; object-position:center; display:block; }
.ds-star { color:var(--ds-gold); font-size:22px; line-height:1; }
.ds-hero__star-one { position:absolute; right:10px; bottom:18px; color:var(--ds-blush); }

/* Gingham moving text */
.ds-ticker {
  position:relative; overflow:hidden; border-block:1px solid rgba(218,183,160,.32);
  background-color:#f3e2d2;
  background-image:linear-gradient(90deg,rgba(255,255,255,.48) 50%,transparent 50%),linear-gradient(rgba(255,255,255,.48) 50%,transparent 50%);
  background-size:18px 18px;
}
.ds-ticker__track { display:flex; width:max-content; animation:dsTicker 34s linear infinite; will-change:transform; }
.ds-ticker__group { display:flex; align-items:center; white-space:nowrap; }
.ds-ticker__item { display:inline-flex; align-items:center; gap:16px; padding:12px 25px; color:var(--ds-sage-deep); font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.ds-ticker__item::after { content:'✦'; color:var(--ds-blush); font-size:14px; }
@keyframes dsTicker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media (prefers-reduced-motion:reduce){.ds-ticker__track{animation:none}}

.ds-section { padding:50px 0; }
.ds-section--difference { padding-top:24px; padding-bottom:22px; }
.ds-section--services { padding-top:0; padding-bottom:48px; }
.ds-section__heading {
  display:flex; align-items:center; justify-content:center; gap:20px; margin:0 0 22px;
  color:var(--ds-sage-deep); font-family:var(--font-heading--family); font-size:clamp(24px,2.5vw,36px);
  font-weight:400; letter-spacing:.12em; text-align:center; text-transform:uppercase;
}
.ds-section__heading::before,.ds-section__heading::after { content:''; width:min(100px,10vw); height:1px; background:var(--ds-line); }
.ds-section__heading--sentence { font-size:clamp(24px,2.2vw,32px); letter-spacing:.01em; text-transform:none; }

/* Three approved categories — larger landscape cards */
.ds-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ds-category-card { display:block; color:inherit; text-decoration:none; }
.ds-category-card__image-wrap { overflow:hidden; aspect-ratio:2.35/1; border-radius:18px; background:#f0ebe4; }
.ds-category-card__image { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ds-category-card:hover .ds-category-card__image { transform:scale(1.025); }
.ds-category-card__label {
  display:flex; align-items:center; justify-content:center; gap:24px; min-height:46px; padding-top:9px;
  color:var(--ds-sage-deep); font-family:var(--font-heading--family); font-size:20px; letter-spacing:.08em; text-transform:uppercase;
}
.ds-category-card__label span:last-child { font-family:var(--font-paragraph--family); font-size:19px; }

/* Difference strip */
.ds-difference-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--ds-line); border-radius:16px; overflow:hidden; background:rgba(255,253,249,.58); }
.ds-difference { display:grid; grid-template-columns:64px 1fr; gap:14px; align-items:center; padding:18px 20px; min-height:112px; }
.ds-difference + .ds-difference { border-left:1px solid var(--ds-line); }
.ds-difference__icon { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:var(--ds-sage); color:#fff; font-family:var(--font-heading--family); font-size:28px; }
.ds-difference:nth-child(2) .ds-difference__icon { background:var(--ds-blush); }
.ds-difference:nth-child(3) .ds-difference__icon { background:var(--ds-gold); }
.ds-difference:nth-child(4) .ds-difference__icon { background:var(--ds-sage); }
.ds-difference__icon--az { font-size:17px; font-family:var(--font-paragraph--family); font-weight:700; }
.ds-difference h3 { margin:0 0 4px; color:var(--ds-sage-deep); font-family:var(--font-paragraph--family); font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.ds-difference p { margin:0; color:var(--ds-muted); font-size:12.5px; line-height:1.45; }

/* Small service callouts */
.ds-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ds-service-card { position:relative; overflow:hidden; display:grid; grid-template-columns:1fr minmax(170px,32%); min-height:145px; border:1px solid var(--ds-sage); border-radius:10px; text-decoration:none; background:linear-gradient(110deg,rgba(246,244,237,.98),rgba(237,240,230,.84)); }
.ds-service-card--events { background:linear-gradient(110deg,rgba(255,248,244,.98),rgba(248,224,219,.82)); border-color:var(--ds-blush); }
.ds-service-card__copy { align-self:center; padding:18px 26px; }
.ds-service-card__kicker { margin:0 0 3px!important; color:var(--ds-terracotta)!important; font-size:10px!important; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ds-service-card__copy h3 { margin:0 0 3px; color:var(--ds-sage-deep); font-family:var(--font-heading--family); font-size:clamp(22px,1.8vw,30px); font-weight:400; }
.ds-service-card--events .ds-service-card__copy h3 { color:var(--ds-blush); }
.ds-service-card__copy p { margin:0 0 10px; color:var(--ds-muted); font-size:13px; line-height:1.45; }
.ds-service-card .ds-button { min-height:34px; padding-inline:16px; font-size:10px; }
.ds-service-card__image,.ds-service-card__illustration { width:100%; height:100%; min-height:145px; object-fit:cover; }
.ds-service-card__illustration { display:grid; place-items:center; color:var(--ds-sage-deep); font-size:54px; background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.75),transparent 40%),linear-gradient(140deg,rgba(237,240,230,.25),rgba(229,143,137,.15)); }

.ds-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.ds-product-card { text-decoration:none; color:inherit; }
.ds-product-card__image-wrap { position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:16px; background:#f0ebe4; }
.ds-product-card__image { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ds-product-card:hover .ds-product-card__image { transform:scale(1.025); }
.ds-product-card__meta { padding:12px 3px 0; }
.ds-product-card__title { margin:0 0 4px; font-size:15px; color:var(--ds-ink); }
.ds-product-card__price { margin:0; color:var(--ds-muted); font-size:14px; }
.ds-product-card__badge { position:absolute; right:10px; top:10px; padding:6px 9px; border-radius:4px; background:rgba(92,67,51,.88); color:#fff; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }

/* Footer */
footer .shopify-section:last-child { background:var(--ds-sage-deep); color:#fffdf9; }
footer .shopify-section:last-child a,footer .shopify-section:last-child p { color:#fffdf9; }

@media screen and (max-width:1100px) {
  .ds-static-nav { gap:26px; }
  .ds-difference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ds-difference + .ds-difference { border-left:0; }
  .ds-difference:nth-child(even){border-left:1px solid var(--ds-line)}
  .ds-difference:nth-child(n+3){border-top:1px solid var(--ds-line)}
}

@media screen and (max-width:899px) {
  .ds-home__inner,.ds-page__inner { width:min(100% - 36px,820px); }
  .ds-hero { grid-template-columns:1fr; gap:0; }
  .ds-hero__copy { padding:34px 12px 20px; text-align:left; }
  .ds-hero__art { min-height:auto; }
  .ds-hero__editorial-image { min-height:0; height:auto; border-radius:20px; }
  .ds-hero__actions { justify-content:flex-start; }
  .ds-service-grid { grid-template-columns:1fr; }
  .ds-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media screen and (max-width:749px) {
  #header-component .header { min-height:76px; }
  .header-logo__image { max-height:72px!important; }
  .header-logo__image-container { max-height:72px!important; }
  .ds-static-nav { display:none; }
  .ds-home__inner,.ds-page__inner { width:min(100% - 28px,680px); }
  .ds-hero__copy { padding:28px 0 18px; }
  .ds-hero__title,.ds-page-hero__title { font-size:clamp(44px,13vw,60px); }
  .ds-hero__tagline,.ds-page-hero__tagline { font-size:26px; }
  .ds-hero__actions { flex-direction:column; }
  .ds-button { width:100%; }
  .ds-ticker__item { padding:11px 17px; }
  .ds-section { padding:42px 0; }
  .ds-section--difference { padding-top:18px; padding-bottom:18px; }
  .ds-section__heading { font-size:27px; gap:11px; }
  .ds-section__heading::before,.ds-section__heading::after { width:38px; }
  .ds-category-grid { grid-template-columns:1fr; gap:16px; }
  .ds-category-card__image-wrap { aspect-ratio:2/1; }
  .ds-difference-grid { grid-template-columns:1fr; }
  .ds-difference,.ds-difference:nth-child(even){border-left:0}
  .ds-difference:nth-child(n+2){border-top:1px solid var(--ds-line)}
  .ds-service-card { grid-template-columns:1fr 120px; min-height:160px; }
  .ds-service-card__copy { padding:18px; }
  .ds-service-card__image,.ds-service-card__illustration { min-height:160px; }
  .ds-product-grid { gap:12px; }
}


/* Service pages */
.ds-page {
  background: var(--ds-cream);
  padding-bottom: 70px;
}

.ds-page__notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 10px 18px;
  border-block: 1px solid rgba(218,183,160,.3);
  background-color: #f7e8dc;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.5) 50%, transparent 50%),
    linear-gradient(rgba(255,255,255,.5) 50%, transparent 50%);
  background-size: 22px 22px;
  color: var(--ds-ink);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .13em;
  text-align: center;
  text-transform: uppercase;
}

.ds-page__notice span { color: var(--ds-blush); }

.ds-page-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 46px;
  align-items: center;
  padding: 56px 0 34px;
}

.ds-page-hero__visual {
  position: relative;
  overflow: hidden;
  min-height: 380px;
  border-radius: 24px;
  background: linear-gradient(135deg, #f1ece5, #eee4d8);
}

.ds-page-hero__visual img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.ds-page-hero__visual--events {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 8px;
  padding: 8px;
}
.ds-page-hero__visual--events .ds-event-visual-main,
.ds-page-hero__visual--events .ds-event-visual-side { min-height: 360px; border-radius: 16px; }
.ds-event-visual-main { display:grid; place-items:center; background:#efe8df; color:var(--ds-sage-deep); font-size:100px; }
.ds-event-visual-side { background: repeating-linear-gradient(0deg,#f3dfd8 0 16px,#fff7f2 16px 32px); }

.ds-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  margin: 12px 0 34px;
}

.ds-info-card {
  padding: 22px;
  border: 1px solid var(--ds-line);
  border-radius: 16px;
  background: rgba(255,253,249,.58);
}

.ds-info-card__icon { margin-bottom: 12px; color: var(--ds-blush); font-size: 26px; }
.ds-info-card h3 { margin: 0 0 6px; color: var(--ds-sage-deep); font-size: 12px; letter-spacing:.08em; text-transform:uppercase; }
.ds-info-card p { margin:0; color:var(--ds-muted); font-size:13px; line-height:1.5; }

.ds-form-shell {
  display: grid;
  grid-template-columns: minmax(210px, .3fr) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--ds-line);
  border-radius: 20px;
  background: rgba(255,253,249,.72);
}

.ds-form-shell__aside {
  padding: 38px 30px;
  border-right: 1px solid var(--ds-line);
  background: linear-gradient(180deg, rgba(237,240,230,.65), rgba(251,247,240,.92));
  text-align: center;
}

.ds-form-shell__aside h2 {
  margin: 20px 0 8px;
  color: var(--ds-sage-deep);
  font-family: var(--font-heading--family);
  font-size: 30px;
  font-style: italic;
  font-weight: 400;
}

.ds-form-shell__aside p { color:var(--ds-muted); line-height:1.6; }
.ds-form-shell__aside .ds-aside-mark { color:var(--ds-blush); font-size:54px; }

.ds-inquiry-form {
  padding: 34px;
}

.ds-form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: 18px;
}

.ds-field { grid-column: span 4; }
.ds-field--6 { grid-column: span 6; }
.ds-field--8 { grid-column: span 8; }
.ds-field--12 { grid-column: 1 / -1; }
.ds-field label,
.ds-fieldset legend {
  display: block;
  margin-bottom: 7px;
  color: var(--ds-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ds-field input,
.ds-field select,
.ds-field textarea {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid #dfcfc1;
  border-radius: 9px;
  outline: 0;
  background: #fffdfa;
  color: var(--ds-ink);
}
.ds-field textarea { min-height: 108px; resize: vertical; }
.ds-field input:focus,
.ds-field select:focus,
.ds-field textarea:focus { border-color: var(--ds-sage); box-shadow: 0 0 0 2px rgba(127,136,111,.13); }
.ds-fieldset { grid-column: span 6; margin:0; padding:0; border:0; }
.ds-radio-row { display:flex; flex-direction:column; gap:8px; }
.ds-radio-row label { display:flex; gap:8px; align-items:flex-start; margin:0; font-size:13px; letter-spacing:0; text-transform:none; font-weight:400; color:var(--ds-ink); }
.ds-form-note {
  grid-column: 1 / -1;
  padding: 14px 16px;
  border-radius: 10px;
  background: #f7efe8;
  color: var(--ds-muted);
  font-size: 13px;
  line-height: 1.55;
}
.ds-form-actions { grid-column: 1 / -1; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.ds-form-success { margin: 0 0 18px; padding: 14px 16px; border: 1px solid #b7c1aa; border-radius: 10px; background:#f0f4ea; color:#536047; }
.ds-form-errors { margin-bottom: 18px; color:#8a3c34; }

.ds-event-type-grid {
  display:grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:28px;
}
.ds-event-type {
  padding:24px;
  border:1px solid var(--ds-line);
  border-radius:16px;
  background:rgba(255,253,249,.55);
}
.ds-event-type h3 { margin:0 0 8px; color:var(--ds-sage-deep); font-family:var(--font-heading--family); font-size:24px; font-weight:400; }
.ds-event-type p { margin:0; color:var(--ds-muted); font-size:13px; line-height:1.55; }

/* Footer polish */
footer .shopify-section:last-child {
  background: var(--ds-sage-deep);
  color: #fffdf9;
}
footer .shopify-section:last-child a,
footer .shopify-section:last-child p { color: #fffdf9; }

@media screen and (max-width: 1100px) {
  .ds-difference-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ds-difference + .ds-difference { border-left: 0; }
  .ds-difference:nth-child(even) { border-left: 1px solid var(--ds-line); }
  .ds-difference:nth-child(n+3) { border-top: 1px solid var(--ds-line); }
  .ds-info-grid, .ds-event-type-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media screen and (max-width: 900px) {
  .ds-home__inner,
  .ds-page__inner { width: min(100% - 36px, 820px); }
  .ds-hero { grid-template-columns: 1fr; padding-top: 34px; }
  .ds-hero__art { min-height: 430px; }
  .ds-hero__copy { text-align: center; }
  .ds-hero__text { margin-inline: auto; }
  .ds-hero__actions { justify-content:center; }
  .ds-hero__badge { left: 4%; top: 8px; width:92px; height:92px; font-size:10px; }
  .ds-category-card { min-height: 260px; }
  .ds-service-grid, .ds-page-hero { grid-template-columns: 1fr; }
  .ds-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ds-form-shell { grid-template-columns: 1fr; }
  .ds-form-shell__aside { border-right:0; border-bottom:1px solid var(--ds-line); }
}

@media screen and (max-width: 749px) {
  .ds-home__inner,
  .ds-page__inner { width: min(100% - 28px, 680px); }
  .ds-hero { gap:18px; padding: 28px 0 22px; }
  .ds-hero__title,
  .ds-page-hero__title { font-size: clamp(44px, 13vw, 62px); }
  .ds-hero__tagline,
  .ds-page-hero__tagline { font-size: 26px; }
  .ds-hero__art { min-height: 360px; }
  .ds-hero__image-wrap { border-width:4px; border-radius:20px; }
  .ds-hero__image-wrap--one { left:0; top:22%; width:49%; height:57%; }
  .ds-hero__image-wrap--two { right:3%; top:5%; width:42%; height:44%; }
  .ds-hero__image-wrap--three { right:2%; bottom:4%; width:40%; height:39%; }
  .ds-hero__image-wrap--four { left:34%; bottom:1%; width:28%; height:28%; }
  .ds-hero__badge { display:none; }
  .ds-hero__actions { flex-direction:column; }
  .ds-button { width:100%; }
  .ds-ticker__item { padding:12px 18px; }
  .ds-section { padding: 46px 0; }
  .ds-section__heading { font-size:30px; gap:12px; }
  .ds-section__heading::before,
  .ds-section__heading::after { width:44px; }
  .ds-category-grid { grid-template-columns: 1fr; gap:14px; }
  .ds-category-card { min-height: 250px; }
  .ds-category-card__label { font-size:19px; }
  .ds-difference-grid { grid-template-columns: 1fr; }
  .ds-difference,
  .ds-difference:nth-child(even) { border-left:0; }
  .ds-difference:nth-child(n+2) { border-top:1px solid var(--ds-line); }
  .ds-service-grid { grid-template-columns: 1fr; }
  .ds-service-card { grid-template-columns: 1fr 130px; min-height:185px; }
  .ds-service-card__copy { padding:22px; }
  .ds-service-card__image,
  .ds-service-card__illustration { min-height:185px; }
  .ds-product-grid { gap:12px; }
  .ds-product-card__image-wrap { border-radius:14px; }
  .ds-page-hero { padding:38px 0 24px; gap:24px; }
  .ds-page-hero__visual,
  .ds-page-hero__visual img { min-height:280px; }
  .ds-info-grid, .ds-event-type-grid { grid-template-columns:1fr; }
  .ds-inquiry-form { padding:22px 16px; }
  .ds-form-grid { gap:14px; }
  .ds-field,
  .ds-field--6,
  .ds-field--8,
  .ds-fieldset { grid-column: 1 / -1; }
  .ds-form-actions { flex-direction:column; align-items:stretch; }
}

/* =========================================================
   V7 — SHOPIFY RENDERING PARITY FIXES
   Match the approved Desert Sol homepage direction even when
   Feather's saved typography/header settings differ.
   ========================================================= */

/* Use a dependable editorial serif rather than inheriting Feather's
   heading preset (which can remain Anonymous Pro on an existing shop). */
.ds-hero__title,
.ds-hero__tagline,
.ds-section__heading,
.ds-category-card__label,
.ds-service-card__copy h3,
.ds-page-hero__title,
.ds-page-hero__tagline,
.ds-event-type h3,
.ds-form-panel__intro h2 {
  font-family: Georgia, 'Times New Roman', serif !important;
}

.ds-home,
.ds-page,
.ds-static-nav__link,
.ds-button,
.ds-ticker__item,
.ds-difference h3,
.ds-difference p,
.ds-service-card__copy p {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Header: restore the taller boutique header from the approved mockup. */
#header-component .header__row--top {
  background: #fbf7f0 !important;
  border-bottom: 1px solid rgba(232, 214, 199, .75);
}

#header-component .header__row--top .header__columns,
#header-component .header__columns {
  min-height: 102px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  align-items: center !important;
}

#header-component .header-logo {
  min-width: 118px !important;
  justify-content: flex-start !important;
  overflow: visible !important;
}

#header-component .header-logo__image-container {
  display: flex !important;
  align-items: center !important;
  max-height: 96px !important;
  overflow: visible !important;
}

#header-component .header-logo__image,
#header-component .ds-header-logo-fallback {
  width: 96px !important;
  height: 96px !important;
  max-width: 96px !important;
  max-height: 96px !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}

#header-component .ds-static-nav {
  gap: clamp(34px, 4.2vw, 68px) !important;
}

#header-component .ds-static-nav__link {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .11em !important;
}

/* Hero: preserve two-line editorial headline and approved proportions. */
.ds-home__inner,
.ds-page__inner {
  width: min(1480px, calc(100% - 80px)) !important;
}

.ds-hero {
  grid-template-columns: minmax(485px, .92fr) minmax(0, 1.68fr) !important;
  gap: 24px !important;
  min-height: 338px !important;
}

.ds-hero__copy {
  padding: 34px 0 28px 14px !important;
}

.ds-hero__title {
  max-width: 560px;
  font-size: clamp(48px, 3.65vw, 62px) !important;
  font-weight: 400 !important;
  line-height: .99 !important;
  letter-spacing: -.035em !important;
  text-wrap: normal !important;
}

.ds-hero__tagline {
  max-width: 520px;
  margin-top: 12px !important;
  font-size: clamp(25px, 2vw, 32px) !important;
  line-height: 1.16 !important;
  font-style: italic !important;
}

.ds-hero__actions {
  margin-top: 25px !important;
}

.ds-hero__art {
  position: relative !important;
  min-height: 338px !important;
}

.ds-hero__editorial-image {
  min-height: 338px !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.ds-hero__badge {
  position: absolute;
  z-index: 3;
  top: 18px;
  left: -52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: #e58f89;
  color: #fffdf9;
  box-shadow: 0 8px 24px rgba(96, 71, 57, .08);
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .12em;
  text-align: center;
  transform: rotate(-7deg);
}

.ds-hero__badge span:first-child,
.ds-hero__badge span:last-child {
  letter-spacing: .10em;
}

/* Approved section typography: serif, not Feather's mono heading preset. */
.ds-section__heading {
  font-size: clamp(24px, 2vw, 32px) !important;
  font-weight: 400 !important;
  letter-spacing: .13em !important;
}

.ds-category-card__label {
  font-size: 19px !important;
  font-weight: 400 !important;
}

@media screen and (max-width: 1100px) and (min-width: 750px) {
  .ds-home__inner,
  .ds-page__inner {
    width: min(100% - 48px, 1100px) !important;
  }
  .ds-hero {
    grid-template-columns: minmax(390px, .9fr) minmax(0, 1.45fr) !important;
  }
  .ds-hero__title {
    font-size: clamp(43px, 4.6vw, 54px) !important;
  }
  .ds-hero__badge {
    left: -42px;
    width: 96px;
    height: 96px;
    font-size: 10px;
  }
}

@media screen and (max-width: 749px) {
  #header-component .header__row--top .header__columns,
  #header-component .header__columns {
    min-height: 76px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  #header-component .header-logo__image,
  #header-component .ds-header-logo-fallback {
    width: 66px !important;
    height: 66px !important;
    max-width: 66px !important;
    max-height: 66px !important;
  }

  .ds-home__inner,
  .ds-page__inner {
    width: min(100% - 28px, 720px) !important;
  }

  .ds-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    gap: 18px !important;
  }

  .ds-hero__copy {
    padding: 28px 4px 0 !important;
  }

  .ds-hero__title {
    font-size: clamp(42px, 12vw, 56px) !important;
    line-height: 1.01 !important;
  }

  .ds-hero__tagline {
    font-size: clamp(24px, 7vw, 31px) !important;
  }

  .ds-hero__art,
  .ds-hero__editorial-image {
    min-height: 250px !important;
  }

  .ds-hero__badge {
    top: -18px;
    left: 14px;
    width: 86px;
    height: 86px;
    font-size: 9px;
  }
}
\n\n/* =========================\n   V9 polish & requested updates\n   ========================= */\n#header-component .header { min-height: 124px; }\n#header-component .header__columns { padding-block: 6px !important; }\n.header-logo__image { max-height: 128px !important; width: auto !important; mix-blend-mode: normal; }\n.header-logo__image-container { max-height: 128px !important; }\n.ds-hero { grid-template-columns: minmax(360px, .72fr) minmax(0, 1.48fr); min-height: 430px; }\n.ds-hero__art { min-height: 430px; background: linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,.08)); border-radius: 0; }\n.ds-hero__editorial-image { width: 100%; height: 100%; min-height: 430px; object-fit: contain; object-position: center center; display: block; padding: 14px 8px 0; background: transparent; }\n.ds-category-grid--two { grid-template-columns: repeat(2, minmax(0,1fr)); }\n.ds-category-card__image-wrap { display:flex; align-items:center; justify-content:center; padding: 8px; background: #f3ede5; }\n.ds-category-card__image { width:100%; height:100%; object-fit:contain; object-position:center; }\n.ds-service-card { align-items: stretch; }\n.ds-service-card__image { object-fit: contain; object-position: center; background: rgba(255,255,255,.35); padding: 12px; }\n.ds-section--faq { padding-top: 10px; }\n.ds-faq-list { width: min(100%, 980px); margin: 0 auto; display: grid; gap: 14px; }\n.ds-faq-item { border: 1px solid var(--ds-line); border-radius: 16px; background: rgba(255,253,249,.75); overflow: hidden; }\n.ds-faq-item summary { list-style: none; cursor: pointer; padding: 18px 22px; color: var(--ds-sage-deep); font-family: var(--font-heading--family); font-size: 22px; letter-spacing: .01em; display:flex; align-items:center; justify-content:space-between; }\n.ds-faq-item summary::-webkit-details-marker { display:none; }\n.ds-faq-item summary::after { content:'+'; font-family: var(--font-paragraph--family); font-size: 28px; color: var(--ds-blush); line-height:1; }\n.ds-faq-item[open] summary::after { content:'–'; }\n.ds-faq-item__content { padding: 0 22px 20px; color: var(--ds-muted); font-size: 15px; line-height: 1.7; }\n.ds-faq-item__content p { margin:0; }\n.ds-about-page { padding-top: 36px; }\n.ds-about-hero { display:grid; grid-template-columns: minmax(320px, .95fr) minmax(0,1.05fr); gap: 44px; align-items:center; }\n.ds-about-hero__image-wrap { background: rgba(255,253,249,.85); border: 1px solid var(--ds-line); border-radius: 24px; padding: 18px; box-shadow: var(--ds-shadow); }\n.ds-about-hero__image { width:100%; display:block; border-radius: 16px; }\n.ds-about-hero__copy { padding: 18px 0; }\n.ds-about-hero__text p { margin: 0 0 18px; color: var(--ds-muted); font-size: 16px; line-height: 1.8; }\n.ds-about-note { margin-top: 34px; padding-bottom: 16px; }\n.ds-about-note__inner { border: 1px solid var(--ds-line); border-radius: 18px; background: linear-gradient(135deg, rgba(255,253,249,.92), rgba(245,221,215,.42)); padding: 28px 30px; text-align: center; }\n.ds-about-note__inner h2 { margin: 0 0 8px; color: var(--ds-sage-deep); font-family: var(--font-heading--family); font-size: 30px; font-weight: 400; }\n.ds-about-note__inner p { margin: 0; color: var(--ds-muted); font-size: 15px; line-height: 1.7; }\n.resource-card__title, .resource-card__title.paragraph, .product-card__title, .ds-product-card__title { color: var(--ds-sage-deep) !important; font-family: var(--font-heading--family) !important; font-weight: 400 !important; letter-spacing: .01em !important; text-transform: none !important; }\n.resource-card__subtext, .ds-product-card__price { color: var(--ds-terracotta) !important; }\n.product-information h1, .product-information .text-block h1, product-information h1 { color: var(--ds-sage-deep); font-family: var(--font-heading--family) !important; font-weight: 400 !important; letter-spacing: -.02em; }\n.product-information .price, product-information .price { color: var(--ds-terracotta); }\n.product-information .variant-option__label, .product-information label, product-information .variant-option__label, product-information label { color: var(--ds-sage-deep); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: 12px; }\n.product-information select, .product-information input[type="text"], product-information select, product-information input[type="text"] { border: 1px solid #d7c6b8 !important; border-radius: 10px !important; background: rgba(255,253,249,.92) !important; padding: 12px 14px !important; }\n.product-information .select, product-information .select { background: rgba(255,253,249,.92); }\n.ds-personalization-field { margin: 6px 0 12px; padding: 18px 18px 16px; border: 1px solid var(--ds-line); border-radius: 16px; background: rgba(255,253,249,.82); }\n.ds-personalization-field label { display:block; margin-bottom:6px; }\n.ds-personalization-field input, .ds-personalization-field select { width:100%; box-sizing:border-box; }\nmain-collection .section, .main-collection { background: transparent; }\nmain-collection h1, .main-collection h1 { color: var(--ds-sage-deep); font-family: var(--font-heading--family); font-weight: 400; }\nmain-collection .collection-description, .main-collection .collection-description { color: var(--ds-muted); }\n.ds-page-hero__visual { display:flex; align-items:center; justify-content:center; background: rgba(255,255,255,.45); border: 1px solid var(--ds-line); border-radius: 24px; padding: 14px; min-height: 380px; }\n.ds-page-hero__visual img { width: 100%; max-height: 350px; object-fit: contain; object-position: center; }\n@media screen and (max-width: 899px) { .ds-hero { grid-template-columns: 1fr; min-height: auto; } .ds-hero__art, .ds-hero__editorial-image { min-height: auto; height: auto; } .ds-hero__editorial-image { padding: 8px 0 0; } .ds-about-hero { grid-template-columns: 1fr; gap: 20px; } }\n@media screen and (max-width: 749px) { #header-component .header { min-height: 92px; } .header-logo__image, .header-logo__image-container { max-height: 74px !important; } .ds-category-grid--two { grid-template-columns: 1fr; } .ds-faq-item summary { font-size: 18px; padding: 16px 18px; } .ds-faq-item__content { padding: 0 18px 18px; font-size: 14px; } .ds-page-hero__visual { min-height: 240px; } }\n
/* =========================================================
   V10 — parity + product grid + policy polish
   ========================================================= */

/* Larger, cleaner header logo. */
#header-component .header { min-height: 132px !important; }
#header-component .header-logo__image,
#header-component .ds-header-logo-fallback {
  width: auto !important;
  height: 146px !important;
  max-height: 146px !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}
#header-component .header-logo__image-container { max-height: 146px !important; }

/* Shop dropdown */
.ds-static-nav__item { position: relative; display:flex; align-items:center; height:100%; }
.ds-shop-dropdown {
  position:absolute;
  z-index:40;
  top:calc(100% - 18px);
  left:50%;
  min-width:190px;
  padding:10px;
  border:1px solid var(--ds-line);
  border-radius:14px;
  background:rgba(255,253,249,.98);
  box-shadow:0 16px 36px rgba(65,55,44,.12);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.ds-static-nav__item--shop:hover .ds-shop-dropdown,
.ds-static-nav__item--shop:focus-within .ds-shop-dropdown { opacity:1; visibility:visible; transform:translate(-50%,0); }
.ds-shop-dropdown__link {
  display:block;
  padding:10px 12px;
  border-radius:9px;
  color:var(--ds-sage-deep);
  font-family:var(--font-heading--family);
  font-size:17px;
  text-decoration:none;
}
.ds-shop-dropdown__link:hover { background:var(--ds-blush-soft); color:var(--ds-terracotta); }
.ds-mobile-nav__children { list-style:none; margin:-6px 0 8px; padding:0 0 0 22px; }
.ds-mobile-nav__child { font-size:.94em !important; color:var(--ds-sage-deep) !important; }

/* Hero: no gingham-on-gingham backing. Show the full lifestyle image with a soft glowing/star frame. */
.ds-hero { align-items:center !important; min-height:0 !important; }
.ds-hero__art {
  position:relative !important;
  min-height:0 !important;
  margin:16px 0;
  padding:10px !important;
  overflow:visible !important;
  border:1px solid rgba(229,143,137,.55);
  border-radius:24px !important;
  background:rgba(255,253,249,.72) !important;
  box-shadow:0 0 0 4px rgba(201,154,58,.05), 0 0 34px rgba(229,143,137,.16), 0 18px 40px rgba(73,61,48,.08);
}
.ds-hero__art::before,
.ds-hero__art::after {
  position:absolute;
  z-index:3;
  color:var(--ds-gold);
  line-height:1;
  text-shadow:0 0 14px rgba(201,154,58,.3);
  pointer-events:none;
}
.ds-hero__art::before { content:'✦'; top:-14px; left:28px; font-size:25px; }
.ds-hero__art::after { content:'✧  ✦'; right:24px; bottom:-14px; font-size:22px; letter-spacing:10px; color:var(--ds-blush); }
.ds-hero__editorial-image {
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:0 !important;
  border-radius:16px;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
}

/* Two category cards — full artwork visible. */
.ds-category-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:26px; }
.ds-category-grid--two .ds-category-card__image-wrap {
  aspect-ratio:1.65 / 1;
  padding:10px;
  background:#f3ede5;
}
.ds-category-grid--two .ds-category-card__image { object-fit:contain !important; object-position:center !important; }

/* Custom embroidery card image should never be cropped. */
.ds-service-card__image {
  object-fit:contain !important;
  object-position:center !important;
  padding:10px !important;
  background:rgba(255,253,249,.5) !important;
}

/* Best sellers: one consistent card size, show full product photography. */
.ds-product-grid { align-items:stretch; }
.ds-product-card { display:flex; flex-direction:column; min-width:0; }
.ds-product-card__image-wrap {
  width:100%;
  aspect-ratio:1 / 1 !important;
  padding:10px;
  border:1px solid var(--ds-line);
  border-radius:16px;
  background:#f5f0e9;
}
.ds-product-card__image { width:100%; height:100% !important; object-fit:contain !important; object-position:center !important; }
.ds-product-card__title {
  color:var(--ds-sage-deep) !important;
  font-family:var(--font-heading--family) !important;
  font-size:18px !important;
  font-weight:400 !important;
  line-height:1.25 !important;
}

/* Native product cards across collections/recommendations: equal visuals + warmer styling. */
.product-card { height:100%; }
.product-card__content {
  height:100%;
  border-radius:16px !important;
  background:rgba(255,253,249,.9) !important;
  box-shadow:0 10px 28px rgba(65,55,44,.045);
}
.product-card .card-gallery {
  aspect-ratio:1 / 1 !important;
  border-radius:12px !important;
  background:#f5f0e9 !important;
}
.product-card .card-gallery slideshow-component,
.product-card .card-gallery slideshow-container,
.product-card .card-gallery slideshow-slide,
.product-card .card-gallery .product-media-container { height:100% !important; min-height:100% !important; }
.product-card .card-gallery .product-media-container { aspect-ratio:1 / 1 !important; background:#f5f0e9 !important; }
.product-card .card-gallery img,
.product-card .card-gallery .product-media img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}
.product-card [role='heading'],
.product-card .text-block p[role='heading'],
.resource-card__title,
.resource-card__title.paragraph {
  color:var(--ds-sage-deep) !important;
  font-family:var(--font-heading--family) !important;
  font-size:18px !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  letter-spacing:.005em !important;
}

/* Product detail page: more editorial and unmistakably on-brand. */
product-information .text-block h1,
.product-information .text-block h1,
product-information h1,
.product-information h1 {
  color:var(--ds-sage-deep) !important;
  font-family:var(--font-heading--family) !important;
  font-size:clamp(34px,3.2vw,52px) !important;
  font-weight:400 !important;
  line-height:1.06 !important;
  letter-spacing:-.025em !important;
}
product-information .price,
.product-information .price { color:var(--ds-terracotta) !important; }
product-information .product-details,
.product-information .product-details { position:relative; }
product-information .product-details::before,
.product-information .product-details::before {
  content:'PERSONALIZED WITH CARE';
  display:inline-flex;
  margin:0 0 10px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--ds-blush-soft);
  color:var(--ds-terracotta);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
}
.ds-personalization-field {
  border-color:#ddcdbf !important;
  box-shadow:0 8px 22px rgba(65,55,44,.04);
}
product-information select,
.product-information select {
  color:var(--ds-sage-deep) !important;
  font-family:var(--font-paragraph--family) !important;
  font-size:15px !important;
}

/* Footer helper links */
.ds-footer-links {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 24px;
  width:100%;
  padding:4px 0 18px;
}
.ds-footer-links a {
  color:var(--ds-sage-deep) !important;
  font-family:var(--font-heading--family);
  font-size:16px;
  text-decoration:none;
}
.ds-footer-links a:hover { color:var(--ds-terracotta) !important; }

/* Shipping & returns page */
.ds-policy-page { padding:60px 0 80px; }
.ds-policy-page__inner { max-width:980px; }
.ds-policy-grid { display:grid; gap:18px; margin-top:30px; }
.ds-policy-card {
  padding:26px 28px;
  border:1px solid var(--ds-line);
  border-radius:18px;
  background:rgba(255,253,249,.86);
  box-shadow:0 10px 28px rgba(65,55,44,.045);
}
.ds-policy-card h2 { margin:0 0 8px; color:var(--ds-sage-deep); font-family:var(--font-heading--family); font-size:27px; font-weight:400; }
.ds-policy-card p { margin:0 0 10px; color:var(--ds-muted); font-size:15px; line-height:1.7; }
.ds-policy-card p:last-child { margin-bottom:0; }

@media screen and (max-width:899px) {
  .ds-hero__art { margin:6px 0 18px; }
  .ds-hero__editorial-image { width:100% !important; height:auto !important; }
}
@media screen and (max-width:749px) {
  #header-component .header { min-height:100px !important; }
  #header-component .header-logo__image,
  #header-component .ds-header-logo-fallback { height:94px !important; max-height:94px !important; }
  #header-component .header-logo__image-container { max-height:94px !important; }
  .ds-hero__art { padding:7px !important; border-radius:18px !important; }
  .ds-hero__art::before { top:-10px; left:18px; font-size:20px; }
  .ds-hero__art::after { right:12px; bottom:-10px; font-size:18px; }
  .ds-category-grid--two { grid-template-columns:1fr !important; }
  .ds-category-grid--two .ds-category-card__image-wrap { aspect-ratio:1.25 / 1; }
  .ds-service-card { grid-template-columns:1fr 42%; }
  .ds-service-card__image { padding:6px !important; }
  .ds-footer-links { gap:8px 16px; padding-bottom:14px; }
  .ds-footer-links a { font-size:15px; }
}

/* =========================================================
   V10.2 HEADER RESTORE — keep Feather header structure valid
   ========================================================= */
#header-component .header {
  min-height: 124px !important;
}
#header-component .header__columns {
  padding-block: 5px !important;
}
#header-component .header-logo__image {
  height: auto !important;
  width: auto !important;
  max-height: 132px !important;
  object-fit: contain !important;
  mix-blend-mode: normal !important;
}
#header-component .header-logo__image-container {
  max-height: 132px !important;
}
@media screen and (max-width: 749px) {
  #header-component .header {
    min-height: 92px !important;
  }
  #header-component .header-logo__image,
  #header-component .header-logo__image-container {
    max-height: 78px !important;
  }
}


/* =========================================================
   V10.3 — FAQ / footer / nav / product page refinement
   ========================================================= */

/* Header logo: previous override used auto height, so the image stayed close to its intrinsic 112px size. */
#header-component .header { min-height: 178px !important; }
#header-component .header__columns { padding-block: 4px !important; }
#header-component .header-logo__image,
#header-component .ds-header-logo-fallback {
  height: 200px !important;
  width: auto !important;
  max-height: 200px !important;
  object-fit: contain !important;
}
#header-component .header-logo__image-container { max-height: 200px !important; overflow: visible !important; }

/* FAQ: larger editorial two-column accordion rows, closer to the earlier visual direction. */
.ds-section--faq { padding-top: 22px !important; }
.ds-faq-heading-wrap { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:18px; }
.ds-faq-heading-wrap .ds-section__heading { margin:0; font-size:clamp(30px,3vw,42px) !important; color:var(--ds-sage-deep); }
.ds-faq-sparkle { color:var(--ds-blush); font-size:20px; text-shadow:0 0 12px rgba(229,143,137,.25); }
.ds-faq-list { width:100% !important; max-width:none !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px 18px !important; }
.ds-faq-item { border:1px solid #decfc2 !important; border-radius:999px !important; background:rgba(255,253,249,.84) !important; overflow:visible !important; transition:border-radius .15s ease, box-shadow .15s ease, background-color .15s ease; }
.ds-faq-item[open] { border-radius:18px !important; box-shadow:0 10px 26px rgba(65,55,44,.055); background:#fffdf9 !important; }
.ds-faq-item summary { padding:14px 20px !important; min-height:52px; color:var(--ds-sage-deep) !important; font-family:var(--font-heading--family) !important; font-size:21px !important; font-weight:400 !important; letter-spacing:.005em !important; }
.ds-faq-item summary::before { content:'✦'; margin-right:10px; color:var(--ds-blush); font-family:var(--font-paragraph--family); font-size:12px; }
.ds-faq-item summary::after { content:'+' !important; margin-left:auto; color:var(--ds-sage-deep) !important; font-size:24px !important; font-weight:300; }
.ds-faq-item[open] summary::after { content:'–' !important; }
.ds-faq-item__content { padding:0 20px 20px 42px !important; color:var(--ds-muted); font-size:15px !important; line-height:1.65 !important; }

/* More visual product-page opening treatment. */
.ds-product-sparkle-banner {
  width:min(1400px,calc(100% - 36px));
  margin:18px auto 2px;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,4vw,56px);
  color:var(--ds-blush);
  font-size:20px;
  letter-spacing:.1em;
  background:linear-gradient(90deg,transparent,rgba(245,221,215,.33),transparent);
  border-radius:999px;
}
.ds-product-sparkle-banner span:nth-child(2n) { color:var(--ds-gold); }
.ds-product-sparkle-banner__bow { color:var(--ds-terracotta) !important; font-size:30px; transform:rotate(90deg); }
product-information .product-details,
.product-information .product-details,
product-information [data-testid='product-details'],
.product-information [data-testid='product-details'] {
  border:1px solid rgba(232,214,199,.8);
  border-radius:20px;
  padding:26px !important;
  background:linear-gradient(145deg,rgba(255,253,249,.94),rgba(251,247,240,.74));
  box-shadow:0 14px 34px rgba(65,55,44,.045);
}
product-information h1,
.product-information h1,
product-information .text-block h1,
.product-information .text-block h1,
product-information [role='heading'],
.product-information [role='heading'] {
  color:var(--ds-sage-deep) !important;
  font-family:var(--font-heading--family) !important;
  font-weight:400 !important;
}
product-information .price,
.product-information .price { color:var(--ds-terracotta) !important; }
product-information .variant-option__label,
.product-information .variant-option__label,
product-information label,
.product-information label { color:var(--ds-sage-deep) !important; }

/* Custom embroidery service image: branded sweatshirt photo. */
.ds-service-card:not(.ds-service-card--events) .ds-service-card__image { object-fit:cover !important; object-position:center !important; padding:0 !important; }

/* Footer links must be visibly present rather than blending into the page background. */
.footer-utilities .section-background,
.footer-utilities .section { background:var(--ds-sage-deep) !important; }
.ds-footer-help { width:100%; padding:4px 0 18px; text-align:center; }
.ds-footer-help__title { margin:0 0 10px; color:#fffdf9 !important; font-family:var(--font-heading--family); font-size:22px; font-weight:400; }
.ds-footer-links { padding:0 !important; }
.ds-footer-links a { color:#fffdf9 !important; font-family:var(--font-paragraph--family) !important; font-size:14px !important; font-weight:600; letter-spacing:.045em; }
.ds-footer-links a:hover { color:var(--ds-blush-soft) !important; }
.footer-utilities .utilities,
.footer-utilities .utilities a,
.footer-utilities .utilities button,
.footer-utilities .utilities p { color:#fffdf9 !important; }

@media screen and (max-width: 899px) {
  #header-component .header { min-height:124px !important; }
  #header-component .header-logo__image,
  #header-component .ds-header-logo-fallback { height:128px !important; max-height:128px !important; }
  #header-component .header-logo__image-container { max-height:128px !important; }
  .ds-faq-list { grid-template-columns:1fr !important; }
}
@media screen and (max-width: 749px) {
  #header-component .header { min-height:112px !important; }
  #header-component .header-logo__image,
  #header-component .ds-header-logo-fallback { height:118px !important; max-height:118px !important; }
  #header-component .header-logo__image-container { max-height:118px !important; }
  .ds-faq-heading-wrap .ds-section__heading { font-size:30px !important; }
  .ds-faq-item summary { font-size:19px !important; padding:14px 16px !important; }
  .ds-faq-item__content { padding:0 16px 18px 36px !important; }
  .ds-product-sparkle-banner { width:calc(100% - 24px); gap:18px; margin-top:12px; font-size:16px; }
  product-information .product-details,
  .product-information .product-details { padding:18px !important; }
}


/* =========================================================
   V10.4 — collection polish / real variant dropdowns / logo fix
   ========================================================= */

/* The prior 200px image rule was still being constrained by the logo link/container.
   Reserve real layout space for the logo and remove global max-width constraints. */
#header-component .header { min-height: 176px !important; }
#header-component .header__column--left { min-width: 235px !important; overflow: visible !important; }
#header-component .header-logo {
  width: 220px !important;
  min-width: 220px !important;
  max-width: none !important;
  height: 166px !important;
  overflow: visible !important;
  justify-content: flex-start !important;
}
#header-component .header-logo__image-container {
  width: 166px !important;
  min-width: 166px !important;
  height: 166px !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
  display: block !important;
}
#header-component .header-logo__image,
#header-component .ds-header-logo-fallback {
  width: 166px !important;
  min-width: 166px !important;
  height: 166px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
}

/* Individual product page: remove the pink label and sparkle band added in V10.3. */
product-information .product-details::before,
.product-information .product-details::before { content:none !important; display:none !important; }
.ds-product-sparkle-banner { display:none !important; }

/* Personalization first; Shopify product options (Size, Thread Color, etc.) each get their own row underneath. */
.ds-personalization-field { margin-bottom: 16px !important; }
.ds-personalization-field label { font-family:var(--font-heading--family) !important; font-size:18px !important; font-weight:400 !important; text-transform:none !important; letter-spacing:.01em !important; }
product-information .variant-option--dropdowns,
.product-information .variant-option--dropdowns {
  display:block !important;
  width:100% !important;
  margin:0 0 15px !important;
}
product-information .variant-option--dropdowns > label,
.product-information .variant-option--dropdowns > label {
  display:block !important;
  width:100% !important;
  margin:0 0 6px !important;
  color:var(--ds-sage-deep) !important;
  font-family:var(--font-heading--family) !important;
  font-size:17px !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:.01em !important;
}
product-information .variant-option__select-wrapper,
.product-information .variant-option__select-wrapper,
product-information .variant-option__select,
.product-information .variant-option__select { width:100% !important; max-width:none !important; }

/* Collection/all-products page: this is where the decorative product-page treatment belongs. */
.template-collection main { background:var(--ds-cream); }
.template-collection main > .shopify-section:first-child .section,
.template-collection main > .shopify-section:first-child .section-background {
  background:
    radial-gradient(circle at 15% 25%, rgba(229,143,137,.10), transparent 24%),
    radial-gradient(circle at 82% 20%, rgba(201,154,58,.09), transparent 22%),
    var(--ds-cream) !important;
}
.ds-collection-heading-decor {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(16px,3.2vw,42px);
  width:100%;
  min-height:30px;
  color:var(--ds-blush);
  font-size:17px;
  line-height:1;
  letter-spacing:.12em;
}
.ds-collection-heading-decor span:nth-child(even) { color:var(--ds-gold); }
.ds-collection-heading-decor__center { font-size:25px; text-shadow:0 0 16px rgba(229,143,137,.32); }
.template-collection main > .shopify-section:first-child h1 {
  color:var(--ds-sage-deep) !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  font-size:clamp(42px,4vw,62px) !important;
  font-weight:400 !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
}
.template-collection collection-component .collection-wrapper { padding-top:8px; }
.template-collection collection-component .product-grid__item { height:100%; }
.template-collection collection-component .product-card {
  height:100% !important;
  position:relative;
  transition:transform .2s ease, box-shadow .2s ease;
}
.template-collection collection-component .product-card:hover { transform:translateY(-3px); }
.template-collection collection-component .product-card .text-block [role='heading'] {
  min-height:2.55em;
  margin:0 !important;
  color:var(--ds-sage-deep) !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  font-size:19px !important;
  font-weight:400 !important;
  line-height:1.28 !important;
  letter-spacing:.005em !important;
  text-transform:none !important;
}
.template-collection collection-component .product-card .price,
.template-collection collection-component .product-card [class*='price'] {
  color:var(--ds-terracotta) !important;
  font-family:var(--font-paragraph--family) !important;
  font-weight:700 !important;
}
.template-collection collection-component .product-card .card-gallery {
  aspect-ratio:1 / 1 !important;
  background:#f5f0e9 !important;
}
.template-collection collection-component .product-card .card-gallery img { object-fit:contain !important; }
.template-collection collection-component .product-grid__item:nth-child(4n+1) .product-card::after,
.template-collection collection-component .product-grid__item:nth-child(4n+3) .product-card::after {
  content:'✦';
  position:absolute;
  right:12px;
  bottom:10px;
  color:rgba(229,143,137,.58);
  font-size:11px;
  pointer-events:none;
}

@media screen and (max-width: 899px) {
  #header-component .header__column--left { min-width:190px !important; }
  #header-component .header-logo { width:180px !important; min-width:180px !important; height:136px !important; }
  #header-component .header-logo__image-container,
  #header-component .header-logo__image,
  #header-component .ds-header-logo-fallback { width:136px !important; min-width:136px !important; height:136px !important; }
}
@media screen and (max-width: 749px) {
  #header-component .header { min-height:110px !important; }
  #header-component .header__column--left { min-width:0 !important; }
  #header-component .header-logo { width:130px !important; min-width:130px !important; height:104px !important; justify-content:center !important; }
  #header-component .header-logo__image-container,
  #header-component .header-logo__image,
  #header-component .ds-header-logo-fallback { width:104px !important; min-width:104px !important; height:104px !important; }
  .ds-collection-heading-decor { gap:18px; font-size:13px; }
  .template-collection main > .shopify-section:first-child h1 { font-size:42px !important; }
  .template-collection collection-component .product-card .text-block [role='heading'] { font-size:17px !important; min-height:2.6em; }
}


/* =========================================================
   V10.6 — exact collection routing + reference-inspired About
   ========================================================= */
.ds-about-page {
  padding: 54px 0 82px !important;
  background: var(--ds-cream);
}
.ds-about-editorial {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .72fr);
  gap: clamp(54px, 7vw, 108px);
  align-items: center;
  max-width: 1320px;
}
.ds-about-editorial__copy { padding: 18px 0; }
.ds-about-editorial__eyebrow {
  margin: 0 0 10px;
  color: var(--ds-terracotta);
  font-family: var(--font-paragraph--family);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.ds-about-editorial__title {
  margin: 0 0 32px;
  color: var(--ds-sage-deep);
  font-family: var(--font-accent--family, var(--font-heading--family));
  font-size: clamp(44px, 4.6vw, 68px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.025em;
}
.ds-about-editorial__text { max-width: 760px; }
.ds-about-editorial__text p {
  margin: 0 0 24px;
  color: var(--ds-sage-deep);
  font-family: var(--font-heading--family);
  font-size: clamp(17px, 1.25vw, 20px);
  font-weight: 400;
  line-height: 1.9;
}
.ds-about-editorial__text p:last-child {
  margin-top: 32px !important;
  color: var(--ds-terracotta) !important;
  font-family: var(--font-accent--family, var(--font-heading--family)) !important;
  font-size: 24px !important;
  font-style: italic;
  text-align: right;
}
.ds-about-editorial__visual {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ds-about-editorial__frame {
  position: relative;
  width: min(100%, 430px);
  padding: 34px;
  border: 1px solid rgba(189,104,77,.25);
  border-radius: 8px;
  background:
    radial-gradient(circle at 15% 8%, rgba(255,255,255,.72), transparent 24%),
    linear-gradient(145deg, #f5c79f, #edaa83 52%, #f1b995);
  box-shadow: 0 20px 44px rgba(84,62,42,.10);
}
.ds-about-editorial__frame::before,
.ds-about-editorial__frame::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.9);
}
.ds-about-editorial__frame::before { inset: 16px; border-radius: 4px; }
.ds-about-editorial__frame::after { inset: 24px; border-radius: 2px; opacity: .55; }
.ds-about-editorial__photo-mat {
  position: relative;
  z-index: 2;
  padding: 8px;
  background: rgba(255,253,249,.95);
  box-shadow: 0 8px 24px rgba(62,48,37,.10);
}
.ds-about-editorial__image {
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
  display: block;
}
.ds-about-editorial__spark {
  position: absolute;
  z-index: 3;
  color: #fffdf9;
  text-shadow: 0 0 12px rgba(255,255,255,.75);
}
.ds-about-editorial__spark--one { top: 8px; left: 18px; font-size: 22px; }
.ds-about-editorial__spark--two { top: 16px; right: 20px; font-size: 18px; }
.ds-about-editorial__spark--three { right: 16px; bottom: 8px; font-size: 20px; }

@media screen and (max-width: 899px) {
  .ds-about-editorial {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .ds-about-editorial__visual { order: 2; }
  .ds-about-editorial__frame { width: min(100%, 390px); }
  .ds-about-editorial__text { max-width: none; }
}
@media screen and (max-width: 749px) {
  .ds-about-page { padding: 36px 0 56px !important; }
  .ds-about-editorial__title { margin-bottom: 22px; font-size: 44px; }
  .ds-about-editorial__text p { font-size: 17px; line-height: 1.75; }
  .ds-about-editorial__frame { width: min(100%, 340px); padding: 27px; }
  .ds-about-editorial__image { max-height: 340px; }
  .ds-about-editorial__text p:last-child { font-size: 21px !important; text-align: left; }
}
\n\n/* =========================\n   V10.7 routing + custom page + personalization fixes\n   ========================= */\n.ds-page-hero {\n  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr) !important;\n  gap:34px !important;\n  align-items:center !important;\n}\n.ds-page-hero__visual:not(.ds-page-hero__visual--events) {\n  width:min(100%,430px) !important;\n  min-height:0 !important;\n  justify-self:end !important;\n  padding:10px !important;\n  background:rgba(255,253,249,.72) !important;\n}\n.ds-page-hero__visual:not(.ds-page-hero__visual--events) img {\n  width:100% !important;\n  height:auto !important;\n  min-height:0 !important;\n  max-height:280px !important;\n  object-fit:contain !important;\n  object-position:center !important;\n}\n.ds-personalization-field {\n  display:block !important;\n  width:100% !important;\n  max-width:none !important;\n  box-sizing:border-box !important;\n}\n.ds-personalization-field textarea {\n  display:block !important;\n  width:100% !important;\n  min-height:76px !important;\n  box-sizing:border-box !important;\n  resize:vertical !important;\n  padding:12px 14px !important;\n  border:1px solid #d7c6b8 !important;\n  border-radius:10px !important;\n  background:rgba(255,253,249,.96) !important;\n  color:var(--ds-ink) !important;\n  font-family:var(--font-paragraph--family) !important;\n  font-size:15px !important;\n  line-height:1.45 !important;\n}\n.ds-personalization-field textarea::placeholder {\n  color:#8a837a !important;\n  opacity:1 !important;\n}\nproduct-information .variant-picker,\n.product-information .variant-picker,\nproduct-information variant-picker,\n.product-information variant-picker {\n  display:block !important;\n  width:100% !important;\n  clear:both !important;\n}\n@media screen and (max-width:899px) {\n  .ds-page-hero { grid-template-columns:1fr !important; gap:22px !important; }\n  .ds-page-hero__visual:not(.ds-page-hero__visual--events) { width:min(100%,420px) !important; justify-self:center !important; }\n  .ds-page-hero__visual:not(.ds-page-hero__visual--events) img { max-height:260px !important; }\n}\n

/* =========================================================
   V10.8 — native Shopify menu + reduced homepage hero footprint
   ========================================================= */
/* Do not hide Feather's real menu. V10.8 no longer loads the JS that added
   ds-native-menu--hidden, but these guards keep native navigation visible
   if a stale class is present during theme-editor hot reloads. */
#header-component .menu-list.ds-native-menu--hidden,
.menu-drawer__menu.ds-native-drawer--hidden {
  display: flex !important;
}
.menu-drawer__menu.ds-native-drawer--hidden { display: block !important; }

/* Match the Desert Sol boutique styling while leaving all dropdown behavior
   to Feather's native menu component. */
#header-component .menu-list__link,
#header-component .menu-list__link-title {
  color: var(--ds-sage-deep) !important;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}
#header-component .menu-list__submenu {
  border-color: var(--ds-line) !important;
  background: rgba(255,253,249,.99) !important;
  box-shadow: 0 16px 34px rgba(65,55,44,.10) !important;
}
#header-component .menu-list__submenu .menu-list__link,
#header-component .menu-list__submenu .menu-list__link-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

/* The lifestyle photo should support the first impression rather than fill it.
   Keep the full image visible and center it at roughly three-quarters of the
   previous desktop footprint. */
@media screen and (min-width: 900px) {
  .ds-hero__art {
    width: 76% !important;
    justify-self: center !important;
    margin-inline: auto !important;
  }
}
@media screen and (min-width: 750px) and (max-width: 899px) {
  .ds-hero__art { width: 88% !important; margin-inline: auto !important; }
}
@media screen and (max-width: 749px) {
  .ds-hero__art { width: 94% !important; margin-inline: auto !important; }
}

/* =========================================================
   V10.10 — restore native collection routing + easier Shop hover
   ========================================================= */
/* Collection structure is restored to Feather's original collection.json.
   Keep branding visual-only so Shopify's collection route/template stays native. */
.template-collection main > .shopify-section:first-child .section {
  position: relative;
  text-align: center;
}
.template-collection main > .shopify-section:first-child .section::before {
  content: '✦   ✧   ✦';
  display: block;
  width: 100%;
  margin: 0 auto 12px;
  color: var(--ds-blush);
  font-size: 18px;
  letter-spacing: .55em;
  text-align: center;
  text-shadow: 0 0 14px rgba(229,143,137,.22);
}
.template-collection main > .shopify-section:first-child h1 {
  color: var(--ds-sage-deep) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(40px, 4vw, 60px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em !important;
}
.template-collection collection-component .product-grid__item { height: 100%; }
.template-collection collection-component .product-card {
  height: 100% !important;
  border: 1px solid #eadfd4 !important;
  border-radius: 16px !important;
  background: #fffdf9 !important;
  padding: 8px 8px 12px !important;
  overflow: hidden;
}
.template-collection collection-component .product-card .card-gallery {
  aspect-ratio: 1 / 1 !important;
  border-radius: 12px !important;
  overflow: hidden;
  background: #f5f0e9 !important;
}
.template-collection collection-component .product-card .card-gallery img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.template-collection collection-component .product-card .text-block [role='heading'] {
  min-height: 2.55em;
  color: var(--ds-sage-deep) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
  text-transform: none !important;
}

/* Native Feather dropdown: preserve an invisible pointer bridge beneath the
   top-level item so moving from Shop into the dropdown does not collapse it. */
#header-component .menu-list__list-item:has(> .menu-list__submenu) {
  position: static;
}
#header-component .menu-list__list-item:has(> .menu-list__submenu)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 4px);
  height: 18px;
  pointer-events: auto;
}
#header-component .menu-list__submenu {
  pointer-events: auto !important;
}


/* V10.11 smart default-page policy layouts */
.ds-smart-page { padding: 58px 0 84px; }
.ds-smart-page__intro { max-width: 760px; margin: 12px 0 30px; color: var(--ds-muted); font-size: 16px; line-height: 1.7; }
.ds-policy-hub { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; }
.ds-policy-link-card { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 26px; border:1px solid var(--ds-line); border-radius:14px; background:rgba(255,253,249,.72); color:var(--ds-sage-deep); text-decoration:none; font-family:var(--font-heading--family); font-size:22px; box-shadow:var(--ds-shadow); }
.ds-policy-link-card:hover { transform:translateY(-2px); color:var(--ds-terracotta); }
@media screen and (max-width:749px){ .ds-smart-page{padding:38px 0 60px}.ds-policy-hub{grid-template-columns:1fr}.ds-policy-link-card{font-size:19px;padding:20px} }

/* =========================================================
   V10.13 — slightly larger desktop navigation + logo
   ========================================================= */
@media screen and (min-width: 900px) {
  #header-component .menu-list__link,
  #header-component .menu-list__link-title {
    font-size: 15.5px !important;
    letter-spacing: .075em !important;
  }

  #header-component .menu-list__submenu .menu-list__link,
  #header-component .menu-list__submenu .menu-list__link-title {
    font-size: 17px !important;
  }

  #header-component .header {
    min-height: 194px !important;
  }
  #header-component .header__column--left {
    min-width: 258px !important;
  }
  #header-component .header-logo {
    width: 244px !important;
    min-width: 244px !important;
    height: 188px !important;
  }
  #header-component .header-logo__image-container,
  #header-component .header-logo__image,
  #header-component .ds-header-logo-fallback {
    width: 188px !important;
    min-width: 188px !important;
    height: 188px !important;
  }
}

/* =========================================================
   V10.14 — Boutique collection-page treatment
   Approved direction: framed blush intro + intentional accents
   ========================================================= */

/* Collection intro becomes a designed brand panel instead of loose stars. */
.template-collection main > .shopify-section:first-child {
  padding: 28px 0 14px;
  background: var(--ds-cream);
}
.template-collection main > .shopify-section:first-child .section {
  position: relative;
  width: min(1320px, calc(100% - 72px));
  margin-inline: auto;
  padding: 42px 72px 38px !important;
  overflow: hidden;
  text-align: center !important;
  background:
    radial-gradient(circle at 7% 22%, rgba(229,143,137,.09), transparent 19%),
    radial-gradient(circle at 93% 78%, rgba(201,154,58,.07), transparent 18%),
    linear-gradient(135deg, rgba(255,253,249,.98), rgba(250,235,230,.78));
  border: 1px solid rgba(229,143,137,.50);
  border-radius: 24px;
  box-shadow: 0 12px 34px rgba(89,72,57,.045), inset 0 0 0 5px rgba(255,253,249,.60);
}
/* Replace the old random sparkle row with two deliberate corner flourishes. */
.template-collection main > .shopify-section:first-child .section::before {
  content: '୨୧  ✦';
  position: absolute;
  left: 28px;
  top: 24px;
  width: auto;
  margin: 0;
  color: var(--ds-blush);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
  letter-spacing: .12em;
  text-shadow: none;
  opacity: .82;
}
.template-collection main > .shopify-section:first-child .section::after {
  content: '✦  ୨୧';
  position: absolute;
  right: 28px;
  top: 24px;
  color: var(--ds-blush);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
  letter-spacing: .12em;
  opacity: .82;
}
.template-collection main > .shopify-section:first-child h1 {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto !important;
  color: var(--ds-sage-deep) !important;
  font-family: var(--font-heading--family), Georgia, 'Times New Roman', serif !important;
  font-size: clamp(46px, 4.8vw, 70px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.template-collection main > .shopify-section:first-child h1::after {
  content: 'personalized pieces, thoughtfully stitched';
  display: block;
  width: fit-content;
  max-width: 90%;
  margin: 15px auto 0;
  padding: 0 42px;
  color: var(--ds-blush);
  font-family: var(--font-accent--family), var(--font-heading--family), Georgia, serif;
  font-size: clamp(18px, 1.7vw, 26px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: .005em;
  background:
    linear-gradient(var(--ds-line),var(--ds-line)) left center / 28px 1px no-repeat,
    linear-gradient(var(--ds-line),var(--ds-line)) right center / 28px 1px no-repeat;
}
.collection-baby-kids main > .shopify-section:first-child h1::after {
  content: 'personalized pieces for your little one';
}
.collection-home main > .shopify-section:first-child h1::after {
  content: 'thoughtful embroidery for meaningful spaces';
}
.collection-frontpage main > .shopify-section:first-child h1::after,
.collection-allproducts main > .shopify-section:first-child h1::after,
.collection-all main > .shopify-section:first-child h1::after {
  content: none !important;
  display: none !important;
}

/* Give the controls a small intentional separation from the intro panel. */
.template-collection collection-component .facets-block-wrapper--horizontal {
  margin-top: 8px;
}
.template-collection collection-component .facets--horizontal {
  border-bottom-color: rgba(232,214,199,.65);
}

/* Product cards: equal sizing + warmer boutique footer treatment. */
.template-collection collection-component .product-grid__item {
  height: 100%;
}
.template-collection collection-component .product-card {
  height: 100% !important;
  border: 1px solid rgba(229,143,137,.26) !important;
  border-radius: 19px !important;
  background: linear-gradient(180deg,#fffdf9 0%,#fffdf9 72%,#fcf3ef 100%) !important;
  padding: 8px 8px 14px !important;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(83,67,53,.035);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.template-collection collection-component .product-card:hover {
  transform: translateY(-3px);
  border-color: rgba(229,143,137,.48) !important;
  box-shadow: 0 13px 30px rgba(83,67,53,.07);
}
.template-collection collection-component .product-card .card-gallery {
  aspect-ratio: 1 / 1 !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: #f5f0e9 !important;
}
.template-collection collection-component .product-card .card-gallery img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.template-collection collection-component .product-card .text-block [role='heading'] {
  position: relative;
  min-height: 2.65em;
  margin-inline: auto !important;
  padding: 2px 5px 0;
  color: var(--ds-sage-deep) !important;
  font-family: var(--font-heading--family), Georgia, 'Times New Roman', serif !important;
  font-size: 18.5px !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.27 !important;
  letter-spacing: -.01em !important;
  text-align: center !important;
  text-transform: none !important;
}
.template-collection collection-component .product-card .text-block [role='heading']::after {
  content: '✦';
  display: block;
  margin: 6px auto 1px;
  color: rgba(229,143,137,.72);
  font-size: 9px;
  font-style: normal;
  line-height: 1;
}
.template-collection collection-component .product-card product-price,
.template-collection collection-component .product-card .price {
  width: 100% !important;
  color: var(--ds-terracotta) !important;
  font-family: var(--font-paragraph--family) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .035em;
  text-align: center !important;
}
.template-collection collection-component .product-card product-price * {
  color: inherit !important;
}

@media screen and (max-width: 899px) {
  .template-collection main > .shopify-section:first-child .section {
    width: min(100% - 36px, 820px);
    padding: 34px 50px 31px !important;
  }
  .template-collection main > .shopify-section:first-child .section::before,
  .template-collection main > .shopify-section:first-child .section::after {
    font-size: 20px;
    top: 18px;
  }
}
@media screen and (max-width: 749px) {
  .template-collection main > .shopify-section:first-child {
    padding-top: 18px;
  }
  .template-collection main > .shopify-section:first-child .section {
    width: calc(100% - 28px);
    padding: 34px 22px 28px !important;
    border-radius: 18px;
  }
  .template-collection main > .shopify-section:first-child .section::before,
  .template-collection main > .shopify-section:first-child .section::after {
    top: 14px;
    font-size: 16px;
    letter-spacing: .04em;
  }
  .template-collection main > .shopify-section:first-child .section::before { left: 15px; }
  .template-collection main > .shopify-section:first-child .section::after { right: 15px; }
  .template-collection main > .shopify-section:first-child h1 {
    font-size: clamp(38px, 12vw, 52px) !important;
  }
  .template-collection main > .shopify-section:first-child h1::after {
    max-width: 100%;
    padding-inline: 28px;
    font-size: 17px;
    background-size: 18px 1px,18px 1px;
  }
  .template-collection collection-component .product-card .text-block [role='heading'] {
    font-size: 16px !important;
    min-height: 2.7em;
  }
}

/* =========================================================
   V10.15 — Center boutique collection treatment
   ========================================================= */
/* Keep the branded collection intro truly centered at every breakpoint. */
.template-collection main > .shopify-section:first-child .section-content-wrapper {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.template-collection main > .shopify-section:first-child .text-block,
.template-collection main > .shopify-section:first-child .text-block > * {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}
.template-collection main > .shopify-section:first-child h1,
.template-collection main > .shopify-section:first-child h1::after {
  margin-inline: auto !important;
  text-align: center !important;
}
/* Center the boutique product-card copy while leaving filters/sort functional. */
.template-collection collection-component .product-card .text-block,
.template-collection collection-component .product-card .text-block > *,
.template-collection collection-component .product-card product-title,
.template-collection collection-component .product-card product-price,
.template-collection collection-component .product-card .price {
  width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
  justify-content: center !important;
}
@media screen and (max-width: 749px) {
  .template-collection main > .shopify-section:first-child .section-content-wrapper,
  .template-collection main > .shopify-section:first-child .text-block,
  .template-collection main > .shopify-section:first-child .text-block > * {
    width: 100% !important;
    align-items: center !important;
    text-align: center !important;
  }
  .template-collection main > .shopify-section:first-child h1::after {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* =========================================================
   V10.16 — mobile logo centering
   ========================================================= */
@media screen and (max-width: 749px) {
  #header-component .header__columns {
    position: relative !important;
  }

  #header-component .header__columns .header-logo {
    grid-area: center !important;
    justify-self: center !important;
    align-self: center !important;
    justify-content: center !important;
    margin-inline: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  #header-component .header-logo__image-container {
    margin-inline: auto !important;
  }

  #header-component .header-logo__image,
  #header-component .ds-header-logo-fallback {
    margin-inline: auto !important;
  }
}

/* =========================================================
   V10.17 — Thread Color Guide + product thread-color metafield
   ========================================================= */
.ds-thread-colors-page { padding: 42px 0 76px; }
.ds-thread-colors-page__inner { width: min(1180px, calc(100% - 48px)); }
.ds-thread-colors-hero {
  position: relative;
  overflow: hidden;
  margin: 0 auto 24px;
  padding: 42px 32px 36px;
  border: 1px solid #e9c9bf;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,253,249,.96), rgba(245,221,215,.54));
  text-align: center;
  box-shadow: 0 14px 38px rgba(85,70,57,.06);
}
.ds-thread-colors-hero::before,
.ds-thread-colors-hero::after {
  content: '✧';
  position: absolute;
  color: var(--ds-blush);
  font-size: 44px;
  opacity: .55;
}
.ds-thread-colors-hero::before { left: 28px; top: 24px; transform: rotate(-14deg); }
.ds-thread-colors-hero::after { right: 28px; bottom: 22px; transform: rotate(16deg); }
.ds-thread-colors-hero .ds-page-hero__title { font-size: clamp(42px, 5vw, 68px); }
.ds-thread-colors-hero__script {
  margin: 4px 0 12px;
  color: var(--ds-blush);
  font-family: var(--font-accent--family,var(--font-heading--family));
  font-size: clamp(22px,2.2vw,32px);
  font-style: italic;
}
.ds-thread-colors-hero .ds-smart-page__intro { max-width: 720px; margin: 0 auto; }
.ds-thread-colors-hero__sparkle { position: absolute; top: 24px; right: 80px; color: var(--ds-gold); font-size: 19px; }
.ds-thread-colors-hero__sparkle--right { top: auto; right: auto; left: 80px; bottom: 25px; }
.ds-thread-color-note {
  margin: 0 auto 30px;
  max-width: 920px;
  padding: 13px 18px;
  border-radius: 12px;
  background: rgba(127,136,111,.09);
  color: var(--ds-muted);
  font-size: 13px;
  text-align: center;
}
.ds-thread-guide-grid { display: grid; gap: 34px; }
.ds-thread-family__title {
  margin: 0 0 14px;
  color: var(--ds-sage-deep);
  font-family: var(--font-heading--family);
  font-size: 27px;
  font-weight: 400;
  text-align: center;
}
.ds-thread-family__grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.ds-thread-swatch {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  padding: 10px;
  border: 1px solid #ead9cd;
  border-radius: 14px;
  background: rgba(255,253,249,.86);
  box-shadow: 0 7px 18px rgba(70,59,48,.035);
}
.ds-thread-swatch__color {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--ds-thread-color);
  border: 3px solid #fffdf9;
  box-shadow: 0 0 0 1px rgba(67,58,50,.12), inset 0 0 0 1px rgba(255,255,255,.22);
}
.ds-thread-swatch__copy { min-width: 0; display: grid; gap: 2px; }
.ds-thread-swatch__copy strong { color: var(--ds-sage-deep); font-family: var(--font-heading--family); font-size: 15px; font-weight: 400; line-height: 1.15; }
.ds-thread-swatch__copy small { color: var(--ds-terracotta); font-size: 11px; font-weight: 700; letter-spacing: .05em; }

.ds-thread-color-field { display: grid; gap: 7px; margin: 16px 0 4px; }
.ds-thread-color-field__heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ds-thread-color-field label { margin: 0 !important; color: var(--ds-sage-deep); font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.ds-thread-color-field select {
  width: 100%;
  min-height: 46px;
  padding: 10px 38px 10px 12px;
  border: 1px solid #d7c6b8;
  border-radius: 8px;
  background: #fffdf9;
  color: var(--ds-ink);
  font: inherit;
}
.ds-thread-guide-trigger,
.ds-thread-guide-text-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: var(--ds-terracotta);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.ds-thread-guide-trigger span { font-size: 20px; line-height: 1; transform: translateY(-1px); }
.ds-thread-guide-text-link { margin-top: 12px; }
.ds-field-error { color: #b85c38; font-size: 12.5px; font-weight: 600; }
.ds-thread-guide-dialog {
  width: min(980px, calc(100vw - 34px));
  max-height: min(86vh, 900px);
  padding: 0;
  border: 1px solid #e6cfc1;
  border-radius: 22px;
  background: #fbf7f0;
  color: var(--ds-ink);
  box-shadow: 0 30px 90px rgba(54,45,38,.22);
}
.ds-thread-guide-dialog::backdrop { background: rgba(47,43,38,.44); backdrop-filter: blur(3px); }
.ds-thread-guide-dialog__inner { padding: 28px; overflow: auto; max-height: 86vh; }
.ds-thread-guide-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 14px; border-bottom: 1px solid #ead9cd; }
.ds-thread-guide-dialog__header h2 { margin: 0; color: var(--ds-sage-deep); font-family: var(--font-heading--family); font-size: 34px; font-weight: 400; }
.ds-thread-guide-close { width: 42px; height: 42px; border: 1px solid #e3cfc2; border-radius: 50%; background: #fffdf9; color: var(--ds-sage-deep); font-size: 28px; line-height: 1; cursor: pointer; }
.ds-thread-guide-dialog__intro { margin: 14px 0 22px; color: var(--ds-muted); font-size: 13px; }
.ds-thread-guide-grid--compact { gap: 24px; }
.ds-thread-guide-grid--compact .ds-thread-family__title { font-size: 21px; text-align: left; }
.ds-thread-guide-grid--compact .ds-thread-family__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.ds-thread-guide-grid--compact .ds-thread-swatch { min-height: 66px; padding: 8px; }
.ds-thread-guide-grid--compact .ds-thread-swatch__color { flex-basis: 38px; width: 38px; height: 38px; }
.ds-thread-guide-dialog__full { display: inline-flex; margin-top: 22px; color: var(--ds-terracotta); font-weight: 700; text-decoration: none; }

@media screen and (max-width: 900px) {
  .ds-thread-family__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ds-thread-guide-grid--compact .ds-thread-family__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media screen and (max-width: 749px) {
  .ds-thread-colors-page { padding-top: 24px; }
  .ds-thread-colors-page__inner { width: min(100% - 24px, 680px); }
  .ds-thread-colors-hero { padding: 34px 18px 30px; border-radius: 18px; }
  .ds-thread-colors-hero::before { left: 12px; top: 12px; font-size: 30px; }
  .ds-thread-colors-hero::after { right: 12px; bottom: 12px; font-size: 30px; }
  .ds-thread-colors-hero__sparkle { display: none; }
  .ds-thread-family__grid,
  .ds-thread-guide-grid--compact .ds-thread-family__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .ds-thread-swatch { min-height: 68px; padding: 8px; gap: 8px; }
  .ds-thread-swatch__color { flex-basis: 38px; width: 38px; height: 38px; }
  .ds-thread-swatch__copy strong { font-size: 13px; }
  .ds-thread-guide-dialog__inner { padding: 18px 14px 22px; }
  .ds-thread-guide-dialog__header h2 { font-size: 27px; }
  .ds-thread-color-field__heading { align-items: flex-end; }
}
\n\n/* =========================================================\n   V10.18 — brand-neutral guide + clickable thread swatches\n   ========================================================= */\n.ds-thread-swatch--selectable {\n  position: relative;\n  width: 100%;\n  font: inherit;\n  text-align: left;\n  cursor: pointer;\n  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;\n}\n.ds-thread-swatch--selectable:hover:not(:disabled),\n.ds-thread-swatch--selectable:focus-visible:not(:disabled) {\n  transform: translateY(-2px);\n  border-color: var(--ds-blush);\n  box-shadow: 0 10px 24px rgba(70,59,48,.09);\n  outline: none;\n}\n.ds-thread-swatch--selectable.is-selected {\n  border-color: var(--ds-sage-deep);\n  box-shadow: 0 0 0 2px rgba(104,113,92,.14);\n}\n.ds-thread-swatch--unavailable {\n  opacity: .32;\n  cursor: not-allowed;\n  filter: grayscale(.25);\n}\n.ds-thread-swatch__choose {\n  margin-left: auto;\n  color: var(--ds-terracotta);\n  font-size: 10px;\n  font-weight: 800;\n  letter-spacing: .08em;\n  text-transform: uppercase;\n}\n@media screen and (max-width: 749px) {\n  .ds-thread-swatch__choose { display: none; }\n}\n

/* =========================================================
   V10.23 — Desktop personalization field full-width layout
   ========================================================= */

/* Feather/Horizon can size theme blocks as flex children on desktop.
   Force the block containing our personalization controls to occupy
   the full product-details column, just like the mobile layout. */
product-information .group-block-content > :has(.ds-personalization-field),
.product-information .group-block-content > :has(.ds-personalization-field) {
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}

product-information .ds-personalization-field,
.product-information .ds-personalization-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  clear: both !important;
  box-sizing: border-box !important;
}

product-information .ds-personalization-field > *,
.product-information .ds-personalization-field > * {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

product-information .ds-personalization-field label,
.product-information .ds-personalization-field label {
  display: block !important;
  margin: 0 0 8px !important;
  width: 100% !important;
}

product-information .ds-personalization-field textarea,
.product-information .ds-personalization-field textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}

/* Keep Thread Color directly below Personalization Details
   and full-width within the same block. */
product-information .ds-thread-color-field,
.product-information .ds-thread-color-field {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  clear: both !important;
}

product-information .ds-thread-color-field select,
.product-information .ds-thread-color-field select {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}


/* =========================================================
   V10.24 — Mobile thread-color label visibility
   ========================================================= */
.ds-thread-color-selected {
  margin: 2px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(127,136,111,.08);
  color: var(--ds-sage-deep);
  font-size: 12.5px;
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: normal;
}

.ds-thread-color-selected[hidden] {
  display: none !important;
}

.ds-thread-swatch__copy,
.ds-thread-swatch__copy strong,
.ds-thread-swatch__copy small {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

@media screen and (max-width: 749px) {
  .ds-thread-color-field select {
    min-height: 48px;
    font-size: 16px;
    line-height: 1.3;
  }

  .ds-thread-color-selected {
    display: block;
    width: 100%;
    font-size: 13px;
  }

  .ds-thread-swatch,
  .ds-thread-guide-grid--compact .ds-thread-swatch {
    min-height: 72px;
    height: auto !important;
    align-items: center;
  }

  .ds-thread-swatch__copy strong {
    font-size: 12.5px;
    line-height: 1.25;
  }

  .ds-thread-swatch__copy small {
    line-height: 1.25;
  }

  .ds-thread-guide-dialog__intro {
    line-height: 1.5;
    white-space: normal;
  }
}


/* =========================================================
   V10.25 — Fix oversized personalization block on mobile/desktop
   ========================================================= */

/* V10.23 used flex-basis:100%, which becomes 100% HEIGHT inside
   Feather's column-oriented product-details layout. Keep the block
   full-width, but let its height be determined only by its content. */
product-information .group-block-content > :has(.ds-personalization-field),
.product-information .group-block-content > :has(.ds-personalization-field) {
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch !important;
}

/* Prevent the custom-liquid wrapper itself from inheriting/stretching
   to the product media/gallery height. */
product-information .group-block-content > :has(.ds-personalization-field) > *,
.product-information .group-block-content > :has(.ds-personalization-field) > * {
  height: auto !important;
  min-height: 0 !important;
}

/* On mobile, make the full product-details stack size to its content
   so Size, Add to Cart, description, etc. follow immediately. */
@media screen and (max-width: 749px) {
  product-information .product-details > .group-block,
  .product-information .product-details > .group-block,
  product-information .product-details .group-block-content,
  .product-information .product-details .group-block-content {
    height: auto !important;
    min-height: 0 !important;
  }

  product-information .group-block-content > :has(.ds-personalization-field),
  .product-information .group-block-content > :has(.ds-personalization-field) {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
  }
}


/* =========================================================
   V10.26 — unified 50-color thread guide
   ========================================================= */
.ds-thread-family--all {
  grid-column: 1 / -1;
}

.ds-thread-family--all .ds-thread-family__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ds-thread-swatch[data-ds-thread-color-code="9978"] .ds-thread-swatch__color {
  background:
    linear-gradient(135deg, #d9e7d0 0 22%, #76b8c3 22% 44%, #f0e4b3 44% 61%, #78aebc 61% 79%, #e7efe3 79% 100%) !important;
}

.ds-thread-swatch[data-ds-thread-color-code="9914"] .ds-thread-swatch__color {
  background:
    linear-gradient(135deg, #f4a0aa 0 20%, #ffd55f 20% 40%, #a5d98f 40% 58%, #f28ba5 58% 78%, #ffe59b 78% 100%) !important;
}

@media screen and (max-width: 989px) {
  .ds-thread-family--all .ds-thread-family__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px) {
  .ds-thread-family--all .ds-thread-family__grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   V10.28 — stocked thread-image cards only
   ========================================================= */
.ds-thread-family__intro {
  max-width: 860px;
  margin: -2px auto 20px;
  color: var(--ds-muted);
  font-size: 14px;
  line-height: 1.55;
  text-align: center;
}

.ds-thread-family__grid--image,
.ds-thread-family--all .ds-thread-family__grid--image {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}

.ds-thread-swatch--image {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 86px;
  padding: 10px;
  overflow: hidden;
  text-align: left;
}

.ds-thread-swatch__image {
  display: block;
  width: 94px;
  height: 58px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(67,58,50,.10);
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}

.ds-thread-swatch--image .ds-thread-swatch__copy {
  min-width: 0;
}

.ds-thread-swatch--image .ds-thread-swatch__copy strong {
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
  line-height: 1.22;
}

.ds-thread-swatch--image .ds-thread-swatch__copy small {
  display: inline-block;
  font-size: 11px;
  line-height: 1.2;
}

.ds-thread-guide-grid--compact .ds-thread-family__grid--image,
.ds-thread-guide-grid--compact .ds-thread-family--all .ds-thread-family__grid--image {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ds-thread-guide-grid--compact .ds-thread-swatch--image {
  grid-template-columns: 76px minmax(0,1fr) auto;
  min-height: 76px;
  padding: 8px;
  gap: 9px;
}

.ds-thread-guide-grid--compact .ds-thread-swatch__image {
  width: 76px;
  height: 48px;
  border-radius: 8px;
}

.ds-thread-guide-grid--compact .ds-thread-swatch--image .ds-thread-swatch__copy strong {
  font-size: 13px;
}

@media screen and (max-width: 989px) {
  .ds-thread-family__grid--image,
  .ds-thread-family--all .ds-thread-family__grid--image {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px) {
  .ds-thread-family__intro {
    margin-bottom: 16px;
    font-size: 13px;
    text-align: left;
  }

  .ds-thread-family__grid--image,
  .ds-thread-family--all .ds-thread-family__grid--image,
  .ds-thread-guide-grid--compact .ds-thread-family__grid--image,
  .ds-thread-guide-grid--compact .ds-thread-family--all .ds-thread-family__grid--image {
    grid-template-columns: 1fr;
  }

  .ds-thread-swatch--image,
  .ds-thread-guide-grid--compact .ds-thread-swatch--image {
    grid-template-columns: 88px minmax(0, 1fr) auto;
    min-height: 78px;
    padding: 8px;
    gap: 10px;
  }

  .ds-thread-swatch__image,
  .ds-thread-guide-grid--compact .ds-thread-swatch__image {
    width: 88px;
    height: 54px;
  }

  .ds-thread-swatch--image .ds-thread-swatch__copy strong,
  .ds-thread-guide-grid--compact .ds-thread-swatch--image .ds-thread-swatch__copy strong {
    font-size: 13.5px;
  }
}

/* =========================================================
   V10.29 — approved palette-ordered Thread Color Guide
   ========================================================= */
.ds-thread-family__grid--approved,
.ds-thread-family--all .ds-thread-family__grid--approved {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 28px;
}

.ds-thread-approved-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  color: var(--ds-ink);
}

.ds-thread-approved-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 190 / 58;
  height: auto;
  object-fit: cover;
  border: 1px solid rgba(73,58,43,.08);
  border-radius: 2px;
  background: #fff;
}

.ds-thread-approved-card__code {
  display: block;
  margin-top: 8px;
  color: #20201d;
  font-family: var(--font-body--family);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: .01em;
}

.ds-thread-approved-card__name {
  display: block;
  margin-top: 3px;
  color: #46433d;
  font-family: var(--font-heading--family);
  font-size: 13px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.18;
}

.ds-thread-approved-card__name em {
  display: block;
  font-size: 11px;
  font-style: italic;
}

.ds-thread-approved-card--selectable {
  width: 100%;
  font: inherit;
  cursor: pointer;
  transition: transform .16s ease, opacity .16s ease;
}

.ds-thread-approved-card--selectable:hover,
.ds-thread-approved-card--selectable:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

.ds-thread-approved-card--selectable:focus-visible .ds-thread-approved-card__image,
.ds-thread-approved-card--selectable.is-selected .ds-thread-approved-card__image {
  box-shadow: 0 0 0 3px rgba(104,113,92,.24);
  border-color: var(--ds-sage-deep);
}

.ds-thread-approved-card--selectable .ds-thread-swatch__choose {
  display: none;
}

/* Product View Colors modal: same visual, compact responsive grid. */
.ds-thread-guide-grid--compact .ds-thread-family__grid--approved,
.ds-thread-guide-grid--compact .ds-thread-family--all .ds-thread-family__grid--approved {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 14px;
}

.ds-thread-guide-grid--compact .ds-thread-approved-card__code {
  font-size: 12px;
  margin-top: 6px;
}

.ds-thread-guide-grid--compact .ds-thread-approved-card__name {
  font-size: 12px;
}

@media screen and (max-width: 1100px) {
  .ds-thread-family__grid--approved,
  .ds-thread-family--all .ds-thread-family__grid--approved {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px) {
  .ds-thread-family__grid--approved,
  .ds-thread-family--all .ds-thread-family__grid--approved,
  .ds-thread-guide-grid--compact .ds-thread-family__grid--approved,
  .ds-thread-guide-grid--compact .ds-thread-family--all .ds-thread-family__grid--approved {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 12px;
  }

  .ds-thread-approved-card__code {
    margin-top: 7px;
    font-size: 13px;
  }

  .ds-thread-approved-card__name {
    font-size: 12px;
  }
}

/* =========================================================
   V10.30 — larger prices, conditional product options,
   and exact manufacturer thread swatches
   ========================================================= */

/* Make prices easier to read throughout the storefront. */
.ds-product-card__price {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.template-collection collection-component .product-card product-price,
.template-collection collection-component .product-card .price,
.product-recommendations .product-card product-price,
.product-recommendations .product-card .price,
product-recommendations .product-card product-price,
product-recommendations .product-card .price {
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

product-information .product-details product-price,
.product-information .product-details product-price,
product-information .product-details product-price .price,
.product-information .product-details product-price .price,
product-information .product-details .price,
.product-information .product-details .price {
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

product-information .product-details .compare-at-price,
.product-information .product-details .compare-at-price {
  font-size: .82em !important;
  font-weight: 500 !important;
}

/* Optional metafield-driven product choices. */
.ds-product-personalization {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.ds-product-option-field {
  display: grid;
  gap: 7px;
  width: 100%;
  margin: 14px 0 4px;
  box-sizing: border-box;
}

.ds-product-option-field > label,
.ds-product-option-field .ds-thread-color-field__heading label {
  margin: 0 !important;
  color: var(--ds-sage-deep) !important;
  font-family: var(--font-heading--family) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

.ds-product-option-field select {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  padding: 11px 38px 11px 13px !important;
  border: 1px solid #d7c6b8 !important;
  border-radius: 10px !important;
  background: rgba(255,253,249,.96) !important;
  color: var(--ds-ink) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
}

/* The Floriani assets in V10.30 are the exact embedded swatch images from
   the manufacturer PDF, rather than resized screenshots of the chart. */
.ds-thread-approved-card__image {
  aspect-ratio: 150 / 37 !important;
  object-fit: fill !important;
  image-rendering: auto;
}

.ds-thread-guide-grid--compact .ds-thread-approved-card__image {
  aspect-ratio: 150 / 37 !important;
}

@media screen and (max-width: 749px) {
  .ds-product-card__price,
  .template-collection collection-component .product-card product-price,
  .template-collection collection-component .product-card .price,
  .product-recommendations .product-card product-price,
  .product-recommendations .product-card .price,
  product-recommendations .product-card product-price,
  product-recommendations .product-card .price {
    font-size: 16px !important;
  }

  product-information .product-details product-price,
  .product-information .product-details product-price,
  product-information .product-details product-price .price,
  .product-information .product-details product-price .price,
  product-information .product-details .price,
  .product-information .product-details .price {
    font-size: 21px !important;
  }

  .ds-product-option-field select {
    font-size: 16px !important;
  }
}

/* =========================================================
   V10.35 — 70-color thread guide only (routing remains V10.30)
   ========================================================= */
.ds-thread-guide-grid { gap: 42px !important; }
.ds-thread-family--book { display:block; }
.ds-thread-family__book-heading {
  display:flex;
  align-items:center;
  gap:16px;
  margin: 0 0 18px;
}
.ds-thread-family__book-heading h2 {
  margin:0;
  color:#78533c;
  font-family:var(--font-accent--family), "Brush Script MT", "Segoe Script", cursive !important;
  font-size:clamp(30px,3.1vw,46px);
  font-weight:400;
  line-height:1;
  letter-spacing:.005em;
  white-space:nowrap;
}
.ds-thread-family__book-heading span {
  display:block;
  height:1px;
  flex:1;
  background:linear-gradient(90deg, rgba(176,126,87,.55), rgba(176,126,87,.08));
}
.ds-thread-family__grid--approved,
.ds-thread-family--all .ds-thread-family__grid--approved {
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:24px 18px !important;
}
.ds-thread-approved-card__image {
  width:100% !important;
  aspect-ratio: 2.25 / 1 !important;
  height:auto !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:3px !important;
  border:1px solid rgba(86,69,52,.10) !important;
  background:#fff !important;
}
.ds-thread-approved-card__name {
  order:2;
  margin-top:8px !important;
  color:#33312d !important;
  font-family:var(--font-heading--family) !important;
  font-size:14px !important;
  font-style:italic !important;
  line-height:1.15 !important;
}
.ds-thread-approved-card__code {
  order:3;
  margin-top:3px !important;
  color:#6c665e !important;
  font-family:var(--font-paragraph--family) !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1.15 !important;
  letter-spacing:.02em !important;
}
.ds-thread-guide-grid--compact { gap:26px !important; }
.ds-thread-guide-grid--compact .ds-thread-family__book-heading { margin-bottom:12px; }
.ds-thread-guide-grid--compact .ds-thread-family__book-heading h2 { font-size:26px; }
.ds-thread-guide-grid--compact .ds-thread-family__grid--approved,
.ds-thread-guide-grid--compact .ds-thread-family--all .ds-thread-family__grid--approved {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px 12px !important;
}
.ds-thread-guide-grid--compact .ds-thread-approved-card__image { aspect-ratio:2.15/1 !important; }
@media screen and (max-width: 1100px) {
  .ds-thread-family__grid--approved,
  .ds-thread-family--all .ds-thread-family__grid--approved { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
}
@media screen and (max-width: 749px) {
  .ds-thread-guide-grid { gap:32px !important; }
  .ds-thread-family__book-heading { gap:10px; margin-bottom:14px; }
  .ds-thread-family__book-heading h2 { font-size:30px; white-space:normal; }
  .ds-thread-family__grid--approved,
  .ds-thread-family--all .ds-thread-family__grid--approved,
  .ds-thread-guide-grid--compact .ds-thread-family__grid--approved,
  .ds-thread-guide-grid--compact .ds-thread-family--all .ds-thread-family__grid--approved {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px 10px !important;
  }
  .ds-thread-approved-card__name { font-size:13px !important; }
  .ds-thread-approved-card__code { font-size:10px !important; }
}
\n\n/* =========================================================
   V10.36 - playful collection headings + full thread swatches
   ========================================================= */
/* Collection page titles: script-forward and playful rather than plain oversized serif. */
.template-collection main > .shopify-section:first-child h1 {
  font-family: "Snell Roundhand", "Brush Script MT", "Segoe Script", cursive !important;
  font-size: clamp(54px, 6.4vw, 88px) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: .98 !important;
  letter-spacing: .005em !important;
  color: var(--ds-sage-deep) !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.55);
}
/* The user asked to remove this All Products subline completely. */
.collection-frontpage main > .shopify-section:first-child h1::after,
.collection-allproducts main > .shopify-section:first-child h1::after,
.collection-all main > .shopify-section:first-child h1::after {
  content: none !important;
  display: none !important;
}
/* Thread guide: fixed sample window, full image visible, no cover crop and no vertical stretching. */
.ds-thread-approved-card__image {
  display: block !important;
  width: min(100%, 220px) !important;
  max-width: 220px !important;
  height: auto !important;
  aspect-ratio: 220 / 96 !important;
  object-fit: contain !important;
  object-position: center !important;
  margin-inline: auto !important;
  background: #fff !important;
  image-rendering: auto !important;
}
.ds-thread-guide-grid--compact .ds-thread-approved-card__image {
  aspect-ratio: 220 / 96 !important;
}
@media screen and (max-width: 749px) {
  .template-collection main > .shopify-section:first-child h1 {
    font-size: clamp(48px, 15vw, 68px) !important;
  }
  .ds-thread-approved-card__image {
    width: min(100%, 190px) !important;
  }
}


/* =========================================================
   V10.37 — direct menu labels, playful collection titles,
   native full color-book thread rectangles
   ========================================================= */

/* Collection titles: broad selector intentionally overrides the theme block's
   body-font setting. Uses system script faces so it renders without a webfont request. */
body.template-collection #MainContent h1,
body.template-collection main h1,
body.template-collection .text-block h1,
body.template-collection .text-block.h1 > *,
body.template-collection .text-block.h2 > * {
  font-family: "Snell Roundhand", "Apple Chancery", "Segoe Script", "Brush Script MT", cursive !important;
  font-size: clamp(46px, 5.4vw, 72px) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ds-sage-deep) !important;
}
body.template-collection #MainContent h1::after,
body.template-collection main h1::after {
  content: "✦" !important;
  display: block !important;
  margin: 10px auto 0 !important;
  color: var(--ds-blush) !important;
  font-family: Georgia, serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

/* Thread guide: exact source swatch at native ratio. No canvas, crop, cover,
   fixed aspect ratio or stretching. Keep it intentionally modest in size. */
.ds-thread-family__grid--approved,
.ds-thread-family--all .ds-thread-family__grid--approved {
  grid-template-columns: repeat(6, minmax(0,1fr)) !important;
  gap: 30px 18px !important;
}
.ds-thread-approved-card {
  align-items: flex-start !important;
}
.ds-thread-approved-card__image,
.ds-thread-guide-grid--compact .ds-thread-approved-card__image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 150px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: transparent !important;
  box-shadow: 0 0 0 1px rgba(83,70,57,.10) !important;
  image-rendering: auto !important;
}
.ds-thread-approved-card__name {
  margin-top: 9px !important;
  font-family: var(--font-heading--family) !important;
  font-size: 14px !important;
  font-style: italic !important;
  line-height: 1.15 !important;
}
.ds-thread-approved-card__code {
  margin-top: 3px !important;
  font-size: 11px !important;
}
.ds-thread-family__book-heading h2 {
  font-family: "Snell Roundhand", "Apple Chancery", "Segoe Script", "Brush Script MT", cursive !important;
  font-size: clamp(34px, 3vw, 46px) !important;
  letter-spacing: 0 !important;
}
.ds-thread-guide-grid--compact .ds-thread-family__grid--approved,
.ds-thread-guide-grid--compact .ds-thread-family--all .ds-thread-family__grid--approved {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
.ds-thread-guide-grid--compact .ds-thread-approved-card__image {
  max-width: 130px !important;
}
@media screen and (max-width: 1100px) {
  .ds-thread-family__grid--approved,
  .ds-thread-family--all .ds-thread-family__grid--approved {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  }
}
@media screen and (max-width: 749px) {
  body.template-collection #MainContent h1,
  body.template-collection main h1,
  body.template-collection .text-block h1 {
    font-size: clamp(44px, 13vw, 62px) !important;
  }
  .ds-thread-family__grid--approved,
  .ds-thread-family--all .ds-thread-family__grid--approved,
  .ds-thread-guide-grid--compact .ds-thread-family__grid--approved,
  .ds-thread-guide-grid--compact .ds-thread-family--all .ds-thread-family__grid--approved {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 24px 14px !important;
  }
  .ds-thread-approved-card__image,
  .ds-thread-guide-grid--compact .ds-thread-approved-card__image {
    max-width: 135px !important;
  }
}

/* =========================================================
   V10.38 — visual thread-color picker (no customer dropdown)
   ========================================================= */
.ds-thread-color-field {
  position: relative;
  gap: 8px !important;
}

.ds-thread-color-field__label {
  display: block;
  width: 100%;
  margin: 0 0 2px;
  font-weight: 600;
}

/* Keep the select as the submitted line-item property and ordering source,
   but remove it from the visual interface. Validation is handled by the
   Desert Sol personalization script. */
product-information .ds-thread-color-field .ds-thread-select--visual-only,
.product-information .ds-thread-color-field .ds-thread-select--visual-only,
.ds-thread-color-field .ds-thread-select--visual-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.ds-thread-picker-button {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  min-height: 66px;
  padding: 0;
  border: 1px solid #d7c6b8;
  border-radius: 12px;
  background: #fffdf9;
  color: var(--ds-ink);
  text-align: left;
  cursor: pointer;
  box-shadow: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

.ds-thread-picker-button:hover {
  border-color: rgba(104,113,92,.55);
  background: rgba(255,253,249,.72);
}

.ds-thread-picker-button:focus-visible {
  outline: none;
  border-color: var(--ds-sage-deep);
  box-shadow: 0 0 0 3px rgba(104,113,92,.16);
}

.ds-thread-picker-button.has-error {
  border-color: #b85c38 !important;
  box-shadow: 0 0 0 2px rgba(184,92,56,.10);
}

.ds-thread-picker-button__empty {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 11px 14px;
}

.ds-thread-picker-button__empty[hidden],
.ds-thread-picker-button__selected[hidden] {
  display: none !important;
}

.ds-thread-picker-button__magnify {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(127,136,111,.10);
  color: var(--ds-sage-deep);
  font-size: 21px;
  line-height: 1;
}

.ds-thread-picker-button__empty strong {
  display: block;
  color: var(--ds-sage-deep);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
}

.ds-thread-picker-button__empty small {
  display: block;
  margin-top: 3px;
  color: var(--ds-muted);
  font-size: 12.5px;
  line-height: 1.3;
  font-weight: 400;
}

.ds-thread-picker-button__selected {
  display: grid;
  grid-template-columns: 104px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 74px;
  padding: 9px 12px 9px 9px;
}

.ds-thread-picker-button__swatch-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 104px;
  min-height: 54px;
  padding: 5px 6px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(73,58,43,.08);
  overflow: hidden;
}

.ds-thread-picker-button__swatch-wrap img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 48px;
  object-fit: contain;
}

.ds-thread-picker-button__selected-copy {
  min-width: 0;
}

.ds-thread-picker-button__selected-copy small {
  display: block;
  margin-bottom: 2px;
  color: var(--ds-muted);
  font-size: 10.5px;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
}

.ds-thread-picker-button__selected-copy strong {
  display: block;
  color: var(--ds-sage-deep);
  font-family: var(--font-heading--family);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.ds-thread-picker-button__selected-copy span {
  display: block;
  margin-top: 2px;
  color: var(--ds-muted);
  font-size: 12px;
  line-height: 1.15;
  font-weight: 600;
}

.ds-thread-picker-button__change {
  align-self: center;
  color: var(--ds-sage-deep);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Make selection inside the modal unmistakable. */
.ds-thread-approved-card--selectable.is-selected {
  position: relative;
}

.ds-thread-approved-card--selectable.is-selected::after {
  content: '✓';
  position: absolute;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  background: var(--ds-sage-deep);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 2px 8px rgba(45,51,40,.18);
}

.ds-thread-approved-card--selectable.is-selected .ds-thread-approved-card__image {
  box-shadow: 0 0 0 3px rgba(104,113,92,.28);
  border-color: var(--ds-sage-deep);
}

@media screen and (max-width: 749px) {
  .ds-thread-picker-button {
    min-height: 70px;
  }

  .ds-thread-picker-button__empty {
    min-height: 70px;
    padding: 11px 12px;
  }

  .ds-thread-picker-button__selected {
    grid-template-columns: 88px minmax(0,1fr) auto;
    gap: 10px;
    min-height: 74px;
    padding: 8px 10px 8px 8px;
  }

  .ds-thread-picker-button__swatch-wrap {
    width: 88px;
  }

  .ds-thread-picker-button__selected-copy strong {
    font-size: 14px;
  }

  .ds-thread-picker-button__change {
    font-size: 11px;
  }
}

/* =========================================================
   V10.39 — visual thread picker selected-state polish
   Selected color uses a bright border around the whole card,
   rather than a checkmark badge.
   ========================================================= */
.ds-thread-approved-card--selectable.is-selected {
  position: relative;
  border-radius: 8px;
  box-shadow:
    0 0 0 3px var(--ds-blush),
    0 0 0 7px rgba(229, 143, 137, .18),
    0 8px 22px rgba(70, 59, 48, .10);
  background: rgba(245, 221, 215, .16);
}

.ds-thread-approved-card--selectable.is-selected::after {
  content: none !important;
  display: none !important;
}

.ds-thread-approved-card--selectable.is-selected .ds-thread-approved-card__image {
  box-shadow: none !important;
  border-color: rgba(73,58,43,.12) !important;
}

/* =========================================================
   V10.43 — native-resolution physical thread swatches
   ========================================================= */
.ds-thread-approved-card__image {
  width: 150px !important;
  height: 70px !important;
  max-width: 150px !important;
  max-height: 70px !important;
  aspect-ratio: 15 / 7 !important;
  object-fit: cover !important;
  object-position: center !important;
}
.ds-thread-guide-grid--compact .ds-thread-approved-card__image {
  width: 130px !important;
  height: 61px !important;
  max-width: 130px !important;
  max-height: 61px !important;
  aspect-ratio: 15 / 7 !important;
  object-fit: cover !important;
}
@media screen and (max-width: 749px) {
  .ds-thread-approved-card__image,
  .ds-thread-guide-grid--compact .ds-thread-approved-card__image {
    width: 130px !important;
    height: 61px !important;
    max-width: 130px !important;
    max-height: 61px !important;
  }
}
