/* factory palette theme — generated, do not edit by hand */
/* fonts: Elementor only enqueues Google Fonts used by widget typography controls
   on the CURRENT document — theme-rendered pages (shop/cart/checkout) would
   otherwise miss the display face used inline in the header lockup */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:wght@400;500;600;700&family=Work+Sans:wght@400;500;600;700&display=swap');
/* woo/theme pages: breathing room between header and footer.
   Hello Elementor's wrapper is <main id="main" class="site-main"> (verified). */
body.woocommerce main.site-main,
body.woocommerce-page main.site-main,
body #main.site-main {
  max-width: 1200px; margin: 0 auto; box-sizing: border-box;
  padding: 64px 24px 96px !important;
}
.woocommerce nav.woocommerce-breadcrumb { margin-bottom: 28px !important; }
/* buttons: classic + block */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt,
.woocommerce button.button.alt, .wp-element-button,
.wc-block-components-button:not(.is-link) {
  background-color: #1F4E79 !important; color: #fff !important;
  border: none !important; border-radius: 6px;
  font-weight: 700; transition: background .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .wp-element-button:hover,
.wc-block-components-button:not(.is-link):hover {
  background-color: #13283B !important; color: #fff !important;
}
/* product typography: titles in the display face, everything else in the body face */
.woocommerce, .woocommerce-page, .elementor-widget-woocommerce-products,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.wp-element-button, .wc-block-components-button { font-family: 'Work Sans', sans-serif; }
/* WC block product grids (empty-cart "New in store", cross-sells, related):
   the anchor has neither .button nor .wp-element-button, so it inherited the
   theme's dark button + our link colour + underline. Also 2-up on phones
   like the shop, instead of one product per screen. */
.wc-block-grid__product .wp-block-button__link {
  background-color: #1F4E79 !important; color: #fff !important;
  text-decoration: none !important; border: none !important; border-radius: 6px;
  font-family: 'Work Sans', sans-serif; font-weight: 700;
}
.wc-block-grid__product .wp-block-button__link:hover { background-color: #13283B !important; }
/* WC's own rules are more specific (.wc-block-grid .wc-block-grid__product-title,
   12px) and its <ul> is display:block on phones — hence the !important */
.wc-block-grid .wc-block-grid__product-link,
.wc-block-grid .wc-block-grid__product-link:hover { text-decoration: none !important; color: #13283B !important; }
.wc-block-grid .wc-block-grid__product-title {
  font-family: 'Fraunces', serif !important; font-size: 20px !important; font-weight: 600 !important;
  color: #13283B !important; text-decoration: none !important; line-height: 1.25 !important;
}
.wc-block-grid .wc-block-grid__product-price,
.wc-block-grid .wc-block-grid__product-price .woocommerce-Price-amount {
  color: #414F5C !important; font-weight: 700 !important; font-size: 16px !important;
}
/* Hello's .alignwide gives the cart/checkout blocks -80px side margins, which
   on phones drags the block (and the "New in store" grid) off the left edge */
@media (max-width: 1024px) {
  .wp-block-woocommerce-cart.alignwide, .wp-block-woocommerce-checkout.alignwide {
    margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; width: 100% !important;
  }
}
.wc-block-grid .wc-block-grid__products { margin: 0 !important; width: 100% !important; align-items: stretch !important; }
/* same card discipline as the shop grid: image+title block flexes, price sits
   just above a full-width button pinned to the card bottom */
.wc-block-grid .wc-block-grid__product {
  padding: 0 8px !important; box-sizing: border-box;
  display: flex !important; flex-direction: column !important;
}
.wc-block-grid .wc-block-grid__product-link {
  display: flex !important; flex-direction: column !important; flex: 1 1 auto !important;
}
.wc-block-grid .wc-block-grid__product-price { margin-top: auto !important; padding-top: 6px; }
.wc-block-grid .wp-block-button { width: 100% !important; margin: 10px 0 0 !important; }
.wc-block-grid .wc-block-grid__product .wp-block-button__link {
  width: 100% !important; display: block !important; text-align: center;
  padding: 14px 20px !important; box-sizing: border-box;
}
@media (max-width: 600px) {
  .wc-block-grid .wc-block-grid__products {
    display: flex !important; flex-wrap: wrap !important; flex-direction: row !important;
  }
  .wc-block-grid[class*="has-"] .wc-block-grid__product {
    flex: 0 0 50% !important; max-width: 50% !important;
  }
}
/* the Elementor Products widget on Elementor pages (home "Featured pieces")
   renders ul.products WITHOUT a .woocommerce ancestor — match it explicitly so
   home and /shop/ product cards look the same */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title, .woocommerce-page h1, .woocommerce-page h2 {
  font-family: 'Fraunces', serif; color: #13283B; font-weight: 600;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title { font-size: 22px; }
.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Fraunces', serif !important; color: #13283B !important;
  font-weight: 600 !important; font-size: 22px !important; line-height: 1.2 !important;
}
.elementor-wc-products ul.products li.product a:not(.button),
.elementor-widget-woocommerce-products ul.products li.product a:not(.button) { color: #13283B !important; text-decoration: none !important; }
.elementor-wc-products ul.products li.product .price,
.elementor-widget-woocommerce-products ul.products li.product .price { color: #414F5C !important; font-weight: 700 !important; }
.woocommerce ul.products li.product .price,
.elementor-widget-woocommerce-products ul.products li.product .price,
.woocommerce div.product p.price { color: #414F5C; font-weight: 700; }
.woocommerce span.onsale { background: #C48A4E; color: #13283B; }
/* product cards (shop archive + home Products widget): equal-height cards,
   full-width "Add to cart" pinned to the bottom of every card, roomier
   buttons. The archive drops WC's float layout for a grid so rows line up. */
.woocommerce ul.products { display: grid; gap: 40px 3.8%; align-items: stretch; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* !important throughout: Elementor Pro's products-widget CSS (.elementor-wc-products
   ul.products li.product ...) loads after this sheet at equal specificity */
.woocommerce ul.products li.product,
.elementor-wc-products ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product {
  float: none !important; width: auto !important; margin: 0 !important;
  display: flex !important; flex-direction: column !important; height: 100% !important;
}
/* the image/title/price block fills the card and pushes the price to its
   bottom edge, so price and button stay level across the row however many
   lines the title takes */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.elementor-wc-products ul.products li.product .woocommerce-LoopProduct-link {
  display: flex !important; flex-direction: column !important; flex: 1 1 auto !important;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link .price,
.elementor-wc-products ul.products li.product .woocommerce-LoopProduct-link .price {
  margin-top: auto !important; padding-top: 6px;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link .woocommerce-loop-product__title,
.elementor-wc-products ul.products li.product .woocommerce-LoopProduct-link .woocommerce-loop-product__title {
  margin-bottom: 0 !important;
}
.woocommerce ul.products li.product .button,
.elementor-wc-products ul.products li.product .button,
.elementor-widget-woocommerce-products ul.products li.product .button {
  margin-top: auto !important; width: 100% !important; display: block !important; text-align: center;
  padding: 14px 20px !important; box-sizing: border-box; font-size: 15px;
}
.woocommerce div.product form.cart .button { padding: 14px 28px !important; }
@media (max-width: 1024px) {
  .woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 4%; }
}
.woocommerce nav.woocommerce-breadcrumb, .woocommerce nav.woocommerce-breadcrumb a,
.woocommerce-page a:where(:not(.button):not(.wp-element-button):not(.elementor-button)) {
  color: #1F4E79;
}
/* header cart toggle — icon must be white on the dark bar (icon renders as
   font OR inline svg depending on Elementor mode: cover both) */
.elementor-location-header .elementor-menu-cart__toggle .elementor-button,
.elementor-location-header .elementor-menu-cart__toggle .elementor-button-icon,
.elementor-location-header .elementor-menu-cart__toggle .elementor-button-text {
  color: #fff !important; background: transparent; border: none;
}
.elementor-location-header .elementor-menu-cart__toggle .elementor-button-icon i,
.elementor-location-header .elementor-menu-cart__toggle .elementor-button-icon svg {
  color: #fff !important; fill: #fff !important;
}
.elementor-menu-cart__toggle .elementor-button-icon [data-counter]:before {
  background: #C48A4E; color: #13283B;
}
/* side-cart drawer */
.elementor-menu-cart__main { background: #fff; color: #414F5C; }
.elementor-menu-cart__close-button { color: #13283B; }
.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
  background-color: #13283B; color: #fff; border-radius: 6px;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
  background-color: #1F4E79; color: #fff; border-radius: 6px;
}
.elementor-menu-cart__product-name a, .elementor-menu-cart__subtotal { color: #13283B; }
