.sayed-public-navigation {
  position: relative;
  z-index: 5;
}

.sayed-storefront {
  --store-ink: #203b36;
  --store-muted: #667771;
  --store-line: #dce6df;
  --store-paper: #f4f6f0;
  --store-accent: #507a67;
  --store-accent-dark: #315c4a;
  --store-highlight: #d9e9df;
  --store-radius: 1.4rem;
  min-height: 100dvh;
  background: #f5f6f1;
  color: var(--store-ink);
  font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
  line-height: 1.6;
}

.sayed-store-shell {
  min-height: 100dvh;
}

.sayed-store-main {
  min-height: 55vh;
}

.sayed-template-view {
  --sayed-template-content-width: 1120px;
  min-width: 0;
}

.sayed-template-system-content {
  width: min(100%, var(--sayed-template-content-width));
  margin-inline: auto;
}

.sayed-template-breadcrumbs {
  margin: 0 auto clamp(1rem, 3vw, 1.75rem);
  color: var(--sayed-template-muted, #667771);
  font-size: .875rem;
}

.sayed-template-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sayed-template-breadcrumbs li { display: inline-flex; align-items: center; gap: .4rem; }
.sayed-template-breadcrumbs a { color: var(--sayed-template-accent-strong, #315c4a); text-decoration: none; }
.sayed-template-breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sayed-template-breadcrumb-separator { opacity: .55; }

.sayed-template-system-panel,
.sayed-template-empty-state,
.sayed-template-error-state {
  width: min(100%, var(--sayed-template-content-width));
  margin-inline: auto;
  border: 1px solid var(--sayed-template-line, #dce6df);
  border-radius: var(--sayed-template-radius, 1.25rem);
  background: var(--sayed-template-surface, #fff);
  padding: clamp(1.25rem, 4vw, 2.5rem);
  box-shadow: 0 12px 32px rgb(20 35 30 / 5%);
}

.sayed-template-system-panel > h1,
.sayed-template-empty-state > strong,
.sayed-template-error-state > h1 {
  display: block;
  margin: 0;
  color: var(--sayed-template-ink, #203b36);
  font-size: clamp(1.65rem, 4vw, 2.5rem);
  font-weight: 800;
  line-height: 1.2;
}

.sayed-template-view-label {
  margin: 0 0 .65rem;
  color: var(--sayed-template-accent-strong, #315c4a);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sayed-template-system-panel :where(p, li),
.sayed-template-empty-state p,
.sayed-template-error-state p {
  color: var(--sayed-template-muted, #667771);
  line-height: 1.75;
}

.sayed-template-system-panel :where(h2, h3) {
  margin: 1.5rem 0 .5rem;
  color: var(--sayed-template-ink, #203b36);
  font-size: 1.15rem;
  font-weight: 750;
}

.sayed-template-search-form {
  display: grid;
  gap: .55rem;
  width: min(100%, 720px);
  margin: 0 auto 1.25rem;
}

.sayed-template-search-form label { font-weight: 700; }
.sayed-template-search-form > div { display: flex; flex-wrap: wrap; gap: .6rem; }
.sayed-template-search-form input {
  min-width: 0;
  min-height: 46px;
  flex: 1 1 220px;
  border: 1px solid var(--sayed-template-line, #dce6df);
  border-radius: .75rem;
  background: var(--sayed-template-surface, #fff);
  padding: .65rem .85rem;
  color: inherit;
  font: inherit;
}
.sayed-template-search-form button {
  min-height: 46px;
  border: 0;
  border-radius: .75rem;
  background: var(--sayed-template-accent, #507a67);
  padding: .6rem 1.2rem;
  color: white;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.sayed-template-results-count { margin: 0 0 .8rem; color: var(--sayed-template-muted, #667771); }
.sayed-template-results-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1rem; }
.sayed-template-result-card {
  min-width: 0;
  border: 1px solid var(--sayed-template-line, #dce6df);
  border-radius: var(--sayed-template-radius, 1rem);
  background: var(--sayed-template-surface, #fff);
  padding: 1.1rem;
}
.sayed-template-result-card > p:first-child { margin: 0 0 .45rem; color: var(--sayed-template-muted, #667771); font-size: .85rem; }
.sayed-template-result-card h2 { margin: 0; font-size: 1.1rem; line-height: 1.4; }
.sayed-template-result-card h2 a { color: var(--sayed-template-ink, #203b36); text-decoration: none; }
.sayed-template-result-card h2 a:hover { color: var(--sayed-template-accent-strong, #315c4a); text-decoration: underline; }
.sayed-template-result-card > div,
.sayed-template-result-card > p:not(:first-child) { margin: .6rem 0 0; color: var(--sayed-template-muted, #667771); line-height: 1.65; }

.sayed-template-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem;
  margin: 1.5rem auto;
}
.sayed-template-pagination a {
  display: inline-grid;
  min-width: 42px;
  min-height: 42px;
  place-items: center;
  border: 1px solid var(--sayed-template-line, #dce6df);
  border-radius: .7rem;
  background: var(--sayed-template-surface, #fff);
  color: var(--sayed-template-ink, #203b36);
  font-weight: 700;
  text-decoration: none;
}
.sayed-template-pagination a[aria-current="page"] {
  border-color: var(--sayed-template-accent, #507a67);
  background: var(--sayed-template-accent, #507a67);
  color: #fff;
}

.sayed-template-root form[data-sayed-submitting="true"] button[data-sayed-loading="true"]::after {
  display: inline-block;
  width: .95em;
  height: .95em;
  margin-inline-start: .55em;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  border-radius: 50%;
  content: "";
  vertical-align: -.12em;
  animation: sayed-template-spin .7s linear infinite;
}

@keyframes sayed-template-spin { to { transform: rotate(1turn); } }

.sayed-store-footer {
  border-color: var(--store-line) !important;
  color: var(--store-muted) !important;
}

.sayed-store-section {
  border-color: var(--store-line) !important;
  border-radius: 1.8rem;
  color: var(--store-ink);
  box-shadow: 0 16px 44px rgb(36 59 55 / 5%);
}

.sayed-store-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(22rem, 48vw, 34rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(ellipse at 88% 20%, rgb(115 157 131 / 27%), transparent 36%),
    radial-gradient(ellipse at 10% 100%, rgb(214 226 211 / 55%), transparent 44%),
    linear-gradient(130deg, #f5f7ef 0%, #edf3ec 52%, #e4eee7 100%) !important;
}

.sayed-store-hero::after {
  position: absolute;
  z-index: -1;
  inset-inline-end: -5rem;
  inset-block-end: -7rem;
  width: clamp(14rem, 38vw, 28rem);
  aspect-ratio: 1;
  border: 1px solid rgb(80 122 103 / 18%);
  border-radius: 50%;
  background: radial-gradient(circle at 36% 30%, rgb(255 255 255 / 88%), rgb(255 255 255 / 8%) 70%);
  content: "";
}

.sayed-store-hero h2 {
  max-width: 14ch;
  font-size: clamp(2.5rem, 7vw, 5.5rem);
}

.sayed-store-hero > img {
  position: absolute;
  z-index: 0;
  inset-block: 10%;
  inset-inline-end: 5%;
  width: min(40%, 34rem);
  height: 80%;
  max-height: none;
  margin: 0;
  border-radius: 48% 18% 44% 18%;
  box-shadow: 0 24px 60px rgb(36 59 55 / 18%);
  object-fit: cover;
}

.sayed-store-hero > p,
.sayed-store-hero > h2,
.sayed-store-hero > div,
.sayed-store-hero > a {
  position: relative;
  z-index: 1;
  max-width: 54%;
}

.sayed-store-hero > div {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.sayed-store-section > p:first-child {
  color: var(--store-accent);
  letter-spacing: .16em;
}

.sayed-store-section h2 {
  letter-spacing: -.035em;
  line-height: 1.12;
}

.sayed-store-products > div:not(.sayed-store-empty) {
  align-items: stretch;
}

.sayed-product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-color: var(--store-line) !important;
  border-radius: 1.15rem;
  background: #fff !important;
  box-shadow: 0 5px 18px rgb(36 59 55 / 4%);
  transition: transform .2s ease, box-shadow .2s ease;
}

.sayed-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgb(36 59 55 / 10%);
}

.sayed-product-card > h3 {
  color: var(--store-ink);
  font-size: 1.05rem;
  line-height: 1.4;
}

.sayed-product-price {
  color: var(--store-ink);
  font-size: 1.15rem;
  font-variant-numeric: tabular-nums;
}

.sayed-product-card > p {
  color: var(--store-muted);
}

.sayed-product-image {
  aspect-ratio: 4 / 3;
  max-height: none;
  background: var(--store-paper);
  object-fit: cover;
}

.sayed-product-card > a {
  color: var(--store-accent);
  font-weight: 650;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.sayed-product-card > form {
  margin-top: auto;
  padding-top: 1rem;
}

.sayed-product-card button,
.sayed-store-section > a {
  min-height: 2.85rem;
  border-radius: 999px;
  transition: transform .16s ease, filter .16s ease;
}

.sayed-product-card button:hover,
.sayed-store-section > a:hover {
  filter: brightness(.94);
  transform: translateY(-1px);
}

.sayed-store-empty {
  border-color: #c9d9d0;
  background: #f1f5f0;
  color: var(--store-ink);
}

.sayed-store-preview-note {
  border-color: #d5e1d8;
  background: rgb(255 255 255 / 72%);
  color: #53665d;
}

.sayed-store-section form input,
.sayed-store-section form select,
.sayed-store-section form textarea {
  min-height: 2.8rem;
  border-color: var(--store-line);
  border-radius: .75rem;
  background: #fff;
}

.sayed-store-section a:focus-visible,
.sayed-store-section button:focus-visible,
.sayed-store-section input:focus-visible,
.sayed-store-section select:focus-visible,
.sayed-store-section textarea:focus-visible {
  outline: 3px solid rgb(80 122 103 / 35%);
  outline-offset: 2px;
}

.sayed-public-nav-desktop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
}

.sayed-public-mobile-menu {
  display: none;
}

.sayed-public-mobile-menu > summary {
  cursor: pointer;
  list-style: none;
}

.sayed-public-mobile-menu > summary::-webkit-details-marker {
  display: none;
}

.sayed-public-menu-backdrop {
  display: none;
}

/* Public storefront header */
.sayed-store-header {
  position: relative;
  z-index: 10;
  width: 100%;
  border-bottom: 1px solid rgb(32 59 54 / 9%);
  box-shadow: 0 8px 26px rgb(32 59 54 / 4%);
  background: var(--sayed-header-bg, #fff);
  color: var(--sayed-header-text, #202737);
}

.sayed-store-header-inner {
  display: grid;
  width: min(100% - 2rem, 80rem);
  min-height: 5.4rem;
  grid-template-columns: minmax(11rem, 1fr) auto minmax(9rem, 1fr);
  align-items: center;
  gap: 1.5rem;
  margin-inline: auto;
  padding-block: .7rem;
}

.sayed-store-header-brand {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: .8rem;
  color: inherit;
  text-decoration: none;
}

.sayed-store-header-logo {
  display: block;
  width: auto;
  max-width: min(11rem, 42vw);
  height: auto;
  max-height: 3.2rem;
  object-fit: contain;
}

.sayed-store-header-name {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.05;
}

.sayed-store-header-tagline {
  max-width: 18ch;
  color: currentColor;
  font-size: .75rem;
  line-height: 1.35;
  opacity: .72;
}

.sayed-store-header-navigation {
  justify-self: center;
}

.sayed-store-header-navigation .sayed-public-nav-desktop {
  justify-content: center;
  gap: .15rem;
}

.sayed-store-header-navigation .sayed-public-nav-desktop a {
  display: inline-flex;
  min-height: 2.65rem;
  align-items: center;
  border-radius: 999px;
  padding: .55rem .9rem;
  color: inherit;
  font-size: .9rem;
  font-weight: 550;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease;
}

.sayed-store-header-navigation .sayed-public-nav-desktop a:hover,
.sayed-store-header-navigation .sayed-public-nav-desktop a:focus-visible {
  background: rgb(80 122 103 / 10%);
  color: var(--sayed-store-accent, var(--store-accent-dark));
}

.sayed-store-header-actions {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: .5rem;
}

.sayed-store-header-action {
  position: relative;
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  border: 1px solid rgb(32 59 54 / 14%);
  border-radius: 999px;
  padding: .55rem .85rem;
  color: inherit;
  font-size: .87rem;
  font-weight: 650;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.sayed-store-header-action:hover {
  transform: translateY(-1px);
  border-color: rgb(80 122 103 / 40%);
  background: rgb(80 122 103 / 8%);
}

.sayed-store-header-action svg {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
}

.sayed-store-cart-count {
  display: inline-grid;
  min-width: 1.3rem;
  height: 1.3rem;
  place-items: center;
  border-radius: 999px;
  background: var(--sayed-store-accent, var(--store-accent-dark));
  color: #fff;
  font-size: .7rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

/* Variants are deliberately structural so tenant-selected headers remain distinct. */
.sayed-store-header[data-header-variant="classic"] .sayed-store-header-inner {
  grid-template-columns: minmax(11rem, 1fr) auto minmax(9rem, 1fr);
}

.sayed-store-header[data-header-variant="centered"] .sayed-store-header-inner {
  grid-template-columns: 1fr auto 1fr;
}

.sayed-store-header[data-header-variant="centered"] .sayed-store-header-brand {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
}

.sayed-store-header[data-header-variant="centered"] .sayed-store-header-navigation {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
}

.sayed-store-header[data-header-variant="centered"] .sayed-store-header-actions {
  grid-column: 3;
  grid-row: 1;
}

.sayed-store-header[data-header-variant="centered"] .sayed-store-header-inner {
  padding-block: .9rem .65rem;
  row-gap: .25rem;
}

.sayed-store-header[data-header-variant="compact"] .sayed-store-header-inner {
  min-height: 4.15rem;
  gap: 1rem;
  padding-block: .4rem;
}

.sayed-store-header[data-header-variant="compact"] .sayed-store-header-logo {
  max-height: 2.35rem;
}

.sayed-store-header[data-header-variant="compact"] .sayed-store-header-action {
  min-height: 2.45rem;
}

.sayed-store-header[data-header-variant="stacked"] .sayed-store-header-inner {
  display: flex;
  min-height: 0;
  flex-direction: column;
  justify-content: center;
  gap: .65rem;
  padding-block: 1.2rem .85rem;
}

.sayed-store-header[data-header-variant="stacked"] .sayed-store-header-brand {
  flex-direction: column;
  justify-content: center;
  gap: .3rem;
  text-align: center;
}

.sayed-store-header[data-header-variant="stacked"] .sayed-store-header-tagline {
  max-width: none;
}

.sayed-store-header[data-header-variant="stacked"] .sayed-store-header-navigation {
  order: 2;
}

.sayed-store-header[data-header-variant="stacked"] .sayed-store-header-actions {
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-end: max(1rem, calc((100vw - 80rem) / 2));
}

.sayed-store-header[data-header-variant="editorial"] .sayed-store-header-inner {
  min-height: 6.4rem;
  grid-template-columns: minmax(13rem, .9fr) minmax(16rem, 1.3fr) auto;
  gap: 2rem;
}

.sayed-store-header[data-header-variant="editorial"] .sayed-store-header-brand {
  align-items: flex-start;
  flex-direction: column;
  gap: .22rem;
}

.sayed-store-header[data-header-variant="editorial"] .sayed-store-header-name {
  font-size: clamp(1.55rem, 2.5vw, 2.25rem);
}

.sayed-store-header[data-header-variant="editorial"] .sayed-store-header-tagline {
  font-size: .78rem;
  letter-spacing: .035em;
}

/* Product detail page */
.sayed-product-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin: .15rem 0 1.5rem;
  color: var(--store-muted);
  font-size: .88rem;
}

.sayed-product-breadcrumbs a,
.sayed-product-back-link {
  color: var(--store-accent-dark);
  font-weight: 650;
  text-decoration: none;
  text-underline-offset: 4px;
}

.sayed-product-breadcrumbs a:hover,
.sayed-product-back-link:hover {
  text-decoration: underline;
}

.sayed-product-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(19rem, .92fr);
  align-items: start;
  gap: clamp(2rem, 6vw, 5.5rem);
  padding: clamp(1rem, 3.5vw, 2.75rem);
  border: 1px solid var(--store-line);
  border-radius: clamp(1.25rem, 3vw, 2.1rem);
  background: #fbfcf8;
  box-shadow: 0 18px 60px rgb(32 59 54 / 7%);
}

.sayed-product-detail[data-product-layout="split"] {
  grid-template-columns: minmax(0, 1.08fr) minmax(19rem, .92fr);
}

.sayed-product-media {
  min-width: 0;
  overflow: hidden;
  border-radius: 1.35rem;
  background: var(--store-paper);
}

.sayed-product-main-image {
  display: block;
  width: 100%;
  max-height: min(72vh, 46rem);
  aspect-ratio: 4 / 4.35;
  border-radius: inherit;
  object-fit: cover;
}

.sayed-product-image-placeholder {
  display: flex;
  min-height: clamp(18rem, 42vw, 34rem);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem;
  color: #718078;
  text-align: center;
}

.sayed-product-image-placeholder svg {
  width: clamp(3rem, 8vw, 5rem);
  height: auto;
  opacity: .7;
}

.sayed-product-info {
  min-width: 0;
  padding-block: clamp(.5rem, 2vw, 1.5rem);
}

.sayed-product-eyebrow {
  margin: 0 0 .7rem;
  color: var(--store-accent-dark);
  font-size: .75rem;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.sayed-product-info h1 {
  margin: 0;
  color: var(--store-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1.04;
}

.sayed-product-info > .sayed-product-price {
  margin: 1.25rem 0 1.5rem;
  color: var(--store-ink);
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: -.035em;
}

.sayed-product-description {
  color: #52665e;
  font-size: 1rem;
  line-height: 1.8;
}

.sayed-product-description > *:first-child {
  margin-top: 0;
}

.sayed-product-description > *:last-child {
  margin-bottom: 0;
}

.sayed-product-form {
  display: grid;
  gap: 1rem;
  margin-top: 1.7rem;
  padding-top: 1.45rem;
  border-top: 1px solid var(--store-line);
}

.sayed-product-option,
.sayed-product-quantity {
  display: grid;
  gap: .45rem;
  color: var(--store-ink);
  font-size: .9rem;
  font-weight: 650;
}

.sayed-product-option select,
.sayed-product-quantity input {
  width: 100%;
  min-height: 3rem;
  border: 1px solid #d3dfd7;
  border-radius: .75rem;
  background: #fff;
  padding: .7rem .85rem;
  color: var(--store-ink);
  font: inherit;
}

.sayed-product-quantity input {
  max-width: 8rem;
  font-variant-numeric: tabular-nums;
}

.sayed-product-variant-status {
  margin: 0;
  color: var(--store-muted);
  font-size: .85rem;
}

.sayed-product-add-button {
  display: inline-flex;
  min-height: 3.35rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: var(--sayed-store-accent, var(--store-accent-dark));
  padding: .85rem 1.4rem;
  color: #fff;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease;
}

.sayed-product-add-button:hover:not(:disabled) {
  transform: translateY(-2px);
  filter: brightness(.92);
}

.sayed-product-add-button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.sayed-product-back-link {
  display: inline-block;
  margin-top: 1.4rem;
  font-size: .9rem;
}

.sayed-product-preview-note {
  border: 1px solid #ead9b4;
  border-radius: .8rem;
  background: #fbf5e8;
  padding: .8rem 1rem;
  color: #725b2f;
  font-size: .86rem;
}

.sayed-product-detail[data-product-layout="image_top"] {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.6rem;
}

.sayed-product-detail[data-product-layout="image_top"] .sayed-product-media {
  max-width: 62rem;
  width: 100%;
  justify-self: center;
}

.sayed-product-detail[data-product-layout="image_top"] .sayed-product-main-image {
  max-height: min(68vh, 42rem);
  aspect-ratio: 16 / 9;
}

.sayed-product-detail[data-product-layout="image_top"] .sayed-product-info {
  width: min(100%, 52rem);
  justify-self: center;
}

.sayed-product-detail[data-product-layout="image_top"] .sayed-product-add-button {
  width: fit-content;
  min-width: min(100%, 17rem);
}

.sayed-product-detail[data-product-layout="details_first"] {
  grid-template-columns: minmax(19rem, .88fr) minmax(0, 1.12fr);
}

.sayed-product-detail[data-product-layout="details_first"] .sayed-product-info {
  grid-column: 1;
  grid-row: 1;
}

.sayed-product-detail[data-product-layout="details_first"] .sayed-product-media {
  grid-column: 2;
  grid-row: 1;
}

/* Customer account, checkout, and other server-rendered forms */
.sayed-customer-page {
  background:
    radial-gradient(ellipse at 85% 6%, rgb(216 232 221 / 66%), transparent 28rem),
    #f3f5ef !important;
}

.sayed-customer-page .sayed-store-main > section,
.sayed-customer-page .sayed-store-main > form,
.sayed-store-main > form.rounded-2xl,
.sayed-store-main > section.rounded-2xl {
  border-color: var(--store-line) !important;
  border-radius: 1.35rem !important;
  background: #fbfcf8 !important;
  padding: clamp(1.3rem, 4vw, 2.5rem) !important;
  box-shadow: 0 18px 55px rgb(32 59 54 / 7%);
}

.sayed-customer-page .sayed-store-main > section {
  position: relative;
}

.sayed-customer-page .sayed-store-main h1,
.sayed-store-main > section.rounded-2xl h1,
.sayed-store-main > form.rounded-2xl h1 {
  color: var(--store-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 4vw, 2.65rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.12;
}

.sayed-customer-page .sayed-store-main p {
  color: var(--store-muted);
}

.sayed-customer-page .sayed-store-main form {
  gap: 1rem;
}

.sayed-customer-page .sayed-store-main form label {
  color: var(--store-ink);
  font-size: .9rem;
  font-weight: 650;
}

.sayed-customer-page .sayed-store-main input:not([type="checkbox"]):not([type="hidden"]),
.sayed-customer-page .sayed-store-main select,
.sayed-customer-page .sayed-store-main textarea {
  width: 100%;
  min-height: 3rem;
  border: 1px solid #d3dfd7;
  border-radius: .75rem;
  background: #fff;
  padding: .7rem .85rem;
  color: var(--store-ink);
}

.sayed-customer-page .sayed-store-main input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  accent-color: var(--store-accent-dark);
}

.sayed-customer-page .sayed-store-main button,
.sayed-store-main > form.rounded-2xl button {
  min-height: 3rem;
  border-radius: 999px;
}

.sayed-customer-page .sayed-store-main a {
  color: var(--store-accent-dark);
  text-underline-offset: 4px;
}

.sayed-customer-page .sayed-store-main table {
  width: 100%;
  border-collapse: collapse;
  border-color: var(--store-line);
}

.sayed-customer-page .sayed-store-main th {
  color: var(--store-muted);
  font-size: .75rem;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
}

/* Theme-template controls and their small live preview */
.sayed-header-template-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .7rem;
}

.sayed-header-template-choice {
  display: grid;
  min-height: 4.3rem;
  align-content: center;
  gap: .3rem;
  border: 1px solid var(--store-line);
  border-radius: .9rem;
  background: #fbfcf8;
  padding: .7rem;
  color: var(--store-ink);
  text-align: center;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.sayed-header-template-choice:hover {
  transform: translateY(-2px);
  border-color: var(--store-accent);
}

.sayed-header-template-choice:has(input:checked) {
  border-color: var(--store-accent);
  background: #eaf1eb;
  box-shadow: inset 0 0 0 1px var(--store-accent);
}

.sayed-header-template-choice input {
  accent-color: var(--store-accent-dark);
}

.sayed-header-template-preview {
  display: grid;
  min-height: 8rem;
  align-content: center;
  justify-items: center;
  gap: .6rem;
  border: 1px solid var(--store-line);
  border-radius: 1rem;
  background: #fbfcf8;
  padding: 1rem;
  color: var(--store-ink);
}

.sayed-header-template-preview::before {
  width: 3.3rem;
  height: .42rem;
  border-radius: 999px;
  background: var(--store-accent);
  content: "";
}

.sayed-header-template-preview[data-preview-variant="classic"] {
  grid-template-columns: 1fr auto 1fr;
  justify-items: stretch;
}

.sayed-header-template-preview[data-preview-variant="centered"] {
  grid-template-columns: 1fr;
  justify-items: center;
}

.sayed-header-template-preview[data-preview-variant="compact"] {
  min-height: 5.5rem;
  grid-template-columns: auto 1fr auto;
  justify-items: stretch;
}

.sayed-header-template-preview[data-preview-variant="stacked"] {
  grid-template-columns: 1fr;
  justify-items: center;
}

.sayed-header-template-preview[data-preview-variant="editorial"] {
  grid-template-columns: 1.1fr 1fr auto;
  justify-items: stretch;
  gap: 1rem;
}

@media (max-width: 720px) {
  .sayed-store-header-inner {
    width: calc(100% - 1.5rem);
    min-height: 4.5rem;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .5rem;
    padding-block: .55rem;
  }

  .sayed-store-header[data-header-variant="classic"] .sayed-store-header-inner,
  .sayed-store-header[data-header-variant="compact"] .sayed-store-header-inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .4rem;
  }

  .sayed-store-header,
  .sayed-store-header-inner,
  .sayed-store-header-brand,
  .sayed-store-header-navigation,
  .sayed-store-header-actions {
    min-width: 0;
    max-width: 100%;
  }

  .sayed-store-header-brand {
    gap: .55rem;
  }

  .sayed-store-header-tagline {
    display: none;
  }

  .sayed-store-header-actions {
    gap: .35rem;
  }

  .sayed-store-header-action {
    min-height: 2.65rem;
    padding: .5rem .7rem;
  }

  .sayed-store-header-action-label {
    display: none;
  }

  .sayed-store-header-navigation {
    justify-self: end;
  }

  .sayed-store-header[data-header-variant="centered"] .sayed-store-header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
  }

  .sayed-store-header[data-header-variant="centered"] .sayed-store-header-brand {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .sayed-store-header[data-header-variant="centered"] .sayed-store-header-actions {
    grid-column: 2;
    grid-row: 1;
  }

  .sayed-store-header[data-header-variant="centered"] .sayed-store-header-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: end;
  }

  .sayed-store-header[data-header-variant="stacked"] .sayed-store-header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    padding-block: .75rem;
  }

  .sayed-store-header[data-header-variant="stacked"] .sayed-store-header-brand {
    align-items: flex-start;
    text-align: left;
  }

  .sayed-store-header[data-header-variant="stacked"] .sayed-store-header-actions {
    position: static;
    grid-column: 2;
    grid-row: 1;
  }

  .sayed-store-header[data-header-variant="stacked"] .sayed-store-header-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: end;
  }

  .sayed-store-header[data-header-variant="editorial"] .sayed-store-header-inner {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
  }

  .sayed-store-header[data-header-variant="editorial"] .sayed-store-header-actions {
    grid-column: 2;
    grid-row: 1;
  }

  .sayed-store-header[data-header-variant="editorial"] .sayed-store-header-brand {
    gap: .1rem;
  }

  .sayed-store-header[data-header-variant="editorial"] .sayed-store-header-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: end;
  }

  .sayed-product-detail,
  .sayed-product-detail[data-product-layout="split"],
  .sayed-product-detail[data-product-layout="details_first"] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    padding: 1rem;
  }

  .sayed-product-detail .sayed-product-media,
  .sayed-product-detail[data-product-layout="split"] .sayed-product-media,
  .sayed-product-detail[data-product-layout="details_first"] .sayed-product-media {
    width: 100%;
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
  }

  .sayed-product-detail .sayed-product-info,
  .sayed-product-detail[data-product-layout="split"] .sayed-product-info,
  .sayed-product-detail[data-product-layout="details_first"] .sayed-product-info {
    width: 100%;
    min-width: 0;
    grid-column: 1;
    grid-row: 2;
    padding: .25rem .15rem .5rem;
  }

  .sayed-product-detail[data-product-layout="details_first"] .sayed-product-info {
    grid-row: 1;
  }

  .sayed-product-detail[data-product-layout="details_first"] .sayed-product-media {
    grid-row: 2;
  }

  .sayed-product-detail[data-product-layout="image_top"] .sayed-product-main-image {
    aspect-ratio: 4 / 3;
  }

  .sayed-product-detail[data-product-layout="image_top"] .sayed-product-add-button {
    width: 100%;
  }

  .sayed-product-main-image {
    max-height: 65vh;
    aspect-ratio: 4 / 3.5;
  }

  .sayed-product-image-placeholder {
    min-height: 16rem;
  }

  .sayed-product-form {
    margin-top: 1.2rem;
    padding-top: 1rem;
  }

  .sayed-product-form > *,
  .sayed-product-option select,
  .sayed-product-quantity input,
  .sayed-product-add-button {
    min-width: 0;
    max-width: 100%;
  }

  .sayed-product-add-button {
    width: 100%;
    white-space: normal;
  }

  .sayed-header-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sayed-customer-page .sayed-store-main table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .sayed-store-section {
    border-radius: 1.25rem;
  }

  .sayed-product-card {
    padding: 1rem;
  }

  .sayed-store-hero {
    min-height: 0;
  }

  .sayed-store-hero > img {
    position: relative;
    inset: auto;
    width: 100%;
    height: min(58vw, 16rem);
    margin-bottom: 1.25rem;
    border-radius: 1.1rem;
  }

  .sayed-store-hero > p,
  .sayed-store-hero > h2,
  .sayed-store-hero > div,
  .sayed-store-hero > a {
    max-width: 100%;
  }

  .sayed-store-section > a,
  .sayed-product-card button {
    width: 100%;
    justify-content: center;
  }

  .sayed-public-nav-desktop {
    display: none;
  }

  .sayed-public-mobile-menu {
    display: block;
  }

  .sayed-public-mobile-menu > summary {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: .55rem;
    border: 1px solid currentColor;
    border-radius: .65rem;
    padding: .55rem .85rem;
    font: inherit;
    font-weight: 600;
  }

  .sayed-public-mobile-menu[open] .sayed-public-menu-backdrop {
    position: fixed;
    z-index: 40;
    display: block;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgb(25 43 38 / 48%);
  }

  .sayed-public-menu-panel {
    position: fixed;
    z-index: 41;
    inset-block: 0;
    inset-inline-start: 0;
    display: flex;
    width: min(86vw, 340px);
    flex-direction: column;
    overflow-y: auto;
    background: #f8faf6;
    color: var(--store-ink);
    box-shadow: 0 12px 36px rgb(25 43 38 / 22%);
  }

  .sayed-public-navigation[data-menu-position="top"] .sayed-public-menu-panel {
    inset-inline: 0;
    inset-block: 0 auto;
    width: 100%;
    max-height: min(80vh, 640px);
    border-radius: 0 0 1rem 1rem;
  }

  .sayed-public-menu-heading {
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--store-line);
    padding: .75rem 1rem;
  }

  .sayed-public-menu-heading button {
    min-height: 42px;
    border: 1px solid #cbd9d0;
    border-radius: .6rem;
    background: #fbfcf8;
    padding: .45rem .7rem;
    color: inherit;
    font: inherit;
  }

  .sayed-public-menu-items,
  .sayed-public-menu-links {
    display: grid;
    align-content: start;
    gap: .25rem;
    padding: .75rem;
  }

  .sayed-public-menu-items a,
  .sayed-public-menu-links a {
    display: flex;
    min-height: 44px;
    align-items: center;
    border-radius: .55rem;
    padding: .65rem .8rem;
    text-decoration: none;
  }

  .sayed-public-menu-items a:hover,
  .sayed-public-menu-items a:focus-visible,
  .sayed-public-menu-links a:hover,
  .sayed-public-menu-links a:focus-visible {
    background: #eaf1eb;
  }
  .sayed-public-menu-action { padding: .25rem .75rem; }
  .sayed-public-menu-action .sayed-store-header-action { width:100%; justify-content:flex-start; border:0; border-radius:.55rem; }
  .sayed-public-menu-empty { padding:1rem; }
}

.sayed-storefront a:focus-visible,
.sayed-storefront button:focus-visible,
.sayed-storefront input:focus-visible,
.sayed-storefront select:focus-visible,
.sayed-storefront textarea:focus-visible,
.sayed-header-template-choice:focus-within {
  outline: 3px solid rgb(80 122 103 / 48%);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
  .sayed-public-menu-panel {
    animation: sayed-public-menu-in .16s ease-out;
  }

  @keyframes sayed-public-menu-in {
    from { opacity: .75; transform: translateX(-8px); }
    to { opacity: 1; transform: translateX(0); }
  }

  .sayed-public-navigation[data-menu-position="top"] .sayed-public-menu-panel {
    animation-name: sayed-public-menu-down;
  }

  @keyframes sayed-public-menu-down {
    from { opacity: .75; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .sayed-storefront *,
  .sayed-storefront *::before,
  .sayed-storefront *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Per-site header/footer controls. Keep content inside the viewport on phones. */
.sayed-site-topbar { color:#fff; background:#172c25; }
.sayed-site-topbar-inner { display:flex; width:min(100% - 32px,1200px); min-height:34px; align-items:center; justify-content:space-between; gap:16px; margin-inline:auto; font-size:12px; }
.sayed-site-topbar-inner a { flex:0 0 auto; color:inherit; text-decoration:underline; text-underline-offset:3px; }
.sayed-store-header-inner { display:block !important; }
.sayed-header-desktop-layout { display:grid; direction:ltr; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-areas:"left center right"; align-items:center; gap:clamp(8px,1.5vw,20px); width:100%; }
.sayed-header-slot { display:flex; min-width:0; align-items:center; gap:clamp(8px,1.5vw,20px); }
.sayed-header-slot--right { grid-area:right; justify-content:flex-end; }
.sayed-header-slot--center { grid-area:center; justify-content:center; }
.sayed-header-slot--left { grid-area:left; justify-content:flex-start; }
.sayed-header-slot[data-slot-alignment="right"] { justify-content:flex-end; }
.sayed-header-slot[data-slot-alignment="center"] { justify-content:center; }
.sayed-header-slot[data-slot-alignment="left"] { justify-content:flex-start; }
.sayed-header-mobile-layout { display:none; }
.sayed-store-header .sayed-public-mobile-menu { display:none; }
.sayed-store-header .sayed-public-nav-desktop { display:flex; flex-wrap:nowrap; align-items:center; gap:4px; }
.sayed-store-header .sayed-public-nav-desktop > .sayed-nav-link,
.sayed-store-header .sayed-nav-dropdown > .sayed-nav-link { flex:0 0 auto; white-space:nowrap; }
.sayed-public-menu-links { display:grid; gap:8px; }
.sayed-public-menu-action { min-width:0; }
.sayed-public-menu-action .sayed-header-search { width:100%; max-width:none; }
.sayed-public-menu-empty { margin:0; padding:12px; color:#667085; font-size:14px; }
.sayed-header-slot { flex-wrap:wrap; max-width:100%; box-sizing:border-box; }
.sayed-header-search { display:flex; flex:1 1 240px; width:min(100%,520px); max-width:520px; min-width:min(100%,180px); align-items:center; overflow:hidden; border:1px solid var(--sayed-header-accent,#147d62); border-radius:10px; background:#fff; box-sizing:border-box; }
.sayed-header-search label { display:flex; min-width:0; flex:1 1 auto; }
.sayed-header-search input { width:100%; min-width:0; min-height:42px; padding:9px 12px; border:0; outline:0; color:#202737; background:transparent; }
.sayed-header-search button { display:grid; width:44px; min-height:42px; flex:0 0 auto; place-items:center; border:0; color:#fff; background:var(--sayed-header-accent,#147d62); cursor:pointer; }
.sayed-header-search button svg { width:19px; height:19px; }
.sayed-store-header[data-header-variant="compact"] .sayed-header-desktop-layout { min-height:54px; }
.sayed-store-header[data-header-variant="centered"] .sayed-header-desktop-layout { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-areas:"left center right"; }
.sayed-store-header[data-header-variant="stacked"] .sayed-header-desktop-layout { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-areas:"left center right"; gap:clamp(8px,1.5vw,20px); padding-block:10px; }
.sayed-header-desktop-layout[data-navigation-zone="left"] { grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr); }
.sayed-header-desktop-layout[data-navigation-zone="center"] { grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr); }
.sayed-header-desktop-layout[data-navigation-zone="right"] { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr); }
.sayed-store-header[data-header-variant="editorial"] { border-bottom:3px solid var(--sayed-header-accent, var(--sayed-store-accent, #147d62)); box-shadow:0 5px 18px rgb(21 54 38 / 8%); }
.sayed-store-header .sayed-store-header-action { position:relative; display:inline-flex; min-width:42px; min-height:42px; align-items:center; justify-content:center; gap:7px; text-decoration:none; }
.sayed-store-header .sayed-store-header-action svg { width:21px; height:21px; flex:0 0 auto; }
.sayed-public-menu-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; padding-top:16px; border-top:1px solid #e5e7eb; }
.sayed-footer-columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:28px; }
.sayed-footer-column { display:grid; align-content:start; gap:10px; min-width:0; }
.sayed-footer-column h2 { margin:0; font-size:14px; font-weight:700; }
.sayed-footer-column > div { display:grid; gap:9px; }
.sayed-footer-column a { width:fit-content; }
.sayed-store-footer-brand { display:inline-flex; align-items:center; gap:10px; font-weight:750; text-decoration:none; }
.sayed-store-footer-brand img { width:auto; max-width:150px; max-height:44px; object-fit:contain; }
.sayed-footer-socials { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; }
.sayed-footer-socials a { text-decoration:underline; text-underline-offset:3px; }
.sayed-customer-page section.mx-auto { width:100%; }
.sayed-customer-page [data-password-toggle] { z-index:2; min-width:42px; min-height:42px; color:#147d62; background:#f3f7f4; }
.sayed-customer-page [data-password-toggle] svg { display:block; width:20px; height:20px; }
.sayed-customer-page [data-password-toggle] [hidden] { display:none !important; }
.sayed-customer-page select[name="phone_country"] { min-height:44px; }
@media (max-width:760px) {
  .sayed-header-desktop-layout { display:none !important; }
  .sayed-header-mobile-layout {
    display:grid;
    width:100%;
    min-width:0;
    min-height:60px;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:"left right" "center center";
    align-items:center;
    gap:4px 8px;
    box-sizing:border-box;
  }
  .sayed-header-mobile-layout .sayed-header-slot {
    display:flex;
    min-width:0;
    max-width:100%;
    flex-wrap:wrap;
    gap:8px;
    box-sizing:border-box;
  }
  .sayed-header-mobile-layout .sayed-header-slot--left { grid-area:left; }
  .sayed-header-mobile-layout .sayed-header-slot--right { grid-area:right; }
  .sayed-header-mobile-layout .sayed-header-slot--center { grid-area:center; justify-content:center; }
  .sayed-header-mobile-layout .sayed-header-slot--center .sayed-header-search { flex:1 1 100%; width:min(100%,620px); max-width:620px; }
  .sayed-header-mobile-layout .sayed-header-slot--right { justify-content:flex-end; }
  .sayed-header-mobile-layout .sayed-header-slot--left { justify-content:flex-start; }
  .sayed-store-header .sayed-public-mobile-menu { display:block; }
  .sayed-store-header .sayed-public-mobile-menu > summary { display:grid; width:42px; min-height:42px; place-items:center; border:1px solid currentColor; border-radius:11px; list-style:none; cursor:pointer; }
  .sayed-store-header .sayed-public-mobile-menu > summary::-webkit-details-marker { display:none; }
  .sayed-store-header .sayed-public-mobile-menu > summary::after { content:"☰"; font-size:21px; line-height:1; }
  .sayed-store-header .sayed-public-mobile-menu > summary .sayed-public-menu-icon { display:none; }
  .sayed-store-header .sayed-public-nav-desktop { display:none; }
  .sayed-public-mobile-menu .sayed-public-menu-panel { max-width:min(88vw,380px); }
  .sayed-store-header .sayed-store-header-action-label { display:none; }
  .sayed-store-header[data-header-variant="compact"] .sayed-header-mobile-layout { min-height:52px; }
  .sayed-store-header[data-header-variant="stacked"] .sayed-header-mobile-layout { min-height:0; padding-block:5px; }
  .sayed-site-topbar-inner { width:calc(100% - 24px); min-height:32px; gap:8px; font-size:11px; }
  .sayed-footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 15px; }
  .sayed-customer-page main { min-width:0; }
}
@media(max-width:420px) {
  .sayed-footer-columns { grid-template-columns:1fr; }
  .sayed-site-topbar-inner { align-items:flex-start; padding-block:7px; }
}

/* Storefront refinement: safe side margins, drawer action layouts, cart preview and password controls. */
.sayed-store-header-inner { display:block !important; width:min(100% - 32px,1200px); margin-inline:auto; }
.sayed-cart-preview-root [hidden] { display:none !important; }
.sayed-cart-preview-backdrop { position:fixed; z-index:90; inset:0; width:100%; height:100%; border:0; background:rgb(14 24 20 / 48%); }
.sayed-cart-preview { position:fixed; z-index:91; inset-block:0; inset-inline-end:0; display:flex; width:min(92vw,430px); flex-direction:column; overflow:hidden; color:#202737; background:#fff; box-shadow:-18px 0 48px rgb(0 0 0 / 18%); transform:translateX(105%); transition:transform .22s ease; }
.sayed-cart-preview[data-open="true"] { transform:translateX(0); }
.sayed-cart-preview-head { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; border-bottom:1px solid #e5e7eb; }
.sayed-cart-preview-head h2 { display:flex; align-items:center; gap:9px; margin:0; font-size:18px; }
.sayed-cart-preview-head h2 span { display:grid; min-width:24px; height:24px; place-items:center; border-radius:99px; color:#fff; background:var(--sayed-header-accent,#147d62); font-size:12px; }
.sayed-cart-preview-head button { width:40px; height:40px; border:1px solid #d9e0dc; border-radius:10px; color:inherit; background:#fff; font-size:24px; cursor:pointer; }
.sayed-cart-preview-items { flex:1 1 auto; overflow-y:auto; padding:14px 18px; }
.sayed-cart-preview-row { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #edf0ee; }
.sayed-cart-preview-row > img,.sayed-cart-preview-placeholder { display:grid; width:56px; height:56px; place-items:center; border-radius:10px; object-fit:cover; color:#147d62; background:#f0f5f1; }
.sayed-cart-preview-placeholder svg { width:24px; height:24px; }
.sayed-cart-preview-row > div { display:grid; min-width:0; gap:4px; }
.sayed-cart-preview-row > div a { overflow:hidden; color:inherit; font-weight:650; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.sayed-cart-preview-row small { color:#667085; font-size:12px; }
.sayed-cart-preview-row > strong { font-size:13px; white-space:nowrap; }
.sayed-cart-preview-empty,.sayed-cart-preview-more { padding:14px 4px; color:#667085; }
.sayed-cart-preview-footer { padding:14px 18px max(18px,env(safe-area-inset-bottom)); border-top:1px solid #e5e7eb; background:#fff; }
.sayed-cart-preview-footer p { display:flex; justify-content:space-between; gap:12px; margin:0 0 12px; }
.sayed-cart-preview-primary,.sayed-cart-preview-secondary { display:flex; min-height:46px; align-items:center; justify-content:center; margin-top:8px; border-radius:10px; text-align:center; text-decoration:none; }
.sayed-cart-preview-primary { color:#fff !important; background:var(--sayed-header-accent,#147d62); font-weight:700; }
.sayed-cart-preview-secondary { border:1px solid #d9e0dc; color:#202737 !important; background:#fff; }
.sayed-cart-preview-open { overflow:hidden; }
.sayed-password-field { position:relative; width:100%; min-width:0; }
.sayed-password-field > input { width:100%; padding-inline-end:56px !important; }
.sayed-password-toggle { position:absolute !important; inset-block:4px !important; inset-inline-end:4px !important; z-index:2; display:grid !important; width:42px; min-width:42px !important; min-height:0 !important; place-items:center; margin:0; padding:0 !important; border:0 !important; border-radius:9px !important; color:#fff !important; background:#159b55 !important; cursor:pointer; }
.sayed-password-toggle svg { display:block; width:20px; height:20px; }
.sayed-password-toggle [hidden] { display:none !important; }
@media (max-width:760px) {
  .sayed-header-mobile-layout { padding-inline:6px; }
  .sayed-public-menu-panel[data-action-layout="inline-icons"],
  .sayed-public-menu-panel[data-action-layout="inline-labeled"] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; }
  .sayed-public-menu-panel[data-action-layout^="inline-"] .sayed-public-menu-heading,
  .sayed-public-menu-panel[data-action-layout^="inline-"] .sayed-public-menu-links,
  .sayed-public-menu-panel[data-action-layout^="inline-"] .sayed-public-menu-empty,
  .sayed-public-menu-panel[data-action-layout^="inline-"] .sayed-public-menu-action[data-drawer-item="search"] { grid-column:1/-1; }
  .sayed-public-menu-panel[data-action-layout^="inline-"] .sayed-public-menu-action:not([data-drawer-item="search"]) { padding:4px; }
  .sayed-public-menu-panel[data-action-layout^="inline-"] .sayed-public-menu-action:not([data-drawer-item="search"]) .sayed-store-header-action { min-width:0; justify-content:center; padding:8px 4px; }
  .sayed-public-menu-panel[data-action-layout="inline-icons"] .sayed-store-header-action-label { display:none; }
  .sayed-public-menu-panel[data-action-layout="inline-labeled"] .sayed-store-header-action { flex-direction:column; gap:4px; }
  .sayed-public-menu-panel[data-action-layout="inline-labeled"] .sayed-store-header-action-label { display:inline-block; }
  .sayed-customer-page .sayed-password-field > input { padding-inline-end:56px !important; }
  .sayed-customer-page [data-password-toggle] { position:absolute !important; inset-block:4px !important; inset-inline-end:4px !important; width:42px; min-width:42px !important; min-height:0 !important; padding:0 !important; border:0 !important; border-radius:9px !important; color:#fff !important; background:#159b55 !important; }
}
:root[dir="rtl"] .sayed-cart-preview { transform:translateX(-105%); box-shadow:18px 0 48px rgb(0 0 0 / 18%); }
:root[dir="rtl"] .sayed-cart-preview[data-open="true"] { transform:translateX(0); }

/* Header menu styling, accessible two-level dropdowns, and explicit desktop slot alignment. */
.sayed-store-header { --sayed-nav-bg:var(--sayed-nav-desktop-bg,#159b55); --sayed-nav-text:var(--sayed-nav-desktop-text,#fff); --sayed-nav-hover-bg:var(--sayed-nav-desktop-hover-bg,#0f6b43); --sayed-nav-hover-text:var(--sayed-nav-desktop-hover-text,#fff); }
@media (max-width:760px) {
  .sayed-store-header { --sayed-nav-bg:var(--sayed-nav-mobile-bg,var(--sayed-nav-desktop-bg,#159b55)); --sayed-nav-text:var(--sayed-nav-mobile-text,var(--sayed-nav-desktop-text,#fff)); --sayed-nav-hover-bg:var(--sayed-nav-mobile-hover-bg,var(--sayed-nav-desktop-hover-bg,#0f6b43)); --sayed-nav-hover-text:var(--sayed-nav-mobile-hover-text,var(--sayed-nav-desktop-hover-text,#fff)); }
}
.sayed-store-header-navigation,
.sayed-store-header-navigation .sayed-public-nav-desktop { min-width:0; max-width:100%; }
.sayed-store-header-navigation { color:var(--sayed-nav-text); background:var(--sayed-nav-bg); }
.sayed-header-slot > .sayed-public-navigation { width:100%; }
.sayed-store-header-navigation .sayed-public-nav-desktop { gap:4px; }
.sayed-store-header-navigation .sayed-public-nav-desktop > .sayed-nav-link,
.sayed-store-header-navigation .sayed-nav-dropdown > .sayed-nav-link { color:var(--sayed-nav-text); }
.sayed-store-header-navigation .sayed-public-nav-desktop > .sayed-nav-link,
.sayed-store-header-navigation .sayed-nav-dropdown > .sayed-nav-link { background:transparent; }
.sayed-store-header .sayed-store-header-navigation .sayed-public-nav-desktop > .sayed-nav-link,
.sayed-store-header .sayed-store-header-navigation .sayed-nav-dropdown > .sayed-nav-link { color:var(--sayed-nav-text); }
.sayed-store-header .sayed-store-header-navigation .sayed-public-nav-desktop > a.sayed-nav-link,
.sayed-store-header .sayed-store-header-navigation .sayed-nav-dropdown > a.sayed-nav-link { color:var(--sayed-nav-text) !important; }
.sayed-store-header-navigation .sayed-public-nav-desktop > .sayed-nav-link:hover,
.sayed-store-header-navigation .sayed-public-nav-desktop > .sayed-nav-link:focus-visible,
.sayed-store-header-navigation .sayed-nav-dropdown > .sayed-nav-link:hover,
.sayed-store-header-navigation .sayed-nav-dropdown > .sayed-nav-link:focus-visible { color:var(--sayed-nav-hover-text); background:var(--sayed-nav-hover-bg); }
.sayed-store-header .sayed-store-header-navigation .sayed-public-nav-desktop > a.sayed-nav-link:hover,
.sayed-store-header .sayed-store-header-navigation .sayed-public-nav-desktop > a.sayed-nav-link:focus-visible,
.sayed-store-header .sayed-store-header-navigation .sayed-nav-dropdown > a.sayed-nav-link:hover,
.sayed-store-header .sayed-store-header-navigation .sayed-nav-dropdown > a.sayed-nav-link:focus-visible { color:var(--sayed-nav-hover-text) !important; }
.sayed-nav-dropdown { position:relative; display:inline-flex; min-width:0; max-width:100%; align-items:center; }
.sayed-public-nav-desktop > .sayed-nav-dropdown { flex:0 0 auto; }
.sayed-nav-dropdown-toggle { display:inline-grid; width:30px; min-width:30px; height:36px; place-items:center; padding:0; border:0; border-radius:7px; color:var(--sayed-nav-text); background:transparent; cursor:pointer; }
.sayed-nav-dropdown-toggle:hover,
.sayed-nav-dropdown[data-open="true"] > .sayed-nav-dropdown-toggle { background:var(--sayed-nav-hover-bg); color:var(--sayed-nav-hover-text); }
.sayed-nav-dropdown-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
.sayed-nav-submenu { position:absolute; z-index:85; top:calc(100% + 3px); inset-inline-start:0; display:none; min-width:min(240px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:min(60vh,420px); overflow:auto; overscroll-behavior:contain; padding:6px; border:1px solid rgb(0 0 0 / 9%); border-radius:12px; color:var(--sayed-nav-text); background:var(--sayed-nav-bg); box-shadow:0 16px 38px rgb(0 0 0 / 18%); }
.sayed-nav-dropdown:hover > .sayed-nav-submenu,
.sayed-nav-dropdown:focus-within > .sayed-nav-submenu,
.sayed-nav-dropdown[data-open="true"] > .sayed-nav-submenu { display:grid; gap:2px; }
.sayed-nav-submenu > .sayed-nav-link { display:flex; min-height:40px; align-items:center; padding:9px 12px; border-radius:8px; color:var(--sayed-nav-text); text-decoration:none; white-space:normal; }
.sayed-nav-submenu > .sayed-nav-link:hover,
.sayed-nav-submenu > .sayed-nav-link:focus-visible,
.sayed-nav-submenu > .sayed-nav-link[aria-current="page"] { color:var(--sayed-nav-hover-text); background:var(--sayed-nav-hover-bg); }
.sayed-public-menu-links .sayed-nav-dropdown { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; border-bottom:1px solid #e8ece9; }
.sayed-public-menu-links .sayed-nav-dropdown > .sayed-nav-link { display:flex; min-height:50px; align-items:center; padding:10px 12px; color:inherit; text-decoration:none; }
.sayed-public-menu-links .sayed-nav-dropdown > .sayed-nav-link { background:var(--sayed-nav-bg); color:var(--sayed-nav-text); }
.sayed-public-menu-links .sayed-nav-dropdown-toggle { color:var(--sayed-nav-text); background:var(--sayed-nav-bg); }
.sayed-public-menu-links > .sayed-nav-link { color:var(--sayed-nav-text); background:var(--sayed-nav-bg); }
.sayed-public-menu-links .sayed-nav-submenu { position:static; grid-column:1/-1; min-width:0; max-width:none; max-height:min(52vh,360px); margin:0 0 8px; border:0; border-radius:8px; background:var(--sayed-nav-bg); box-shadow:none; }
.sayed-public-menu-links .sayed-nav-submenu > .sayed-nav-link { color:var(--sayed-nav-text); }
.sayed-public-menu-links .sayed-nav-submenu > .sayed-nav-link:hover,
.sayed-public-menu-links .sayed-nav-submenu > .sayed-nav-link:focus-visible { color:var(--sayed-nav-hover-text); background:var(--sayed-nav-hover-bg); }
.sayed-public-menu-links > .sayed-nav-link:hover,
.sayed-public-menu-links > .sayed-nav-link:focus-visible { color:var(--sayed-nav-hover-text); background:var(--sayed-nav-hover-bg); }

/* v12: menu text colour from Appearance → Header and menu must win on desktop, the phone drawer and submenus.
   Modern Pro (site-template-default/store/theme.css) styles these links itself with a higher specificity
   (e.g. `.sayed-template-root .sayed-public-menu-panel a { color:#56536a }`), which hid the chosen colour. */
.sayed-store-header .sayed-nav-link,
.sayed-store-header .sayed-nav-dropdown-toggle,
.sayed-public-menu-panel .sayed-nav-link,
.sayed-public-menu-panel .sayed-nav-dropdown-toggle { color:var(--sayed-nav-text) !important; }
.sayed-public-menu-panel .sayed-nav-link,
.sayed-public-menu-panel .sayed-nav-dropdown-toggle { background:var(--sayed-nav-bg) !important; }
.sayed-store-header .sayed-nav-link:hover,
.sayed-store-header .sayed-nav-link:focus-visible,
.sayed-store-header .sayed-nav-dropdown-toggle:hover,
.sayed-public-menu-panel .sayed-nav-link:hover,
.sayed-public-menu-panel .sayed-nav-link:focus-visible,
.sayed-public-menu-panel .sayed-nav-dropdown-toggle:hover { color:var(--sayed-nav-hover-text) !important; background:var(--sayed-nav-hover-bg) !important; }

/* v13: any template (GreenShop included). Every link inside the header menu gets the chosen text colour,
   whatever class the template or renderer gave it. Colours come from the header's own variables. */
.gs-header .gs-nav a,
.gs-header .gs-nav .sayed-nav-dropdown-toggle,
.gs-header .gs-mobile-menu-links a,
.gs-header .gs-mobile-menu-links .sayed-nav-dropdown-toggle,
.sayed-store-header .sayed-public-nav-desktop a,
.sayed-store-header .sayed-public-menu-links a { color:var(--gs-nav-text,var(--sayed-nav-text,#fff)) !important; }
.gs-header .gs-nav a:hover,
.gs-header .gs-nav a:focus-visible,
.gs-header .gs-nav .sayed-nav-dropdown-toggle:hover,
.gs-header .gs-mobile-menu-links a:hover,
.gs-header .gs-mobile-menu-links a:focus-visible,
.sayed-store-header .sayed-public-nav-desktop a:hover,
.sayed-store-header .sayed-public-nav-desktop a:focus-visible,
.sayed-store-header .sayed-public-menu-links a:hover { color:var(--gs-nav-hover-text,var(--sayed-nav-hover-text,#fff)) !important; }

/* v14: header grid layout — 3 rows (desktop 3 columns, mobile 2 columns), static or sticky rows. */
.sayed-store-header--grid { display:contents !important; position:static !important; padding:0; }
.sayed-store-header--grid .sayed-store-header-inner.sayed-hgrid { display:contents !important; width:auto; margin:0; }
.sayed-hrows { width:100%; }
.sayed-hrows--desktop { display:contents; }
.sayed-hrows--mobile { display:none; }
@media (max-width:760px) {
  .sayed-hrows--desktop { display:none; }
  .sayed-hrows--mobile { display:contents; }
}
.sayed-hsticky { position:sticky; top:0; z-index:60; background:var(--sayed-header-bg,#fff); }
.sayed-hrow { display:flex; align-items:center; box-sizing:border-box; background-color:var(--sayed-header-bg,#fff); padding:.4rem clamp(12px,3vw,32px); border-bottom:1px solid rgb(0 0 0 / 6%); }
.sayed-hrow-grid { display:grid; width:100%; max-width:1280px; margin:0 auto; align-items:center; gap:.5rem 1rem; }
.sayed-hcell { display:flex; flex-wrap:wrap; align-items:center; align-content:center; justify-content:var(--hrow-justify,center); gap:.5rem .75rem; min-width:0; width:100%; max-width:100%; box-sizing:border-box; }
.sayed-hcell > * { min-width:0; max-width:100%; box-sizing:border-box; position:static; }
.sayed-hcell > .sayed-store-header-navigation,
.sayed-hcell > .sayed-store-header-search,
.sayed-hcell > [class*="search"] { flex:1 1 auto; }
.sayed-hcell > .sayed-store-header-navigation { width:auto; }
.sayed-hcell .sayed-store-header-navigation .sayed-public-nav-desktop { flex-wrap:wrap; justify-content:inherit; row-gap:2px; }
.sayed-hcell > .sayed-store-header-logo { max-height:52px; width:auto; flex:0 0 auto; }
.sayed-hrows--mobile .sayed-hcell { gap:.4rem .5rem; }
.sayed-hrows--mobile .sayed-hcell > * { flex:0 1 auto; }
.sayed-hpart { color:inherit; }
.sayed-hpart-text { font-size:.92rem; line-height:1.4; }
.sayed-hpart-button { display:inline-flex; align-items:center; min-height:40px; padding:.5rem 1.1rem; border-radius:999px; background:var(--sayed-header-accent,#16a34a); color:#fff; font-weight:650; text-decoration:none; }
.sayed-hpart-phone { font-weight:650; text-decoration:none; direction:ltr; }
.sayed-hpart-social,
.sayed-hpart-links { display:flex; flex-wrap:wrap; gap:.4rem .9rem; }
.sayed-hpart-social a,
.sayed-hpart-links a { color:inherit; text-decoration:none; font-size:.9rem; font-weight:600; }
.sayed-hpart-social a:hover,
.sayed-hpart-links a:hover,
.sayed-hpart-phone:hover { text-decoration:underline; }

/* v15 — header grid: physical columns (left | centre | right), centre sized by content,
   nav stays on one line, item options (hide label / hide icon / colour), unified phone icons, drawer layout. */
.sayed-store-header--grid,
.sayed-store-header--grid .sayed-hrow { direction:ltr; }
.sayed-store-header--grid .sayed-hrow-grid { width:100%; max-width:1280px; margin:0 auto; align-items:center; gap:.5rem clamp(12px,2vw,28px); }
.sayed-store-header--grid .sayed-hcell { display:flex; flex-wrap:nowrap; align-items:center; gap:.5rem .75rem; min-width:0; box-sizing:border-box; }
.sayed-store-header--grid .sayed-hcell > * { min-width:0; max-width:100%; box-sizing:border-box; }
.sayed-store-header--grid .sayed-hcell .sayed-public-navigation { flex:0 1 auto; min-width:0; }
.sayed-store-header--grid .sayed-hcell .sayed-public-nav-desktop { flex-wrap:nowrap; white-space:nowrap; justify-content:flex-start; }
.sayed-store-header--grid .sayed-hcell .sayed-public-nav-desktop > * { flex:0 0 auto; }
.sayed-store-header--grid .sayed-hcell > .sayed-header-search,
.sayed-store-header--grid .sayed-hcell > form.sayed-header-search { flex:1 1 220px; }
.sayed-store-header--grid [data-hl-hide-label] .sayed-store-header-action-label { display:none !important; }
.sayed-store-header--grid [data-hl-hide-icon] svg { display:none !important; }
.sayed-store-header--grid [data-hl-color] { color:var(--hl-item-color) !important; }

.sayed-drawer-body { display:flex; flex-direction:column; gap:.75rem; min-height:100%; }
.sayed-drawer-grid { display:grid; gap:.5rem 1rem; align-items:start; }
.sayed-drawer-cell { display:flex; flex-direction:column; gap:.25rem; min-width:0; }
.sayed-drawer-item { display:flex; align-items:center; gap:.5rem; min-width:0; padding:.35rem 0; }
.sayed-drawer-body[data-columns="2"] .sayed-drawer-cell > .sayed-drawer-item,
.sayed-drawer-body[data-columns="3"] .sayed-drawer-cell > .sayed-drawer-item { flex-wrap:wrap; }
.sayed-drawer-body[data-dividers="1"] .sayed-drawer-cell > .sayed-drawer-item + .sayed-drawer-item { border-top:1px solid rgb(0 0 0 / 8%); }
.sayed-drawer-bottom { margin-top:auto; border-top:1px solid rgb(0 0 0 / 10%); padding-top:.5rem; display:flex; flex-direction:column; gap:.25rem; }
.sayed-drawer-body[data-dividers="1"] .sayed-drawer-bottom > .sayed-drawer-item + .sayed-drawer-item { border-top:1px solid rgb(0 0 0 / 8%); }
.sayed-public-menu-panel .sayed-drawer-body[data-nested="expanded"] .sayed-nav-dropdown-toggle { display:none; }
.sayed-public-menu-panel .sayed-drawer-body[data-nested="expanded"] .sayed-nav-submenu { position:static; display:block; box-shadow:none; background:transparent; border:0; padding:0 0 0 14px; min-width:0; }
.sayed-public-menu-panel .sayed-drawer-body[data-nested="expanded"] .sayed-nav-submenu .sayed-nav-submenu { padding-inline-start:14px; }

@media (max-width:760px) {
  .sayed-store-header--grid .sayed-hcell { flex-wrap:wrap; gap:.4rem; }
  .sayed-store-header--grid .sayed-store-header-action,
  .sayed-store-header--grid .sayed-public-mobile-menu > summary {
    width:42px; height:42px; min-height:42px; padding:0; box-sizing:border-box;
    border:1px solid rgb(0 0 0 / 14%); border-radius:999px; background:transparent; color:inherit;
    display:inline-flex; align-items:center; justify-content:center; list-style:none;
  }
  .sayed-store-header--grid .sayed-store-header-action svg { width:20px; height:20px; }
  .sayed-store-header--grid .sayed-public-mobile-menu > summary::-webkit-details-marker { display:none; }
  .sayed-store-header--grid .sayed-hcell > .sayed-store-header-logo { max-height:40px; }
}

/* v16 — drawer: items sit side by side inside each column; the navigation list takes full width;
   element colour also reaches the nav links. */
.sayed-drawer-cell { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:.5rem .75rem; min-width:0; }
.sayed-drawer-item { display:flex; align-items:center; gap:.5rem; min-width:0; padding:.35rem 0; flex:0 0 auto; }
.sayed-drawer-item[data-drawer-part="navigation"] { flex:1 0 100%; display:block; }
.sayed-drawer-bottom { flex-direction:row; flex-wrap:wrap; align-items:center; gap:.5rem .75rem; }
.sayed-drawer-body[data-dividers="1"] .sayed-drawer-cell > .sayed-drawer-item + .sayed-drawer-item,
.sayed-drawer-body[data-dividers="1"] .sayed-drawer-bottom > .sayed-drawer-item + .sayed-drawer-item { border-top:0; border-inline-start:1px solid rgb(0 0 0 / 10%); padding-inline-start:.75rem; }
.sayed-drawer-body[data-dividers="1"] .sayed-drawer-item[data-drawer-part="navigation"] + .sayed-drawer-item { border-inline-start:0; padding-inline-start:0; }
.sayed-drawer-item .sayed-store-header-action { position:static !important; transform:none !important; }
[data-hl-color] .sayed-nav-link,
[data-hl-color] .sayed-nav-dropdown-toggle { color:var(--hl-item-color) !important; }
[data-hl-bg] { background-color:var(--hl-item-bg) !important; }

/* v17 — drawer is one column (items, bottom zone); items in a row sit side by side; a group holds 2 or 3 columns.
   Navigation elements can show another menu and change colour on hover. */
.sayed-drawer-main { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:.5rem .75rem; min-width:0; }
.sayed-drawer-main > .sayed-drawer-group,
.sayed-drawer-bottom > .sayed-drawer-group { flex:1 0 100%; }
.sayed-drawer-group { display:grid; gap:.5rem 1rem; align-items:start; min-width:0; }
.sayed-drawer-group-cell { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:.5rem .75rem; min-width:0; }
.sayed-drawer-body[data-dividers="1"] .sayed-drawer-main > .sayed-drawer-item + .sayed-drawer-item,
.sayed-drawer-body[data-dividers="1"] .sayed-drawer-group-cell > .sayed-drawer-item + .sayed-drawer-item { border-inline-start:1px solid rgb(0 0 0 / 10%); padding-inline-start:.75rem; }
.sayed-drawer-body[data-dividers="1"] .sayed-drawer-item[data-drawer-part="navigation"] + .sayed-drawer-item { border-inline-start:0; padding-inline-start:0; }
[data-hl-hover]:hover,
[data-hl-hover] .sayed-nav-link:hover,
[data-hl-hover] .sayed-nav-dropdown-toggle:hover,
[data-hl-hover] a:hover { color:var(--hl-item-hover) !important; }
[data-hl-hover-bg]:hover { background-color:var(--hl-item-hover-bg) !important; }

/* v18 — mobile drawer, professional layout: one 16px gutter, clean nav rows with a divider,
   a full-width search field, pill links, and a full-width button. Scoped to the drawer panel. */
.sayed-public-menu-panel .sayed-drawer-body { display:flex; flex:1 0 auto; flex-direction:column; gap:16px; box-sizing:border-box; min-height:0; padding:8px 16px 24px; }
.sayed-public-menu-panel .sayed-drawer-main { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px; margin:0; }
.sayed-public-menu-panel .sayed-drawer-bottom { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px; margin-top:auto; padding-top:16px; border-top:1px solid #e6eae7; }
.sayed-public-menu-panel .sayed-drawer-item { min-width:0; padding:0; }
.sayed-public-menu-panel .sayed-drawer-item[data-drawer-part="navigation"],
.sayed-public-menu-panel .sayed-drawer-item[data-drawer-part="search"],
.sayed-public-menu-panel .sayed-drawer-item[data-drawer-part="button"] { flex:1 0 100%; }
.sayed-public-menu-panel .sayed-drawer-group { width:100%; gap:12px; }
.sayed-public-menu-panel .sayed-drawer-group-cell { gap:10px; }

/* Navigation: full-width rows, one divider per row, submenus indented under their parent. */
.sayed-public-menu-panel .sayed-public-menu-links { display:flex; flex-direction:column; gap:0; margin:0; padding:0; border-top:1px solid #e6eae7; }
.sayed-public-menu-panel .sayed-drawer-item[data-drawer-part="navigation"] { padding:0; }
.sayed-public-menu-panel .sayed-public-menu-links > .sayed-nav-link,
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-dropdown > .sayed-nav-link { display:flex; align-items:center; min-height:48px; margin:0; padding:0 4px; border:0; border-bottom:1px solid #e6eae7; border-radius:0; font-size:16px; font-weight:500; line-height:1.3; text-decoration:none; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-dropdown { display:grid; grid-template-columns:minmax(0,1fr) 48px; align-items:center; width:100%; margin:0; border-bottom:1px solid #e6eae7; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-dropdown > .sayed-nav-link { min-height:48px; border-bottom:0; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-dropdown-toggle { width:48px; min-height:48px; margin:0; padding:0; border:0; background:transparent; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-submenu { position:static; grid-column:1/-1; box-sizing:border-box; margin:0 0 6px; padding:0 0 0 14px; border:0; border-inline-start:2px solid #e6eae7; border-radius:0; background:transparent; box-shadow:none; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-submenu > .sayed-nav-link { min-height:42px; padding:0 4px; border-bottom:1px solid #eef1ef; font-size:15px; font-weight:400; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-submenu .sayed-nav-link:hover,
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-submenu .sayed-nav-link:focus-visible { border-radius:0; }

/* Search: a full-width field with its button; the hidden label stays out of sight. */
.sayed-public-menu-panel .sayed-header-search { display:flex; align-items:stretch; width:100%; max-width:none; height:48px; margin:0; overflow:hidden; border:1px solid #d5ddd7; border-radius:12px; background:#fff; box-sizing:border-box; }
.sayed-public-menu-panel .sayed-header-search label { display:flex; flex:1 1 auto; min-width:0; margin:0; }
.sayed-public-menu-panel .sayed-header-search .sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.sayed-public-menu-panel .sayed-header-search input { flex:1 1 auto; min-width:0; height:100%; margin:0; padding:0 14px; border:0; outline:none; background:transparent; font:inherit; font-size:15px; box-sizing:border-box; }
.sayed-public-menu-panel .sayed-header-search button { display:grid; flex:0 0 52px; place-items:center; height:100%; margin:0; border:0; border-radius:0; background:#16a34a; color:#fff; cursor:pointer; }
.sayed-public-menu-panel .sayed-header-search button svg { width:20px; height:20px; }

/* Links and phone: small pills in one row. */
.sayed-public-menu-panel .sayed-hpart-links,
.sayed-public-menu-panel .sayed-hpart-social { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; }
.sayed-public-menu-panel .sayed-hpart-links a,
.sayed-public-menu-panel .sayed-hpart-social a,
.sayed-public-menu-panel .sayed-hpart-phone { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border:1px solid #d5ddd7; border-radius:999px; background:#fff; color:inherit; font-size:14px; font-weight:600; line-height:1; text-decoration:none; box-sizing:border-box; }
.sayed-public-menu-panel .sayed-hpart-text { display:inline-block; color:#667085; font-size:14px; line-height:1.5; }

/* Button: full-width, one clear call to action. */
.sayed-public-menu-panel .sayed-hpart-button { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:0 16px; border-radius:12px; background:#16a34a; color:#fff; font-size:15px; font-weight:600; text-decoration:none; box-sizing:border-box; }

/* Items that have no label of their own keep the drawer clean at the edges. */
.sayed-public-menu-panel .sayed-public-menu-empty { margin:0; padding:12px 0; }

/* Dividers in the drawer: no vertical lines between pills; a horizontal rule above full-width sections. */
.sayed-public-menu-panel .sayed-drawer-body[data-dividers="1"] .sayed-drawer-main > .sayed-drawer-item + .sayed-drawer-item { border-inline-start:0; padding-inline-start:0; }
.sayed-public-menu-panel .sayed-drawer-body[data-dividers="1"] .sayed-drawer-main > .sayed-drawer-item[data-drawer-part="search"] { border-top:1px solid #e6eae7; padding-top:16px; }

/* Row text keeps 12px from the edges; submenu rows get the same inset. */
.sayed-public-menu-panel .sayed-public-menu-links > .sayed-nav-link,
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-dropdown > .sayed-nav-link,
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-submenu > .sayed-nav-link { padding-inline:12px; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-submenu { padding-inline-start:12px; margin-inline-start:12px; }

/* v19 — mobile drawer polish.
   One background for the whole drawer; rows are transparent and separated by hairlines;
   submenus open and close only through data-open (no sticky :hover / :focus-within on touch);
   social networks are round icon buttons. */
.sayed-public-menu-panel { background:#f8faf7; }
.sayed-public-menu-panel .sayed-public-menu-heading { background:transparent; border-bottom:1px solid #e6eae7; padding:16px; }
.sayed-public-menu-panel .sayed-drawer-body { gap:12px; padding:12px 16px 20px; }
.sayed-public-menu-panel .sayed-drawer-body > .sayed-drawer-main:first-child { margin-top:0; }
.sayed-public-menu-panel .sayed-drawer-main { gap:10px; }
.sayed-public-menu-panel .sayed-drawer-main > .sayed-drawer-item[data-drawer-part="search"]:first-child,
.sayed-public-menu-panel .sayed-drawer-body[data-dividers="1"] .sayed-drawer-main > .sayed-drawer-item[data-drawer-part="search"]:first-child { border-top:0; padding-top:0; }
.sayed-public-menu-panel .sayed-drawer-bottom { padding-top:14px; border-top:1px solid #e6eae7; }

/* Navigation rows: transparent unless the element has its own background. */
.sayed-public-menu-panel .sayed-public-menu-links:not([data-hl-bg]) > .sayed-nav-link,
.sayed-public-menu-panel .sayed-public-menu-links:not([data-hl-bg]) .sayed-nav-dropdown > .sayed-nav-link,
.sayed-public-menu-panel .sayed-public-menu-links:not([data-hl-bg]) .sayed-nav-dropdown-toggle,
.sayed-public-menu-panel .sayed-public-menu-links:not([data-hl-bg]) .sayed-nav-submenu > .sayed-nav-link { background:transparent !important; }
.sayed-public-menu-panel .sayed-public-menu-links { border-top:0; }
.sayed-public-menu-panel .sayed-public-menu-links > .sayed-nav-link,
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-dropdown { border-bottom:1px solid #e6eae7; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-dropdown-toggle { width:48px; min-height:48px; border:0; border-radius:0; background:transparent; color:inherit; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-dropdown[data-open="true"] > .sayed-nav-dropdown-toggle { background:transparent; color:inherit; }

/* Submenus: opened by data-open only (the script sets it on tap). */
.sayed-public-menu-panel .sayed-nav-dropdown:hover > .sayed-nav-submenu,
.sayed-public-menu-panel .sayed-nav-dropdown:focus-within > .sayed-nav-submenu { display:none; }
.sayed-public-menu-panel .sayed-nav-dropdown[data-open="true"] > .sayed-nav-submenu { display:grid; gap:0; }
.sayed-public-menu-panel .sayed-drawer-body[data-nested="expanded"] .sayed-nav-dropdown > .sayed-nav-submenu { display:grid !important; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-submenu { margin:0 0 6px; padding-inline-start:12px; border-inline-start:2px solid #e6eae7; background:transparent; }
.sayed-public-menu-panel .sayed-public-menu-links .sayed-nav-submenu > .sayed-nav-link { font-size:15px; font-weight:400; border-bottom:1px solid #eef1ef; }

/* Search: aligned with the rows, no extra rule above it. */
.sayed-public-menu-panel .sayed-header-search { height:46px; border-color:#d5ddd7; border-radius:12px; }
.sayed-public-menu-panel .sayed-header-search button { background:#16a34a; }

/* Social networks: round icon buttons with only the links that were filled in. */
.sayed-hpart-social { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; }
.sayed-hpart-social .sayed-social-link { display:inline-grid; place-items:center; width:42px; height:42px; box-sizing:border-box; border:1px solid #d5ddd7; border-radius:50%; background:#fff; color:#1f2937; text-decoration:none; transition:background .15s ease, color .15s ease, border-color .15s ease; }
.sayed-hpart-social .sayed-social-link:hover,
.sayed-hpart-social .sayed-social-link:focus-visible { background:#16a34a; border-color:#16a34a; color:#fff; outline:none; }
.sayed-hpart-social .sayed-social-icon { display:block; width:18px; height:18px; }
.sayed-hpart-social .sayed-social-custom { width:auto; min-width:42px; padding:0 14px; border-radius:999px; font-size:14px; font-weight:600; }
.sayed-public-menu-panel .sayed-hpart-social { gap:10px; }

/* Text links in the drawer: pills, same height as the social buttons. */
.sayed-public-menu-panel .sayed-hpart-links a { min-height:42px; }

.sayed-public-menu-panel .sayed-drawer-bottom > .sayed-drawer-item + .sayed-drawer-item { border-inline-start:0; padding-inline-start:0; }
.sayed-hpart-social .sayed-social-icon { width:20px; height:20px; }

/* v19 fix: social buttons are circles; the text-link pill rule must not reach them. */
.sayed-public-menu-panel .sayed-hpart-social .sayed-social-link { display:inline-grid; place-items:center; width:42px; height:42px; min-height:0; padding:0; margin:0; border:1px solid #d5ddd7; border-radius:50%; background:#fff; font-size:0; }
.sayed-public-menu-panel .sayed-hpart-social .sayed-social-custom { width:auto; min-width:42px; padding:0 14px; border-radius:999px; font-size:14px; font-weight:600; }
.sayed-public-menu-panel .sayed-hpart-social .sayed-social-icon { width:20px; height:20px; }
.sayed-public-menu-panel .sayed-drawer-body[data-dividers="1"] .sayed-drawer-bottom > .sayed-drawer-item + .sayed-drawer-item { border-inline-start:0; padding-inline-start:0; }
.sayed-public-menu-panel .sayed-drawer-body[data-dividers="1"] .sayed-drawer-main > .sayed-drawer-item[data-drawer-part="search"] { border-top:0; padding-top:0; }

/* v20 — footer: the same social icons as the header (generic, so the GreenShop footer gets them too),
   tidier column headings and links. */
.sayed-social-link { display:inline-grid; place-items:center; width:40px; height:40px; box-sizing:border-box; border:1px solid rgb(0 0 0 / 14%); border-radius:50%; background:transparent; color:inherit; text-decoration:none; transition:background .15s ease, color .15s ease, border-color .15s ease; }
.sayed-social-link:hover,
.sayed-social-link:focus-visible { background:var(--sayed-store-accent, #147d62); border-color:var(--sayed-store-accent, #147d62); color:#fff; outline:none; }
.sayed-social-link .sayed-social-icon { display:block; width:18px; height:18px; }
.sayed-social-link.sayed-social-custom { width:auto; min-width:40px; padding:0 14px; border-radius:999px; font-size:14px; font-weight:600; }
.sayed-footer-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sayed-footer-column h2 { font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.sayed-footer-column > div a { color:inherit; font-size:14px; line-height:1.5; text-decoration:none; }
.sayed-footer-column > div a:hover { text-decoration:underline; text-underline-offset:3px; }
.gs-footer-socials { display:flex; flex-wrap:wrap; gap:10px; }

/* v20 — footer spacing that does not depend on utility classes: even padding, a readable measure,
   legal links on one row, and contact lines with their own rhythm. */
.sayed-store-footer { padding:40px 16px 32px; box-sizing:border-box; }
.sayed-store-footer > div { display:grid; gap:24px; max-width:1120px; margin:0 auto; font-size:15px; line-height:1.6; }
.sayed-store-footer > div > nav[aria-label="Ссылки в подвале"] { display:flex; flex-wrap:wrap; gap:8px 20px; margin:0 !important; padding-top:16px; border-top:1px solid rgb(0 0 0 / 8%); }
.sayed-store-footer > div > nav[aria-label="Ссылки в подвале"] a { color:inherit; font-size:14px; text-decoration:none; }
.sayed-store-footer > div > nav[aria-label="Ссылки в подвале"] a:hover { text-decoration:underline; text-underline-offset:3px; }
.sayed-store-footer .sayed-footer-column > div { gap:8px; }
.sayed-store-footer .sayed-footer-column > div a,
.sayed-store-footer .sayed-footer-column > div span { font-size:14px; }
.sayed-store-footer .sayed-footer-column > div span { color:inherit; opacity:.85; }
.sayed-store-footer .sayed-footer-socials { margin-top:4px; }
@media (max-width:760px) { .sayed-store-footer { padding:32px 16px 28px; } }

/* v21: footer editor layout (rows x 4 columns) */
.sayed-fl-wrap { display:grid; gap:28px; }
.sayed-fl-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; align-items:start; }
.sayed-fl-cell { display:grid; align-content:start; gap:22px; min-width:0; }
.sayed-fl-part { display:grid; gap:10px; min-width:0; }
.sayed-fl-part h2 { margin:0; font-size:14px; font-weight:700; }
.sayed-fl-part p { margin:0; line-height:1.6; }
.sayed-fl-links { display:grid; gap:9px; }
.sayed-fl-links a, .sayed-fl-contact a, .sayed-fl-contact span { color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.sayed-fl-links a:hover, .sayed-fl-contact a:hover { text-decoration:underline; }
.sayed-fl-contact { display:grid; gap:9px; }
.sayed-fl-copy { margin:0; font-size:13px; opacity:.8; }
@media (max-width: 900px) { .sayed-fl-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .sayed-fl-grid { grid-template-columns:minmax(0,1fr); gap:22px; } }

/* ---- Новые блоки магазина: промо-плитки, полоса преимуществ, плитки категорий ---- */
.sayed-block--usp_strip { padding-top: 18px !important; padding-bottom: 18px !important; }
.sayed-block--usp_strip > h2 { font-size: 1rem !important; }
.sayed-block--usp_strip > div.mt-6 { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-top: 10px !important; }
.sayed-block--usp_strip > div.mt-6 > article { border: 0 !important; background: transparent !important; padding: 6px 2px !important; }
.sayed-block--usp_strip > div.mt-6 > article h3 { font-size: .95rem; }
.sayed-block--usp_strip > div.mt-6 > article p { margin-top: 2px !important; font-size: .82rem; }
.sayed-block--promo_grid > div.mt-6 { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.sayed-block--promo_grid > div.mt-6 > article { position: relative; min-height: 240px; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px !important; border: 0 !important; isolation: isolate; background: #1f2937 !important; color: #fff !important; }
.sayed-block--promo_grid > div.mt-6 > article > img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none !important; margin: 0 !important; border-radius: 0 !important; object-fit: cover; z-index: -1; filter: brightness(.6); }
.sayed-block--promo_grid > div.mt-6 > article h3 { font-size: 1.35rem; color: #fff; }
.sayed-block--promo_grid > div.mt-6 > article p, .sayed-block--promo_grid > div.mt-6 > article a { color: #fff !important; opacity: .95; }
.sayed-block--category_tiles > div.mt-6 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 768px) { .sayed-block--category_tiles > div.mt-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sayed-block--category_tiles > div.mt-6 > article { text-align: center; padding: 12px !important; }
.sayed-block--category_tiles > div.mt-6 > article > img { aspect-ratio: 1 / 1; max-height: none !important; margin-bottom: 10px !important; }
.sayed-block--category_tiles > div.mt-6 > article p { font-size: .8rem; }
.sayed-block--category_tiles > div.mt-6 > article, .sayed-block--usp_strip > div.mt-6 > article, .sayed-block--promo_grid > div.mt-6 > article { display: flex !important; flex-direction: column; }
.sayed-block--category_tiles > div.mt-6 > article { align-items: center; }
