/* The Flower Factory presentation preview, 19 October 2026.
   Opt in with body.ff-design-refinement. This file changes presentation only:
   no content replacement, visibility changes, product-grid column changes,
   product description reordering, font-family changes or payment behaviour. */

body.ff-design-refinement {
  --rose: #d28c8a;
  --ink: #292526;
  --muted: #6c6366;
  --line: #e8e1e2;
  --wash: #f8f5f5;
  --ff-pure-rose: #d28c8a;
  --ff-pure-rose-dark: #854f50;
  --ff-pure-ink: #292526;
  --ff-pure-muted: #6c6366;
  --ff-pure-soft: #f8f5f5;
  --ff-pure-line: #e8e1e2;
  --ff-preview-rose: #d28c8a;
  --ff-preview-rose-dark: #854f50;
  --ff-preview-soft: #f8f5f5;
  --ff-preview-line: #e8e1e2;
  --ff-refine-input: #d8ced1;
  --ff-refine-focus: #905654;
  --ff-refine-shadow: 0 14px 42px rgb(52 30 35 / 8%);
}

/* Shell: a quieter toolbar and stronger text hierarchy. */
body.ff-design-refinement #ff-live-header {
  background: rgb(255 255 255 / 96%);
  border-bottom-color: var(--line);
}
body.ff-design-refinement #ff-live-announcement {
  color: #67585d;
  background: #f8f1f1;
  letter-spacing: .035em;
}
body.ff-design-refinement .ff-shell-menu { font-size: 13px; gap: 22px; }
body.ff-design-refinement .ff-shell-dropdown,
body.ff-design-refinement .ff-shell-search-box,
body.ff-design-refinement .ff-mobile-menu nav {
  border-color: var(--line);
  border-radius: 18px;
  box-shadow: var(--ff-refine-shadow);
}
body.ff-design-refinement .ff-shell-dropdown a,
body.ff-design-refinement .ff-mobile-menu nav a { border-radius: 9px; }
body.ff-design-refinement .ff-shell-search-box input {
  min-height: 46px;
  border-color: var(--ff-refine-input);
  border-radius: 12px;
}
body.ff-design-refinement .ff-shell-search-box button {
  min-height: 46px;
  border-radius: 12px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 500;
}

/* Home: maintain the approved split composition and real photography. */
body.ff-design-refinement.ff-pure-rose .ff-live-content .hero-grid {
  border-radius: 26px;
  background: #f8f2f2;
}
body.ff-design-refinement.ff-pure-rose .ff-live-content .hero-copy h1 {
  font-weight: 600;
  letter-spacing: -.045em;
}
body.ff-design-refinement.ff-pure-rose .ff-live-content .hero-copy p {
  max-width: 340px;
  color: #6c6366;
  font-size: 16px;
  line-height: 1.65;
}
body.ff-design-refinement.ff-pure-rose .ff-live-content .pill {
  min-height: 46px;
  padding: 13px 25px;
  font-size: 14px;
  font-weight: 500;
}
body.ff-design-refinement.ff-pure-rose .ff-live-content .home-section { padding-top: 80px; }
body.ff-design-refinement.ff-pure-rose .ff-live-content .section-heading { margin-bottom: 28px; }
body.ff-design-refinement.ff-pure-rose .ff-live-content .section-heading h2 {
  font-size: clamp(28px, 2.7vw, 38px);
  font-weight: 600;
  letter-spacing: -.035em;
}
body.ff-design-refinement.ff-pure-rose .ff-live-content .about-card img { margin-bottom: 20px; }
body.ff-design-refinement.ff-pure-rose .ff-live-content .about-card h3 { margin-bottom: 10px; }
body.ff-design-refinement.ff-pure-rose .ff-live-content .about-card p {
  font-size: 14px;
  line-height: 1.7;
}
body.ff-design-refinement .ff-native-product-card h3 { font-size: 15px; line-height: 1.5; }
body.ff-design-refinement .ff-native-price { font-size: 14px; line-height: 1.6; }
body.ff-design-refinement.ff-pure-rose .ff-live-content .insta-intro p { font-size: 13px; line-height: 1.6; }

/* Catalogue: retain all native controls and the existing three/two columns. */
body.ff-design-refinement.ff-pure-rose:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag) #bwp-main .page-title {
  padding-top: 32px;
  padding-bottom: 24px;
}
body.ff-design-refinement.ff-pure-rose #bwp-main .bwp-filter-ajax {
  font-size: 13px;
  color: var(--ff-pure-muted);
}
body.ff-design-refinement.ff-pure-rose #bwp-main .bwp-filter-ajax :is(h3,.title-block) {
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ff-pure-ink);
}
body.ff-design-refinement.ff-pure-rose #bwp-main .bwp-filter-ajax :is(#pa_arrangement,#pa_by-recipient,#pa_flower-type,#pa_occasion,#pa_size) > li > span {
  /* The original facet rules set border with !important. */
  border-color: #eae3e4 !important;
  border-radius: 10px;
  background: #fcfbfb;
  color: #665c60;
}
body.ff-design-refinement.ff-pure-rose #bwp-main .bwp-filter-ajax :is(#pa_arrangement,#pa_by-recipient,#pa_flower-type,#pa_occasion,#pa_size) > li > span .name {
  font-size: 13px;
  line-height: 1.5;
}
body.ff-design-refinement.ff-pure-rose #bwp-main .bwp-filter-ajax :is(#pa_arrangement,#pa_by-recipient,#pa_flower-type,#pa_occasion,#pa_size) > li > span:hover {
  border-color: #cfb7ba !important;
  background: #f8f1f2;
}
body.ff-design-refinement.ff-pure-rose #bwp-main .bwp-filter-ajax :is(#pa_arrangement,#pa_by-recipient,#pa_flower-type,#pa_occasion,#pa_size) > li > span.active {
  border-color: var(--ff-pure-rose) !important;
  background: #f4e7e7;
  color: var(--ff-pure-rose-dark) !important;
}
body.ff-design-refinement.ff-pure-rose #bwp-main .bwp-top-bar .woocommerce-result-count { font-size: 13px; }
body.ff-design-refinement.ff-pure-rose #bwp-main .bwp-top-bar .woocommerce-ordering .pwb-dropdown-toggle {
  border-color: var(--ff-refine-input);
  border-radius: 12px;
  font-size: 13px;
  min-height: 46px;
}
body.ff-design-refinement.ff-pure-rose #bwp-main .main-archive-product .products-list.grid .products-content { padding-top: 15px; }
body.ff-design-refinement.ff-pure-rose #bwp-main .product-wapper .product-title {
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
}
body.ff-design-refinement.ff-pure-rose #bwp-main .product-wapper .price { font-size: 15px; line-height: 1.55; }
body.ff-design-refinement.ff-pure-rose #bwp-main .main-archive-product .products-list.grid .contents > .btn-atc a {
  font-size: 13px;
  font-weight: 500;
  text-underline-offset: 4px;
}
body.ff-design-refinement.ff-pure-rose #bwp-main .woocommerce-pagination { margin-top: 36px; }

/* Product: lighter gallery framing and consistent native purchase controls. */
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .bwp-single-image .image-additional .img-thumbnail {
  border-radius: 18px;
  background: #f8f6f6;
}
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .bwp-single-image .image-thumbnail .img-thumbnail {
  border-color: #e8e1e2;
  border-radius: 10px;
  background: #fcfbfb;
}
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .bwp-single-image .image-thumbnail .img-thumbnail.slick-current {
  border-color: var(--ff-pure-rose-dark);
  box-shadow: 0 0 0 1px var(--ff-pure-rose-dark);
}
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .summary .product_title {
  font-size: clamp(29px, 2.7vw, 38px);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.2;
}
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .summary .price-single { margin: 18px 0 24px; }
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .summary .variations { margin-bottom: 18px; }
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .summary .variations label { font-size: 14px; }
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .summary :is(.variations select,.bb-custom-select-container,.bb-custom-select-panel,.quantity) {
  border-color: var(--ff-refine-input);
  border-radius: 12px;
}
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .summary :is(.single_add_to_cart_button,.quick-buy) {
  min-height: 48px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
}
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .summary .product_meta { font-size: 13px; line-height: 1.7; }
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .woocommerce-tabs ul.tabs li a { font-size: 14px; }
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .woocommerce-Tabs-panel {
  font-size: 15px;
  line-height: 1.75;
  color: #5f575a;
}
body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .woocommerce-Tabs-panel :is(p,ul,ol) { margin-bottom: 18px; }

/* Shared forms: specific controls only; no CAPTCHA, iframe or icon overrides. */
body.ff-design-refinement.ff-pure-rose #bwp-main :is(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields,.checkout-top) :is(input.input-text,textarea),
body.ff-design-refinement.ff-pure-rose.woocommerce-account #customer_login input:not([type=checkbox]):not([type=submit]) {
  border-color: var(--ff-refine-input);
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  font-size: 16px;
  line-height: 1.5;
}
body.ff-design-refinement.ff-pure-rose #bwp-main :is(input.input-text,textarea,select):focus {
  border-color: var(--ff-refine-focus);
  box-shadow: 0 0 0 3px rgb(210 140 138 / 15%);
}
body.ff-design-refinement.ff-pure-rose #bwp-main :is(a,button,input,select,textarea):focus-visible {
  outline-color: var(--ff-refine-focus);
}
body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main #customer_details .form-row { margin-bottom: 22px; }
body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main #customer_details .form-row > label,
body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main .orddd-checkout-fields .form-row > label {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 8px;
}
body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main .checkout-top .woocommerce-info {
  border-color: var(--line);
  background: #f8f5f5;
  border-radius: 14px;
}
body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main #order_review,
body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .cart-collaterals .cart_totals {
  background: #f8f5f5;
  border: 1px solid #efe8e9;
  border-radius: 20px;
}
body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main #order_review .title-product-name,
body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .cart_totals > h2 {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -.025em;
}
body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main #place_order,
body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .cart_totals .wc-proceed-to-checkout > .checkout-button {
  min-height: 50px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
}
body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main .orddd-checkout-fields .select2-selection--single {
  border-radius: 12px;
  border-color: var(--ff-refine-input);
}
body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents td.product-quantity > .quantity {
  border-color: var(--ff-refine-input);
  border-radius: 12px;
}
body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-form #coupon_code {
  border-color: var(--ff-refine-input);
  border-radius: 12px;
}
body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-form .bottom-cart .button { border-radius: 12px; }

/* Account and information pages retain their existing structure and copy. */
body.ff-design-refinement.ff-pure-rose.woocommerce-account #bwp-main > .page-title { padding-top: 32px; padding-bottom: 32px; }
body.ff-design-refinement.ff-pure-rose.woocommerce-account #customer_login { margin-top: 36px; margin-bottom: 56px; }
body.ff-design-refinement.ff-pure-rose.woocommerce-account #customer_login .box-content {
  border-color: var(--line);
  border-radius: 20px;
  background: #fff;
}
body.ff-design-refinement.ff-pure-rose.woocommerce-account #customer_login :is(p,label) { font-size: 14px; line-height: 1.65; }
body.ff-design-refinement.ff-pure-rose.woocommerce-account #customer_login h2 { font-size: 27px; letter-spacing: -.025em; }
body.ff-design-refinement.ff-pure-rose.woocommerce-account #customer_login .button {
  /* Existing account rules use important for their complete button declaration. */
  background: var(--rose) !important;
  border-radius: 12px !important;
  font-size: 14px !important;
}
body.ff-design-refinement .ff-preview-content { padding-top: 56px; }
body.ff-design-refinement .ff-preview-content__copy { line-height: 1.75; }
body.ff-design-refinement .ff-preview-content__copy h2 { letter-spacing: -.025em; }
body.ff-design-refinement .ff-preview-content__copy h3 { font-weight: 600; }
body.ff-design-refinement .ff-preview-photo__link { border-radius: 18px; }
body.ff-design-refinement .ff-preview-photo img { border-radius: 18px; }
body.ff-design-refinement .ff-preview-content__enquiry { border-radius: 12px; }

/* Footer: same columns and links, more legible supporting type. */
body.ff-design-refinement #ff-live-footer { padding-top: 48px; background: #f8f5f5; }
body.ff-design-refinement .ff-footer-info p { font-size: 13px; line-height: 1.75; margin-bottom: 10px; }
body.ff-design-refinement .ff-footer-links h3 { margin-bottom: 17px; font-size: 12px; letter-spacing: .045em; }
body.ff-design-refinement .ff-footer-links a { padding: 5px 0; font-size: 13px; line-height: 1.6; }
body.ff-design-refinement .ff-social-links { font-size: 13px; gap: 20px; }
body.ff-design-refinement .ff-copyright { font-size: 11px; line-height: 1.6; }

@media (min-width: 761px) and (max-width: 1200px) {
  body.ff-design-refinement .ff-shell-menu { font-size: 12px; gap: 14px; }
}
@media (max-width: 760px) {
  body.ff-design-refinement.ff-pure-rose .ff-live-content .hero-grid { border-radius: 20px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .hero-copy {
    padding: 34px 24px 32px;
    min-height: 0;
    flex: 0 0 auto;
  }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .hero-copy h1 { margin-bottom: 16px; line-height: 1.06; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .hero-copy p { font-size: 14px; line-height: 1.6; margin-bottom: 22px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .home-section { padding-top: 52px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .section-heading { margin-bottom: 24px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .section-heading h2 { font-size: 29px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .about-grid { gap: 30px 18px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .about-card img { margin-bottom: 14px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .about-card h3 { font-size: 16px; line-height: 1.3; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .about-card p { font-size: 13px; line-height: 1.65; }
  body.ff-design-refinement .ff-native-product-card h3 { font-size: 14px; }
  body.ff-design-refinement .ff-native-price { font-size: 13px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .insta-intro p { font-size: 12px; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .insta-actions { flex-wrap: wrap; }
  body.ff-design-refinement.ff-pure-rose .ff-live-content .insta-actions .pill { font-size: 12px; }
  body.ff-design-refinement.ff-pure-rose:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag) #bwp-main .page-title {
    padding-top: 26px;
    padding-bottom: 22px;
  }
  body.ff-design-refinement.ff-pure-rose #bwp-main .product-wapper .product-title { font-size: 14px; line-height: 1.45; }
  body.ff-design-refinement.ff-pure-rose #bwp-main .product-wapper .price { font-size: 14px; }
  body.ff-design-refinement.ff-pure-rose #bwp-main .main-archive-product .products-list.grid .products-content { padding-top: 13px; }
  body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .summary .product_title { font-size: 30px; }
  body.ff-design-refinement.ff-pure-rose.single-product #bwp-main .woocommerce-Tabs-panel { font-size: 15px; }
  body.ff-design-refinement.ff-pure-rose.woocommerce-checkout #bwp-main #order_review,
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .cart-collaterals .cart_totals { padding: 24px 18px; border-radius: 18px; }
  body.ff-design-refinement.ff-pure-rose.woocommerce-account #bwp-main > .page-title { padding-top: 27px; padding-bottom: 27px; }
  body.ff-design-refinement.ff-pure-rose.woocommerce-account #bwp-main #customer_login { margin-top: 18px; }
  body.ff-design-refinement .ff-preview-content { padding-top: 34px; }
  body.ff-design-refinement #ff-live-footer { padding-top: 36px; }
  body.ff-design-refinement .ff-footer-info p { font-size: 13px; }
  body.ff-design-refinement .ff-footer-links { gap: 22px; }
  body.ff-design-refinement .ff-footer-links a { font-size: 13px; line-height: 1.6; }
}

/* Mobile cart: constrain the native table formatting context instead of
   concealing horizontal overflow. Keep every native cell in document order. */
@media (max-width: 767px) {
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-form,
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-page,
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-page > :is(.col-xl-8,.col-xl-4) {
    min-width: 0;
    max-width: 100%;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents > tbody {
    display: block;
    width: 100%;
    max-width: 100%;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents > tbody > tr.cart_item {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    column-gap: 16px;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents > tbody > tr.cart_item > td {
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    min-width: 0;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents td.product-quantity > .quantity {
    display: flex;
    box-sizing: border-box;
    width: 132px;
    max-width: 100%;
    min-width: 0;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents td.product-quantity > .quantity :is(input.qty,button) {
    flex: 1 1 0;
    min-width: 0;
    width: 33.333%;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents > tbody > tr:not(.cart_item) {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main table.woocommerce-cart-form__contents > tbody > tr > td.actions {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-form .actions .bottom-cart {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    min-width: 0;
    gap: 14px;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-form .actions .coupon {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    flex-basis: 100%;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    gap: 10px;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-form .actions .coupon :is(#coupon_code,.button) {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    white-space: normal;
  }
  body.ff-design-refinement.ff-pure-rose.woocommerce-cart #bwp-main .woocommerce-cart-form .actions .bottom-cart > .button {
    max-width: 100%;
    margin: 0;
    white-space: normal;
  }
}
