/* Elementor compatibility: pages built in Elementor should control their own layout width. */
#main.ft-elementor-page,
.ft-elementor-page,
.ft-elementor-page article,
.ft-elementor-page .ft-elementor-content {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
.ft-elementor-page { padding-top: 0; padding-bottom: 0; }
.ft-elementor-page article { border: 0; }
.ft-elementor-page .elementor { width: 100%; max-width: 100%; }
/* Give full-width Elementor pages a little vertical breathing room only if the builder is empty. */
.ft-elementor-page > .elementor { min-width: 0; }
/* The theme styles native product/category cards, not Elementor's page-builder canvas. */
.elementor-widget-container img { max-width: 100%; }
@media (max-width: 600px) {
  .ft-elementor-page .elementor-section.elementor-section-boxed > .elementor-container,
  .ft-elementor-page .e-con.e-con-boxed { max-width: 100%; }
}


/* Styling for the optional importable Elementor homepage template. */
.ft-el-home-hero {
  background-color: #F7F4EC !important;
  background-image: linear-gradient(90deg, rgba(247,244,236,1) 0%, rgba(247,244,236,.97) 42%, rgba(247,244,236,.25) 100%), url('craft-still-life.svg') !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center, right center !important;
  background-size: cover, 48% auto !important;
  box-shadow: 0 18px 55px rgba(11,57,84,.07);
}
.ft-el-home-hero .elementor-heading-title,
.ft-el-home-section .elementor-heading-title,
.ft-el-home-help .elementor-heading-title { letter-spacing: -1.2px; }
.ft-el-home-hero .elementor-button,
.ft-el-home-bulk-banner .elementor-button,
.ft-el-home-help .elementor-button {
  border-radius: 999px;
  padding: 15px 24px;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ft-el-home-hero .elementor-button:hover,
.ft-el-home-bulk-banner .elementor-button:hover,
.ft-el-home-help .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(11,57,84,.14); }
.ft-el-home-section .woocommerce ul.products li.product,
.ft-el-home-section .woocommerce-page ul.products li.product { border: 1px solid #ece6dc; border-radius: 16px; padding: 14px; background: #fff; }
.ft-el-home-section .woocommerce ul.products li.product a img { border-radius: 11px; background: #f7f3e9; }
.ft-el-home-section .woocommerce ul.products li.product .button { border-radius: 999px; }
.ft-el-home-section .woocommerce ul.products li.product .price { color: #0B3954; }
.ft-el-category-section .woocommerce ul.products li.product-category { border: 1px solid #ece6dc; border-radius: 16px; padding: 12px; background: #fffdf9; }
.ft-el-category-section .woocommerce ul.products li.product-category img { border-radius: 10px; }
.ft-el-home-bulk-banner { box-shadow: 0 14px 35px rgba(11,57,84,.12); }
.ft-el-home-help .ft-el-help-card { align-self: stretch; }
@media(max-width: 767px) {
  .ft-el-home-hero { background-image: linear-gradient(180deg, rgba(247,244,236,.96) 0%, rgba(247,244,236,.88) 100%), url('craft-still-life.svg') !important; background-position: center, right bottom !important; background-size: cover, 60% auto !important; }
  .ft-el-home-hero .elementor-heading-title { font-size: clamp(38px, 9vw, 50px) !important; }
  .ft-el-home-bulk-banner .elementor-button { margin-top: 12px; }
}


/* Product-first craft homepage: hero spotlight and maker ribbon. */
.ft-el-home-hero {
  position: relative;
  border: 1px solid #e8e0d1;
  border-radius: 24px;
  overflow: hidden;
  background-color: #F7F4EC !important;
  background-image: linear-gradient(105deg, #F7F4EC 0%, #F7F4EC 56%, #FFFDF8 100%) !important;
  background-position: center !important;
  background-size: cover !important;
}
.ft-el-hero-copy { min-width: 0; }
.ft-el-hero-copy .elementor-heading-title em { color: #0B5A3A; font-weight: 500; }
.ft-el-hero-showcase {
  box-sizing: border-box;
  align-self: stretch;
  justify-content: center;
  min-width: 0;
  min-height: 400px;
  border: 1px solid #e4dccd;
  border-radius: 18px;
  background: #eee9dc url('craft-still-life.svg') center/cover no-repeat;
  box-shadow: 0 16px 34px rgba(36,54,67,.10);
}
.ft-el-hero-showcase .elementor-widget-shortcode,
.ft-el-hero-showcase .elementor-widget-container,
.ft-el-hero-showcase .woocommerce { width: 100%; min-width: 0; }
.ft-el-hero-showcase ul.products {
  display: grid !important;
  grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr) !important;
  grid-template-rows: repeat(2,minmax(0,1fr));
  gap: 10px !important;
  margin: 12px 0 0 !important;
  min-height: 355px;
}
.ft-el-hero-showcase ul.products::before,
.ft-el-hero-showcase ul.products::after { display: none !important; content: none !important; }
.ft-el-hero-showcase ul.products li.product {
  display: block;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 9px !important;
  min-width: 0;
  border: 1px solid #e4dccd;
  border-radius: 13px !important;
  background: #fffdf9 !important;
  box-shadow: 0 12px 28px rgba(36,54,67,.13);
}
.ft-el-hero-showcase ul.products li.product:first-child { grid-row: span 2; }
.ft-el-hero-showcase ul.products li.product:nth-child(n+4) { display: none !important; }
.ft-el-hero-showcase ul.products li.product a img {
  width: 100%; aspect-ratio: 1 / 1; object-fit: contain; padding: 7px; margin: 0 0 7px;
  border-radius: 9px; background: #f7f3e9; box-sizing: border-box;
}
.ft-el-hero-showcase ul.products li.product .woocommerce-loop-product__title { font-size: 10px; line-height: 1.45; padding: 0 2px; min-height: 0; }
.ft-el-hero-showcase ul.products li.product .price { margin: 5px 2px; font-size: 11px; }
.ft-el-hero-showcase ul.products li.product .button { display: none; }
.ft-el-home-ribbon {
  display: flex;
  width: calc(100% - 44px);
  max-width: 1440px;
  margin: 0 auto 12px !important;
  border: 1px solid #e8e0d1;
  border-top: 0;
  border-radius: 0 0 17px 17px;
  overflow: hidden;
  background: #fffdf8;
}
.ft-el-home-ribbon > .e-con,
.ft-el-home-ribbon > .elementor-element { min-width: 0; }
.ft-el-ribbon-item { border-right: 1px solid #ebe3d5; }
.ft-el-ribbon-item:last-child { border-right: 0; }
.ft-el-ribbon-item p { line-height: 1.5; }
.ft-el-home-section .woocommerce ul.products li.product .woocommerce-loop-product__title { line-height: 1.55; }
.ft-el-more-products-section { border-top: 1px solid #f0eadf; border-bottom: 1px solid #f0eadf; }
@media(max-width: 767px) {
  .ft-el-home-hero { flex-direction: column !important; padding: 32px 22px !important; border-radius: 18px; background-image: linear-gradient(180deg, #F7F4EC 0%, #FFFDF8 100%) !important; }
  .ft-el-home-hero > .e-con { width: 100% !important; max-width: 100% !important; }
  .ft-el-hero-showcase { min-height: 0; padding: 18px 12px !important; }
  .ft-el-hero-showcase ul.products { min-height: 290px; gap: 8px !important; }
  .ft-el-home-ribbon { width: calc(100% - 24px); flex-direction: column !important; }
  .ft-el-ribbon-item { border-right: 0; border-bottom: 1px solid #ebe3d5; }
  .ft-el-ribbon-item:last-child { border-bottom: 0; }
}


/* Fallback styles when Elementor shortcode output omits WooCommerce's wrapper div. */
.ft-el-home-section ul.products li.product { border: 1px solid #ece6dc; border-radius: 16px; padding: 14px; background: #fff; }
.ft-el-home-section ul.products li.product a img { border-radius: 11px; background: #f7f3e9; }
.ft-el-home-section ul.products li.product .button { border-radius: 999px; }
.ft-el-home-section ul.products li.product .price { color: #0B3954; }


/* Elementor 0.4 template compatibility and builder preview routing. */
.ft-elementor-page > .elementor,
.ft-elementor-page > .elementor > .e-con,
.ft-elementor-page .elementor-element { min-width: 0; }
.ft-elementor-page .elementor-widget-shortcode .woocommerce { width: 100%; }
.ft-el-home-section { width: 100%; box-sizing: border-box; }
.ft-el-home-section .elementor-widget-shortcode { width: 100%; }
