@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Cormorant+Garamond:wght@600;700&family=Montserrat:wght@400;500;600;700;800;900&family=Playfair+Display:wght@700;800;900&display=swap');

:root {
  --cr-black: #080806;
  --cr-ink: #11100d;
  --cr-white: #ffffff;
  --cr-off: #f7f3ea;
  --cr-line: #e8e0d2;
  --cr-gold: #c8943f;
  --cr-gold-soft: #e0b764;
  --cr-brown: #7a2d1f;
}

body.elementor-page {
  margin: 0;
  overflow-x: hidden;
}

.cr-style-holder {
  display: none !important;
}

.cr-topbar,
.cr-header,
.cr-hero,
.cr-benefits,
.cr-section,
.cr-categories,
.cr-mid-banner,
.cr-footer {
  --container-max-width: 1200px;
  font-family: 'Montserrat', Arial, sans-serif;
  width: 100%;
}

.cr-topbar,
.cr-benefits,
.cr-section,
.cr-categories,
.cr-footer {
  box-sizing: border-box;
}

.cr-logo {
  flex: 0 0 285px !important;
  width: 285px !important;
  max-width: 285px !important;
}

.cr-logo .elementor-heading-title {
  color: var(--cr-ink);
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 0.84;
  white-space: nowrap;
}

.cr-logo small {
  display: block;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.5;
  text-align: center;
}

.cr-desktop-nav {
  display: flex !important;
  flex: 1 1 auto !important;
  width: auto !important;
}

.cr-header-icons {
  display: flex !important;
  flex: 0 0 120px !important;
  width: 120px !important;
}

.cr-mobile-menu {
  display: none !important;
}

.cr-hero,
.cr-category-card,
.cr-mid-banner {
  isolation: isolate;
  position: relative;
}

.cr-hero::before,
.cr-category-card::before,
.cr-mid-banner::before {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.45) 38%, rgba(0, 0, 0, 0.08) 100%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.cr-hero > *,
.cr-category-card > *,
.cr-mid-banner > * {
  position: relative;
  z-index: 1;
}

.cr-hero {
  min-height: clamp(360px, 37vw, 510px) !important;
}

.cr-hero > .e-con-inner {
  position: relative;
}

.cr-hero-copy {
  flex: 0 0 42% !important;
  max-width: 505px !important;
  width: 42% !important;
}

.cr-hero-title .elementor-heading-title,
.cr-section-heading h2,
.cr-category-card h3,
.cr-mid-banner h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
}

.cr-hero-title .elementor-heading-title {
  font-size: clamp(48px, 5.2vw, 70px) !important;
  line-height: 0.94 !important;
}

.cr-hero-title span,
.cr-mid-banner span {
  color: var(--cr-gold);
}

.cr-hero-script {
  left: 57%;
  position: absolute !important;
  top: 42px;
  transform: rotate(-7deg);
  width: 180px !important;
}

.cr-hero-script .elementor-heading-title {
  color: var(--cr-gold-soft);
  font-family: 'Caveat', cursive !important;
  font-size: 34px !important;
  line-height: 0.88 !important;
}

.cr-hero-tagline {
  bottom: 20px;
  position: absolute !important;
  right: 0;
  width: 190px !important;
}

.cr-title-line {
  background: var(--cr-gold);
  display: inline-block;
  height: 2px;
  margin-left: 16px;
  vertical-align: middle;
  width: 70px;
}

.cr-benefits-grid,
.cr-products-grid,
.cr-categories-grid,
.cr-footer-grid {
  display: grid !important;
  width: 100% !important;
}

.cr-benefits-grid {
  gap: 0 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cr-benefit-card {
  min-width: 0;
  width: 100% !important;
}

.cr-products-grid {
  align-items: stretch;
  gap: 18px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cr-product-card {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.04);
  min-width: 0;
  width: 100% !important;
}

.cr-product-image {
  height: 230px !important;
  min-height: 230px !important;
  overflow: hidden;
}

.cr-product-image .elementor-widget-image,
.cr-product-image .elementor-widget-container {
  height: 100%;
  width: 100%;
}

.cr-product-image img {
  display: block;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  width: 100% !important;
}

.cr-product-info {
  height: 100%;
}

.cr-stars {
  color: var(--cr-gold);
  font-size: 13px;
  letter-spacing: 1px;
  white-space: nowrap;
}

.cr-reviews {
  color: #4e463d;
  font-weight: 700;
}

.cr-swatch,
.cr-size-box {
  align-items: center;
  display: flex !important;
  flex: 0 0 auto !important;
  justify-content: center;
}

.cr-buy-button,
.cr-buy-button .elementor-widget-container,
.cr-buy-button a,
.cr-buy-button .elementor-button {
  width: 100% !important;
}

.cr-buy-button a,
.cr-buy-button .elementor-button {
  justify-content: center;
}

.cr-categories-grid {
  gap: 16px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cr-category-card {
  min-height: 230px !important;
  width: 100% !important;
}

.cr-mid-banner {
  min-height: clamp(200px, 18vw, 250px) !important;
}

.cr-mid-banner-copy {
  margin-left: 43% !important;
  max-width: 530px !important;
  width: 44% !important;
}

.cr-mid-banner::before {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.18) 34%, rgba(0, 0, 0, 0.68) 52%, rgba(0, 0, 0, 0.46) 100%);
}

.cr-footer-grid {
  gap: 38px !important;
  grid-template-columns: 2fr 1fr 1fr 1.3fr;
}

.cr-footer-grid > * {
  min-width: 0;
  width: 100% !important;
}

.cr-footer a {
  color: var(--cr-white);
  text-decoration: none;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .cr-logo {
    flex-basis: 245px !important;
    max-width: 245px !important;
    width: 245px !important;
  }

  .cr-logo .elementor-heading-title {
    font-size: 29px;
  }

  .cr-desktop-nav {
    gap: 16px !important;
  }

  .cr-desktop-nav .elementor-heading-title {
    font-size: 11px !important;
  }

  .cr-header-icons {
    flex-basis: 92px !important;
    gap: 14px !important;
    width: 92px !important;
  }

  .cr-products-grid {
    gap: 12px !important;
  }

  .cr-product-image {
    height: 195px !important;
    min-height: 195px !important;
  }

  .cr-product-info {
    padding: 12px !important;
  }

  .cr-size-row {
    gap: 5px !important;
  }

  .cr-size-box {
    min-height: 25px !important;
    width: 28px !important;
  }
}

@media (max-width: 767px) {
  .cr-topbar {
    display: grid !important;
    gap: 4px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 10px 8px !important;
  }

  .cr-topbar > * {
    gap: 5px !important;
    justify-content: center !important;
    min-width: 0;
    width: 100% !important;
  }

  .cr-topbar .elementor-heading-title {
    font-size: 10px !important;
    white-space: nowrap;
  }

  .cr-topbar .elementor-icon {
    font-size: 14px !important;
  }

  .cr-header {
    min-height: 60px;
    padding: 10px 16px !important;
  }

  .cr-header > .e-con-inner {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
  }

  .cr-mobile-menu {
    display: flex !important;
    grid-column: 1;
    grid-row: 1;
    width: 42px !important;
  }

  .cr-logo {
    flex-basis: auto !important;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    max-width: 260px !important;
    width: auto !important;
  }

  .cr-logo .elementor-heading-title {
    font-size: 27px !important;
    text-align: center;
  }

  .cr-logo small {
    font-size: 7px;
  }

  .cr-desktop-nav {
    display: none !important;
  }

  .cr-header-icons {
    flex-basis: 42px !important;
    grid-column: 3;
    grid-row: 1;
    justify-content: flex-end !important;
    width: 42px !important;
  }

  .cr-header-icons > .elementor-element:not(:last-child) {
    display: none !important;
  }

  .cr-hero {
    background-position: 43% center !important;
    min-height: 260px !important;
    padding: 25px 16px 18px !important;
  }

  .cr-hero > .e-con-inner {
    justify-content: center;
  }

  .cr-hero-copy {
    flex-basis: 53% !important;
    gap: 10px !important;
    margin: 0 !important;
    max-width: 53% !important;
    padding-top: 0 !important;
    width: 53% !important;
  }

  .cr-hero-kicker,
  .cr-secondary-button,
  .cr-hero-tagline {
    display: none !important;
  }

  .cr-hero-script {
    left: auto;
    right: 12px;
    top: 14px;
    width: 94px !important;
  }

  .cr-hero-script .elementor-heading-title {
    font-size: 18px !important;
  }

  .cr-hero-title .elementor-heading-title {
    font-size: clamp(34px, 9vw, 44px) !important;
    line-height: 0.92 !important;
  }

  .cr-hero-subtitle,
  .cr-hero-subtitle p {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .cr-hero-actions {
    gap: 0 !important;
  }

  .cr-hero-actions .elementor-button {
    font-size: 11px !important;
    padding: 13px 17px !important;
  }

  .cr-hero-badges {
    gap: 6px !important;
    margin-top: 4px !important;
    padding-top: 6px !important;
  }

  .cr-hero-badges > * {
    width: 68px !important;
  }

  .cr-hero-badges .elementor-heading-title {
    font-size: 8px !important;
  }

  .cr-hero-badges .elementor-icon {
    font-size: 19px !important;
  }

  .cr-benefits {
    padding: 10px 14px !important;
  }

  .cr-benefits-grid,
  .cr-products-grid {
    gap: 10px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cr-benefit-card {
    gap: 9px !important;
    min-height: 57px;
    padding: 10px !important;
  }

  .cr-benefit-card .elementor-icon {
    font-size: 24px !important;
  }

  .cr-benefit-card .elementor-heading-title {
    font-size: 10px !important;
  }

  .cr-benefit-card p {
    font-size: 9px !important;
    line-height: 1.25 !important;
  }

  .cr-section,
  .cr-categories {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .cr-section-heading {
    padding-bottom: 10px !important;
  }

  .cr-section-heading h2,
  .cr-section-heading .elementor-heading-title {
    font-size: 25px !important;
    white-space: nowrap;
  }

  .cr-section-heading > .elementor-element:last-child .elementor-heading-title {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 11px !important;
  }

  .cr-title-line {
    margin-left: 8px;
    width: 46px;
  }

  .cr-product-image {
    height: 150px !important;
    min-height: 150px !important;
    padding: 10px !important;
  }

  .cr-product-info {
    gap: 3px !important;
    padding: 9px !important;
  }

  .cr-product-info .elementor-widget-text-editor,
  .cr-product-info .elementor-widget-heading {
    margin-bottom: 0 !important;
  }

  .cr-stars {
    font-size: 10px;
    letter-spacing: 0;
  }

  .cr-reviews {
    font-size: 9px;
  }

  .cr-product-info h3.elementor-heading-title {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .cr-swatch-row {
    gap: 5px !important;
  }

  .cr-swatch {
    min-height: 14px !important;
    width: 14px !important;
  }

  .cr-size-row {
    gap: 4px !important;
  }

  .cr-size-box {
    min-height: 22px !important;
    width: 25px !important;
  }

  .cr-size-box .elementor-heading-title {
    font-size: 8px !important;
  }

  .cr-buy-button .elementor-button {
    font-size: 10px !important;
    min-height: 34px;
    padding: 9px 6px !important;
  }

  .cr-categories-grid {
    gap: 10px !important;
    grid-template-columns: 1fr;
  }

  .cr-category-card {
    min-height: 120px !important;
    padding: 16px !important;
  }

  .cr-category-card .cr-category-content {
    max-width: 58%;
  }

  .cr-category-card h3.elementor-heading-title {
    font-size: 22px !important;
  }

  .cr-category-card p {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .cr-category-card .elementor-button {
    font-size: 9px !important;
    padding: 8px 12px !important;
  }

  .cr-mid-banner {
    background-position: center center !important;
    min-height: 150px !important;
    padding: 16px !important;
  }

  .cr-mid-banner-copy {
    margin-left: 52% !important;
    max-width: 48% !important;
    width: 48% !important;
  }

  .cr-mid-banner-copy .elementor-heading-title {
    font-size: 24px !important;
  }

  .cr-mid-banner-copy p {
    font-size: 8px !important;
    letter-spacing: 2px !important;
  }

  .cr-mid-banner-copy .elementor-button {
    font-size: 9px !important;
    padding: 10px 12px !important;
  }

  .cr-footer-grid {
    gap: 14px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cr-footer-grid > :first-child {
    grid-column: 1 / -1;
  }

  .cr-footer .elementor-heading-title {
    font-size: 11px !important;
  }

  .cr-footer p {
    font-size: 9px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 480px) {
  .cr-logo .elementor-heading-title {
    font-size: 22px !important;
  }

  .cr-hero-copy {
    flex-basis: 57% !important;
    max-width: 57% !important;
    width: 57% !important;
  }

  .cr-hero-title .elementor-heading-title {
    font-size: 32px !important;
  }

  .cr-product-image {
    height: 132px !important;
    min-height: 132px !important;
  }

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

  .cr-footer-grid > :first-child,
  .cr-footer-grid > :last-child {
    grid-column: 1 / -1;
  }
}
