/* Readable storefront additions to the approved Farbatelier design. */
[hidden]{display:none!important}
.header-actions{display:flex;align-items:center;gap:20px}.account-link{font-size:12px;white-space:nowrap}.cart-toggle{text-decoration:none;white-space:nowrap}.preview-bar{font-size:11px}.masthead .wrap{gap:26px}.main-nav{flex:1;justify-content:center}.main-nav a{white-space:nowrap}
.shop-intro{max-width:900px;padding:60px 0 48px}.shop-intro h1{font-size:clamp(42px,5.4vw,76px);line-height:1.05;letter-spacing:-2px;margin:15px 0 24px}.shop-intro>p:not(.eyebrow){max-width:600px;line-height:1.8;font-size:16px}.shop-search{display:flex;max-width:760px;gap:10px;margin:28px 0}.shop-search input{flex:1;min-width:0;padding:16px;border:1px solid var(--line);background:#fff}.category-links{display:flex;gap:10px;flex-wrap:wrap}.category-links a{background:#e3ede7;border:1px solid #ccdcd2;padding:11px 18px;text-decoration:none;font-size:13px}.catalog-section{padding:35px 0 50px}.catalog-section>h1{font-size:clamp(40px,5vw,60px)}.bestseller-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.bestseller-card{border:1px solid var(--line);background:#fff;min-width:0}.catalog-image{display:flex;height:280px;align-items:center;justify-content:center;padding:25px;background:#f0f2ec}.catalog-image img{max-width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.card-body{padding:23px}.card-body h2{font:26px var(--serif);line-height:1.15;margin:8px 0 16px}.card-body h2 a{text-decoration:none}.card-body>p{font-size:13px;line-height:1.7;min-height:44px}.card-price{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.card-price>strong{font-size:24px;font-weight:500}.card-price small{font-size:12px}.card-body .small{font-size:11px}.text-link{font-size:12px;font-weight:550;display:inline-block;margin-top:10px}.catalog-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:22px;background:#edf2ec;margin:25px 0}.catalog-filters label{font-size:12px}.catalog-filters input,.catalog-filters select{display:block;width:100%;border:1px solid var(--line);background:white;padding:10px;margin-top:7px;min-height:41px}.catalog-filters>.primary{align-self:end;min-height:42px}.catalog-filters>a{align-self:center;font-size:12px}.pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:30px 0}.pagination a{padding:8px 12px;border:1px solid var(--line);text-decoration:none}.pagination [aria-current]{background:var(--ink);color:#fff}
.missing-photo{display:flex;min-height:80px;height:100%;align-items:center;justify-content:center;padding:12px;color:#77807a;font-size:11px;background:repeating-linear-gradient(45deg,#ecefe9,#ecefe9 8px,#f4f5ef 8px,#f4f5ef 16px);width:100%;text-align:center}.selected-photo [data-selected-photo]{display:block;height:109px;margin:0}.selected-photo [data-selected-photo] img{height:109px;width:100%;object-fit:cover}.sticky-color>[data-selected-photo]{width:48px;height:48px;flex:0 0 48px}.sticky-color>[data-selected-photo] img{height:48px;width:48px;object-fit:cover}.sticky-color .missing-photo{min-height:48px;font-size:8px;padding:3px}.swatch-image .missing-photo{min-height:120px}.color-card[hidden]{display:none}.color-grid .color-stock{margin-top:8px;line-height:1.45}.stock-summary{font-size:12px}.stock-summary small{display:block;font-size:10px;margin-top:5px}.variant-label{display:block;margin:20px 0;font-size:12px}.variant-label select{display:block;padding:12px;width:100%;margin-top:8px;background:white;border:1px solid var(--line)}.facts-with-gauge{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}.facts .fact{min-width:0;margin-right:0;padding:4px 12px;text-decoration:none}.facts .fact:first-child{padding-left:0}.facts .fact strong{font-size:17px}.facts .fact span{font-size:10px;line-height:1.6}.product-info .intro{max-width:none}.product-info h1{overflow-wrap:anywhere}.image-stage>.skein-photo{max-width:100%;object-fit:contain}.product-description{font-size:14px;line-height:1.85;max-width:900px}.spec-list{max-width:900px;font-size:13px}.spec-list>div{display:grid;grid-template-columns:220px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:12px 0}.spec-list dd{margin:0}.accessories-section{padding:32px 0}.accessory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.accessory-card{padding:20px;border:1px solid var(--line);background:#fff}.accessory-image{height:160px;display:flex;align-items:center;justify-content:center}.accessory-image img{width:100%;height:100%;object-fit:contain}.accessory-card h3{font:23px var(--serif);min-height:52px}.accessory-card label{display:block;font-size:12px}.accessory-card select{display:block;width:100%;padding:9px;border:1px solid var(--line);margin:9px 0}.needle-options{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.needle-option{padding:6px 8px;border:1px solid var(--line);font-size:11px}.needle-option.compatible{background:#dcece1;border-color:#86aa91}.needle-option[aria-pressed=true]{outline:2px solid #38615a;outline-offset:1px}.accessory-card .purchase{gap:8px}.accessory-card .quantity input{width:32px}.accessory-card .quantity button{padding:7px}.accessory-card .secondary{font-size:12px;padding:10px}.compatibility-note{font-size:12px;background:#f5e8d2;padding:12px}.accessory-card small{font-size:10px}.generic-product .image-stage>.skein-photo{height:380px;width:100%}
.checkout-page{max-width:900px;padding:45px 0 70px;margin:auto}.checkout-page>h1{font-size:clamp(38px,5vw,62px);margin-bottom:28px}.checkout-page h2{font:32px var(--serif);margin:30px 0 16px}.shop-notice{padding:15px;background:#f1eee0;font-size:13px}.customer-form{max-width:650px;display:grid;gap:18px;margin:30px 0}.customer-form label{display:block;font-size:13px}.customer-form input,.customer-form textarea{display:block;width:100%;padding:12px;background:#fff;border:1px solid var(--line);margin-top:7px;border-radius:2px;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.customer-form>.primary{justify-self:start}.cart-item{display:grid;grid-template-columns:80px 1fr auto;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}.cart-item>img{width:80px;height:80px;object-fit:contain}.cart-item>div>a,.cart-color-name{display:block}.cart-product-name{font:20px var(--serif);text-decoration:none}.cart-color-name{font-size:13px;margin:8px 0}.cart-item small{font-size:11px;line-height:1.8}.cart-item label{display:block;margin:12px 0;font-size:12px}.cart-item input{width:65px;margin-left:10px;padding:7px;border:1px solid var(--line)}.cart-totals{margin:22px 0 30px;max-width:500px;margin-left:auto}.cart-totals>div{display:flex;justify-content:space-between;gap:20px;margin:13px 0}.cart-totals dd{margin:0}.cart-grand{font-size:22px;border-top:1px solid var(--line);padding-top:18px}.checkout-link{display:block;text-align:center;text-decoration:none;max-width:500px;margin-left:auto}.text-button{border:0;padding:0;text-decoration:underline;font-size:12px;background:none;color:inherit}.account-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.address-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.address-grid article{border:1px solid var(--line);padding:18px;line-height:1.7;font-size:13px}.order-history{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;padding:18px 0;border-bottom:1px solid var(--line)}.cookie-banner{position:fixed;bottom:18px;left:18px;z-index:100;background:#fff;border:1px solid #c8d4c8;box-shadow:0 7px 35px #152e2629;padding:22px;max-width:440px}.cookie-banner strong{font:23px var(--serif)}.cookie-banner p{font-size:12px;line-height:1.7;margin:13px 0}.cookie-banner .primary{padding:11px 15px;font-size:12px}.cookie-banner>a{margin-left:15px;font-size:11px}.toast{position:fixed;top:20px;bottom:auto;left:50%;transform:translateX(-50%);padding:17px 24px;background:#29433f;color:white;z-index:110;max-width:90%;width:max-content;font-size:13px;box-shadow:0 3px 20px #0002}.footer .wrap{flex-wrap:wrap}.footer .wrap>p{flex-basis:100%}
@media(max-width:1100px){.main-nav{gap:16px}.header-actions{gap:10px}.masthead .wrap{gap:16px}.brand img{width:190px}.account-link{font-size:11px}.bestseller-grid{gap:18px}.catalog-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.masthead .wrap{flex-wrap:wrap;justify-content:space-between;padding-bottom:16px}.main-nav{order:3;flex-basis:100%;justify-content:space-between}.bestseller-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-image{height:240px}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.accessory-grid{grid-template-columns:1fr}.accessory-card{display:grid;grid-template-columns:120px 1fr;gap:0 20px}.accessory-image{grid-column:1;grid-row:1/5;height:180px}.accessory-card>h3,.accessory-card>label,.accessory-card>.needle-options,.accessory-card>.compatibility-note{grid-column:2}.accessory-card>p,.accessory-card>small,.accessory-card>.purchase{grid-column:2}.facts .fact strong{font-size:16px}.account-columns{grid-template-columns:1fr}}
@media(max-width:560px){.shop-intro{padding:32px 0}.shop-intro h1{font-size:45px}.shop-intro>p:not(.eyebrow){font-size:14px}.shop-search{display:grid}.category-links{gap:8px}.category-links a{font-size:11px;padding:9px 12px}.bestseller-grid{gap:14px}.catalog-image{height:180px;padding:16px}.card-body{padding:14px}.card-body h2{font-size:21px}.card-body>p{font-size:11px;min-height:0}.card-price{display:block}.card-price>strong{font-size:21px}.card-price small{display:block;margin-top:6px;font-size:10px}.card-body .small{font-size:10px}.catalog-filters{padding:15px;gap:12px}.catalog-filters label:first-child{grid-column:1/-1}.catalog-filters label{font-size:11px}.catalog-filters input,.catalog-filters select{font-size:12px}.header-actions{gap:13px}.account-link{font-size:11px}.main-nav{font-size:12px;gap:8px}.brand img{width:170px;height:86px}.quantity{flex-shrink:0}.facts-with-gauge{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.facts .fact{border:0;padding-left:0}.product-info h1{font-size:55px}.selected-photo [data-selected-photo],.selected-photo [data-selected-photo] img{height:100px}.spec-list>div{grid-template-columns:1fr;gap:6px}.cart-item{grid-template-columns:50px minmax(0,1fr) auto;gap:10px}.cart-item>img{width:50px;height:50px}.cart-item>strong{font-size:13px}.cart-product-name{font-size:18px}.form-row{grid-template-columns:1fr;gap:18px}.customer-form{gap:18px}.address-grid{grid-template-columns:1fr}.accessory-card{grid-template-columns:80px minmax(0,1fr);gap:0 15px;padding:15px}.accessory-image{height:150px}.accessory-card .purchase{flex-wrap:wrap}.cookie-banner{left:10px;right:10px;bottom:10px;padding:18px}.cookie-banner>a{display:inline-block;margin-top:14px}.checkout-page{padding-top:30px}.footer nav{gap:14px}.image-stage>.skein-photo{height:310px}}
@media print{.masthead,.service-strip,.footer,.cookie-banner,.preview-bar,button{display:none!important}}
.color-grid[data-layout=grouped]{display:block}.needle-fact svg{display:inline-block;width:19px;height:19px;vertical-align:middle;margin-right:3px}.needle-fact span{line-height:1.8}.family-heading{font-family:var(--serif)}
@media(max-width:820px){.main-nav{display:flex}}

/* The home introduction follows the full content grid, like the product rows. */
.shop-intro {
  width: 100%;
  max-width: none;
  padding: 44px 0 48px;
}
.shop-intro-with-offer {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 4.5vw, 64px);
}
.home-intro-copy { min-width: 0; }
.home-intro-copy h1 {
  font-size: clamp(44px, 5.2vw, 72px);
  line-height: 1.08;
  overflow-wrap: anywhere;
}
.home-intro-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; max-width: 650px; }
.home-intro-copy .shop-search { max-width: none; }
.home-intro-copy .shop-search input { font-size: 13px; }
.home-intro-copy .shop-search .primary { padding: 15px 18px; }
.home-offers { padding: 36px 0 46px; }
.home-offers .section-heading > a { flex-shrink: 0; font-size: 13px; }
.home-offers .section-heading h2 { margin-top: 10px; }
.home-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-offer { min-width: 0; background: #fff; border: 1px solid var(--line); }
.home-offer-image { display: flex; align-items: center; justify-content: center; padding: 22px; height: 210px; background: #edf1e9; }
.home-offer-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.home-offer-body { padding: 22px 24px 24px; }
.home-offer-label { display: inline-block; padding: 4px 9px; margin: 0 0 14px; background: #e2ede7; color: #315e51; font-size: 11px; font-weight: 600; }
.home-offer-brand { font-size: 11px; color: var(--muted); margin: 0 0 6px; }
.home-offer h2 { font: 28px/1.15 var(--serif); letter-spacing: -.5px; margin: 0 0 10px; overflow-wrap: anywhere; }
.home-offer h2 a { text-decoration: none; }
.home-offer-variant { font-size: 12px; line-height: 1.6; margin: 0 0 12px; }
.home-offer-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.home-offer-price strong { font-size: 30px; font-weight: 500; }
.home-offer-price span { font-size: 11px; color: var(--muted); }
.home-offer-unit { font-size: 12px; margin: 0 0 4px; }
.home-offer-tax { font-size: 11px; color: var(--muted); margin: 0; }
.home-offer .text-link { margin-top: 16px; }
.home-offer-featured {
  border-color: #7c9e90;
  border-top: 4px solid #326b5b;
  box-shadow: 0 8px 24px rgba(38, 68, 53, .14);
}
.home-offer-featured .home-offer-image { height: 190px; background: #e2ebe2; }
.home-offer-featured .home-offer-body { background: #fffefa; }
.home-offer-featured .home-offer-label { background: #326b5b; color: #fff; }
@media (max-width: 1050px) and (min-width: 821px) {
  .home-intro-copy .shop-search { flex-wrap: wrap; }
  .home-intro-copy .shop-search input { flex-basis: 100%; }
  .home-intro-copy .shop-search .primary { flex: 1; }
}
@media (max-width: 820px) {
  .shop-intro-with-offer { grid-template-columns: 1fr; gap: 30px; }
  .home-intro-copy h1 { font-size: clamp(40px, 7.5vw, 64px); }
  .home-offer-featured { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  .home-offer-featured .home-offer-image { height: 100%; min-height: 220px; }
  .home-offer-grid { grid-template-columns: 1fr; gap: 16px; }
  .home-offer-grid .home-offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  .home-offer-grid .home-offer-image { height: 100%; min-height: 210px; }
}
@media (max-width: 560px) {
  .shop-intro { padding: 30px 0 34px; }
  .home-intro-copy > p:not(.eyebrow) { font-size: 14px; }
  .home-intro-copy .shop-search { gap: 8px; margin: 22px 0; }
  .home-offers { padding: 28px 0 32px; }
  .home-offer-featured, .home-offer-grid .home-offer { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .home-offer-body { padding: 16px; }
  .home-offer-image { padding: 12px; }
  .home-offer h2 { font-size: 24px; }
  .home-offer-label { margin-bottom: 10px; }
  .home-offer-price strong { font-size: 26px; }
  .home-offer .text-link { font-size: 11px; }
}

/* Optional account creation after guest checkout. */
.checkout-entry { margin: 1.5rem 0; }
.checkout-entry button { margin: .35rem 0; }
.guest-account-invite { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid var(--line); background: var(--tint); }
.guest-account-invite h2 { margin: 0 0 .75rem; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.guest-account-invite p { margin: 0 0 1rem; }
.guest-account-invite .secondary { display: inline-flex; align-items: center; margin: 0; }

.admin-product-tools[hidden]{display:none!important}
.admin-product-tools{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;padding:.65rem .8rem;border:1px solid #bacdc5;border-radius:.5rem;background:#eef5f1;font-size:.8rem}
.admin-product-tools a{font-weight:600;color:#326b5b}

/* Billing countries are independent of the shop's delivery countries. */
.customer-form .checkout-billing-toggle { display:flex; gap:10px; align-items:center; }
.customer-form .checkout-billing-toggle input { display:inline-block; width:auto; margin:0; }
.customer-form [data-billing-fields] { border:1px solid var(--line); padding:20px; min-width:0; display:grid; gap:18px; }
.customer-form [data-billing-fields][hidden] { display:none; }
.customer-form [data-billing-fields] select { width:100%; min-width:0; padding:12px; margin-top:7px; background:#fff; border:1px solid var(--line); font:inherit; }

/* The account remains accessible; only new purchasing is unavailable. */
html[data-customer-ordering="restricted"] .cart-toggle,
html[data-customer-ordering="restricted"] .purchase,
html[data-customer-ordering="restricted"] .sticky-purchase,
html[data-customer-ordering="restricted"] [data-add-cart],
html[data-customer-ordering="restricted"] [data-add-accessory],
html[data-customer-ordering="restricted"] [data-paypal-express],
html[data-customer-ordering="restricted"] [data-reorder-current],
html[data-customer-ordering="restricted"] [data-reorder-legacy] { display:none !important; }
