:root {
  --curve-page: #f5f5e8;
  --curve-ink: #111111;
  --curve-muted: #66665d;
  --curve-line: #d7d7ca;
  --curve-orange: #f36a21;
}

html,
body {
  background: var(--curve-page);
}

body {
  color: var(--curve-ink);
  letter-spacing: 0;
}

body,
button,
input,
select,
textarea {
  font-family: "Lexend", Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0;
}

.page-width {
  width: min(100%, 1280px);
}

.button {
  min-height: 44px;
  font-weight: 600;
}

.announcement-bar-section,
.announcement-bar {
  background: var(--curve-page);
}

.announcement-bar a,
.announcement-bar p,
.announcement-bar span {
  font-size: 14px;
  font-weight: 700;
  color: var(--curve-ink);
}

.header-section {
  background: var(--curve-page);
}

.header__container-top-wrap {
  min-height: 88px;
}

.header__logo-link {
  min-width: 84px;
  color: var(--curve-ink);
}

.header__logo-link span {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.05;
}

.header-nav__menu {
  align-items: center;
}

.header-nav__menu-item {
  margin-inline: 12px;
}

.header-nav__menu-item > a {
  font-size: 15px;
  font-weight: 500;
}

.header-nav__underline::after {
  height: 1px;
}

.header-search-bar {
  display: none !important;
}

.curve-header-search {
  align-items: stretch;
  min-width: 0;
  height: 38px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid #b9b9ae;
  border-radius: 4px;
}

.curve-header-search input {
  flex: 1;
  min-width: 0;
  padding: 0 12px;
  color: var(--curve-ink);
  background: transparent;
  border: 0;
  outline: 0;
}

.curve-header-search input::placeholder {
  color: #a6a69d;
  opacity: 1;
}

.curve-header-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  padding: 0;
  color: #ffffff;
  cursor: pointer;
  background: #a7a7aa;
  border: 0;
}

.curve-header-search button .icon {
  width: 18px;
  height: 18px;
}

.curve-header-search--mobile {
  display: none;
}

.header-action-bar .button--icon {
  width: 30px;
  height: 30px;
}

.block-product-card__content {
  gap: 10px !important;
}

.block-product-card__image-wrapper {
  overflow: hidden;
  border-radius: 8px;
}

.block-product-card__image-wrapper > .block-product-card__image {
  object-fit: cover;
}

.block-product-card__title {
  font-size: 14px;
  line-height: 1.45;
  color: var(--curve-ink);
}

.block-product-card__price {
  font-size: 14px;
  color: var(--curve-ink);
}

.block-product-card__discount-tag {
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 600;
  background: var(--curve-orange);
}

.block-product-card__quick-add {
  width: 34px;
  height: 34px;
  background: rgba(17, 17, 17, 0.82);
}

.section-featured-collection-wrapper,
.collection-list-wrapper,
.sign-up-and-save-section,
.image-with-text-section,
.text-columns-with-image-section,
.blog-section {
  background: var(--curve-page);
}

.section-featured-collection-wrapper .page-width,
.collection-list-wrapper .page-width,
.sign-up-and-save-section .page-width,
.blog-section .page-width {
  padding-block: 38px;
}

.heading-with-link__heading,
.section-featured-collection-wrapper h2,
.collection-list-wrapper h2 {
  font-size: 25px;
  font-weight: 600;
}

.main-collection-container,
.main-collection-cover,
.product-detail-wrapper,
.main-search,
.main-cart-items__container,
.main-cart-footer__container,
.main-page {
  background: var(--curve-page);
}

.main-collection {
  padding-block: 28px 56px;
}

.main-collection.facets-layout-drawer {
  row-gap: 28px;
}

.main-collection__list {
  gap: 36px 16px;
}

.facets-filtering__modal-summary,
.facets-mobile__modals summary,
.facets-sorting select,
.facets-sorting button {
  min-height: 44px;
  background: rgba(255, 255, 255, 0.45);
  border-color: var(--curve-line);
  border-radius: 24px;
}

.product-detail {
  max-width: 1280px;
  margin: 0 auto;
}

.product-detail__media-gallery .media-gallery__image,
.product-detail__media-gallery .media-gallery__placeholder {
  border-radius: 8px;
}

.product-detail__info {
  padding-inline: 10px;
}

.product-detail__title,
.product-detail__info h1 {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.35;
}

.product-detail__price {
  font-size: 30px;
}

.product-detail__variant-picker .variant-picker__button {
  min-height: 40px;
  padding: 8px 15px;
  background: rgba(255, 255, 255, 0.34);
}

.product-detail__form .form__buttons .button {
  min-height: 52px;
}

.product-detail__additional {
  border-color: rgba(17, 17, 17, 0.12);
}

.main-search,
.main-cart-items__container,
.main-cart-footer__container,
.main-page {
  padding-block: 40px;
}

.main-page h1,
.main-search__title,
.main-cart-items__container h1,
.main-cart-items__container h2 {
  font-size: 34px;
}

.contact-form__inner {
  max-width: 900px;
}

.contact-form__title {
  font-size: 32px;
  font-weight: 600;
}

.block-main-collection-banner {
  min-height: 260px;
  margin-block-end: 0;
}

.block-main-collection-banner__inner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-main-collection-banner__inner h1,
.block-main-collection-banner__inner h2 {
  font-size: 38px;
  font-weight: 600;
}

.block-collection-card__image-wrapper {
  overflow: hidden;
  border-radius: 8px;
}

.block-collection-card__image-wrapper img {
  transition: transform 450ms ease;
}

.block-collection-card:hover .block-collection-card__image-wrapper img {
  transform: scale(1.025);
}

.block-collection-card__title {
  font-size: 15px;
  font-weight: 600;
}

.field__input,
input,
select,
textarea {
  border-color: var(--curve-line);
}

.footer-section,
.footer {
  background: #eeeeE3;
}

.footer {
  border-block-start: 1px solid var(--curve-line);
}

.footer a,
.footer p,
.footer span {
  color: var(--curve-ink);
}

@media (min-width: 960px) {
  .header__container[layout="left_logo_left_menu"] .header__container-top-wrap {
    grid-template-areas: "logo nav curve-search action-bar-right";
    grid-template-columns: auto minmax(0, 1fr) minmax(220px, 290px) auto;
    column-gap: 24px;
  }

  .header__container[layout="left_logo_left_menu"] .header__logo {
    grid-area: logo;
  }

  .header__container[layout="left_logo_left_menu"] .header-nav {
    grid-area: nav;
  }

  .curve-header-search--desktop {
    display: flex;
    grid-area: curve-search;
  }

  .header-action-bar.right {
    grid-area: action-bar-right;
  }

  .header-action-bar.left {
    display: none !important;
  }
}

@media (max-width: 959px) {
  .header__container-top-wrap {
    min-height: 72px;
  }

  .header__logo {
    order: 0;
  }

  .header__logo-link {
    min-width: 68px;
  }

  .header__logo-link span {
    font-size: 16px;
  }

  .header-action-bar.right {
    order: 30;
    margin-inline-start: auto;
  }

  .header-action-bar.left {
    flex: 0;
    order: 40;
    width: auto;
    margin-inline-start: 0;
  }

  .curve-header-search--desktop {
    display: none;
  }

  .curve-header-search--mobile {
    display: flex;
    height: 36px;
    margin: 0 20px 10px;
  }

  .curve-header-search button {
    min-width: 44px;
  }

  .block-product-card__content {
    gap: 7px !important;
  }

  .block-product-card__title,
  .block-product-card__price {
    font-size: 13px;
  }

  .block-product-card__quick-add {
    width: 28px;
    height: 28px;
  }

  .section-featured-collection-wrapper .page-width,
  .collection-list-wrapper .page-width,
  .sign-up-and-save-section .page-width,
  .blog-section .page-width {
    padding-block: 28px;
  }

  .heading-with-link__heading,
  .section-featured-collection-wrapper h2,
  .collection-list-wrapper h2 {
    font-size: 21px;
  }

  .main-collection {
    padding-block: 20px 40px;
  }

  .main-collection__list {
    gap: 28px 8px;
  }

  .product-detail__info {
    padding-inline: 0;
  }

  .product-detail__title,
  .product-detail__info h1 {
    font-size: 18px;
  }

  .product-detail__price {
    font-size: 26px;
  }

  .product-detail__buy-buttons .form__buttons {
    position: sticky;
    inset-block-end: 0;
    z-index: var(--z-index-sticky);
    flex-direction: row;
    gap: 12px;
    padding-block: 10px;
    background: var(--curve-page);
  }

  .product-detail__form .form__buttons > * {
    flex: 1;
    min-width: 0;
  }

  .product-detail__form .form__buttons .button {
    min-height: 48px;
  }

  .main-search,
  .main-cart-items__container,
  .main-cart-footer__container,
  .main-page {
    padding-block: 24px;
  }

  .main-page h1,
  .main-search__title,
  .main-cart-items__container h1,
  .main-cart-items__container h2 {
    font-size: 28px;
  }

  .contact-form__title {
    font-size: 26px;
  }

  .block-main-collection-banner {
    min-height: 180px;
  }

  .block-main-collection-banner__inner h1,
  .block-main-collection-banner__inner h2 {
    font-size: 28px;
  }
}
