/* FlowerCrates — brand styles matching homepage / configurator / Zelle mockups */

:root {
  --fc-cream: #f7f3ec;
  --fc-cream-soft: #faf7f2;
  --fc-green: #1f3d2a;
  --fc-green-mid: #2d472c;
  --fc-green-muted: #4a5f50;
  --fc-green-soft: #6a7d70;
  --fc-terra: #c4653a;
  --fc-terra-hover: #a8522c;
  --fc-white: #ffffff;
  --fc-border: #d7ddd8;
  --fc-shadow: 0 12px 32px rgba(31, 61, 42, 0.08);
  --fc-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --fc-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --fc-radius: 1.25rem;
  --fc-pill: 999px;
  --fc-max: 1120px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body.flowercrates-theme {
  margin: 0;
  background: var(--fc-cream);
  color: var(--fc-green);
  font-family: var(--fc-sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body.flowercrates-theme h1,
body.flowercrates-theme h2,
body.flowercrates-theme h3,
body.flowercrates-theme h4 {
  font-family: var(--fc-serif);
  font-weight: 600;
  color: var(--fc-green);
  line-height: 1.15;
}

a {
  color: var(--fc-green);
}

img {
  max-width: 100%;
  height: auto;
}

.screen-reader-text,
.fc-skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.fc-skip-link:focus {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  width: auto;
  height: auto;
  margin: 0;
  clip: auto;
  padding: 0.75rem 1rem;
  background: var(--fc-green);
  color: var(--fc-cream);
  z-index: 10000;
  border-radius: 0.5rem;
}

.fc-container {
  width: min(100% - 2rem, var(--fc-max));
  margin-inline: auto;
}

/* —— Header —— */
.fc-site-header {
  background: var(--fc-cream);
  border-bottom: 1px solid rgba(31, 61, 42, 0.08);
  position: sticky;
  top: 0;
  z-index: 100;
}

.fc-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.25rem;
  padding: 0.65rem 0;
}

.fc-logo,
.fc-brand .custom-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-decoration: none;
  color: var(--fc-green);
  line-height: 0;
}

.fc-logo-img,
.fc-brand .custom-logo,
.fc-brand .custom-logo-link img {
  display: block;
  width: clamp(140px, 22vw, 180px);
  height: auto;
  max-height: 48px;
  object-fit: contain;
  object-position: left center;
}

.fc-logo-img--footer,
.fc-logo--footer .fc-logo-img {
  width: 140px;
  max-height: 36px;
  /* Lighten mark on forest-green footer */
  filter: brightness(0) invert(0.96) sepia(0.12) hue-rotate(50deg) saturate(0.4);
}

.fc-logo-mark {
  font-size: 1.35rem;
  line-height: 1;
}

.fc-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.fc-logo-name {
  font-family: var(--fc-serif);
  font-size: 1.45rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.fc-logo-sub {
  font-family: var(--fc-sans);
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fc-green-soft);
}

.fc-nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 1.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--fc-sans);
  font-size: 0.95rem;
  font-weight: 500;
}

.fc-nav-list a {
  text-decoration: none;
  color: var(--fc-green);
  padding: 0.25rem 0;
}

.fc-nav-list a:hover {
  color: var(--fc-terra);
}

.fc-nav-toggle {
  display: none;
  background: transparent;
  border: 1.5px solid var(--fc-green);
  border-radius: 0.5rem;
  padding: 0.45rem 0.55rem;
  cursor: pointer;
}

.fc-nav-toggle-bar {
  display: block;
  width: 1.15rem;
  height: 2px;
  background: var(--fc-green);
  margin: 3px 0;
}

.fc-cart-link {
  position: relative;
  text-decoration: none;
  font-size: 1.2rem;
  color: var(--fc-green);
}

.fc-cart-count {
  position: absolute;
  top: -0.35rem;
  right: -0.5rem;
  background: var(--fc-terra);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  min-width: 1.1rem;
  height: 1.1rem;
  border-radius: var(--fc-pill);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.25rem;
}

/* —— Buttons —— */
.fc-btn,
button.button,
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce span.button,
.button.alt,
.single_add_to_cart_button,
.checkout-button,
.wc-block-components-product-button__button,
a.wp-block-button__link.wc-block-components-product-button__button {
  font-family: var(--fc-sans) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.85rem 1.35rem !important;
  border-radius: var(--fc-pill) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  border: none !important;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  width: auto !important;
  max-width: 100%;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  white-space: nowrap;
}

.fc-btn-primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.single_add_to_cart_button,
.checkout-button {
  background: var(--fc-terra) !important;
  color: #fff !important;
}

.fc-btn-primary:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover {
  background: var(--fc-terra-hover) !important;
  color: #fff !important;
}

.fc-btn-secondary {
  background: var(--fc-white) !important;
  color: var(--fc-green) !important;
  border: 1.5px solid var(--fc-green) !important;
}

.fc-btn-secondary:hover {
  background: #eef3ef !important;
  color: var(--fc-green) !important;
}

/* Product loop pills (green) — consistent, never giant arches */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.fc-products ul.products li.product .button,
.fc-products ul.products li.product a.button,
.wc-block-components-product-button__button,
a.wp-block-button__link.wc-block-components-product-button__button {
  background: var(--fc-green) !important;
  color: #fff !important;
  font-size: 0.85rem !important;
  padding: 0.6rem 1.15rem !important;
  border-radius: var(--fc-pill) !important;
  min-height: 2.5rem !important;
  height: auto !important;
  aspect-ratio: auto !important;
  white-space: nowrap;
  width: auto !important;
  max-width: 100%;
}

/* —— Homepage —— */
.fc-home {
  background: var(--fc-cream);
}

.fc-hero {
  padding: 2.5rem 0 1.5rem;
}

.fc-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

.fc-hero h1 {
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  margin: 0 0 1rem;
}

.fc-lead {
  font-family: var(--fc-sans);
  font-size: 1.15rem;
  line-height: 1.5;
  color: #3d5344;
  margin: 0 0 1.75rem;
  max-width: 28rem;
}

.fc-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.fc-hero-img {
  border-radius: var(--fc-radius);
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(31, 61, 42, 0.12);
  aspect-ratio: 4 / 3;
  background: #e8e0d4;
}

.fc-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.fc-steps {
  padding: 0.5rem 0 2.5rem;
}

.fc-steps-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  background: #efeae2;
  border-radius: 1.1rem;
  padding: 1.25rem 1rem;
}

.fc-step {
  text-align: center;
  padding: 1rem 0.75rem;
}

.fc-step-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 0.85rem;
  border-radius: 50%;
  border: 1.5px solid var(--fc-green);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fc-green);
  background: var(--fc-cream-soft);
}

.fc-step h3 {
  font-size: 1.15rem;
  margin: 0 0 0.35rem;
}

.fc-step p {
  margin: 0;
  color: var(--fc-green-muted);
  font-size: 0.95rem;
}

/* Trust bar — white bar matching mockup */
.fc-trust {
  background: var(--fc-white);
  border-top: 1px solid rgba(31, 61, 42, 0.08);
  border-bottom: 1px solid rgba(31, 61, 42, 0.08);
}

.fc-trust-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  padding: 1.35rem 0;
}

.fc-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.88rem;
}

.fc-trust-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1.25px solid var(--fc-green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fc-green);
}

.fc-trust-item strong {
  display: block;
  font-family: var(--fc-sans);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--fc-green);
}

.fc-trust-item span {
  display: block;
  color: var(--fc-green-soft);
  font-size: 0.8rem;
  margin-top: 0.1rem;
}

.fc-market {
  padding: 3rem 0 0.5rem;
}

.fc-market h2 {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  margin: 0 0 0.5rem;
}

.fc-market-lede {
  color: var(--fc-green-muted);
  margin: 0 0 1.25rem;
}

.fc-products {
  padding: 0 0 1rem;
}

.fc-products ul.products,
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.fc-products ul.products::before,
.fc-products ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
  content: none !important;
}

.fc-products ul.products li.product,
.woocommerce ul.products li.product,
ul.products li.product,
.wc-block-grid__product,
.wc-block-product,
.wp-block-woocommerce-product-collection .wc-block-product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  text-align: center;
  background: transparent;
  display: flex !important;
  flex-direction: column;
  height: 100%;
  align-items: stretch;
}

/* Square cream frame — hides uneven white borders via cover crop */
.wc-block-grid__product-image,
.wc-block-components-product-image,
.wp-block-woocommerce-product-image {
  display: block;
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;
  border-radius: 0.85rem;
  background: #f0ebe3;
  margin: 0 0 0.65rem;
}

.fc-products ul.products li.product img,
.woocommerce ul.products li.product img,
ul.products li.product img,
.wc-block-grid__product-image img,
.wc-block-components-product-image img {
  display: block;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  height: auto !important;
  object-fit: cover;
  object-position: center;
  border-radius: 0.85rem;
  background: #f0ebe3;
  margin: 0 0 0.65rem !important;
}

/* When Woo wraps the image in an <a>, frame the anchor */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.fc-products ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  text-decoration: none;
  color: inherit;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.fc-products ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title,
.wc-block-components-product-name,
.wc-block-grid__product-title {
  font-family: var(--fc-serif);
  font-size: 1.05rem !important;
  font-weight: 600;
  padding: 0.35rem 0.15rem 0.2rem !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: calc(1.25em * 2);
  flex: 1 1 auto;
}

.woocommerce ul.products li.product .price,
.fc-products ul.products li.product .price,
ul.products li.product .price,
.wc-block-components-product-price,
.wc-block-grid__product-price {
  margin: 0.2rem 0 0.55rem !important;
  font-size: 0.95rem;
  font-weight: 600;
  flex-shrink: 0;
}

/* Pin Add to cart / Select options to card bottom */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.fc-products ul.products li.product .button,
.fc-products ul.products li.product a.button,
ul.products li.product .button,
.wc-block-components-product-button,
.wc-block-grid__product-add-to-cart {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  align-self: center;
  width: auto !important;
  flex-shrink: 0;
}

/* PDP layout: compact cream gallery + elegant summary */
.woocommerce div.product {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2rem 2.5rem;
}

.woocommerce div.product div.images,
.woocommerce div.product div.images .woocommerce-product-gallery {
  float: none !important;
  width: min(100%, 480px) !important;
  max-width: min(45%, 520px) !important;
  flex: 0 1 480px;
  margin: 0 !important;
}

.woocommerce div.product div.summary {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 280px;
  min-width: min(100%, 280px);
  margin: 0 !important;
  padding-top: 0.15rem;
}

/* Elegant PDP title */
.woocommerce div.product .product_title,
.woocommerce div.product h1.product_title.entry-title {
  font-family: var(--fc-serif) !important;
  font-weight: 500 !important;
  font-size: clamp(2.15rem, 4.2vw, 3.15rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em;
  color: var(--fc-green) !important;
  margin: 0 0 0.65rem !important;
}

.woocommerce div.product p.price {
  font-family: var(--fc-sans);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--fc-green);
  margin: 0 0 1.1rem;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .flex-viewport {
  width: 100% !important;
  max-width: 480px !important;
  max-height: 480px !important;
  border-radius: 1.15rem;
  overflow: hidden;
  background: #f0ebe3;
  aspect-ratio: 1 / 1;
  box-shadow: 0 10px 28px rgba(31, 61, 42, 0.07);
  border: 1px solid rgba(31, 61, 42, 0.06);
}

.woocommerce div.product div.images img,
.woocommerce div.product div.images .zoomImg {
  width: 100% !important;
  max-width: 480px !important;
  height: 100% !important;
  max-height: 480px !important;
  object-fit: contain;
  object-position: center;
  background: #f0ebe3;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: block;
  width: 100%;
  height: 100%;
}

.woocommerce div.product .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0 0 !important;
  padding: 0;
  max-width: 480px;
}

.woocommerce div.product .flex-control-thumbs li {
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  float: none !important;
  border-radius: 0.65rem;
  overflow: hidden;
  background: #f0ebe3;
  border: 1.5px solid rgba(31, 61, 42, 0.1);
}

.woocommerce div.product .flex-control-thumbs img {
  width: 100% !important;
  height: 100% !important;
  max-height: 64px !important;
  object-fit: cover;
  opacity: 0.85;
}

.woocommerce div.product .flex-control-thumbs .flex-active,
.woocommerce div.product .flex-control-thumbs img:hover {
  opacity: 1;
  border-color: rgba(196, 101, 58, 0.45);
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
  flex: 1 1 100%;
  width: 100%;
}

@media (max-width: 768px) {
  .woocommerce div.product div.images,
  .woocommerce div.product div.images .woocommerce-product-gallery {
    max-width: min(100%, 480px) !important;
    width: 100% !important;
    flex: 1 1 100%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Cart / checkout thumbnails */
.woocommerce table.cart img,
.woocommerce-cart-form img,
.wc-block-cart-item__image img,
.wc-block-components-product-image img {
  border-radius: 0.5rem;
  background: #f0ebe3;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.fc-shopall {
  text-align: center;
  padding: 1rem 1.5rem 3.5rem;
}

/* —— Content pages (contact, maps, generic page.php) —— */
.fc-main {
  min-height: 50vh;
  background: var(--fc-cream);
}

.fc-main:not(.fc-build-page) {
  padding: 0 0 2rem;
}

.fc-content {
  padding: 2.75rem 0 3.75rem;
}

.fc-article-header {
  margin-bottom: 1.5rem;
}

.fc-article-title,
.fc-main .entry-title,
.fc-main h1.entry-title {
  font-family: var(--fc-serif);
  font-size: clamp(1.9rem, 3.2vw, 2.7rem);
  font-weight: 600;
  color: var(--fc-green);
  margin: 0 0 1.25rem;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.fc-article-body {
  font-size: 1.05rem;
  color: var(--fc-green-mid);
  line-height: 1.65;
}

.fc-article-body > *:first-child {
  margin-top: 0;
}

/* Leftover Flatsome page-blank / white wrappers on Contact etc. */
body.flowercrates-theme.page-template-page-blank,
body.flowercrates-theme.page-template-default,
body.flowercrates-theme .page-blank,
body.flowercrates-theme.page {
  background: var(--fc-cream) !important;
}

body.flowercrates-theme .page-wrapper,
body.flowercrates-theme .page-blank,
body.flowercrates-theme .is-blank,
body.flowercrates-theme #wrapper,
body.flowercrates-theme #main {
  background: transparent !important;
}

body.flowercrates-theme .page-blank .col,
body.flowercrates-theme .page-blank .col-inner,
body.flowercrates-theme .page-blank .container {
  background: transparent !important;
  max-width: none;
}

body.flowercrates-theme .page-blank .fc-main,
body.flowercrates-theme .page-blank .fc-content,
body.flowercrates-theme .page-template-default .fc-content {
  background: transparent;
}

/* Hide default page title on front when using front-page.php hero */
body.fc-is-home .fc-site-header + .fc-main .entry-title:not(.fc-hero h1) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

/* —— Footer —— */
.fc-site-footer {
  background: var(--fc-green);
  color: var(--fc-cream);
  padding: 2.5rem 0;
  margin-top: auto;
}

.fc-footer-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  justify-content: space-between;
  align-items: flex-start;
}

.fc-logo--footer .fc-logo-name {
  color: var(--fc-cream);
}

.fc-logo--footer {
  display: inline-block;
}

.fc-footer-mission {
  font-family: var(--fc-serif);
  font-size: 1.15rem;
  margin: 0.5rem 0 0;
  max-width: 22rem;
  color: rgba(247, 243, 236, 0.92);
}

.fc-footer-meta {
  font-size: 0.9rem;
  color: rgba(247, 243, 236, 0.85);
}

.fc-footer-meta a {
  color: var(--fc-cream);
  text-decoration: none;
}

.fc-footer-meta a:hover {
  text-decoration: underline;
}

.fc-footer-copy {
  margin: 0.5rem 0 0;
  opacity: 0.75;
  font-size: 0.8rem;
}

/* —— Build Your Crate (soft florist configurator) —— */
/*
 * #1 visual fix: immersive full-bleed cream.
 * Site chrome hidden; no white side gutters from wrappers / Flatsome leftovers.
 */
html:has(body.fc-is-build) {
  background: var(--fc-cream) !important;
}

body.fc-is-build {
  background: var(--fc-cream) !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100%;
}

body.fc-is-build .fc-site-header,
body.fc-is-build .fc-site-footer,
body.fc-is-build header.fc-site-header,
body.fc-is-build footer.fc-site-footer,
body.fc-is-build .header-wrapper,
body.fc-is-build .footer-wrapper,
body.fc-is-build #header,
body.fc-is-build #footer,
body.fc-is-build .header,
body.fc-is-build header#header,
body.fc-is-build footer#footer {
  display: none !important;
}

/* Kill white gutters from leftover page-blank / wrapper shells */
body.fc-is-build #wrapper,
body.fc-is-build #main,
body.fc-is-build .page-wrapper,
body.fc-is-build .page-blank,
body.fc-is-build .is-blank,
body.fc-is-build .content-area,
body.fc-is-build #content,
body.fc-is-build .site,
body.fc-is-build .site-content,
body.fc-is-build .page,
body.fc-is-build .entry,
body.fc-is-build .entry-content,
body.fc-is-build #page,
body.fc-is-build .ux-panel {
  background: transparent !important;
  background-color: transparent !important;
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

body.fc-is-build .fc-main,
body.fc-is-build .fc-build-page,
body.fc-is-build main#primary {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background:
    radial-gradient(ellipse 80% 50% at 10% 0%, rgba(196, 101, 58, 0.07), transparent 55%),
    radial-gradient(ellipse 70% 40% at 90% 20%, rgba(31, 61, 42, 0.05), transparent 50%),
    var(--fc-cream) !important;
  padding: 1.5rem 0 3.5rem !important;
  min-height: 100vh;
}

.fc-build-chrome-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  width: 100%;
}

.fc-build-chrome-meta {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.fc-build-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  background: var(--fc-cream-soft);
  border: 1px solid rgba(31, 61, 42, 0.1);
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(31, 61, 42, 0.05);
  line-height: 1;
}

.fc-build-cart:hover {
  border-color: rgba(31, 61, 42, 0.28);
}

.fc-build-page {
  /* background handled by body.fc-is-build rules above */
  padding: 1.5rem 0 3.5rem;
  min-height: 100vh;
}

.fc-build {
  /* Inner content ~1280px; cream is full viewport behind it */
  width: min(1280px, calc(100% - 2.5rem));
  margin: 0 auto;
}

.fc-build-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

/* Soft chrome: brand + step pills */
.fc-build-chrome {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(31, 61, 42, 0.08);
  border-radius: 1.35rem;
  box-shadow: 0 10px 36px rgba(31, 61, 42, 0.06);
  padding: 1.15rem 1.5rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.85rem;
}

.fc-build-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 0;
}

.fc-build-brand-img {
  display: block;
  height: 34px;
  width: auto;
  max-width: 190px;
  object-fit: contain;
}

.fc-build-tagline {
  font-family: var(--fc-serif);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--fc-green);
  margin: 0;
  letter-spacing: 0.01em;
  flex: 1 1 auto;
}

.fc-steps-bar {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  margin-top: 0.15rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(31, 61, 42, 0.07);
}

@media (max-width: 720px) {
  .fc-step-pill .fc-step-name {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }

  .fc-step-connector {
    flex: 1 1 0.5rem;
    max-width: 2rem;
  }
}

.fc-step-pill {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.75rem 0.4rem 0.4rem;
  border-radius: 999px;
  font-family: var(--fc-sans);
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--fc-green-soft);
  transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.fc-step-pill:disabled {
  cursor: default;
  opacity: 0.55;
}

.fc-step-pill:not(:disabled):hover {
  color: var(--fc-green);
  background: rgba(31, 61, 42, 0.05);
}

.fc-step-pill .dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: rgba(31, 61, 42, 0.08);
  color: var(--fc-green-soft);
  font-size: 0.75rem;
  font-weight: 600;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.fc-step-pill.active {
  color: var(--fc-green);
  background: rgba(31, 61, 42, 0.06);
}

.fc-step-pill.active .dot {
  background: var(--fc-green);
  color: #fff;
  box-shadow: 0 4px 12px rgba(31, 61, 42, 0.22);
}

.fc-step-pill.done {
  color: var(--fc-green);
}

.fc-step-pill.done .dot {
  background: rgba(196, 101, 58, 0.18);
  color: var(--fc-terra);
}

.fc-step-pill.done:not(:disabled):hover .dot {
  background: rgba(196, 101, 58, 0.28);
}


.fc-step-pill.is-current {
  color: var(--fc-green);
  background: rgba(31, 61, 42, 0.06);
}

.fc-step-pill.is-current .dot {
  background: var(--fc-green);
  color: #fff;
  box-shadow: 0 4px 12px rgba(31, 61, 42, 0.22);
}

.fc-step-pill.is-done {
  color: var(--fc-green);
}

.fc-step-pill.is-done .dot {
  background: rgba(196, 101, 58, 0.18);
  color: var(--fc-terra);
}

.fc-step-pill.is-done:not(:disabled):hover .dot {
  background: rgba(196, 101, 58, 0.28);
}

.fc-step-pill.is-upcoming {
  color: var(--fc-green-soft);
}

.fc-build-nav .ghost:disabled {
  opacity: 0.4;
  cursor: default;
}

.fc-build-nav .ghost:disabled:hover {
  background: transparent;
}


.fc-step-name {
  white-space: nowrap;
}

.fc-step-connector {
  flex: 1 1 1.25rem;
  height: 1px;
  min-width: 0.75rem;
  max-width: 3.5rem;
  background: rgba(31, 61, 42, 0.12);
  border-radius: 1px;
  transition: background 0.25s ease;
}

.fc-step-connector.filled {
  background: rgba(196, 101, 58, 0.45);
}

/* Main grid */
.fc-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.35fr);
  gap: 1.75rem;
  align-items: start;
}

.fc-preview {
  position: sticky;
  top: 1.25rem;
  background: rgba(255, 254, 251, 0.96);
  border: 1px solid rgba(31, 61, 42, 0.07);
  border-radius: 1.4rem;
  box-shadow: 0 16px 44px rgba(31, 61, 42, 0.08);
  padding: 1.45rem 1.45rem 1.6rem;
}

.fc-preview h2 {
  font-family: var(--fc-serif);
  font-size: 1.45rem;
  color: var(--fc-green);
  margin: 0 0 0.2rem;
  font-weight: 500;
}

.fc-preview .hint {
  font-family: var(--fc-sans);
  font-size: 0.78rem;
  color: var(--fc-green-soft);
  margin: 0 0 1rem;
  letter-spacing: 0.02em;
}

.fc-preview-img {
  border-radius: 1rem;
  overflow: hidden;
  background: var(--fc-cream);
  aspect-ratio: 1 / 1;
  margin-bottom: 1.1rem;
}

.fc-preview-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fc-summary--side .row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.4rem 0;
  font-family: var(--fc-sans);
  font-size: 0.88rem;
  color: var(--fc-green-soft);
  border-bottom: 1px solid rgba(31, 61, 42, 0.06);
}

.fc-summary--side .row:last-child {
  border-bottom: none;
}

.fc-summary--side .row span:first-child {
  color: var(--fc-green);
}

.fc-summary--side .total {
  margin-top: 0.35rem;
  padding-top: 0.65rem;
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--fc-green);
  border-top: 1px solid rgba(31, 61, 42, 0.1);
  border-bottom: none;
}

.fc-summary--side .total span {
  color: var(--fc-green) !important;
}

.fc-panel-col {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.fc-panel {
  background: rgba(255, 254, 251, 0.92);
  border: 1px solid rgba(31, 61, 42, 0.07);
  border-radius: 1.4rem;
  box-shadow: 0 12px 36px rgba(31, 61, 42, 0.05);
  padding: 2rem 2rem 1.75rem;
}

.fc-panel[hidden] {
  display: none !important;
}

.fc-panel h1 {
  font-family: var(--fc-serif);
  font-size: clamp(1.85rem, 3vw, 2.35rem);
  color: var(--fc-green);
  margin: 0 0 0.45rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.fc-panel .step-label {
  font-family: var(--fc-sans);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fc-terra);
  margin: 0 0 0.55rem;
}

.fc-panel .lede,
.fc-panel .size-q {
  font-family: var(--fc-sans);
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--fc-green-soft);
  margin: 0 0 1.35rem;
  max-width: 36em;
}

.fc-panel .size-label {
  font-family: var(--fc-sans);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fc-green);
  margin: 1.75rem 0 0.35rem;
}

.fc-panel .size-q {
  margin-bottom: 0.85rem;
}

/* Option cards — soft photo cards, cream frames, gentle terra ring */
.fc-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem;
}

.fc-cards--flowers,
.fc-cards--vessels {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-card {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  background: #fffefb;
  border: 1px solid rgba(31, 61, 42, 0.07);
  border-radius: 1.25rem;
  padding: 0.7rem 0.7rem 1rem;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(31, 61, 42, 0.06);
  transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease, background 0.22s ease;
  font: inherit;
  color: inherit;
  min-height: 100%;
  overflow: hidden;
}

.fc-card:hover {
  border-color: rgba(31, 61, 42, 0.14);
  box-shadow: 0 14px 32px rgba(31, 61, 42, 0.1);
  transform: translateY(-3px);
}

.fc-card.selected {
  border-color: transparent;
  background: #fff;
  box-shadow:
    0 0 0 3px rgba(196, 101, 58, 0.35),
    0 12px 28px rgba(31, 61, 42, 0.1);
}

.fc-card .check {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(4px);
  z-index: 2;
  font-size: 0;
  color: transparent;
  box-shadow: 0 2px 8px rgba(31, 61, 42, 0.12);
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.fc-card.selected .check {
  background: var(--fc-terra);
  border-color: var(--fc-terra);
  box-shadow: inset 0 0 0 3px #fff, 0 2px 8px rgba(196, 101, 58, 0.35);
}

.fc-card img {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  border-radius: 0.95rem;
  margin-bottom: 0.8rem;
  background: #efe8dc;
}

.fc-card-media {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 4;
  border-radius: 0.95rem;
  margin-bottom: 0.8rem;
  overflow: hidden;
  background:
    linear-gradient(145deg, #f3ebe1, #e8efe9);
  box-shadow: inset 0 0 0 1px rgba(31, 61, 42, 0.04);
}

.fc-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
  aspect-ratio: auto;
}

/* Styles get a slightly taller photo for boutique presence */
#fc-styles .fc-card-media {
  aspect-ratio: 4 / 3;
}

.fc-card-media--soft {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 30% 30%, rgba(196, 101, 58, 0.12), transparent 55%),
    linear-gradient(145deg, #f3ebe1, #e7efe8);
}

.fc-card-mono {
  display: none; /* letter monograms retired — photo cards only */
}

.fc-card strong {
  font-family: var(--fc-serif);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--fc-green);
  line-height: 1.25;
  margin: 0 0.25rem 0.25rem;
}

.fc-card em {
  font-family: var(--fc-sans);
  font-style: normal;
  font-size: 0.84rem;
  color: var(--fc-green-soft);
  line-height: 1.45;
  margin: 0 0.25rem 0.55rem;
  flex: 1 1 auto;
}

.fc-card .price {
  font-family: var(--fc-sans);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--fc-terra);
  margin: 0.1rem 0.25rem 0;
}

.fc-cards.fc-need,
.fc-fields .fc-need {
  animation: fc-soft-shake 0.45s ease;
}

@keyframes fc-soft-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.fc-sizes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.fc-sizes button {
  appearance: none;
  -webkit-appearance: none;
  border: 1.5px solid rgba(31, 61, 42, 0.14);
  background: var(--fc-cream);
  color: var(--fc-green);
  font-family: var(--fc-sans);
  font-size: 0.9rem;
  font-weight: 500;
  padding: 0.65rem 1.15rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.fc-sizes button:hover {
  border-color: rgba(31, 61, 42, 0.3);
}

.fc-sizes button.selected {
  background: var(--fc-green);
  border-color: var(--fc-green);
  color: #fff;
  box-shadow: 0 6px 16px rgba(31, 61, 42, 0.18);
}

.fc-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.1rem;
}

.fc-fields label {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-family: var(--fc-sans);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--fc-green);
}

.fc-fields label:nth-child(3),
.fc-fields label:nth-child(4) {
  grid-column: 1 / -1;
}

.fc-fields input,
.fc-fields select,
.fc-fields textarea {
  font-family: var(--fc-sans);
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--fc-green);
  background: #f3ebe0;
  border: 1.5px solid rgba(31, 61, 42, 0.1);
  border-radius: 0.95rem;
  padding: 0.85rem 1.05rem;
  box-shadow: inset 0 1px 2px rgba(31, 61, 42, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.fc-fields input:focus,
.fc-fields select:focus,
.fc-fields textarea:focus {
  outline: none;
  border-color: rgba(196, 101, 58, 0.55);
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.15);
  background: #fff;
}

.fc-fields input.fc-need,
.fc-fields textarea.fc-need {
  border-color: var(--fc-terra);
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18);
}

/* Sticky-feeling bottom nav */
.fc-build-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(31, 61, 42, 0.08);
  border-radius: 1.2rem;
  box-shadow: 0 10px 28px rgba(31, 61, 42, 0.06);
  padding: 1rem 1.25rem;
}

.fc-build-nav .ghost,
.fc-build-nav .primary {
  appearance: none;
  -webkit-appearance: none;
  font-family: var(--fc-sans);
  font-size: 0.95rem;
  font-weight: 600;
  padding: 0.8rem 1.35rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
  border: 1.5px solid transparent;
}

.fc-build-nav .ghost {
  background: transparent;
  color: var(--fc-green);
  border-color: rgba(31, 61, 42, 0.28);
  margin-right: auto;
}

.fc-build-nav .ghost:hover {
  background: rgba(31, 61, 42, 0.05);
}

.fc-build-nav .primary {
  background: var(--fc-terra);
  color: #fff;
  box-shadow: 0 8px 20px rgba(196, 101, 58, 0.28);
}

.fc-build-nav .primary:hover {
  background: var(--fc-terra-hover);
  transform: translateY(-1px);
}

.fc-build-nav .primary[hidden],
.fc-build-nav .ghost[hidden] {
  display: none !important;
}

.fc-secure {
  font-family: var(--fc-sans);
  font-size: 0.78rem;
  color: var(--fc-green-soft);
  margin: 0;
  width: 100%;
  text-align: center;
  order: 3;
}

/* Legacy summary (unused in new layout, keep harmless) */
.fc-summary:not(.fc-summary--side) {
  display: none;
}

.fc-actions {
  display: none;
}

/* —— Woo wrappers —— */
.fc-woo {
  padding: 2rem 0 3rem;
}

/* product_title styled in PDP block above */

.woocommerce div.product p.price,
.woocommerce ul.products li.product .price {
  color: var(--fc-green);
  font-family: var(--fc-sans);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--fc-green);
  border-radius: 0.75rem;
}

.woocommerce table.shop_table {
  border-radius: 0.75rem;
  overflow: hidden;
}

/* —— Sitewide Woo / pages: homepage cream feel —— */
body.flowercrates-theme,
body.flowercrates-theme.fc-woo-surface,
body.flowercrates-theme.woocommerce-page,
body.flowercrates-theme.woocommerce-cart,
body.flowercrates-theme.woocommerce-checkout,
body.flowercrates-theme.woocommerce-account {
  background: var(--fc-cream);
  color: var(--fc-green);
}

.fc-main,
.fc-woo,
.fc-content {
  background: transparent;
}

.woocommerce-page .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce,
.fc-woo .woocommerce {
  font-family: var(--fc-sans);
  color: var(--fc-green);
}

.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-account h1,
.fc-woo h1,
.fc-woo .product_title {
  font-family: var(--fc-serif);
  color: var(--fc-green);
}

/* Kill white slabs / giant arches from default Woo / blocks */
.woocommerce form.cart,
.woocommerce div.product,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout .woocommerce-checkout,
.woocommerce-account .woocommerce,
.wc-block-cart,
.wc-block-checkout {
  background: transparent;
}

.woocommerce table.shop_table,
.woocommerce-cart table.cart,
.woocommerce-checkout-review-order-table,
.wc-block-cart table {
  background: var(--fc-white);
  border: 1px solid rgba(31, 61, 42, 0.08);
  border-radius: 1rem;
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.wc-block-components-sidebar,
.wc-block-components-main {
  background: rgba(255, 254, 251, 0.95);
  border-radius: 1rem;
  border: 1px solid rgba(31, 61, 42, 0.08);
  padding: 1.25rem 1.35rem;
  box-shadow: 0 8px 24px rgba(31, 61, 42, 0.06);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.55rem 0.25rem;
  text-decoration: none;
  color: var(--fc-green);
  font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  color: var(--fc-terra);
  font-weight: 700;
}

/* Checkout / cart / account form fields — larger, on-brand */
.woocommerce form .form-row label,
.woocommerce-checkout .form-row label,
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-additional-fields label,
.woocommerce-account form label {
  display: block;
  font-family: var(--fc-sans) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: var(--fc-green) !important;
  margin-bottom: 0.4rem;
  letter-spacing: 0.01em;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-cart .quantity input.qty,
.woocommerce form .quantity input.qty,
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-select select,
select.wc-enhanced-select,
.select2-container--default .select2-selection--single {
  min-height: 48px !important;
  border: 1.5px solid rgba(31, 61, 42, 0.16) !important;
  border-radius: 0.75rem !important;
  background: var(--fc-cream-soft) !important;
  color: var(--fc-green) !important;
  padding: 0.8rem 1rem !important;
  font-family: var(--fc-sans) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  box-shadow: inset 0 1px 2px rgba(31, 61, 42, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  width: 100%;
  max-width: 100%;
  appearance: none;
  -webkit-appearance: none;
}

.woocommerce form .form-row textarea,
.woocommerce-checkout textarea {
  min-height: 96px !important;
  resize: vertical;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce form .quantity input.qty:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-textarea textarea:focus {
  outline: none !important;
  border-color: rgba(196, 101, 58, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18) !important;
  background: #fff !important;
}

.select2-container--default .select2-selection--single {
  display: flex !important;
  align-items: center;
  height: 48px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--fc-green) !important;
  line-height: 48px !important;
  padding-left: 1rem !important;
  font-family: var(--fc-sans);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
  right: 0.65rem !important;
}

/* Order review + payment cream cards */
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
  background: var(--fc-cream-soft) !important;
  border-radius: 1.15rem !important;
  border: 1px solid rgba(31, 61, 42, 0.08) !important;
  padding: 1.35rem 1.45rem !important;
  box-shadow: 0 10px 28px rgba(31, 61, 42, 0.06);
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: rgba(255, 254, 251, 0.92) !important;
  border-radius: 1.15rem !important;
  border: 1px solid rgba(31, 61, 42, 0.08) !important;
  padding: 1.35rem 1.45rem !important;
  box-shadow: 0 8px 24px rgba(31, 61, 42, 0.05);
  margin-bottom: 1.25rem;
}

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--fc-terra) !important;
  color: #fff !important;
  border-radius: var(--fc-pill) !important;
  padding: 0.9rem 1.5rem !important;
  font-weight: 600 !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  width: auto !important;
  max-width: 100%;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--fc-green) !important;
  color: #fff !important;
  border-radius: var(--fc-pill) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
  filter: brightness(1.05);
}

.woocommerce-message,
.woocommerce-info {
  background: #eef3ef;
  color: var(--fc-green);
  border-top-color: var(--fc-green);
  border-radius: 0.85rem;
}

.woocommerce-error {
  background: #f8ebe6;
  color: var(--fc-terra-hover);
  border-top-color: var(--fc-terra);
  border-radius: 0.85rem;
}

.woocommerce span.onsale {
  background: var(--fc-terra);
  border-radius: var(--fc-pill);
  font-family: var(--fc-sans);
  min-height: 2rem;
  line-height: 2rem;
  padding: 0 0.75rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: #efeae2;
  border-radius: 0.65rem 0.65rem 0 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--fc-white);
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--fc-white);
  border-radius: 0 0 1rem 1rem;
  padding: 1.25rem;
}

/* Block checkout / cart cream continuity */
.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  background: transparent !important;
  color: var(--fc-green);
}

/* —— Zelle / Venmo thank-you modal —— */
.fc-zelle-overlay {
  position: fixed;
  inset: 0;
  background: rgba(31, 61, 42, 0.48);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  z-index: 99999;
  backdrop-filter: blur(2px);
}

.fc-zelle-overlay.is-dismissed,
.fc-zelle-overlay[aria-hidden="true"] {
  display: none !important;
}

.fc-zelle-modal {
  position: relative;
  background: var(--fc-cream);
  border-radius: 1.35rem;
  box-shadow: 0 28px 70px rgba(31, 61, 42, 0.28);
  padding: 2rem 1.75rem 1.35rem;
  width: min(100%, 440px);
  text-align: center;
  font-family: var(--fc-sans);
  color: var(--fc-green);
  border: 1px solid rgba(31, 61, 42, 0.08);
}

.fc-zelle-close {
  position: absolute;
  top: 0.65rem;
  right: 0.75rem;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  background: transparent;
  color: var(--fc-green-soft);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  font-family: var(--fc-sans);
}

.fc-zelle-close:hover,
.fc-zelle-close:focus-visible {
  background: #efeae2;
  color: var(--fc-green);
  outline: none;
}

.fc-zelle-status {
  margin-bottom: 0.65rem;
}

.fc-zelle-check {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #dce8df;
  color: var(--fc-green);
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.15rem;
}

.fc-zelle-modal h2 {
  font-family: var(--fc-serif);
  font-size: 1.85rem;
  margin: 0 0 0.35rem;
  color: var(--fc-green);
}

.fc-zelle-meta {
  margin: 0 0 1rem;
  color: var(--fc-green-muted);
  font-size: 0.95rem;
}

.fc-zelle-modal h3 {
  font-family: var(--fc-sans);
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
  color: var(--fc-green);
}

.fc-zelle-intro {
  margin: 0 0 0.9rem;
  font-size: 0.9rem;
  color: var(--fc-green-soft);
}

.fc-zelle-methods {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.fc-pay-venmo,
.fc-pay-zelle {
  border: none;
  border-radius: 0.85rem;
  padding: 0.85rem 0.75rem;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  font-family: var(--fc-sans);
  font-size: 0.95rem;
}

.fc-pay-venmo {
  background: #3d95ce;
}

.fc-pay-zelle {
  background: #6d1ed4;
}

.fc-pay-zelle.is-active,
.fc-pay-venmo.is-active {
  outline: 2px solid var(--fc-green);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(31, 61, 42, 0.12);
}

.fc-pay-logo {
  display: inline-flex;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.85rem;
}

.fc-zelle-box {
  border: 1.5px solid var(--fc-border);
  border-radius: 0.95rem;
  padding: 0.95rem;
  text-align: left;
  background: var(--fc-white);
}

.fc-zelle-label {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 0.4rem;
}

.fc-zelle-row {
  display: flex;
  gap: 0.5rem;
}

.fc-zelle-row input {
  flex: 1;
  border: 1px solid var(--fc-border);
  border-radius: 0.55rem;
  padding: 0.55rem 0.7rem;
  font: inherit;
  background: var(--fc-cream-soft);
  color: var(--fc-green);
  min-width: 0;
}

.fc-zelle-copy {
  border: none;
  background: var(--fc-terra);
  color: #fff;
  border-radius: var(--fc-pill);
  padding: 0.55rem 1rem;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--fc-sans);
  white-space: nowrap;
}

.fc-zelle-copy:hover {
  background: var(--fc-terra-hover);
}

.fc-zelle-help {
  margin: 0.65rem 0 0;
  font-size: 0.88rem;
  color: var(--fc-green-muted);
  line-height: 1.45;
}

.fc-zelle-later {
  margin-top: 1rem;
  background: none;
  border: none;
  color: var(--fc-green-soft);
  cursor: pointer;
  font-family: var(--fc-sans);
  font-size: 0.9rem;
  text-decoration: underline;
  padding: 0.35rem;
}

.fc-zelle-later:hover {
  color: var(--fc-green);
}

@media (max-width: 480px) {
  .fc-zelle-modal {
    padding: 1.65rem 1.15rem 1.15rem;
  }

  .fc-zelle-methods {
    grid-template-columns: 1fr;
  }
}

/* —— Responsive —— */
@media (max-width: 900px) {
  .fc-hero-grid {
    grid-template-columns: 1fr;
    padding-top: 0.5rem;
  }

  .fc-steps-inner {
    grid-template-columns: 1fr;
  }

  .fc-trust-inner {
    grid-template-columns: 1fr 1fr;
  }

  .fc-products ul.products,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
  }

  .fc-grid {
    grid-template-columns: 1fr;
  }

  .fc-preview {
    position: static;
  }

  .fc-cards--flowers,
  .fc-cards--vessels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fc-build {
    width: min(1280px, calc(100% - 1.5rem));
  }
}

@media (max-width: 720px) {
  .fc-nav-toggle {
    display: inline-block;
  }

  .fc-nav-panel {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--fc-cream);
    border-bottom: 1px solid rgba(31, 61, 42, 0.1);
    padding: 0.75rem 1rem 1rem;
  }

  .fc-nav-panel.is-open {
    display: block;
  }

  .fc-nav {
    position: static;
  }

  .fc-site-header .fc-header-inner {
    position: relative;
    flex-wrap: wrap;
  }

  .fc-nav-list {
    flex-direction: column;
    gap: 0.65rem;
  }

  .fc-trust-inner {
    grid-template-columns: 1fr;
  }

  .fc-cards,
  .fc-cards--flowers,
  .fc-cards--vessels {
    grid-template-columns: 1fr;
  }

  .fc-fields {
    grid-template-columns: 1fr;
  }

  .fc-fields label:nth-child(3),
  .fc-fields label:nth-child(4) {
    grid-column: auto;
  }

  .fc-build-chrome {
    padding: 1rem 1.1rem 1.15rem;
  }

  .fc-step-name {
    display: none;
  }

  .fc-steps-bar {
    justify-content: space-between;
    width: 100%;
  }

  .fc-step-connector {
    max-width: none;
    flex: 1 1 auto;
  }

  .fc-panel {
    padding: 1.35rem 1.15rem 1.25rem;
  }

  .fc-build-nav .ghost {
    margin-right: 0;
    width: 100%;
    text-align: center;
  }

  .fc-build-nav .primary {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 520px) {
  .fc-products ul.products,
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}

/* Arrangements gallery grid */
.gallery {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2.5rem;
}
.gallery .gallery-item {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}
.gallery .gallery-icon img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 0.85rem;
  background: #f0ebe3;
}
.gallery .gallery-caption {
  font-size: 0.8rem;
  color: var(--fc-green-muted, #4a5f50);
  margin-top: 0.4rem;
}
@media (max-width: 900px) {
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 520px) {
  .gallery { grid-template-columns: 1fr !important; }
}

/* —— Quantity (PDP + cart): larger, on-brand —— */
.woocommerce .quantity {
  display: inline-flex !important;
  align-items: center;
  gap: 0;
  margin: 0 0.75rem 0 0 !important;
}

.woocommerce .quantity .qty,
.woocommerce div.product form.cart .quantity .qty,
.woocommerce-cart table.cart .quantity .qty,
.woocommerce form .quantity input.qty {
  width: 4.25rem !important;
  min-width: 4.25rem !important;
  max-width: 5rem !important;
  min-height: 48px !important;
  height: 48px !important;
  text-align: center !important;
  font-family: var(--fc-sans) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--fc-green) !important;
  background: var(--fc-cream-soft) !important;
  border: 1.5px solid rgba(31, 61, 42, 0.18) !important;
  border-radius: 0.75rem !important;
  padding: 0.4rem 0.5rem !important;
  box-shadow: inset 0 1px 2px rgba(31, 61, 42, 0.03);
  -moz-appearance: textfield;
  appearance: textfield;
}

.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce .quantity .qty:focus {
  outline: none !important;
  border-color: rgba(196, 101, 58, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18) !important;
  background: #fff !important;
}

/* +/- buttons if a qty plugin / theme markup adds them */
.woocommerce .quantity .minus,
.woocommerce .quantity .plus,
.woocommerce .quantity button.minus,
.woocommerce .quantity button.plus {
  width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 0.75rem !important;
  border: 1.5px solid rgba(31, 61, 42, 0.18) !important;
  background: #fffefb !important;
  color: var(--fc-green) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.woocommerce .quantity .minus:hover,
.woocommerce .quantity .plus:hover {
  border-color: rgba(196, 101, 58, 0.5) !important;
  color: var(--fc-terra) !important;
}

.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 0.5rem;
  margin-top: 1.25rem;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  min-height: 48px !important;
  padding: 0.85rem 1.6rem !important;
}

/* Compact delivery date wrapper */
.fc-field-date { display: block; max-width: 240px; margin-bottom: 1.25rem; }

/* Space between delivery date and the next field/box (Card/Personal message) */
.pewc-item.pewc-item-field-type-date,
.pewc-item.pewc-date,
.pewc-field-date,
.pewc-product-extra-groups .pewc-item:has(input[type="date"]),
.woocommerce div.product form.cart .pewc-item:has(input[type="date"]),
.fc-field-date + *,
#fc-date {
  margin-bottom: 1.35rem !important;
}
.pewc-item:has(input[type="date"]) + .pewc-item,
.pewc-item:has(input[type="date"]) + .fc-personal-message,
.fc-field-date + .fc-personal-message,
.fc-field-date + .pewc-item {
  margin-top: 0.35rem;
}

/* —— Delivery date: calendar control look —— */
#fc-date,
.fc-fields input[type="date"],
.woocommerce input[type="date"],
.woocommerce-checkout input[type="date"],
.pewc-item input[type="date"],
.pewc-date input[type="date"],
.pewc-product-extra-field input[type="date"],
input.pewc-date-field,
.pewc-field-date input {
  max-width: 240px !important;
  width: 240px !important;
  min-height: 44px !important;
  font-family: var(--fc-sans) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--fc-green) !important;
  background-color: var(--fc-cream-soft) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23c4653a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.95rem center !important;
  background-size: 1.15rem 1.15rem !important;
  border: 1.5px solid rgba(31, 61, 42, 0.16) !important;
  border-radius: 0.75rem !important;
  padding: 0.8rem 2.6rem 0.8rem 1rem !important;
  cursor: pointer;
  box-shadow: inset 0 1px 2px rgba(31, 61, 42, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  color-scheme: light;
}

#fc-date:focus,
.fc-fields input[type="date"]:focus,
.fc-date-input:focus,
.woocommerce input[type="date"]:focus,
.pewc-item input[type="date"]:focus,
.pewc-date input[type="date"]:focus,
.pewc-product-extra-field input[type="date"]:focus {
  outline: none !important;
  border-color: rgba(196, 101, 58, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18) !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23c4653a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.95rem center !important;
  background-size: 1.15rem 1.15rem !important;
}
input.pewc-date-field:focus,
.fc-date-wrap input:focus {
  outline: none !important;
  border-color: rgba(196, 101, 58, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18) !important;
  background-color: #fff !important;
  background-image: none !important;
}

/* Hide native calendar glyph — keep our single terra SVG background icon */
#fc-date::-webkit-calendar-picker-indicator,
.fc-fields input[type="date"]::-webkit-calendar-picker-indicator,
.fc-date-input::-webkit-calendar-picker-indicator,
.woocommerce input[type="date"]::-webkit-calendar-picker-indicator,
.pewc-item input[type="date"]::-webkit-calendar-picker-indicator,
.pewc-date input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  position: absolute;
  right: 0;
  width: 2.75rem;
  height: 100%;
  cursor: pointer;
  margin: 0;
}

#fc-date,
.fc-fields input[type="date"],
.fc-date-input {
  position: relative;
}

/* PEWC date: icon comes from .fc-date-cal-btn, not a second background glyph */
input.pewc-date-field,
input.pewc-form-field.pewc-date-field,
.fc-date-wrap input.pewc-date-field {
  cursor: text !important;
  padding-right: 2.75rem !important;
  background-image: none !important;
  background-color: var(--fc-cream-soft) !important;
}

/* jQuery UI datepicker (PEWC) — FlowerCrates look */
.ui-datepicker {
  background: #fff !important;
  border: 1.5px solid rgba(31, 61, 42, 0.14) !important;
  border-radius: 0.85rem !important;
  box-shadow: 0 12px 32px rgba(31, 61, 42, 0.12) !important;
  padding: 0.65rem 0.75rem 0.85rem !important;
  font-family: var(--fc-sans) !important;
  z-index: 100100 !important;
}
.ui-datepicker .ui-datepicker-header {
  background: transparent !important;
  border: none !important;
  color: var(--fc-green) !important;
  font-weight: 600;
}
.ui-datepicker th {
  color: var(--fc-green-soft) !important;
  font-weight: 500 !important;
  font-size: 0.8rem;
}
.ui-datepicker td a,
.ui-datepicker td span {
  border-radius: 0.45rem !important;
  text-align: center !important;
}
.ui-datepicker td a.ui-state-default {
  background: transparent !important;
  border: none !important;
  color: var(--fc-green) !important;
}
.ui-datepicker td a.ui-state-hover,
.ui-datepicker td a.ui-state-active,
.ui-datepicker td a.ui-state-highlight {
  background: var(--fc-terra) !important;
  color: #fff !important;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  cursor: pointer;
  border-radius: 0.4rem;
}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
  background: var(--fc-cream) !important;
  border: none !important;
}

/* PEWC field labels on PDP */
.pewc-product-extra-groups label,
.pewc-item label,
.pewc-field-label {
  font-family: var(--fc-sans) !important;
  font-weight: 500 !important;
  color: var(--fc-green) !important;
  font-size: 0.9rem !important;
}

.pewc-item input[type="text"],
.pewc-item textarea,
.pewc-item select,
.pewc-product-extra-field input[type="text"],
.pewc-product-extra-field textarea {
  min-height: 48px !important;
  border: 1.5px solid rgba(31, 61, 42, 0.16) !important;
  border-radius: 0.75rem !important;
  background: var(--fc-cream-soft) !important;
  color: var(--fc-green) !important;
  padding: 0.8rem 1rem !important;
  font-family: var(--fc-sans) !important;
  font-size: 1rem !important;
}

.pewc-item input:focus,
.pewc-item textarea:focus,
.pewc-product-extra-field input:focus {
  outline: none !important;
  border-color: rgba(196, 101, 58, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18) !important;
  background: #fff !important;
}

/* —— Checkout: Zelle / Venmo notice + payment highlight —— */
.fc-pay-notice {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  background: linear-gradient(135deg, #eef3ef 0%, #f7f0e8 100%);
  border: 1.5px solid rgba(31, 61, 42, 0.12);
  border-left: 4px solid var(--fc-terra);
  border-radius: 1rem;
  padding: 1.1rem 1.25rem;
  margin: 0 0 1.35rem;
  box-shadow: 0 8px 22px rgba(31, 61, 42, 0.06);
  font-family: var(--fc-sans);
  color: var(--fc-green);
}

.fc-pay-notice__icon {
  flex: 0 0 auto;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: rgba(196, 101, 58, 0.14);
  color: var(--fc-terra);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  line-height: 1;
}

.fc-pay-notice__body {
  min-width: 0;
}

.fc-pay-notice__title {
  font-family: var(--fc-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--fc-green);
  margin: 0 0 0.25rem;
  line-height: 1.2;
}

.fc-pay-notice__text {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--fc-green-muted);
}

.fc-pay-notice__handles {
  margin: 0.55rem 0 0;
  font-size: 0.9rem;
  color: var(--fc-green);
}

.fc-pay-notice__handles strong {
  font-weight: 600;
  color: var(--fc-terra);
}

/* Highlight BACS / Zelle or Venmo payment method */
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  border: none;
}

.woocommerce-checkout #payment ul.payment_methods > li {
  background: #fffefb;
  border: 1.5px solid rgba(31, 61, 42, 0.1);
  border-radius: 0.95rem;
  padding: 0.95rem 1.1rem;
  margin: 0 0 0.75rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.woocommerce-checkout #payment ul.payment_methods > li:hover {
  border-color: rgba(31, 61, 42, 0.2);
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_bacs,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_bacs {
  background: linear-gradient(180deg, #fff9f4 0%, #f7f3ec 100%);
  border: 2px solid rgba(196, 101, 58, 0.45);
  box-shadow: 0 8px 22px rgba(196, 101, 58, 0.12);
  padding: 1.15rem 1.25rem;
}

.woocommerce-checkout #payment ul.payment_methods li.payment_method_bacs label {
  font-family: var(--fc-sans) !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  color: var(--fc-green) !important;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li.payment_method_bacs label::after {
  content: "Recommended";
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(196, 101, 58, 0.14);
  color: var(--fc-terra);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  vertical-align: middle;
}

.woocommerce-checkout #payment div.payment_box.payment_method_bacs,
.woocommerce-checkout #payment .payment_box.payment_method_bacs {
  background: rgba(255, 255, 255, 0.72) !important;
  border-radius: 0.75rem !important;
  border: 1px solid rgba(196, 101, 58, 0.2);
  color: var(--fc-green) !important;
  padding: 0.9rem 1rem !important;
  margin: 0.75rem 0 0 !important;
  font-size: 0.95rem;
  line-height: 1.5;
}

.woocommerce-checkout #payment div.payment_box.payment_method_bacs::before {
  display: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  width: 1.15rem;
  height: 1.15rem;
  accent-color: var(--fc-terra);
  margin-right: 0.45rem;
}

/* Cart notice twin (optional) */
.woocommerce-cart .fc-pay-notice {
  margin-top: 0.5rem;
}


.fc-personal-message {
  margin: 1rem 0 1.25rem;
  max-width: 28rem;
}
.fc-personal-message label {
  display: block;
  font-family: var(--fc-sans);
  font-weight: 500;
  color: var(--fc-green);
  font-size: 0.9rem;
  margin-bottom: 0.4rem;
}
.fc-personal-message textarea {
  width: 100%;
  min-height: 72px;
  border-radius: 0.75rem;
  border: 1.5px solid rgba(31, 61, 42, 0.16);
  background: var(--fc-cream-soft, #faf7f2);
  color: var(--fc-green);
  padding: 0.75rem 1rem;
  font-family: var(--fc-sans);
  font-size: 1rem;
}
.fc-personal-message textarea:focus {
  outline: none;
  border-color: rgba(196, 101, 58, 0.65);
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18);
  background: #fff;
}


/* —— PDP two-column: sharp image, smaller box (1.0.9+) —— */
body.single-product div.product {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2rem !important;
  align-items: flex-start !important;
}
body.single-product div.product::before,
body.single-product div.product::after {
  display: none !important;
  content: none !important;
}
body.single-product div.product div.images,
body.single-product div.product .woocommerce-product-gallery {
  float: none !important;
  width: 380px !important;
  max-width: min(380px, 100%) !important;
  flex: 0 0 380px !important;
  margin: 0 !important;
}
body.single-product div.product div.summary {
  float: none !important;
  width: auto !important;
  flex: 1 1 280px !important;
  max-width: 34rem !important;
  margin: 0 !important;
}
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image {
  max-width: 100% !important;
  aspect-ratio: 1 / 1;
  background: #f0ebe3;
  border-radius: 1rem;
  overflow: hidden;
}
body.single-product .woocommerce-product-gallery__image img,
body.single-product div.product div.images img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 768px) {
  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;
  }
}


/* —— PEWC delivery date wrap + calendar button —— */
.fc-date-wrap {
  position: relative;
  display: block;
  max-width: 240px;
}
.fc-date-wrap input.pewc-date-field,
.fc-date-wrap input.pewc-form-field {
  width: 100% !important;
  max-width: 240px !important;
  padding-right: 2.75rem !important;
}
.fc-date-cal-btn {
  position: absolute;
  top: 50%;
  right: 0.35rem;
  transform: translateY(-50%);
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none !important;
  background: transparent !important;
  color: var(--fc-terra) !important;
  border-radius: 0.5rem;
  cursor: pointer;
  padding: 0 !important;
  box-shadow: none !important;
  z-index: 2;
}
.fc-date-cal-btn:hover {
  background: rgba(196, 101, 58, 0.1) !important;
  color: var(--fc-terra-hover) !important;
}
.fc-date-cal-btn svg {
  display: block;
  pointer-events: none;
}

/* —— Contact Form 7 (FlowerCrates look) —— */
.wpcf7,
.fc-page-prose .wpcf7,
.fc-article-body .wpcf7 {
  max-width: 36rem;
  margin-top: 0.5rem;
}

.wpcf7 form.wpcf7-form,
.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.wpcf7-form > p {
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.wpcf7-form label,
.wpcf7-form .wpcf7-list-item-label {
  font-family: var(--fc-sans) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: var(--fc-green) !important;
  letter-spacing: 0.01em;
}

.wpcf7-form br {
  display: none;
}

.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.wpcf7-form input.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7-form textarea.wpcf7-form-control,
.wpcf7-form select.wpcf7-form-control,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  border: 1.5px solid rgba(31, 61, 42, 0.16) !important;
  border-radius: 0.75rem !important;
  background: var(--fc-cream-soft) !important;
  color: var(--fc-green) !important;
  padding: 0.8rem 1rem !important;
  font-family: var(--fc-sans) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  box-shadow: inset 0 1px 2px rgba(31, 61, 42, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  appearance: none;
  -webkit-appearance: none;
}

.wpcf7-form select.wpcf7-form-control,
.wpcf7 select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f3d2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 1rem !important;
  padding-right: 2.5rem !important;
  cursor: pointer;
}

.wpcf7-form textarea.wpcf7-form-control,
.wpcf7 textarea {
  min-height: 140px !important;
  resize: vertical;
}

.wpcf7-form input.wpcf7-form-control:focus,
.wpcf7-form textarea.wpcf7-form-control:focus,
.wpcf7-form select.wpcf7-form-control:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  outline: none !important;
  border-color: rgba(196, 101, 58, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18) !important;
  background: #fff !important;
}

.wpcf7-form input[type="tel"] {
  max-width: 18rem !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

.wpcf7-form input[type="email"] {
  max-width: 28rem !important;
}

.wpcf7-form .wpcf7-radio,
.wpcf7-form .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 0.35rem;
}

.wpcf7-form .wpcf7-list-item {
  display: flex !important;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0 !important;
}

.wpcf7-form .wpcf7-list-item input[type="radio"],
.wpcf7-form .wpcf7-list-item input[type="checkbox"] {
  width: 1.1rem !important;
  height: 1.1rem !important;
  min-height: 0 !important;
  margin: 0.15rem 0 0 !important;
  accent-color: var(--fc-terra);
  flex-shrink: 0;
  cursor: pointer;
}

.wpcf7-form .wpcf7-list-item-label {
  font-weight: 400 !important;
  color: var(--fc-green-mid) !important;
  line-height: 1.4;
}

.wpcf7-form input.wpcf7-submit,
.wpcf7 input[type="submit"].wpcf7-submit,
.wpcf7-form .wpcf7-submit.has-spinner {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px !important;
  width: auto !important;
  max-width: none !important;
  padding: 0.85rem 1.75rem !important;
  margin-top: 0.35rem;
  background: var(--fc-terra) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--fc-pill) !important;
  font-family: var(--fc-sans) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.2s ease, transform 0.15s ease;
}

.wpcf7-form input.wpcf7-submit:hover,
.wpcf7 input[type="submit"].wpcf7-submit:hover {
  background: var(--fc-terra-hover) !important;
  color: #fff !important;
}

.wpcf7-form .wpcf7-not-valid {
  border-color: #b42318 !important;
}

.wpcf7-form .wpcf7-not-valid-tip {
  font-size: 0.85rem;
  color: #b42318;
  margin-top: 0.25rem;
}

.wpcf7-form .wpcf7-response-output {
  margin: 0.75rem 0 0 !important;
  padding: 0.85rem 1rem !important;
  border-radius: 0.75rem !important;
  font-family: var(--fc-sans);
  font-size: 0.95rem;
  border-width: 1.5px !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(31, 61, 42, 0.25) !important;
  background: #eef3ef;
  color: var(--fc-green);
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  border-color: rgba(180, 35, 24, 0.35) !important;
  background: #fdf2f1;
  color: #7a1c14;
}

.wpcf7-spinner {
  margin-left: 0.5rem;
}


/* —— Coupon code field —— */
.woocommerce-cart .coupon,
.woocommerce-checkout .checkout_coupon,
.woocommerce .coupon,
form.checkout_coupon,
.wc-block-components-totals-coupon__form {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem !important;
}

.woocommerce-cart .coupon .input-text,
.woocommerce-cart #coupon_code,
.woocommerce-checkout #coupon_code,
.woocommerce .coupon input.input-text,
form.checkout_coupon input.input-text,
.wc-block-components-totals-coupon__input input,
.wc-block-components-totals-coupon__form input[type="text"],
input#coupon_code {
  min-height: 48px !important;
  height: 48px !important;
  width: 12rem !important;
  max-width: 100% !important;
  border: 1.5px solid rgba(31, 61, 42, 0.16) !important;
  border-radius: 0.75rem !important;
  background: var(--fc-cream-soft) !important;
  color: var(--fc-green) !important;
  padding: 0.75rem 1rem !important;
  font-family: var(--fc-sans) !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  box-shadow: inset 0 1px 2px rgba(31, 61, 42, 0.03) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.woocommerce-cart #coupon_code:focus,
.woocommerce-checkout #coupon_code:focus,
.woocommerce .coupon input.input-text:focus,
form.checkout_coupon input.input-text:focus,
.wc-block-components-totals-coupon__input input:focus,
input#coupon_code:focus {
  outline: none !important;
  border-color: rgba(196, 101, 58, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18) !important;
  background: #fff !important;
}

.woocommerce-cart .coupon .input-text::placeholder,
#coupon_code::placeholder,
.wc-block-components-totals-coupon__input input::placeholder {
  color: var(--fc-green-soft) !important;
  opacity: 0.85;
}

.woocommerce-cart .coupon .button,
.woocommerce-cart .coupon button,
.woocommerce .coupon button.button,
form.checkout_coupon .button,
.wc-block-components-totals-coupon__button,
button[name="apply_coupon"] {
  min-height: 48px !important;
  padding: 0.75rem 1.35rem !important;
  border-radius: var(--fc-pill) !important;
  background: var(--fc-green) !important;
  color: var(--fc-cream) !important;
  border: none !important;
  font-family: var(--fc-sans) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce .coupon button.button:hover,
button[name="apply_coupon"]:hover {
  background: var(--fc-green-mid) !important;
  color: #fff !important;
}

/* —— Shop sorting pulldown —— */
.woocommerce-ordering,
.woocommerce .woocommerce-ordering {
  margin: 0 0 1.25rem !important;
}
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select.orderby,
select.orderby,
.woocommerce-ordering .orderby {
  min-height: 44px !important;
  height: 44px !important;
  min-width: 12.5rem;
  max-width: 100%;
  border: 1.5px solid rgba(31, 61, 42, 0.16) !important;
  border-radius: 0.75rem !important;
  background-color: var(--fc-cream-soft) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f3d2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.9rem center !important;
  background-size: 0.95rem !important;
  color: var(--fc-green) !important;
  padding: 0.55rem 2.4rem 0.55rem 1rem !important;
  font-family: var(--fc-sans) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  box-shadow: inset 0 1px 2px rgba(31, 61, 42, 0.03);
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
}
.woocommerce-ordering select:focus,
select.orderby:focus {
  outline: none !important;
  border-color: rgba(196, 101, 58, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(196, 101, 58, 0.18) !important;
  background-color: #fff !important;
}
