:root {
  color: #27211d;
  background: #fffaf1;
  font-family: Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
}

.site-header,
.site-footer,
.page-shell {
  max-width: 1120px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

.site-header {
  display: flex;
  gap: 16px;
  align-items: center;
  min-height: 76px;
}

.brand {
  display: inline-flex;
  flex: none;
}

.brand img {
  display: block;
  width: 152px;
  height: auto;
}

.brand-note,
.eyebrow,
.site-footer {
  color: #6a625c;
}

.header-catalog-link,
.header-account-link,
.header-cart-link {
	margin-left: auto;
	color: #27211d;
	font-weight: 700;
	text-decoration: none;
}

.header-account-link,
.header-cart-link {
  margin-left: 0;
}

.header-cart-link__count {
  display: inline-block;
  min-width: 20px;
  margin-left: 6px;
  border-radius: 10px;
  padding: 1px 6px;
  background: #ef7c00;
  color: #fff;
  font-size: 13px;
  text-align: center;
}

.hero {
  padding-top: 104px;
  padding-bottom: 120px;
}

.eyebrow {
  color: #bb5d00;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 760px;
  margin: 12px 0 20px;
  font-size: clamp(38px, 7vw, 72px);
  line-height: 0.98;
}

.button {
  display: inline-block;
  border: 0;
  border-radius: 8px;
  padding: 12px 18px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.button--primary,
.button--compact {
  background: #ef7c00;
  color: #fff;
}

.button:hover,
.button:focus-visible {
  background: #c86500;
}

.button:disabled,
.product-order input:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible {
  outline: 3px solid #257d9b;
  outline-offset: 3px;
}

.site-footer {
  display: flex;
  gap: 24px;
  align-items: start;
  justify-content: space-between;
  border-top: 1px solid #eaded1;
  padding-top: 24px;
  padding-bottom: 32px;
}

.site-footer__links { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px 16px; max-width: 820px; font-size: 14px; }.site-footer__links a { color: inherit; }
.test-site-notice { position: fixed; z-index: 10; inset: 0; display: grid; place-items: center; padding: 24px; background: rgb(39 33 29 / 86%); }.test-site-notice__panel { display: flex; align-items: end; justify-content: space-between; gap: 32px; width: min(100%, 760px); border-radius: 12px; padding: 28px; background: #fff4d6; box-shadow: 0 12px 32px rgb(0 0 0 / 35%); }.test-site-notice p { margin: 0; }.test-site-notice p strong, .test-site-notice p span { display: block; }.test-site-notice p strong { font-size: 26px; }.test-site-notice p span { margin-top: 8px; line-height: 1.5; }.test-site-notice__panel > div { display: flex; flex: none; flex-wrap: wrap; gap: 8px; }.test-site-notice form { margin: 0; }.test-site-notice .button { border: 1px solid #27211d; padding: 10px 13px; background: #fff; color: #27211d; font-size: 13px; }.test-site-notice .button--primary { background: #ef7c00; color: #fff; }

.storefront-hero {
  background: linear-gradient(115deg, #f47f20 0%, #f89936 54%, #ffd070 54%, #ffdf9d 100%);
}

.storefront-hero__content {
  min-height: 420px;
  padding-top: 82px;
  padding-bottom: 72px;
}

.storefront-hero h1 { max-width: 690px; color: #fff; }
.storefront-hero p:not(.eyebrow) { max-width: 560px; color: #4c2b10; font-size: 19px; line-height: 1.55; }
.storefront-hero .eyebrow { color: #fff7e8; }
.storefront-hero .button { margin-top: 8px; background: #27211d; }

.home-section { padding-top: 72px; padding-bottom: 16px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 24px; }
.section-heading h2, .category-page h2, .product-details h2 { margin-bottom: 0; font-size: clamp(26px, 4vw, 38px); }
.text-link { color: #bb5d00; font-weight: 700; white-space: nowrap; }
.category-teasers, .subcategory-grid, .product-grid, .home-promise ul { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.category-teasers { grid-template-columns: repeat(4, 1fr); }
.category-teaser { display: flex; min-height: 178px; flex-direction: column; justify-content: end; border-radius: 12px; padding: 20px; color: #27211d; text-decoration: none; }
.category-teaser span { font-size: 23px; font-weight: 800; }
.category-teaser small { margin-top: 6px; }
.category-teaser--orange { background: #ffc061; }.category-teaser--blue { background: #96d4e3; }.category-teaser--green { background: #b9d994; }.category-teaser--pink { background: #f3b7c4; }
.home-promise { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: 48px; padding-bottom: 72px; }
.home-promise ul { grid-template-columns: repeat(3, 1fr); }.home-promise li { border-top: 2px solid #ef7c00; padding-top: 14px; }.home-promise strong, .home-promise span { display: block; }.home-promise span { margin-top: 8px; color: #6a625c; line-height: 1.45; }

.catalog-page, .category-page, .product-page { padding-top: 32px; padding-bottom: 72px; }
.site-page { max-width: 860px; padding-top: 32px; padding-bottom: 72px; }.site-page h1 { font-size: clamp(34px, 5vw, 58px); }.site-page__content { font-size: 17px; line-height: 1.6; }.site-page__content h2 { margin-top: 40px; font-size: 28px; }.site-page__content h3 { margin-top: 28px; font-size: 21px; }.site-page__content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }.site-page__content td, .site-page__content th { border: 1px solid #d7c8bb; padding: 8px; vertical-align: top; }
.account-page { display: grid; min-height: 560px; place-items: center; padding-top: 48px; padding-bottom: 72px; }.account-card { width: min(100%, 520px); border: 1px solid #eaded1; border-top: 4px solid #ef7c00; border-radius: 12px; padding: 32px; background: #fffdf9; }.account-card h1 { margin-bottom: 16px; font-size: clamp(34px, 5vw, 52px); }.account-card > p:not(.eyebrow) { color: #6a625c; line-height: 1.5; }.account-form { display: grid; gap: 10px; margin: 28px 0 20px; }.account-form label { font-weight: 700; }.account-form input { width: 100%; border: 1px solid #bcae9f; border-radius: 8px; padding: 12px; background: #fff; font: inherit; }.account-form .button { justify-self: start; margin-top: 8px; }.form-error { border-left: 3px solid #bd342d; padding-left: 12px; color: #8f241f !important; font-weight: 700; }.account-details { margin: 28px 0 0; }.account-details div { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border-bottom: 1px solid #eaded1; padding: 14px 0; }.account-details dt { color: #6a625c; }.account-details dd { margin: 0; font-weight: 700; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; padding: 0; color: #6a625c; list-style: none; }.breadcrumbs li + li::before { content: "/"; margin-right: 8px; }.breadcrumbs a { color: inherit; }
.catalog-page__header, .category-page__header { display: flex; justify-content: space-between; gap: 32px; margin-bottom: 40px; }.catalog-page__header p:not(.eyebrow), .category-page__header > p:not(.eyebrow) { max-width: 600px; color: #6a625c; font-size: 18px; line-height: 1.5; }
.sort-control { display: grid; align-content: end; gap: 6px; min-width: 190px; font-weight: 700; }.sort-control select { border: 1px solid #d7c8bb; border-radius: 6px; padding: 10px; background: #fffaf1; font: inherit; }
.catalog-layout { display: grid; grid-template-columns: 230px 1fr; gap: 32px; }.catalog-filter { border-top: 2px solid #ef7c00; }.catalog-filter h2 { font-size: 18px; }.catalog-filter ul { margin: 0; padding: 0; list-style: none; }.catalog-filter li { border-bottom: 1px solid #eaded1; }.catalog-filter a { display: flex; justify-content: space-between; padding: 11px 0; color: inherit; text-decoration: none; }.catalog-filter span, .catalog-count, .product-card__brand, .product-card__description, .product-card del, .product-summary__sku, .availability { color: #6a625c; }.catalog-count { margin-bottom: 16px; }
.product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.product-grid--featured { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #eaded1; border-radius: 10px; overflow: hidden; background: #fffdf9; }.product-card__image { position: relative; display: block; aspect-ratio: 1; background: #f2e8dc; }.product-card__image img, .subcategory-grid img, .product-gallery img { width: 100%; height: 100%; object-fit: cover; }.product-card__badge { position: absolute; z-index: 1; top: 12px; left: 12px; border-radius: 4px; padding: 5px 8px; background: #ef7c00; color: #fff; font-size: 12px; font-weight: 700; }.product-card__body { display: flex; flex: 1; flex-direction: column; padding: 16px; }.product-card__brand { margin-bottom: 5px; font-size: 13px; }.product-card h3 { font-size: 17px; line-height: 1.25; }.product-card h3 a { color: inherit; text-decoration: none; }.product-card__description { font-size: 14px; line-height: 1.4; }.product-card__purchase { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: auto; }.product-card del { display: block; margin-bottom: 3px; font-size: 13px; }.product-card__price, .product-summary__price { margin-bottom: 0; font-size: 21px; font-weight: 800; }.button--compact { padding: 9px 10px; font-size: 13px; white-space: nowrap; }
.subcategory-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 20px 0 56px; }.subcategory-grid a { display: block; color: inherit; text-decoration: none; }.subcategory-grid img { display: block; aspect-ratio: 1; border-radius: 8px; background: #f2e8dc; }.subcategory-grid span, .subcategory-grid small { display: block; }.subcategory-grid span { margin-top: 10px; font-weight: 700; }.subcategory-grid small { margin-top: 4px; color: #6a625c; }
.product-page__lead { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); gap: 56px; }.product-gallery { position: relative; }.product-gallery__main { display: block; aspect-ratio: 1; border-radius: 12px; background: #f2e8dc; }.product-gallery__thumbs { display: flex; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }.product-gallery__thumbs li { width: 64px; height: 64px; overflow: hidden; border: 2px solid #ef7c00; border-radius: 5px; }.product-summary h1 { font-size: clamp(32px, 4vw, 50px); }.product-summary__sku { font-size: 14px; }.product-summary__price { margin-top: 28px; font-size: 32px; }.product-summary del { display: block; margin: 6px 0 14px; color: #6a625c; }.availability--in-stock { color: #35764e; font-weight: 700; }.product-order { display: flex; align-items: end; gap: 10px; margin-top: 22px; }.product-order label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }.product-order input { width: 66px; border: 1px solid #d7c8bb; border-radius: 8px; padding: 11px; background: #fff; font: inherit; }.product-details { max-width: 760px; margin-top: 64px; }.product-description { margin: 18px 0 36px; line-height: 1.6; white-space: pre-line; }.specifications { margin: 18px 0 0; }.specifications div { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border-bottom: 1px solid #eaded1; padding: 12px 0; }.specifications dt { color: #6a625c; }.specifications dd { margin: 0; font-weight: 700; }
.cart-page { padding-top: 32px; padding-bottom: 72px; }.cart-page h1 { font-size: clamp(34px, 5vw, 52px); }.cart-list { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }.cart-item { display: grid; grid-template-columns: 120px minmax(0, 1fr) minmax(220px, auto); gap: 20px; border: 1px solid #eaded1; border-radius: 10px; padding: 16px; background: #fffdf9; }.cart-item__image { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: #f2e8dc; }.cart-item__image img { width: 100%; height: 100%; object-fit: cover; }.cart-item__body h2 { margin-bottom: 6px; font-size: 19px; }.cart-item__body h2 a { color: inherit; text-decoration: none; }.cart-item__sku, .cart-item__price { margin-bottom: 4px; color: #6a625c; font-size: 14px; }.cart-item__actions { display: grid; justify-items: end; align-content: start; gap: 10px; }.cart-item__quantity { display: flex; align-items: center; gap: 8px; margin: 0; }.cart-item__quantity label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }.cart-item__quantity input { width: 72px; border: 1px solid #d7c8bb; border-radius: 8px; padding: 10px; background: #fff; font: inherit; }.cart-item__total { margin: 0; font-size: 21px; font-weight: 800; }.cart-item__remove { border: 0; padding: 0; background: none; color: #bb5d00; font: inherit; font-weight: 700; cursor: pointer; }.cart-item form { margin: 0; }
.cart-summary { display: grid; justify-items: end; gap: 8px; margin-top: 24px; border-top: 2px solid #ef7c00; padding-top: 20px; }.cart-summary p { margin: 0; }.cart-summary__count { color: #6a625c; }.cart-summary__total { font-size: 26px; font-weight: 800; }.cart-summary__note { color: #6a625c; font-size: 14px; }.cart-summary .button { margin-top: 8px; }.cart-empty { display: grid; justify-items: start; gap: 16px; margin-top: 28px; }.cart-empty p { margin: 0; }
.product-card__purchase form { margin: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.admin-body { background: #f4f1ec; }.admin-header { display: flex; align-items: center; gap: 24px; padding: 18px 24px; background: #27211d; color: #fff; }.admin-header > a { color: #fff; font-weight: 800; text-decoration: none; }.admin-header nav { display: flex; flex-wrap: wrap; gap: 14px; }.admin-header nav a { color: #ffe0b0; text-decoration: none; }.admin-shell { max-width: 1200px; margin: 0 auto; padding: 40px 24px 72px; }.admin-intro { max-width: 720px; padding: 48px 0; }.admin-intro h1, .admin-heading h1 { font-size: clamp(32px, 5vw, 56px); }.admin-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }.admin-columns { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; }.admin-list { margin: 0; padding: 0; list-style: none; }.admin-list li { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #d7c8bb; padding: 14px 0; }.admin-list a { color: inherit; font-weight: 700; }.admin-list small, .admin-table small { display: block; color: #6a625c; }.admin-form { max-width: 760px; border: 1px solid #d7c8bb; border-radius: 10px; padding: 24px; background: #fffdf9; }.admin-form form { display: grid; gap: 16px; }.admin-form label { display: grid; gap: 6px; font-weight: 700; }.admin-form input, .admin-form select, .admin-form textarea, .admin-inline-form input { width: 100%; border: 1px solid #bcae9f; border-radius: 6px; padding: 10px; background: #fff; font: inherit; }.admin-form textarea { resize: vertical; font-family: ui-monospace, monospace; font-size: 14px; font-weight: 400; }.admin-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.admin-checkboxes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }.admin-checkboxes label { display: block; font-weight: 400; }.admin-checkboxes input { width: auto; }.admin-table { width: 100%; border-collapse: collapse; background: #fffdf9; }.admin-table th, .admin-table td { border-bottom: 1px solid #d7c8bb; padding: 12px; text-align: left; vertical-align: top; }.admin-inline-form { display: grid; grid-template-columns: 90px 90px auto; gap: 8px; }.admin-notice, .admin-error { border-radius: 6px; padding: 12px 16px; }.admin-notice { background: #dff2df; color: #1f5f34; }.admin-error { background: #f8d9d2; color: #8b2818; }.admin-actions { display: flex; flex-wrap: wrap; gap: 12px; }.admin-button--danger { background: #a73b2b; color: #fff; }
.admin-category-tree { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }.admin-category-row { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; margin-left: calc(var(--category-depth) * 20px); border: 1px solid #d7c8bb; border-radius: 6px; padding: 7px; background: #fffdf9; }.admin-category-row--dragging { opacity: .45; }.admin-category-row--drop-target { border-color: #ef7c00; box-shadow: 0 0 0 2px #ffd070; }.admin-drag-handle { cursor: grab; color: #6a625c; font-size: 20px; }.admin-inline-input { min-width: 0; border: 0; padding: 4px; background: transparent; font: inherit; font-weight: 700; }
.admin-editor { display: grid; gap: 12px; margin: 0; border: 0; padding: 0; }.admin-editor > p { margin: 0; color: #6a625c; font-size: 14px; font-weight: 400; line-height: 1.45; }.admin-editor__toolbar { display: flex; flex-wrap: wrap; gap: 8px; }.admin-editor__toolbar button { border: 1px solid #bcae9f; border-radius: 5px; padding: 7px 9px; background: #fff; color: inherit; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }.admin-editor__toolbar button:hover { border-color: #ef7c00; }.admin-editor__source { margin: 0; }

@media (max-width: 560px) {
  .site-header {
    min-height: 64px;
  }

  .brand-note {
    display: none;
  }

  .header-account-link { font-size: 14px; }

  .page-shell, .site-header, .site-footer { padding-left: 16px; padding-right: 16px; }
	.admin-header { align-items: start; flex-direction: column; gap: 10px; padding: 16px; }.admin-shell { padding: 28px 16px 56px; }.admin-columns, .admin-form__grid, .admin-checkboxes { grid-template-columns: 1fr; }.admin-heading { align-items: start; flex-direction: column; }.admin-table { display: block; overflow-x: auto; }.admin-inline-form { grid-template-columns: 1fr 1fr; }.admin-inline-form button { grid-column: span 2; }
	.site-footer { flex-direction: column; gap: 16px; }.site-footer__links { justify-content: start; }
	.test-site-notice { padding: 16px; }.test-site-notice__panel { align-items: start; flex-direction: column; gap: 20px; padding: 22px; }.test-site-notice__panel > div { width: 100%; }.test-site-notice .button { width: 100%; }.test-site-notice form { flex: 1; }
  .storefront-hero__content { min-height: 370px; padding-top: 64px; }
  .section-heading, .catalog-page__header, .category-page__header { align-items: start; flex-direction: column; }
  .category-teasers, .home-promise ul { grid-template-columns: repeat(2, 1fr); }.category-teaser { min-height: 145px; padding: 15px; }.category-teaser span { font-size: 18px; }
  .home-promise { grid-template-columns: 1fr; gap: 28px; }
  .catalog-layout, .product-page__lead { grid-template-columns: 1fr; gap: 28px; }.catalog-filter { display: none; }
  .product-grid, .product-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.product-card__body { padding: 12px; }.product-card h3 { font-size: 15px; }.product-card__description { display: none; }.product-card__purchase { align-items: start; flex-direction: column; }.button--compact { width: 100%; }
   .subcategory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 42px; }.product-summary__price { margin-top: 20px; }.product-details { margin-top: 44px; }.specifications div { grid-template-columns: 1fr; gap: 4px; }
   .cart-item { grid-template-columns: 84px minmax(0, 1fr); gap: 14px; }.cart-item__actions { grid-column: 1 / -1; justify-items: stretch; }.cart-item__quantity input { width: 100%; }.cart-summary { justify-items: stretch; }.product-card__purchase form { width: 100%; }
   .account-page { min-height: 480px; padding-top: 28px; }.account-card { padding: 24px; }.account-details div { grid-template-columns: 1fr; gap: 4px; }
 }
