/*
Theme Name: Flatsome Child
Theme URI: https://www.needohgoods.shop/
Description: NeeDoh Goods storefront for Flatsome, matched to the public reference layout.
Template: flatsome
Version: 1.5.7
Text Domain: flatsome-child
*/

:root {
  --nd-pink: #f78da7;
  --nd-rose: #cf606d;
  --nd-rose-deep: #c55060;
  --nd-rose-soft: #d66d7b;
  --nd-teal: #42a5ad;
  --nd-teal-band: #44939b;
  --nd-orange: #d66d7b;
  --nd-orange-hover: #c25568;
  --nd-red: #cf2e2e;
  --nd-gold: #cd9c53;
  --nd-ink: #0c0d0c;
  --nd-card: #f2f7f6;
  --nd-header: #fbfcfc;
}

body {
  font-family: "Noto Sans", "Segoe UI", sans-serif;
  color: var(--nd-ink);
  background: #fff;
}

h1, h2, h3, h4, h5, h6,
.header-nav > li > a,
.section-title,
.product-title,
.widget-title,
.page-title {
  font-family: Staatliches, "Arial Narrow", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

a {
  color: #d66d7b;
}

a:hover {
  color: #c25568;
}

#top-bar,
.header-top,
.header-bottom {
  display: none;
}

.header-main {
  background: var(--nd-header);
  min-height: 110px;
}

#logo {
  width: 100px;
}

#logo img {
  width: 100px;
  height: auto;
  max-height: 100px;
  object-fit: contain;
}

.header-main .nav > li > a {
  color: #222;
}

.header-search-form,
.header-search-form .search-field {
  min-width: 0;
}

.button,
button,
input[type="submit"],
.single_add_to_cart_button,
.add_to_cart_button,
.checkout-button {
  border-radius: 0;
  font-family: "Noto Sans", sans-serif;
  text-transform: none;
}

.button.primary,
.single_add_to_cart_button,
.add_to_cart_button,
.checkout-button,
.button.checkout {
  background-color: var(--nd-orange);
  border-color: var(--nd-orange);
  color: #fff;
}

.button.primary:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.checkout-button:hover {
  background-color: var(--nd-orange-hover);
  border-color: var(--nd-orange-hover);
  color: #fff;
}

.box-image img,
.product-gallery-slider img,
.woocommerce-product-gallery__image img {
  object-fit: contain;
  background: #fff;
}

.product-small .box-text,
.product-small .price,
.product-small .product-title,
.product-small .category,
.product-small .name,
.product-small .woocommerce-loop-product__title,
.product-small .category.no-text-overflow,
.box-category .header-title {
  overflow-wrap: anywhere;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  height: auto;
}

.products .product-small.col {
  display: flex;
}

.products .product-small .col-inner {
  display: flex;
  width: 100%;
}

.product-small .box {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  border: 1px solid #ece6e1;
  box-shadow: 0 10px 28px rgba(28, 22, 18, 0.05);
}

.product-small .box-image {
  background: #f7f4f1;
}

.product-small .box-image .image-fade_in_back,
.product-small .box-image .image-none {
  aspect-ratio: 1;
  background: #f7f4f1;
}

.product-small .box-image img.attachment-woocommerce_thumbnail,
.product-small .box-image img.wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 18px;
  background: transparent;
}

.product-small .box-text {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 14px 16px 16px;
  text-align: center;
}

.product-small .price {
  color: #1c1917;
  font-weight: 600;
  font-family: "Noto Sans", sans-serif;
  font-size: 16px;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 12px;
}

.product-small .name,
.product-small .woocommerce-loop-product__title,
.product-small .woocommerce-loop-product__title a {
  font-family: "Noto Sans", sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  color: #1c1917;
}

.product-small .add_to_cart_button,
.product-small .added_to_cart,
.product-small .quick-view {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 10px 12px;
  white-space: normal;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 12px;
  box-sizing: border-box;
}

.product-small .add_to_cart_button,
.product-small .added_to_cart {
  margin-top: auto;
  background: #1c1917;
  border: 1px solid #1c1917;
  color: #fff;
}

.product-small .add_to_cart_button:hover,
.product-small .added_to_cart:hover {
  background: #3a312c;
  border-color: #3a312c;
  color: #fff;
}

.product-small .quick-view {
  margin-top: 8px;
  background: #fff;
  border: 1px solid #ddd4cc;
  color: #1c1917;
}

.product-small .category {
  color: #8a6d62;
  font-family: "Noto Sans", sans-serif;
  letter-spacing: 0.08em;
  font-size: 11px;
  margin-bottom: 4px;
}

.nd-ship-note,
.nd-delivery {
  background: #f3fafa;
  border: 1px solid #b7dfe2;
  padding: 12px 14px;
  margin: 12px 0;
  line-height: 1.45;
}

.page-title,
.page-title-inner,
.shop-page-title,
.checkout-page-title,
.my-account-header,
.normal-title {
  background: transparent;
  background-image: none;
  border-top: 0;
  border-bottom: 0;
}

.page-title {
  font-size: 40px;
}

.nd-home {
  background: #fff;
}

.nd-links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px 18px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 16px 18px;
  text-align: center;
}

.nd-links a {
  color: var(--nd-pink);
  font-family: Staatliches, "Arial Narrow", sans-serif;
  font-size: 22px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.15;
  text-decoration: none;
}

.nd-links a:hover {
  color: var(--nd-rose);
}

.nd-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 420px;
  padding: 160px 16px 72px;
  background: #8d8d8d url("assets/src/hero.jpg") center center / cover no-repeat;
  color: #fff;
}

.nd-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.3;
}

.nd-hero-copy {
  position: relative;
  z-index: 1;
  width: min(640px, 100%);
  margin: 0 auto;
  text-align: center;
}

.nd-hero h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 40px;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.nd-hero p {
  margin: 0 0 22px;
  color: #fff;
  opacity: 0.88;
  font-size: 16px;
  line-height: 1.55;
}

.nd-btn,
.nd-buy {
  display: inline-block;
  padding: 16px 35px;
  background: var(--nd-orange);
  color: #fff;
  font-family: "Noto Sans", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  text-decoration: none;
}

.nd-btn:hover,
.nd-buy:hover {
  background: var(--nd-orange-hover);
  color: #fff;
}

.nd-btn-teal {
  background: #d66d7b;
}

.nd-btn-teal:hover {
  background: #c25568;
}

.nd-buy-red {
  background: var(--nd-red);
}

.nd-buy-red:hover {
  background: #a82424;
}

.nd-features {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  max-width: 1180px;
  margin: -48px auto 10px;
  padding: 0 16px;
}

.nd-features article {
  padding: 48px 28px;
  color: #fff;
  text-align: center;
}

.nd-features article:nth-child(1) { background: var(--nd-rose-soft); }
.nd-features article:nth-child(2) { background: var(--nd-rose); }
.nd-features article:nth-child(3) { background: var(--nd-rose-deep); }

.nd-features svg {
  width: 64px;
  height: 64px;
  fill: none;
  stroke: var(--nd-teal);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nd-features h2,
.nd-features p {
  color: #fff;
}

.nd-features h2 {
  margin: 12px 0;
  font-size: 28px;
}

.nd-features p {
  margin: 0 auto;
  max-width: 320px;
  opacity: 0.88;
  font-family: "Noto Sans", sans-serif;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.5;
}

.nd-intro,
.nd-occasion,
.nd-notes {
  max-width: 980px;
  margin: 0 auto;
  padding: 54px 16px 10px;
  text-align: center;
}

.nd-intro h2,
.nd-occasion h2,
.nd-notes h2,
.nd-since h2,
.nd-subscribe h2 {
  font-size: 35px;
  line-height: 1.15;
}

.nd-intro p,
.nd-occasion > p,
.nd-notes .nd-lead,
.nd-since p {
  max-width: 760px;
  margin: 0 auto 18px;
  font-size: 16px;
  line-height: 1.6;
}

.nd-carousel {
  position: relative;
  margin: 24px 0 40px;
  background: var(--nd-rose);
  color: #fff;
}

.nd-carousel-track {
  display: grid;
  max-width: 760px;
  margin: 0 auto;
}

.nd-slide {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding: 48px 64px 56px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
}

.nd-slide.is-on {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.nd-slide img {
  width: auto;
  max-width: min(320px, 100%);
  max-height: 320px;
  height: auto;
  object-fit: contain;
  background: transparent;
}

.nd-slide h3 {
  margin: 0;
  color: #fff;
  font-size: 26px;
  line-height: 1.2;
  max-width: 520px;
}

.nd-prev,
.nd-next {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  width: 44px;
  height: 64px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 48px;
  line-height: 1;
  cursor: pointer;
}

.nd-prev { left: 8px; }
.nd-next { right: 8px; }

.nd-since {
  padding: 72px 16px 64px;
  background: var(--nd-teal-band) url("assets/src/veg.svg") center / cover no-repeat;
  color: #fff;
  text-align: center;
}

.nd-since figure {
  max-width: 980px;
  margin: 0 auto 28px;
}

.nd-since img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  filter: brightness(0.82);
}

.nd-since h2,
.nd-since p {
  color: #fff;
}

.nd-since p {
  font-size: 18px;
}

.nd-dohjees {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 36px 16px;
}

.nd-dohjees img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.nd-dohjees h2 {
  margin-top: 0;
  font-size: 32px;
  text-align: left;
}

.nd-occasion-grid,
.nd-note-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 22px;
  text-align: center;
}

.nd-occasion-grid article {
  border: 3px solid var(--nd-rose);
  background: #fff;
}

.nd-occasion-grid img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.nd-occasion-grid h3,
.nd-occasion-grid p {
  padding-left: 16px;
  padding-right: 16px;
}

.nd-occasion-grid h3 {
  margin-bottom: 8px;
  font-size: 28px;
}

.nd-note-grid article {
  background: var(--nd-card);
  padding: 36px 22px;
}

.nd-note-grid img {
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 50%;
}

.nd-note-grid p {
  font-family: "Noto Sans", sans-serif;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.55;
  opacity: 0.8;
}

.nd-role {
  opacity: 1;
  font-family: Staatliches, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.nd-subscribe {
  position: relative;
  z-index: 2;
  margin-bottom: -80px;
  padding: 72px 20px;
  background: #111 url("assets/src/news.jpg") center / cover no-repeat;
  color: #fff;
  text-align: center;
}

.nd-subscribe::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.5;
}

.nd-subscribe-inner {
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin: 0 auto;
}

.nd-subscribe h2,
.nd-subscribe p {
  color: #fff;
}

.nd-subscribe .nd-inline-form,
.nd-subscribe .nd-inline-form.nd-inline-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 10px;
  width: min(480px, 100%);
  max-width: 480px;
  margin: 18px auto 0;
}

.nd-subscribe input[type="email"],
.nd-subscribe .nd-inline-form input[type="email"],
.nd-subscribe .nd-inline-form button,
.nd-subscribe button {
  display: block;
  width: 100%;
  max-width: 100%;
  flex: none;
  height: 52px;
  margin: 0;
  padding: 0 16px;
  box-sizing: border-box;
  border-radius: 0;
  line-height: 52px;
}

.nd-subscribe input[type="email"] {
  border: 0;
  background: #fff;
  color: #111;
}

.nd-subscribe button,
.nd-subscribe .nd-inline-form button {
  background: #d66d7b;
  color: #fff;
  border: 0;
}

.nd-footer {
  background: var(--nd-gold);
  color: #fff;
  padding: 120px 20px 28px;
}

.nd-footer a {
  color: #fff;
}

.nd-footer-main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  justify-items: center;
  max-width: 1100px;
  margin: 0 auto 22px;
  text-align: center;
}

.nd-footer-logo img {
  width: 74px;
  height: auto;
}

.nd-footer-address p {
  margin: 0;
  line-height: 1.55;
}

.nd-footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
  max-width: 980px;
  margin: 0 auto;
  font-size: 14px;
}

#footer .absolute-footer,
#footer .absolute-footer.dark {
  background-color: var(--nd-gold) !important;
  color: rgba(255, 255, 255, 0.78);
  border-top: 0;
}

#footer .absolute-footer .footer-primary,
#footer .absolute-footer .footer-secondary,
#footer .absolute-footer .copyright-footer {
  float: none;
  width: 100%;
  text-align: center;
}

#footer .payment-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-bottom: 8px;
}

.absolute-footer .copyright-footer {
  font-size: 15px;
  line-height: 1.3;
}

.footer-wrapper {
  background: var(--nd-gold);
}

form.cart,
.woocommerce-product-gallery,
.nd-contact,
.nd-contact input,
.nd-contact textarea {
  max-width: 100%;
}

.nd-contact input,
.nd-contact textarea {
  width: 100%;
  border-radius: 0;
}

.widget_product_categories a {
  overflow-wrap: anywhere;
}

@media (min-width: 700px) {
  .nd-links {
    grid-template-columns: 1fr 1fr;
    padding-top: 36px;
  }

  .nd-hero {
    padding: 200px 28px;
  }

  .nd-hero h1 {
    font-size: 50px;
  }

  .nd-links a {
    font-size: 26px;
  }

  .nd-features {
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: -70px;
  }

  .nd-features article {
    padding: 60px 28px;
  }

  .nd-features svg {
    width: 72px;
    height: 72px;
  }

  .nd-dohjees {
    grid-template-columns: 1fr 1fr;
  }

  .nd-dohjees img {
    height: 258px;
  }

  .nd-occasion-grid,
  .nd-note-grid {
    grid-template-columns: 1fr 1fr;
  }

  .nd-note-grid article:last-child {
    grid-column: 1 / -1;
  }

  .nd-footer-main {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    text-align: left;
    justify-items: start;
  }

  .nd-footer-address {
    justify-self: end;
  }
}

@media (min-width: 1024px) {
  .nd-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
  }

  .nd-links a {
    font-size: 28px;
  }

  .nd-hero {
    align-items: center;
    padding: 300px 40px;
  }

  .nd-hero-copy {
    width: 46%;
    margin: 0;
    text-align: left;
  }

  .nd-hero h1 {
    font-size: 90px;
  }

  .nd-features {
    margin-top: -100px;
  }

  .nd-features article {
    padding: 85px 40px;
  }

  .nd-features svg {
    width: 80px;
    height: 80px;
  }

  .nd-intro h2,
  .nd-occasion h2,
  .nd-notes h2,
  .nd-since h2,
  .nd-subscribe h2 {
    font-size: 45px;
  }

  .nd-slide {
    padding: 75px 80px;
  }

  .nd-occasion-grid {
    grid-template-columns: 1fr 1fr;
  }

  .nd-note-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .nd-note-grid article,
  .nd-note-grid article:last-child {
    grid-column: auto;
    padding: 60px 28px;
  }
}

@media (max-width: 849px) {
  #logo,
  #logo img {
    width: auto;
    max-height: 42px;
  }

  .header-main {
    min-height: 70px;
  }

  .product-small .image-tools.grid-tools.hide-for-small {
    display: block !important;
    position: static;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    margin: 0;
    padding: 0 16px;
    background: #fff;
  }

  .product-small .quick-view {
    width: 100%;
    margin-top: 0;
  }

  .page-title {
    font-size: 32px;
  }

  .nd-since img {
    aspect-ratio: auto;
    height: 300px;
  }
}

@media (max-width: 360px) {
  .nd-links a {
    font-size: 20px;
  }

  .nd-hero h1 {
    font-size: 34px;
  }

  .nd-btn,
  .nd-buy {
    padding: 14px 22px;
    font-size: 16px;
  }
}

.header-main .header-nav > li > a,
.header-main .mobile-nav > li > a {
  color: #1c1917;
}

.header-main .header-search > a,
.header-main .account-item > a,
.header-main .cart-item > a,
.header-main .mobile-nav .nav-icon > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
}

.header-main .header-search i,
.header-main .account-item i,
.header-main .cart-item i,
.header-main .nav-icon i {
  font-size: 22px;
  line-height: 1;
}

.header-main .account-item .header-account-title,
.header-main .cart-item .header-cart-title {
  display: none;
}

.header-main .header-nav .has-dropdown,
.header-main .mobile-nav .has-dropdown {
  position: relative;
}

#header .header-search-dropdown > .nav-dropdown,
#header .cart-item > .nav-dropdown {
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  width: min(320px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  margin-top: 0;
}

#header .nav-dropdown .header-search-form,
#header .nav-dropdown .search-field {
  max-width: none;
  width: 100%;
}

.mobile-sidebar {
  overflow-x: hidden;
}

.mobile-sidebar .nav-sidebar,
.mobile-sidebar .nav-sidebar li,
.mobile-sidebar .sub-menu {
  max-width: 100%;
}

.product-info .product_title {
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.05;
  margin-bottom: 8px;
}

.product-info .price,
.product-info p.price {
  font-family: "Noto Sans", sans-serif;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: #1c1917;
}

.product-info .woocommerce-product-details__short-description,
.product-info .product_meta,
.product-info .woocommerce-tabs {
  font-family: "Noto Sans", sans-serif;
  text-transform: none;
  letter-spacing: 0;
}

.product-info form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  margin-top: 8px;
}

.product-info form.cart .quantity {
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  margin: 0;
}

.product-info form.cart .quantity input.qty,
.product-info form.cart .ux-quantity__button {
  height: 48px;
  min-height: 48px;
}

.product-info form.cart .single_add_to_cart_button,
.product-info form.cart .nd-buy-now {
  flex: 1 1 160px;
  width: auto;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding: 0 18px;
  line-height: 48px;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-sizing: border-box;
}

.product-info form.cart .single_add_to_cart_button {
  background: #1c1917;
  border: 1px solid #1c1917;
  color: #fff;
}

.product-info form.cart .nd-buy-now {
  background: #42a5ad;
  border: 1px solid #42a5ad;
  color: #fff;
}

.product-info form.cart .single_add_to_cart_button:hover {
  background: #3a312c;
  border-color: #3a312c;
  color: #fff;
}

.product-info form.cart .nd-buy-now:hover {
  background: #357f86;
  border-color: #357f86;
  color: #fff;
}

.product-info .nd-delivery {
  flex: 1 0 100%;
}

.woocommerce-product-gallery {
  background: #f7f4f1;
  border: 1px solid #ece6e1;
}

.woocommerce-tabs .tabs li a,
.product-section .tab-panels,
.shop-page-title .woocommerce-breadcrumb,
.widget-title {
  font-family: "Noto Sans", sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

.checkout-button,
#place_order {
  min-height: 48px;
  background: #1c1917;
  border-color: #1c1917;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid #e4ddd6;
  border-radius: 0;
  min-height: 46px;
  box-shadow: none;
}

#payment .payment_method_cod,
#payment li.payment_method_cod {
  display: none !important;
}

.cart-collaterals,
.woocommerce-checkout-review-order,
.shop_table {
  font-family: "Noto Sans", sans-serif;
}

#masthead .header-nav > li > a,
#masthead .mobile-nav > li > a,
#masthead .header-nav > li > a i,
#masthead .mobile-nav > li > a i,
#masthead .cart-icon,
#masthead .header-cart-link {
  color: #1c1917 !important;
}

#masthead [data-icon-label]:after {
  color: #fff !important;
  right: -2px;
  top: -6px;
}

#header .nav-right > li.has-dropdown,
#header .mobile-nav > li.has-dropdown {
  position: relative;
}

#header li.current-dropdown > .nav-dropdown,
#header li.has-dropdown:hover > .nav-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  max-height: none !important;
}

@media (max-width: 849px) {
  #header .mobile-nav > li.current-dropdown > .nav-dropdown,
  #header .mobile-nav > li.has-dropdown:hover > .nav-dropdown {
    position: fixed !important;
    display: block !important;
    left: 12px !important;
    right: 12px !important;
    top: 70px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

#header .nav-right > li > .nav-dropdown,
#header .mobile-nav > li > .nav-dropdown {
  right: 0 !important;
  left: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
  min-width: 0 !important;
  width: min(300px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  padding: 12px !important;
  box-sizing: border-box;
  overflow-x: hidden;
}

#header .nav-dropdown .header-search-form,
#header .nav-dropdown .searchform-wrapper,
#header .nav-dropdown .flex-row,
#header .nav-dropdown .search-field {
  max-width: none !important;
  width: 100% !important;
  min-width: 0 !important;
}

#header .nav-dropdown .searchform .flex-row {
  align-items: stretch;
  gap: 0;
}

#header .nav-dropdown .ux-search-submit {
  width: 48px;
  height: 46px;
  margin: 0;
}

.mobile-sidebar,
.mobile-sidebar .sidebar-menu {
  overflow-x: hidden;
  max-width: 100%;
}

.mobile-sidebar .nav-sidebar > li {
  position: relative;
}

.mobile-sidebar .nav-sidebar > li > .toggle {
  position: absolute;
  right: 4px;
  top: 0;
  width: 44px;
  height: 46px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mobile-sidebar .nav-sidebar > li > a {
  padding-right: 48px;
}

.mobile-sidebar .sub-menu {
  max-width: 100%;
  margin-left: 0;
}

.products .product-small .box {
  border: 1px solid #ece6e1;
  box-shadow: 0 12px 30px rgba(28, 22, 18, 0.06);
  background: #fff;
  height: 100%;
}

.products .product-small .box-text .add_to_cart_button,
.products .product-small .box-text .added_to_cart,
.products .product-small .box-text .quick-view {
  float: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 42px;
  margin: 8px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 0 !important;
  box-sizing: border-box;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 12px;
  line-height: 1.2;
}

.products .product-small .box-text > .add-to-cart-button {
  margin-top: auto !important;
  width: 100%;
}

.products .product-small .box-text .add_to_cart_button,
.products .product-small .box-text .added_to_cart {
  margin-top: 0 !important;
  background: #d66d7b !important;
  border: 1px solid #d66d7b !important;
  color: #fff !important;
}

.products .product-small .box-text .add_to_cart_button:hover,
.products .product-small .box-text .added_to_cart:hover {
  background: #c25568 !important;
  border-color: #c25568 !important;
  color: #fff !important;
}

.products .product-small .quick-view {
  background: #fff !important;
  border: 1px solid #ddd4cc !important;
  color: #1c1917 !important;
}

.shop-page-title .woocommerce-result-count,
.shop-page-title .woocommerce-ordering select,
.woocommerce-breadcrumb {
  font-family: "Noto Sans", sans-serif;
  letter-spacing: 0;
  text-transform: none;
  font-size: 14px;
}

.product-info form.cart {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 10px;
  width: 100%;
}

.product-info form.cart .quantity {
  grid-column: 1;
  grid-row: 1;
  width: auto;
  margin: 0 !important;
}

.product-info form.cart .single_add_to_cart_button,
.product-info form.cart .nd-buy-now {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  float: none !important;
  flex: none !important;
  line-height: 1 !important;
  font-size: 13px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-sizing: border-box !important;
  white-space: nowrap;
  border-radius: 0 !important;
}

.product-info form.cart .single_add_to_cart_button {
  grid-column: 2;
  grid-row: 1;
  background: #d66d7b !important;
  border: 1px solid #d66d7b !important;
  color: #fff !important;
}

.product-info form.cart .nd-buy-now {
  grid-column: 3;
  grid-row: 1;
  background: #b84d5e !important;
  border: 1px solid #b84d5e !important;
  color: #fff !important;
}

.product-info form.cart .single_add_to_cart_button:hover {
  background: #c25568 !important;
  border-color: #c25568 !important;
}

.product-info form.cart .nd-buy-now:hover {
  background: #a34152 !important;
  border-color: #a34152 !important;
}

@media (max-width: 549px) {
  .product-info form.cart {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .product-info form.cart .quantity {
    grid-column: 1 / -1;
    width: max-content;
  }

  .product-info form.cart .single_add_to_cart_button {
    grid-column: 1;
    grid-row: 2;
  }

  .product-info form.cart .nd-buy-now {
    grid-column: 2;
    grid-row: 2;
  }
}

.nd-subscribe .nd-inline-form,
.nd-subscribe .nd-inline-form.nd-inline-form {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: min(480px, 100%) !important;
  max-width: 480px !important;
}

.nd-subscribe input[type="email"],
.nd-subscribe .nd-inline-form button,
.nd-subscribe button {
  width: 100% !important;
  max-width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  box-sizing: border-box !important;
  flex: none !important;
}

.checkout-breadcrumbs,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: "Noto Sans", sans-serif;
  letter-spacing: 0;
}

#place_order,
.checkout-button,
.widget_shopping_cart .button {
  background: #d66d7b !important;
  border-color: #d66d7b !important;
  color: #fff !important;
  min-height: 48px;
}

#payment {
  background: #fff;
  border: 1px solid #f0d5db;
  border-radius: 0;
}

.nd-footer a,
.nd-footer a:hover,
#footer .absolute-footer a,
#footer .absolute-footer a:hover {
  color: #fff !important;
}

#header .header-main {
  background: #fff !important;
  box-shadow: inset 0 -1px 0 #f3e4e7;
}

#header .header-inner {
  align-items: center;
  width: 100%;
}

#header #logo,
#header.stuck #logo,
.stuck #logo {
  display: flex !important;
  align-items: center;
  align-self: stretch;
  width: auto !important;
  max-width: 110px;
  height: auto !important;
  max-height: 100% !important;
  margin: 0 18px 0 0;
  line-height: 0;
  overflow: hidden;
}

#header #logo img,
#header.stuck #logo img,
.stuck #logo img,
.header.show-on-scroll #logo img {
  display: block;
  width: auto !important;
  height: 56px !important;
  max-height: 56px !important;
  max-width: 96px !important;
  object-fit: contain;
}

@media (max-width: 849px) {
  #header .header-main,
  #header.stuck .header-main,
  .stuck .header-main,
  .header.show-on-scroll .header-main {
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
  }

  #header #logo,
  #header.stuck #logo,
  .stuck #logo {
    max-width: 72px;
    margin-right: 8px;
  }

  #header #logo img,
  #header.stuck #logo img,
  .stuck #logo img,
  .header.show-on-scroll #logo img {
    height: 34px !important;
    max-height: 34px !important;
    max-width: 64px !important;
  }
}

@media (min-width: 850px) {
  #header .header-main {
    height: 96px;
    min-height: 96px;
  }

  #header.stuck .header-main,
  .stuck .header-main,
  .header.show-on-scroll .header-main {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
  }
}

#masthead .icon-menu,
#masthead .icon-search,
#masthead .icon-user,
#masthead .icon-shopping-basket,
#masthead .icon-shopping-bag,
#masthead .icon-shopping-cart,
.mobile-sidebar .icon-search,
.nav-dropdown .icon-search {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

#masthead .icon-menu:before,
#masthead .icon-search:before,
#masthead .icon-user:before,
#masthead .icon-shopping-basket:before,
#masthead .icon-shopping-bag:before,
#masthead .icon-shopping-cart:before,
.mobile-sidebar .icon-search:before,
.nav-dropdown .icon-search:before {
  content: "" !important;
  display: block;
  width: 22px;
  height: 22px;
  background-color: #d66d7b;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

#masthead .icon-menu:before {
  -webkit-mask-image: url("/wp-content/themes/flatsome-child/assets/icons/menu.svg");
  mask-image: url("/wp-content/themes/flatsome-child/assets/icons/menu.svg");
}

#masthead .icon-search:before,
.mobile-sidebar .icon-search:before,
.nav-dropdown .icon-search:before {
  -webkit-mask-image: url("/wp-content/themes/flatsome-child/assets/icons/search.svg");
  mask-image: url("/wp-content/themes/flatsome-child/assets/icons/search.svg");
}

#masthead .icon-user:before,
.mobile-sidebar .account-item > a:before {
  -webkit-mask-image: url("/wp-content/themes/flatsome-child/assets/icons/user.svg");
  mask-image: url("/wp-content/themes/flatsome-child/assets/icons/user.svg");
}

#masthead .icon-shopping-basket:before,
#masthead .icon-shopping-bag:before,
#masthead .icon-shopping-cart:before {
  -webkit-mask-image: url("/wp-content/themes/flatsome-child/assets/icons/bag.svg");
  mask-image: url("/wp-content/themes/flatsome-child/assets/icons/bag.svg");
}

#masthead .header-search > a,
#masthead .account-item > a,
#masthead .cart-item > a,
#masthead .nav-icon > a,
#masthead .header-search > a i,
#masthead .account-item > a i,
#masthead .cart-item > a i,
#masthead .nav-icon > a i {
  color: #d66d7b !important;
}

#masthead [data-icon-label]:after {
  background-color: #d66d7b !important;
  color: #fff !important;
}

.mobile-sidebar {
  background: #fff;
}

.mobile-sidebar .sidebar-menu {
  padding: 12px 0 28px;
}

.mobile-sidebar .nav-sidebar > li > a,
.mobile-sidebar .nav-sidebar .sub-menu a,
.mobile-sidebar .account-item .header-account-title,
.mobile-sidebar .html {
  font-family: "Noto Sans", sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.mobile-sidebar .nav-sidebar > li > a {
  font-size: 16px !important;
  font-weight: 600;
  color: #241c1c !important;
  padding: 13px 52px 13px 20px !important;
}

.mobile-sidebar .nav-sidebar > li > a:hover,
.mobile-sidebar .nav-sidebar > li.current-menu-item > a,
.mobile-sidebar .nav-sidebar > li.active > a {
  color: #d66d7b !important;
  background: #fdf4f6;
}

.mobile-sidebar .sub-menu {
  background: #fffafb;
  margin: 0;
  padding: 4px 0 8px;
}

.mobile-sidebar .sub-menu a {
  font-size: 15px !important;
  font-weight: 500;
  color: #6d5558 !important;
  padding: 10px 20px 10px 32px !important;
}

.mobile-sidebar .toggle,
.mobile-sidebar .toggle i {
  color: #d66d7b !important;
  opacity: 1;
}

.mobile-sidebar .header-search-form {
  padding: 8px 16px 12px;
}

.mobile-sidebar .search-field {
  height: 46px !important;
  border: 1px solid #f0d0d6 !important;
  border-radius: 999px !important;
  background: #fff !important;
  padding: 0 16px !important;
  font-family: "Noto Sans", sans-serif;
  color: #241c1c;
}

.mobile-sidebar .ux-search-submit {
  width: 42px !important;
  height: 42px !important;
  margin-right: 4px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #d66d7b !important;
}

.mobile-sidebar .account-item {
  margin-top: 8px;
  border-top: 1px solid #f3e4e7;
}

.mobile-sidebar .account-item > a {
  display: flex !important;
  align-items: center;
  gap: 10px;
}

.mobile-sidebar .account-item > a:before {
  content: "";
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background-color: #d66d7b;
  -webkit-mask: url("/wp-content/themes/flatsome-child/assets/icons/user.svg") center / contain no-repeat;
  mask: url("/wp-content/themes/flatsome-child/assets/icons/user.svg") center / contain no-repeat;
}

.mobile-sidebar .html {
  margin: 14px 16px 0;
  padding: 12px 14px;
  background: #fdf4f6;
  color: #7a4e58;
  font-size: 13px;
  line-height: 1.5;
}

.mfp-wrap .mfp-close {
  color: #d66d7b !important;
}

.product-small .category,
.product-small .category a,
.widget_product_categories a:hover,
.woocommerce-breadcrumb a {
  color: #d66d7b;
}

.products .product-small .box {
  border-color: #f0e4e6;
  box-shadow: 0 10px 24px rgba(214, 109, 123, 0.08);
}

.widget_shopping_cart .button:hover,
#place_order:hover,
.checkout-button:hover,
.nd-subscribe button:hover {
  background: #c25568 !important;
  border-color: #c25568 !important;
  color: #fff !important;
}

body {
  background-color: #fff6f8;
  background-image:
    radial-gradient(circle at 6% 8%, #ffd9e4 0 72px, transparent 150px),
    radial-gradient(circle at 96% 0%, #ffe7c2 0 64px, transparent 140px),
    radial-gradient(circle at 88% 46%, #dff3f3 0 70px, transparent 150px);
}

.nd-home,
#wrapper,
#main {
  background-color: transparent;
}

.button,
input[type="submit"],
.single_add_to_cart_button,
.add_to_cart_button,
.checkout-button,
#place_order,
.nd-btn,
.nd-buy,
.widget_shopping_cart .button,
.nd-subscribe button,
.nd-subscribe .nd-inline-form button {
  border-radius: 999px !important;
  box-shadow: 0 4px 0 #e7a3ae;
}

.quantity .button,
.quantity button,
.ux-search-submit,
.mfp-close {
  box-shadow: none !important;
}

.nd-btn:hover,
.nd-buy:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.nd-buy-now:hover,
#place_order:hover,
.checkout-button:hover {
  transform: translateY(1px);
  box-shadow: 0 2px 0 #e7a3ae;
}

@media (prefers-reduced-motion: reduce) {
  .nd-btn:hover,
  .nd-buy:hover,
  .add_to_cart_button:hover,
  .single_add_to_cart_button:hover,
  .nd-buy-now:hover,
  #place_order:hover,
  .checkout-button:hover {
    transform: none;
  }
}

.nd-links,
.nd-links-bottom {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 12px;
}

.nd-links a {
  display: inline-block;
  width: auto;
  max-width: 100%;
  padding: 8px 16px;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 4px 0 #f6d5db;
  text-align: center;
}

.nd-hero {
  border-radius: 0 0 40px 40px;
  overflow: hidden;
}

.products .product-small .box {
  border: 0 !important;
  border-radius: 28px !important;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 0 #f6d5db, 0 16px 28px rgba(214, 109, 123, 0.16) !important;
}

.products .product-small .box-image,
.products .product-small .box-image .image-fade_in_back,
.products .product-small .box-image .image-none {
  background: #fff1f4;
  border-radius: 28px 28px 0 0;
}

.products .product-small .box-text .add_to_cart_button,
.products .product-small .box-text .added_to_cart,
.products .product-small .quick-view,
.product-info form.cart .single_add_to_cart_button,
.product-info form.cart .nd-buy-now {
  border-radius: 999px !important;
}

.products .product-small .quick-view {
  box-shadow: none !important;
  border-color: #f0c2ca !important;
  color: #d66d7b !important;
  background: #fff !important;
}

.product-small .price,
.product-info .price {
  color: #d66d7b;
}

.nd-features {
  gap: 14px;
}

.nd-features article {
  border-radius: 32px;
  box-shadow: 0 8px 0 rgba(120, 40, 55, 0.16);
}

.nd-features svg {
  box-sizing: border-box;
  padding: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}

.nd-carousel {
  margin-left: 16px;
  margin-right: 16px;
  border-radius: 36px;
  overflow: hidden;
  box-shadow: 0 8px 0 #e7a3ae;
}

.nd-slide img {
  background: #fff;
  border-radius: 28px;
  padding: 12px;
  box-shadow: 0 6px 0 #f6d5db;
}

.nd-prev,
.nd-next {
  width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #fff;
  color: #d66d7b;
  font-size: 32px;
  line-height: 46px !important;
  box-shadow: 0 4px 0 #f0c2ca !important;
}

.nd-carousel .nd-buy {
  background: #fff !important;
  color: #c25568 !important;
  box-shadow: 0 4px 0 rgba(120, 30, 45, 0.18) !important;
}

.nd-carousel .nd-buy:hover {
  background: #fff6f8 !important;
  color: #a34152 !important;
}

.nd-since img,
.nd-dohjees img,
.nd-occasion-grid img {
  border-radius: 28px;
}

.nd-since,
.nd-subscribe {
  border-radius: 36px;
}

.nd-subscribe {
  overflow: hidden;
}

.nd-occasion-grid article,
.nd-note-grid article {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 8px 0 #f6d5db;
}

.nd-occasion-grid article {
  border-width: 3px;
  border-radius: 28px;
}

.nd-footer-logo img {
  border-radius: 50%;
  background: #fff;
  padding: 4px;
}

.nd-ship-note,
.nd-delivery {
  border-radius: 20px;
  background: #fff1f4;
  border-color: #f3c9d0;
}

.woocommerce-product-gallery {
  border-radius: 28px;
  background: #fff1f4;
  border: 0;
  box-shadow: 0 8px 0 #f6d5db;
}

.product-info form.cart .quantity,
.product-info form.cart .quantity input.qty {
  border-radius: 999px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.nd-contact input,
.nd-contact textarea,
.nd-subscribe input[type="email"],
.woocommerce-ordering select {
  border-radius: 18px !important;
}

#masthead .header-search > a,
#masthead .account-item > a,
#masthead .cart-item > a,
#masthead .nav-icon > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 0 !important;
  border-radius: 999px;
  background: #ffe4ea;
}

#header .nav-right > li > .nav-dropdown,
#header .mobile-nav > li > .nav-dropdown,
#header .mobile-nav > li.current-dropdown > .nav-dropdown {
  border-radius: 22px !important;
  box-shadow: 0 8px 0 #f6d5db, 0 16px 28px rgba(214, 109, 123, 0.16);
}

.mobile-sidebar {
  border-radius: 0 28px 28px 0;
}

.mobile-sidebar .nav-sidebar > li > a {
  border-radius: 16px;
  margin: 0 10px;
}

.mobile-sidebar .html {
  border-radius: 18px;
}

#payment,
.cart-collaterals,
.woocommerce-checkout-review-order,
.woocommerce-cart .cart_totals,
.shop_table {
  border-radius: 24px;
}

@media (min-width: 850px) {
  .nd-carousel {
    margin-left: 28px;
    margin-right: 28px;
  }

  .nd-hero {
    border-radius: 0 0 56px 56px;
  }
}

.page-title,
.page-title-inner,
.shop-page-title,
.checkout-page-title,
.category-page-title,
.my-account-header,
.normal-title,
.featured-title {
  background: #fff6f8 !important;
  background-image: none !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.related .product-small.col,
.up-sells .product-small.col,
.cross-sells .product-small.col {
  display: flex;
}

.related .product-small .col-inner,
.up-sells .product-small .col-inner,
.cross-sells .product-small .col-inner {
  display: flex;
  width: 100%;
}

.related .product-small .box,
.up-sells .product-small .box,
.cross-sells .product-small .box {
  border: 0 !important;
  border-radius: 28px !important;
  overflow: hidden;
  background: #fff;
  height: 100%;
  box-shadow: 0 8px 0 #f6d5db, 0 16px 28px rgba(214, 109, 123, 0.16) !important;
}

.related .product-small .box-image,
.up-sells .product-small .box-image,
.cross-sells .product-small .box-image {
  position: relative;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
  overflow: hidden;
  background: #fff1f4;
}

.related .product-small .box-image .image-fade_in_back,
.related .product-small .box-image .image-none,
.related .product-small .box-image > a,
.up-sells .product-small .box-image .image-fade_in_back,
.up-sells .product-small .box-image > a,
.cross-sells .product-small .box-image .image-fade_in_back,
.cross-sells .product-small .box-image > a {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  background: #fff1f4;
}

.related .product-small .box-image img,
.up-sells .product-small .box-image img,
.cross-sells .product-small .box-image img {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.related .product-small .box-text > .add-to-cart-button,
.up-sells .product-small .box-text > .add-to-cart-button,
.cross-sells .product-small .box-text > .add-to-cart-button {
  margin-top: auto !important;
  width: 100%;
}

.related .add_to_cart_button,
.related .added_to_cart,
.up-sells .add_to_cart_button,
.up-sells .added_to_cart,
.cross-sells .add_to_cart_button,
.cross-sells .added_to_cart {
  background: #d66d7b !important;
  border: 1px solid #d66d7b !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 0 #e7a3ae !important;
}

.related .add_to_cart_button:hover,
.related .added_to_cart:hover,
.up-sells .add_to_cart_button:hover,
.up-sells .added_to_cart:hover,
.cross-sells .add_to_cart_button:hover,
.cross-sells .added_to_cart:hover {
  background: #c25568 !important;
  border-color: #c25568 !important;
  color: #fff !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
  border-radius: 6px !important;
}

.woocommerce-checkout #place_order {
  border-radius: 6px !important;
  box-shadow: none !important;
}

.woocommerce-checkout #place_order:hover {
  transform: none;
  box-shadow: none !important;
}
