.pflp-page {
  background: #f6f7f5;
}

@media (max-width: 640px) {
  .pflp-gallery-modal__dialog {
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    padding: 14px;
  }

  .pflp-gallery-modal__figure {
    padding: 6px;
  }

  .pflp-gallery-modal__figure img {
    max-height: calc(100vh - 138px);
    max-width: 100%;
  }

  .pflp-gallery-modal__nav {
    height: 42px;
    width: 42px;
  }

  .pflp-gallery-modal__close {
    height: 38px;
    padding: 0 13px;
    right: 14px;
    top: 14px;
  }

  .pflp-gallery-modal__thumbs button {
    flex-basis: 58px;
  }
}

.pflp-hero {
  background: #0b3528;
  color: #fff;
  padding: 40px 0 48px;
}

.pflp-hero__inner {
  display: grid;
  gap: 28px;
}

.pflp-breadcrumb {
  align-items: center;
  color: rgba(255, 255, 255, 0.72);
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  gap: 8px;
}

.pflp-breadcrumb a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.pflp-hero__grid {
  align-items: end;
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(0, 1fr) 260px;
}

.pflp-kicker,
.pflp-section-heading p {
  color: #f58b3d;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.pflp-hero h1 {
  color: #fff;
  font-size: clamp(40px, 5vw, 70px);
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0 0 18px;
  max-width: 900px;
}

/* Keep locality titles readable when the active theme applies its global heading color. */
.pf-modern-ui .pflp-hero h1 {
  color: #fff;
}

.pflp-lead {
  color: rgba(255, 255, 255, 0.86);
  font-size: 21px;
  line-height: 1.55;
  margin: 0;
  max-width: 820px;
}

.pflp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.pflp-button {
  background: #f47f2c;
  border: 1px solid #f47f2c;
  border-radius: 4px;
  color: #fff;
  display: inline-flex;
  font-weight: 900;
  padding: 13px 18px;
  text-decoration: none;
}

.pflp-button--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.38);
}

.pflp-status-card {
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  color: #123126;
  padding: 22px;
}

.pflp-status-card span {
  color: #08745e;
  display: block;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.pflp-status-card strong {
  display: block;
  font-size: 28px;
  line-height: 1.1;
}

.pflp-status-card p {
  color: #475569;
  margin: 10px 0 0;
}

.pflp-product-page {
  background: #f7f8f5;
}

.pflp-pdp {
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 8px;
  margin-top: 24px;
  padding: 24px;
}

.pflp-pdp-breadcrumb {
  align-items: center;
  color: #647067;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  gap: 8px;
  margin-bottom: 22px;
}

.pflp-pdp-breadcrumb a {
  color: #0b3528;
  font-weight: 850;
  text-decoration: none;
}

.pflp-direct-florist {
  align-items: center;
  background: #0b3528;
  border: 1px solid #174b3c;
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(11, 53, 40, 0.16);
  color: #fff;
  display: inline-grid;
  gap: 1px 13px;
  grid-template-columns: 46px minmax(0, 1fr);
  margin: 0;
  max-width: 100%;
  padding: 11px 18px 11px 12px;
  width: 100%;
}

.pflp-direct-florist__icon {
  align-items: center;
  align-self: stretch;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  color: #a9e2ca;
  display: flex;
  grid-row: 1 / 3;
  justify-content: center;
  min-height: 46px;
  width: 46px;
}

.pflp-direct-florist__icon svg {
  fill: none;
  height: 32px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 32px;
}

.pflp-direct-florist p {
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.pflp-direct-florist p strong {
  color: #ffbf91;
  font-weight: 900;
}

.pflp-pdp-grid {
  align-items: start;
  display: grid;
  gap: 36px;
  grid-template-columns: minmax(300px, 0.95fr) minmax(0, 1.05fr);
}

.pflp-pdp-gallery {
  display: grid;
  gap: 12px;
  position: sticky;
  top: 18px;
}

.pflp-pdp-main-image {
  background: #fff;
  border: 1px solid #e4ebe4;
  border-radius: 8px;
  cursor: zoom-in;
  margin: 0;
  overflow: hidden;
}

.pflp-pdp-main-image img {

  background: #fff;
  display: block;




}

.pflp-pdp-thumbs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, 1fr);
}

.pflp-pdp-thumbs button {
  appearance: none;
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 6px;
  cursor: pointer;
  padding: 0;
}

.pflp-pdp-thumbs button.is-active,
.pflp-pdp-thumbs button:hover,
.pflp-pdp-thumbs button:focus-visible {
  border-color: #08745e;
  box-shadow: 0 0 0 2px rgba(8, 116, 94, 0.12);
}

.pflp-pdp-thumbs img {
  aspect-ratio: 1 / 1;
  background: #fff;
  border-radius: 6px;
  display: block;
  object-fit: contain;
  padding: 2px;
  width: 100%;
}

.pflp-gallery-is-open {
  overflow: hidden;
}

.pflp-gallery-modal[hidden] {
  display: none;
}

.pflp-gallery-modal {
  inset: 0;
  position: fixed;
  z-index: 999999;
}

.pflp-gallery-modal__backdrop {
  background: rgba(5, 19, 15, 0.84);
  inset: 0;
  position: absolute;
}

.pflp-gallery-modal__dialog {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  grid-template-rows: minmax(0, 1fr) auto;
  inset: 0;
  padding: clamp(16px, 3vw, 34px);
  position: absolute;
}

.pflp-gallery-modal__figure {
  align-items: center;
  align-self: stretch;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
  display: flex;
  grid-column: 2;
  justify-content: center;
  margin: 0;
  min-height: 0;
  overflow: hidden;
  padding: clamp(8px, 2vw, 18px);
}

.pflp-gallery-modal__figure img {
  display: block;
  max-height: calc(100vh - 160px);
  max-width: min(78vw, 980px);
  object-fit: contain;
}

.pflp-gallery-modal__close {
  align-items: center;
  background: #fff;
  border: 0;
  border-radius: 999px;
  color: #123126;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 950;
  height: 42px;
  justify-content: center;
  padding: 0 16px;
  position: fixed;
  right: 22px;
  top: 22px;
}

.pflp-gallery-modal__nav {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 0;
  border-radius: 999px;
  color: #123126;
  cursor: pointer;
  display: inline-flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}

.pflp-gallery-modal__nav::before {
  border-color: currentColor;
  border-style: solid;
  content: "";
  height: 13px;
  width: 13px;
}

.pflp-gallery-modal__nav--prev {
  grid-column: 1;
}

.pflp-gallery-modal__nav--prev::before {
  border-width: 0 0 3px 3px;
  transform: rotate(45deg);
}

.pflp-gallery-modal__nav--next {
  grid-column: 3;
}

.pflp-gallery-modal__nav--next::before {
  border-width: 3px 3px 0 0;
  transform: rotate(45deg);
}

.pflp-gallery-modal__thumbs {
  display: flex;
  gap: 10px;
  grid-column: 1 / -1;
  justify-content: center;
  overflow-x: auto;
  padding-bottom: 4px;
}

.pflp-gallery-modal__thumbs button {
  background: #fff;
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  flex: 0 0 74px;
  padding: 0;
}

.pflp-gallery-modal__thumbs button.is-active {
  border-color: #ff7e27;
}

.pflp-gallery-modal__thumbs img {
  aspect-ratio: 1 / 1;
  border-radius: 4px;
  display: block;
  object-fit: contain;
  width: 100%;
}

.pflp-pdp-summary {
  display: grid;
  gap: 18px;
}

.pflp-pdp-eyebrow {
  color: #08745e;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.pflp-pdp-summary h1 {
  color: #123126;
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: 0;
  line-height: 1.02;
  margin: 0;
}

.pflp-pdp-intro {
  color: #475569;
  font-size: 18px;
  line-height: 1.55;
  margin: 0;
}

.pflp-pdp-buybox {
  background: #f6fbf8;
  border: 1px solid #cfe3d8;
  border-radius: 8px;
  display: grid;
  gap: 16px;
  padding: 20px;
}

.pflp-pdp-price span,
.pflp-pdp-price small {
  color: #647067;
  display: block;
  font-size: 13px;
  font-weight: 850;
}

.pflp-pdp-price strong {
  color: #0b3528;
  display: block;
  font-size: 36px;
  line-height: 1.05;
  margin: 4px 0 6px;
}

.pflp-pdp-variants {
  display: grid;
  gap: 10px;
}

.pflp-pdp-variants > span {
  color: #08745e;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pflp-pdp-variants > div {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pflp-pdp-variants button {
  appearance: none;
  background: #fff;
  border: 1px solid #d9eadc;
  border-radius: 8px;
  color: #123126;
  cursor: pointer;
  display: grid;
  gap: 4px;
  font: inherit;
  padding: 12px;
  text-align: left;
  text-decoration: none;
}

.pflp-pdp-variants button:hover,
.pflp-pdp-variants button:focus-visible,
.pflp-pdp-variants button.is-active {
  border-color: #08745e;
}

.pflp-pdp-variants button.is-active {
  box-shadow: 0 0 0 2px rgba(8, 116, 94, 0.12);
}

.pflp-pdp-variants strong,
.pflp-pdp-variants small {
  display: block;
}

.pflp-pdp-variants strong {
  font-size: 16px;
  line-height: 1.2;
}

.pflp-pdp-variants small {
  color: #647067;
  font-size: 12px;
  font-weight: 850;
}

.pflp-pdp-phone {
  color: #0b3528;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.pflp-pdp-promises {
  display: grid;
  gap: 10px;
}

.pflp-pdp-promises div { padding: 0; }

.pflp-pdp-promises strong,
.pflp-pdp-promises span {
  display: block;
}

.pflp-pdp-promises strong {
  color: #123126;
  font-size: 16px;
}

.pflp-pdp-promises span {
  color: #647067;
  font-size: 14px;
  line-height: 1.45;
  margin-top: 4px;
}

.pflp-local-order-banner {
  align-items: stretch;
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 8px;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
  margin-top: 24px;
  overflow: hidden;
}

.pflp-local-order-banner__media {
  background: #edf5ef;
  min-height: 360px;
  overflow: hidden;
}

.pflp-local-order-banner__media img {
  background: #f8fbf8;
  display: block;
  height: 100%;
  min-height: 360px;
  object-fit: contain;
  object-position: center;
  padding: 10px;
  width: 100%;
}

.pflp-local-order-banner__content {
  align-content: center;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 248, 0.94)),
    radial-gradient(circle at 88% 14%, rgba(255, 126, 39, 0.16), transparent 28%);
  display: grid;
  gap: 18px;
  padding: clamp(26px, 4vw, 48px);
}

.pflp-local-order-banner__content > p {
  color: #08745e;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.pflp-local-order-banner h2 {
  color: #123126;
  font-size: clamp(30px, 4vw, 48px);
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
  max-width: 760px;
}

.pflp-local-order-banner__copy {
  display: grid;
  gap: 10px;
}

.pflp-local-order-banner__copy span {
  align-items: start;
  color: #40534a;
  display: grid;
  font-size: 16px;
  gap: 10px;
  grid-template-columns: 8px 1fr;
  line-height: 1.55;
}

.pflp-local-order-banner__copy span::before {
  background: #ff7e27;
  border-radius: 999px;
  content: "";
  height: 8px;
  margin-top: 9px;
  width: 8px;
}

.pflp-local-order-banner__cta {
  align-items: center;
  background: #ff7e27;
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-size: 16px;
  font-weight: 950;
  justify-content: center;
  justify-self: start;
  min-height: 52px;
  padding: 0 22px;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.pflp-local-order-banner__cta:hover,
.pflp-local-order-banner__cta:focus-visible {
  background: #f26f18;
  box-shadow: 0 14px 28px rgba(255, 126, 39, 0.24);
  transform: translateY(-1px);
}

.pflp-pdp-section {
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 8px;
  margin-top: 24px;
  padding: 30px;
}

.pflp-pdp-section h2 {
  color: #123126;
  font-size: 30px;
  line-height: 1.15;
  margin: 0 0 14px;
}

.pflp-pdp-section p {
  color: #334155;
  font-size: 17px;
  line-height: 1.65;
}

.pflp-pdp-section__main {
  max-width: 860px;
}

.pflp-pdp-specs {
  border-top: 1px solid #dfe7df;
  display: grid;
  gap: 12px;
  margin-top: 24px;
  padding-top: 24px;
}

.pflp-pdp-specs div {
  align-items: baseline;
  border-bottom: 1px solid #edf2ed;
  display: grid;
  gap: 16px;
  grid-template-columns: 170px 1fr;
  padding: 10px 0;
}

.pflp-pdp-specs span {
  color: #08745e;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pflp-pdp-specs strong {
  color: #123126;
  font-size: 16px;
  line-height: 1.4;
}

.pflp-product-details h3 {
  color: #123126;
  font-size: 18px;
  margin: 0 0 6px;
}

.pflp-product-answer {
  background: #eef7f1;
  border: 1px solid #c8dfd0;
  border-radius: 8px;
  margin-top: 20px;
  padding: 20px;
}

.pflp-product-answer strong {
  color: #0b3528;
  display: block;
  font-size: 15px;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.pflp-product-answer p {
  margin: 0;
}

.pflp-spec-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 24px;
}

.pflp-spec-grid div,
.pflp-composition-grid article {
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 8px;
  padding: 18px;
}

.pflp-spec-grid span {
  color: #08745e;
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.pflp-spec-grid strong {
  color: #123126;
  display: block;
  font-size: 16px;
  line-height: 1.35;
}

.pflp-composition-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
}

.pflp-composition-grid h3 {
  color: #123126;
  font-size: 19px;
  margin: 0 0 12px;
}

.pflp-composition-grid ul {
  color: #334155;
  line-height: 1.55;
  margin: 0;
  padding-left: 18px;
}

.pflp-links,
.pflp-products,
.pflp-copy,
.pflp-faq,
.pflp-nearby,
.pflp-answer-box {
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 8px;
  margin-top: 24px;
  padding: 30px;
}

.pflp-links h2,
.pflp-section-heading h2,
.pflp-copy h2,
.pflp-faq h2,
.pflp-nearby h2,
.pflp-answer-box h2 {
  color: #10362a;
  font-size: 30px;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0 0 18px;
}

.pflp-links div,
.pflp-nearby div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pflp-links a,
.pflp-nearby a {
  background: #eef7f1;
  border: 1px solid #d0e5d6;
  border-radius: 999px;
  color: #0f513f;
  font-weight: 800;
  padding: 9px 13px;
  text-decoration: none;
}

.pflp-product-grid {
  display: grid;
  gap: 28px 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pflp-product {
  border: 1px solid #dfe7df;
  border-radius: 8px;
  color: inherit;
  display: grid;
  overflow: hidden;
  text-decoration: none;
}

.pflp-product img {
  aspect-ratio: 4 / 3;
  background: #fff;
  display: block;
  height: auto;
  object-fit: contain;
  padding: 4px;
  width: 100%;
}

.pflp-product div {
  display: grid;
  gap: 10px;
  padding: 18px;
}

.pflp-product h3 {
  color: #123126;
  font-size: 20px;
  line-height: 1.2;
  margin: 0;
}

.pflp-product__source {
  color: #08745e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pflp-all-products-hero {
  background: linear-gradient(135deg, #f6fbf7 0%, #ffffff 56%, #fff3e9 100%);
}

.pflp-all-products-hero__stats,
.pflp-all-products__facets {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.pflp-all-products-hero__stats span,
.pflp-all-products__facets span {
  align-items: center;
  background: #ffffff;
  border: 1px solid #d8eadf;
  border-radius: 999px;
  color: #143a2d;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 6px;
  padding: 10px 14px;
}

.pflp-all-products-hero__stats strong,
.pflp-all-products__facets strong {
  color: #08745e;
}

.pflp-all-products {
  padding-bottom: 70px;
}

.pflp-product-grid--archive .pflp-product {
  background: #fff;
  box-shadow: 0 16px 34px rgba(11, 55, 41, 0.08);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.pflp-product-grid--archive .pflp-product:hover {
  border-color: #ff7a1a;
  box-shadow: 0 22px 44px rgba(11, 55, 41, 0.13);
  transform: translateY(-3px);
}

.pflp-product-grid--archive .pflp-product img {
  aspect-ratio: 1 / 1;
  background: linear-gradient(180deg, #ffffff 0%, #f5faf6 100%);
  padding: 18px;
}

.pflp-product-grid--archive .pflp-product p {
  color: #516257;
  margin: 0;
}

.pflp-product-grid--archive .pflp-product strong {
  color: #063f32;
  font-size: 18px;
}

.pflp-product-grid--archive .pflp-product small {
  color: #6b776f;
  font-weight: 800;
}

.pflp-product p,
.pflp-copy p,
.pflp-faq p,
.pflp-answer-box p {
  color: #334155;
  font-size: 17px;
  line-height: 1.6;
}

.pflp-answer-box {
  border-left: 6px solid #08745e;
}

.pflp-answer-box p {
  color: #143629;
  font-size: 20px;
  margin: 0;
}

.pflp-app-banner {
  align-items: center;
  background:
    linear-gradient(135deg, #ffffff 0%, #f1faf5 58%, #fff7ed 100%);
  border: 1px solid #dbe8df;
  border-radius: 8px;
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
  margin-top: 24px;
  overflow: hidden;
  padding: clamp(26px, 4vw, 42px);
}

.pflp-app-banner__copy h2 {
  color: #10362a;
  font-size: clamp(30px, 4vw, 46px);
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
}

.pflp-app-banner__copy p:not(.pflp-kicker) {
  color: #334155;
  font-size: 17px;
  line-height: 1.65;
  margin: 16px 0 0;
  max-width: 720px;
}

.pflp-app-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.pflp-app-banner .pflp-button--ghost {
  border-color: #cfe3d8;
  color: #123126;
}

.pflp-app-banner__notes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.pflp-app-banner__notes span {
  background: #fff;
  border: 1px solid #dbe8df;
  border-radius: 999px;
  color: #0f513f;
  font-size: 13px;
  font-weight: 850;
  padding: 8px 10px;
}

.pflp-app-banner__visual {
  min-height: 340px;
  position: relative;
}

.pflp-app-banner__photo {
  align-self: center;
  display: flex;
  justify-content: center;
  margin: 0;
  min-width: 0;
}

.pflp-app-banner--client { background: linear-gradient(120deg,#0d3027,#164b3c); border-color: #285749; border-radius: 26px; }
.pflp-app-banner--client .pflp-app-banner__copy h2 { color: #fff; }
.pflp-app-banner--client .pflp-app-banner__copy p:not(.pflp-kicker) { color: #e0ece5; }
.pflp-app-banner--client .pflp-app-banner__notes span { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #edf8ef; }
.pflp-app-banner__stores { margin-top: 26px; }
.pflp-app-banner--client .pflp-app-banner__copy .pflp-app-banner__availability { font-size: 13px; line-height: 1.55; max-width: 560px; }
.pflp-app-banner__links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 22px; }
.pflp-app-banner__links a { color: #e7f5ec; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.pflp-app-banner__links a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.pflp-app-banner--client .pflp-app-banner__photo { background: radial-gradient(ellipse,rgba(202,234,204,.16),transparent 70%); }

.pflp-app-banner__photo img {
  aspect-ratio: 853 / 1844;
  display: block;
  height: auto;
  max-height: 500px;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.pflp-app-phone {
  background: #102f25;
  border-radius: 28px;
  box-shadow: 0 24px 58px rgba(15, 47, 35, 0.2);
  color: #123126;
  display: grid;
  gap: 12px;
  margin-inline: auto;
  max-width: 270px;
  min-height: 330px;
  padding: 26px 22px;
  position: relative;
  transform: rotate(-2deg);
}

.pflp-app-phone::before {
  background: rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  content: "";
  height: 5px;
  left: 50%;
  position: absolute;
  top: 14px;
  transform: translateX(-50%);
  width: 68px;
}

.pflp-app-phone span,
.pflp-app-phone strong,
.pflp-app-phone p,
.pflp-app-phone div {
  background: #f8fbf8;
}

.pflp-app-phone > span {
  border-radius: 16px 16px 0 0;
  color: #08745e;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  margin-top: 12px;
  padding: 22px 20px 0;
  text-transform: uppercase;
}

.pflp-app-phone > strong {
  font-size: 27px;
  line-height: 1.05;
  padding: 0 20px;
}

.pflp-app-phone p {
  color: #647067;
  line-height: 1.4;
  margin: 0;
  padding: 0 20px 6px;
}

.pflp-app-phone div {
  border-radius: 0 0 16px 16px;
  display: grid;
  gap: 8px;
  padding: 0 20px 22px;
}

.pflp-app-phone i {
  background: #fff;
  border: 1px solid #dbe8df;
  border-radius: 7px;
  color: #647067;
  font-style: normal;
  font-weight: 900;
  padding: 10px;
}

.pflp-app-phone .is-done {
  color: #166534;
}

.pflp-app-phone .is-active {
  animation: pflpAppPulse 1800ms ease-in-out infinite;
  border-color: #ffb578;
  color: #9a4b0f;
}

.pflp-app-float {
  animation: pflpAppFloat 5200ms ease-in-out infinite;
  background: #fff;
  border: 1px solid #dbe8df;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(15, 47, 35, 0.12);
  display: grid;
  gap: 3px;
  padding: 14px 16px;
  position: absolute;
}

.pflp-app-float span {
  color: #08745e;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.pflp-app-float strong {
  color: #123126;
  font-size: 17px;
}

.pflp-app-float--top {
  left: 0;
  top: 62px;
}

.pflp-app-float--bottom {
  animation-delay: 800ms;
  bottom: 52px;
  right: 0;
}

@keyframes pflpAppFloat {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, -12px, 0);
  }
}

@keyframes pflpAppPulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.08);
  }

  50% {
    box-shadow: 0 0 0 7px rgba(249, 115, 22, 0.12);
  }
}

.pflp-sector-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 18px;
}

.pflp-sector-grid a {
  background: #eef7f1;
  border: 1px solid #d0e5d6;
  border-radius: 6px;
  color: #0f513f;
  font-weight: 900;
  padding: 12px;
  text-align: center;
  text-decoration: none;
}

.pflp-info-table {
  border-collapse: collapse;
  color: #334155;
  font-size: 17px;
  margin-top: 18px;
  width: 100%;
}

.pflp-info-table th,
.pflp-info-table td {
  border-top: 1px solid #dfe7df;
  padding: 14px 10px;
  text-align: left;
  vertical-align: top;
}

.pflp-info-table th {
  color: #10362a;
  width: 160px;
}

.pflp-product strong {
  color: #0b3528;
  font-size: 18px;
}

.pflp-product small {
  color: #5f6f67;
  font-size: 14px;
  font-weight: 800;
}

.pflp-product a {
  color: #08745e;
  font-weight: 900;
}

.pflp-products__empty {
  background: #f6fbf8;
  border: 1px solid #cfe3d8;
  border-radius: 8px;
  color: #234338;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.55;
  padding: 22px;
}

.pflp-no-florist-catalog {
  align-items: center;
  background: linear-gradient(135deg, #edf7f0 0%, #fff8ed 100%);
  border: 1px solid #d8e5db;
  border-radius: 18px;
  color: #244239;
  display: grid;
  gap: 16px;
  grid-template-columns: 68px minmax(0, 1fr);
  margin-top: 26px;
  padding: 20px 22px;
}
.pflp-no-florist-catalog__icon {
  align-items: center;
  background: #0d2f28;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(13, 47, 40, .16);
  color: #ffd2ae;
  display: flex;
  height: 68px;
  justify-content: center;
  width: 68px;
}
.pflp-no-florist-catalog__icon svg {
  fill: none;
  height: 42px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.5;
  width: 42px;
}
.pflp-no-florist-catalog__icon .pflp-no-florist-catalog__icon-center {
  fill: #e6783b;
  stroke: #e6783b;
}
.pflp-no-florist-catalog > span:last-child { display: grid; gap: 5px; }
.pflp-no-florist-catalog strong {
  color: #0d2f28;
  font-size: 18px;
  line-height: 1.35;
}
.pflp-no-florist-catalog > span:last-child > span {
  color: #62706a;
  font-size: 15px;
  line-height: 1.45;
}

@media (max-width: 520px) {
  .pflp-no-florist-catalog {
    gap: 12px;
    grid-template-columns: 52px minmax(0, 1fr);
    padding: 16px;
  }
  .pflp-no-florist-catalog__icon { height: 52px; width: 52px; }
  .pflp-no-florist-catalog__icon svg { height: 32px; width: 32px; }
  .pflp-no-florist-catalog strong { font-size: 16px; }
}

.pflp-api-state--loading {
  animation: pflpApiPulse 1.4s ease-in-out infinite alternate;
}

.pflp-api-state--unauthorized,
.pflp-api-state--configuration_error,
.pflp-api-state--api_error {
  border-left-color: #b42318;
}

@keyframes pflpApiPulse {
  from { opacity: 0.72; }
  to { opacity: 1; }
}

.pflp-local-florists {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%);
  border: 1px solid #dbe8df;
  border-radius: 8px;
  margin-top: 24px;
  padding: 30px;
}

.pflp-local-florists__intro {
  color: #40534a;
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 22px;
  max-width: 860px;
}

.pflp-local-florists__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.pflp-local-florist-card {
  background: #fff;
  border: 1px solid #d8e7dd;
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(15, 47, 35, 0.08);
  display: grid;
  gap: 18px;
  overflow: hidden;
  padding: 24px;
  position: relative;
}

.pflp-local-florist-card::before {
  background: linear-gradient(90deg, #08745e, #ff7e27);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.pflp-local-florist-card__cover {
  aspect-ratio: 16 / 6;
  margin: -24px -24px 0;
  overflow: hidden;
}

.pflp-local-florist-card__cover img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.pflp-local-florist-card__head {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 58px 1fr;
}

.pflp-local-florist-card__mark {
  align-items: center;
  background: #0b3528;
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-size: 28px;
  font-weight: 950;
  height: 58px;
  justify-content: center;
  line-height: 1;
  text-transform: uppercase;
  width: 58px;
}

.pflp-local-florist-card__logo {
  background: #fff;
  border: 1px solid #d8e7dd;
  border-radius: 8px;
  height: 58px;
  object-fit: contain;
  padding: 4px;
  width: 58px;
}

.pflp-local-florist-card__head span {
  align-items: center;
  color: #08745e;
  display: inline-flex;
  font-size: 12px;
  font-weight: 950;
  gap: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pflp-local-florist-card__head span::before {
  background: #ff7e27;
  border-radius: 999px;
  content: "";
  height: 8px;
  width: 8px;
}

.pflp-local-florist-card h3 {
  color: #123126;
  font-size: 28px;
  line-height: 1.15;
  margin: 4px 0 0;
}

.pflp-local-florist-card__description {
  color: #40534a;
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
}

.pflp-local-florist-card__address {
  background: #f6fbf8;
  border: 1px solid #dbe8df;
  border-radius: 6px;
  color: #40534a;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
  margin: 0;
  padding: 12px 14px;
}

.pflp-local-florist-card__stats {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pflp-local-florist-stat {
  background: #fbfdfb;
  border: 1px solid #e2ece5;
  border-radius: 6px;
  min-height: 88px;
  padding: 14px;
}

.pflp-local-florist-card__stats.is-nearby {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pflp-local-florist-card__stats.is-nearby .pflp-local-florist-stat {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pflp-local-florist-stat span,
.pflp-local-florist-stat strong {
  display: block;
}

.pflp-local-florist-stat span {
  color: #0b3528;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.05;
}

.pflp-local-florist-stat strong {
  color: #647067;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
  margin-top: 6px;
  text-transform: uppercase;
}

.pflp-local-florist-card__status {
  align-items: center;
  background: #123126;
  border-radius: 8px;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  justify-content: space-between;
  padding: 14px 16px;
}

.pflp-local-florist-card__status strong {
  font-size: 15px;
  line-height: 1.35;
}

.pflp-local-florist-card.is-catalog-pending .pflp-local-florist-card__status {
  background: #7a4a16;
}

.pflp-local-florist-card__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pflp-local-florist-card__contacts span {
  background: #f6fbf8;
  border: 1px solid #dbe8df;
  border-radius: 999px;
  color: #40534a;
  font-size: 12px;
  font-weight: 850;
  padding: 7px 10px;
}

.pflp-local-florist-card__status a {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 950;
  padding: 8px 12px;
  text-decoration: none;
}

.pflp-local-florist-card__samples {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pflp-local-florist-card__samples span {
  background: #fff7ee;
  border: 1px solid #ffd8ba;
  border-radius: 999px;
  color: #7a3a0d;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  padding: 8px 10px;
}

.pflp-partner-banner {
  align-items: start;
  background: #123126;
  border: 1px solid #24483c;
  border-radius: 8px;
  color: #fff;
  display: grid;
  gap: 22px 34px;
  grid-template-areas:
    "content media"
    "benefits benefits";
  grid-template-columns: minmax(0, 1fr) 300px;
  margin-top: 24px;
  overflow: hidden;
  padding: 30px;
}

.pflp-partner-banner__media {
  align-self: start;
  background: #f3eadf;
  border-radius: 8px;
  display: grid;
  grid-area: media;
  margin: 0;
  max-height: 260px;
  min-height: 260px;
  overflow: hidden;
  place-items: center;
}

.pflp-partner-banner__media img {
  display: block;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  padding-top: 10px;
  width: 100%;
}

.pflp-partner-banner > div {
  grid-area: content;
}

.pflp-partner-banner__eyebrow {
  color: #f58b3d;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.pflp-partner-banner h2 {
  color: #fff;
  font-size: 30px;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 0 14px;
}

.pflp-partner-banner p:not(.pflp-partner-banner__eyebrow) {
  color: rgba(255, 255, 255, 0.84);
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 20px;
}

.pflp-partner-banner ul {
  display: grid;
  gap: 10px;
  grid-area: benefits;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.pflp-partner-banner li {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  min-height: 86px;
  padding: 12px;
}

.pflp-partner-banner strong {
  color: #fff;
  font-size: 15px;
}

.pflp-partner-banner span {
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  line-height: 1.38;
}

.pflp-feature-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
}

.pflp-context-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
}

.pflp-feature-grid article {
  background: #fbfdfb;
  border: 1px solid #d9eadc;
  border-radius: 8px;
  padding: 22px;
}

.pflp-context-grid article {
  background: #f8fbf8;
  border: 1px solid #d9eadc;
  border-radius: 8px;
  padding: 22px;
}

.pflp-context-grid span {
  color: #f47f2c;
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.pflp-feature-grid h3 {
  color: #10362a;
  margin: 0 0 8px;
}

.pflp-context-grid h3 {
  color: #10362a;
  font-size: 22px;
  line-height: 1.2;
  margin: 0 0 8px;
}

.pflp-checks {
  color: #334155;
  font-size: 17px;
  line-height: 1.6;
  padding-left: 22px;
}

.pflp-wholesale-banner {
  align-items: center;
  background: linear-gradient(135deg, #ffffff 0%, #f1faf5 58%, #fff7ed 100%);
  border: 1px solid #dbe8df;
  border-radius: 8px;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 24px;
  padding: 26px 30px;
}

.pflp-wholesale-banner p:first-child {
  color: #08745e;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.pflp-wholesale-banner h2 {
  color: #10362a;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
  margin: 0 0 10px;
}

.pflp-wholesale-banner p:last-child {
  color: #334155;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  max-width: 860px;
}

.pflp-wholesale-banner a:not(.pflp-wholesale-banner__cta) {
  color: #08745e;
  font-weight: 900;
}

.pflp-wholesale-banner__cta {
  align-items: center;
  background: #0b3528;
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-weight: 950;
  justify-content: center;
  min-height: 52px;
  padding: 0 20px;
  text-decoration: none;
  white-space: nowrap;
}

.pflp-faq details {
  border-top: 1px solid #dfe7df;
  padding: 18px 0;
}

.pflp-faq summary {
  color: #10362a;
  cursor: pointer;
  font-size: 18px;
  font-weight: 900;
}

.pflp-html-sitemap {
  background: #f6f7f5;
  padding: 34px 0 60px;
}

.pflp-sitemap-hero,
.pflp-county-index,
.pflp-county-section {
  background: #fff;
  border: 1px solid #dfe7df;
  border-radius: 8px;
  margin-top: 24px;
  padding: 30px;
}

.pflp-sitemap-hero h1 {
  color: #10362a;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1;
  margin: 0 0 16px;
}

.pflp-sitemap-hero p,
.pflp-county-section p {
  color: #334155;
  font-size: 17px;
  line-height: 1.6;
}

.pflp-sitemap-stats,
.pflp-county-index div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.pflp-sitemap-stats span,
.pflp-county-index a {
  background: #eef7f1;
  border: 1px solid #d0e5d6;
  border-radius: 999px;
  color: #0f513f;
  font-weight: 800;
  padding: 9px 13px;
  text-decoration: none;
}

.pflp-sitemap-stats strong {
  color: #10362a;
}

.pflp-county-section h2,
.pflp-county-index h2 {
  color: #10362a;
  font-size: 30px;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0 0 10px;
}

.pflp-link-group {
  margin-top: 22px;
}

.pflp-link-group h3 {
  color: #10362a;
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 12px;
}

.pflp-link-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pflp-link-grid a {
  align-items: start;
  background: #fbfdfb;
  border: 1px solid #d9eadc;
  border-radius: 6px;
  color: #10362a;
  display: grid;
  gap: 5px;
  min-height: 76px;
  padding: 12px;
  text-decoration: none;
}

.pflp-link-grid a:hover {
  border-color: #08745e;
}

.pflp-link-grid span {
  color: #08745e;
  font-weight: 850;
  line-height: 1.25;
}

.pflp-link-grid--indexable {
  gap: 12px;
}

.pflp-link-grid--indexable a {
  min-height: 86px;
  padding: 14px;
}

.pflp-link-grid .is-indexable span {
  color: #08745e;
  font-size: 16px;
}

.pflp-link-grid .is-noindex span {
  color: #c45f13;
  font-size: 14px;
  font-weight: 800;
}

.pflp-link-grid--noindex {
  gap: 8px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pflp-link-grid--noindex a {
  min-height: 58px;
  padding: 10px;
}

.pflp-link-grid small {
  color: #08745e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pflp-link-grid .is-noindex small {
  color: #9a5b10;
}

@media (max-width: 980px) {
  .pflp-hero__grid,
  .pflp-product-grid,
  .pflp-local-florists__grid,
  .pflp-feature-grid,
  .pflp-context-grid,
  .pflp-composition-grid,
  .pflp-sector-grid,
  .pflp-link-grid,
  .pflp-link-grid--noindex {
    grid-template-columns: 1fr 1fr;
  }

  .pflp-pdp-grid {
    grid-template-columns: 1fr;
  }

  .pflp-app-banner {
    grid-template-columns: 1fr;
  }

  .pflp-app-banner__visual {
    min-height: 340px;
  }

  .pflp-pdp-gallery {
    position: static;
  }

  .pflp-local-order-banner {
    grid-template-columns: 1fr;
  }

  .pflp-local-order-banner__media,
  .pflp-local-order-banner__media img {
    min-height: 320px;
  }

  .pflp-partner-banner {
    grid-template-areas:
      "content"
      "media"
      "benefits";
    grid-template-columns: 1fr;
  }

  .pflp-partner-banner__media {
    max-height: 320px;
    min-height: 260px;
  }

  .pflp-partner-banner ul {
    grid-template-columns: 1fr 1fr;
  }

  .pflp-status-card {
    max-width: 420px;
  }
}

@media (max-width: 640px) {
  .pflp-hero__grid,
  .pflp-local-florists__grid,
  .pflp-feature-grid,
  .pflp-context-grid,
  .pflp-composition-grid,
  .pflp-sector-grid,
  .pflp-link-grid,
  .pflp-link-grid--noindex {
    grid-template-columns: 1fr;
  }

  .pflp-pdp {
    padding: 16px;
  }

  .pflp-direct-florist {
    margin-inline: 14px;
    width: calc(100% - 28px);
  }

  .pflp-pdp-section {
    padding: 22px;
  }

  .pflp-app-banner {
    padding: 24px;
  }

  .pflp-app-banner__actions .pflp-button {
    justify-content: center;
    width: 100%;
  }

  .pflp-app-phone {
    max-width: 238px;
    min-height: 310px;
  }

  .pflp-app-float {
    max-width: 180px;
  }

  .pflp-app-float--top {
    left: 0;
    top: 58px;
  }

  .pflp-app-float--bottom {
    bottom: 38px;
    right: 0;
  }

  .pflp-pdp-summary h1 {
    font-size: 34px;
  }

  .pflp-pdp-variants > div {
    grid-template-columns: 1fr;
  }

  .pflp-local-order-banner__media,
  .pflp-local-order-banner__media img {
    min-height: 240px;
  }

  .pflp-local-order-banner__content {
    padding: 24px;
  }

  .pflp-local-order-banner h2 {
    font-size: 30px;
  }

  .pflp-local-order-banner__cta {
    justify-self: stretch;
  }

  .pflp-pdp-specs div {
    gap: 5px;
    grid-template-columns: 1fr;
  }

  .pflp-partner-banner__media {
    min-height: 220px;
  }

  .pflp-partner-banner ul {
    grid-template-columns: 1fr;
  }

  .pflp-local-florist-card {
    padding: 20px;
  }

  .pflp-local-florist-card__head {
    grid-template-columns: 48px 1fr;
  }

  .pflp-local-florist-card__mark {
    font-size: 24px;
    height: 48px;
    width: 48px;
  }

  .pflp-local-florist-card__logo {
    height: 48px;
    width: 48px;
  }

  .pflp-local-florist-card__cover {
    margin: -20px -20px 0;
  }

  .pflp-local-florist-card__stats {
    grid-template-columns: 1fr;
  }

  .pflp-wholesale-banner {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .pflp-wholesale-banner__cta {
    justify-self: stretch;
  }

  .pflp-links,
  .pflp-products,
  .pflp-local-florists,
  .pflp-copy,
  .pflp-faq,
  .pflp-nearby {
    padding: 22px;
  }

  .pflp-product-grid {
    gap: 18px 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pflp-product {
    background: #fff;
    border: 0;
    border-radius: 0;
    overflow: visible;
  }

  .pflp-product img {
    aspect-ratio: 1 / 1.12;
    padding: 0;
  }

  .pflp-product div {
    gap: 6px;
    padding: 10px 0 0;
  }

  .pflp-product__source {
    display: none;
  }

  .pflp-product h3 {
    font-size: 16px;
    line-height: 1.18;
    text-align: center;
  }

  .pflp-product p {
    display: none;
  }

  .pflp-product strong,
  .pflp-product small {
    display: block;
    font-size: 14px;
    line-height: 1.25;
    text-align: center;
  }

  .pflp-product small {
    color: #647067;
    font-size: 12px;
  }

  .pflp-pdp-main-image {
    border: 0;
    background: #fff;
  }

  .pflp-pdp-main-image img {

  }
}

/* Modern commerce refinements — 0.2.0 */
.pflp-page,.pflp-html-sitemap{background:#f7f3eb;color:#17231f}
.pflp-page h1,.pflp-page h2,.pflp-page h3,.pflp-html-sitemap h1,.pflp-html-sitemap h2{color:#0d2f28;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.025em}
.pflp-hero{background:#0d2f28}
.pflp-hero h1{color:#fff;font-size:clamp(44px,6vw,74px);line-height:1}
.pflp-lead{color:#d7e4df}
.pflp-button{background:#d86838;border-radius:999px;box-shadow:none;min-height:48px}
.pflp-button:hover{background:#b84e25}
.pflp-button--ghost{background:transparent;border-color:rgba(255,255,255,.6)}
.pflp-answer-box,.pflp-links,.pflp-copy,.pflp-products,.pflp-local-florists,.pflp-nearby,.pflp-unavailable{border-color:#dcd7cc;border-radius:18px;box-shadow:0 8px 28px rgba(13,47,40,.06)}
.pflp-unavailable{background:#fff8ed;border-left:5px solid #d86838;margin-top:24px;padding:clamp(24px,4vw,40px)}
.pflp-unavailable h2{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:0 0 12px}
.pflp-unavailable p:last-child{color:#62706a;font-size:17px;margin-bottom:0;max-width:800px}
.is-service-inactive .pflp-products{background:#f0ece4}
.is-service-inactive .pflp-products__empty{background:#fff;border:1px solid #e1d5c6;color:#78513d;font-weight:700}
.pflp-pdp{padding-top:34px}
.pflp-pdp-grid{align-items:start;gap:34px;grid-template-columns:minmax(0,1.05fr) minmax(380px,.75fr)}
.pflp-pdp-main-image{background:#fff;border:1px solid #dcd7cc;border-radius:18px;box-shadow:0 18px 44px rgba(13,47,40,.08);display:grid;place-items:center}
.pflp-pdp-main-image img{}
.pflp-pdp-image-status{background:#fff8ed;border:1px solid #ead6c0;border-radius:10px;color:#78513d;font-size:13px;margin:12px 0 0;padding:10px 12px}
.pflp-pdp-summary{background:#fffdf9;border:1px solid #dcd7cc;border-radius:18px;box-shadow:0 16px 40px rgba(13,47,40,.09);padding:30px;position:sticky;top:18px}
.pflp-pdp-summary h1{font-size:clamp(38px,4.2vw,60px);line-height:1}
.pflp-pdp-buybox{background:#f7f3eb;border-color:#dfd4c5;border-radius:14px}
.pflp-pdp-price strong{color:#0d2f28}
.pflp-web-availability{display:grid;gap:12px}
.pflp-web-availability>div{display:grid;gap:5px}
.pflp-web-availability label{color:#0d2f28;font-size:12px;font-weight:900}
.pflp-web-availability input,.pflp-web-availability select{background:#fff;border:1px solid #d2cec4;border-radius:9px;color:#17231f;font:inherit;min-height:44px;padding:8px 10px;width:100%}
.pflp-web-availability input:focus,.pflp-web-availability select:focus{border-color:#28705f;box-shadow:0 0 0 3px rgba(40,112,95,.12);outline:0}
.pflp-time-slots{border:0;display:grid;gap:7px;margin:0;min-width:0;padding:0}
.pflp-time-slots legend{color:#0d2f28;font-size:12px;font-weight:900;margin:0;padding:0}
.pflp-time-slots__options{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
.pflp-time-slots__options label{cursor:pointer;margin:0;min-width:0;position:relative}
.pflp-time-slots__options input{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
.pflp-time-slots__options span{align-items:center;background:#fff;border:1px solid #d2cec4;border-radius:10px;color:#173d33;display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:54px;padding:7px 4px;text-align:center;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}
.pflp-time-slots__options strong{font-size:13px;line-height:1.1;white-space:nowrap}
.pflp-time-slots__options small{color:#62706a;font-size:10px;font-weight:750;line-height:1.1}
.pflp-time-slots__options input:checked+span{background:#0d2f28;border-color:#0d2f28;box-shadow:0 8px 18px rgba(13,47,40,.16);color:#fff}
.pflp-time-slots__options input:checked+span small{color:#bfe2d3}
.pflp-time-slots__options input:focus-visible+span{box-shadow:0 0 0 3px rgba(40,112,95,.2);outline:0}
.pflp-locality-picker{position:relative}
.pflp-locality-picker>small{color:#62706a;font-size:11px;line-height:1.4}
.pflp-locality-picker__control{position:relative}
.pflp-locality-picker__toggle{background:#fff;border:1px solid #d2cec4;border-radius:9px;color:#17231f;font:inherit;min-height:44px;padding:8px 42px 8px 10px;width:100%}
.pflp-locality-picker__toggle:focus{border-color:#28705f;box-shadow:0 0 0 3px rgba(40,112,95,.12);outline:0}
.pflp-locality-picker__arrow{border-bottom:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #31524a;pointer-events:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);transition:transform .18s ease}
.pflp-locality-picker__control:has(.show) .pflp-locality-picker__arrow{transform:translateY(-50%) rotate(180deg)}
.pflp-locality-picker__menu{background:#fff;border:1px solid #d2cec4;border-radius:12px;box-shadow:0 16px 36px rgba(13,47,40,.16);display:none;left:0;margin-top:6px;max-width:100%;min-width:100%;padding:10px;position:absolute;right:0;top:100%;z-index:1050}
.pflp-locality-picker__menu.show{display:block}
.pflp-locality-picker__options{max-height:230px;overflow-y:auto}
.pflp-locality-picker__options [hidden]{display:none!important}
.pflp-locality-picker__options .dropdown-item{align-items:center;background:transparent;border:0;border-radius:8px;color:#17231f;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:10px 11px;text-align:left;width:100%}
.pflp-locality-picker__options .dropdown-item:hover,.pflp-locality-picker__options .dropdown-item:focus{background:#f0f6f3;outline:0}
.pflp-locality-picker__options .dropdown-item.active{background:#e2f1ea;color:#0d4f3f}
.pflp-locality-picker__options .dropdown-item small{color:#62706a;font-size:12px;margin-left:12px}
.pflp-locality-picker__empty{color:#78513d;font-size:13px;margin:8px 4px 2px;text-align:center}
.pflp-locality-picker.is-selected .pflp-locality-picker__toggle{background:#f5fbf7;border-color:#28705f}
.pflp-web-availability .pflp-button{border:0;color:#fff;cursor:pointer;font:inherit;font-weight:900;width:100%}
.pflp-web-availability .pflp-button[disabled]{cursor:not-allowed;opacity:.58}
.pflp-web-availability__status{color:#62706a;font-size:12px;line-height:1.45;margin:0}
.pflp-web-availability__status.is-success{background:#edf7f0;border:1px solid #c9e0d0;border-radius:9px;color:#155b43;padding:10px}
.pflp-web-availability__status.is-error{background:#fff0ed;border:1px solid #e9c8be;border-radius:9px;color:#8b3627;padding:10px}
.pflp-html-sitemap{padding:38px 0 64px}
.pflp-sitemap-hero,.pflp-county-index,.pflp-county-section{border-color:#dcd7cc;border-radius:18px;box-shadow:0 8px 28px rgba(13,47,40,.05)}
.pflp-sitemap-hero h1{font-size:clamp(42px,6vw,68px)}
.pflp-directory-filter{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(220px,1fr) minmax(200px,.55fr) auto auto;margin-top:20px}
.pflp-directory-filter label{display:grid;gap:6px}
.pflp-directory-filter label span{color:#0d2f28;font-size:12px;font-weight:900}
.pflp-directory-filter input,.pflp-directory-filter select{background:#fff;border:1px solid #d2cec4;border-radius:10px;font:inherit;min-height:46px;padding:8px 11px;width:100%}
.pflp-directory-filter button,.pflp-directory-filter>a,.pflp-directory-pagination a{align-items:center;background:#0d2f28;border:0;border-radius:999px;color:#fff;display:inline-flex;font:inherit;font-weight:850;justify-content:center;min-height:46px;padding:8px 18px;text-decoration:none}
.pflp-directory-filter>a{background:transparent;border:1px solid #0d2f28;color:#0d2f28}
.pflp-link-grid a{border-color:#e1dcd2;border-radius:10px}
.pflp-link-grid a:hover{border-color:#28705f;box-shadow:0 8px 20px rgba(13,47,40,.07)}
.pflp-directory-pagination{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-top:24px}
.pflp-directory-pagination span{color:#62706a;font-size:13px;font-weight:800}

@media(max-width:920px){
  .pflp-pdp-grid{grid-template-columns:1fr}
  .pflp-pdp-summary{position:static}
  .pflp-directory-filter{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .pflp-pdp{padding-top:18px}
  .pflp-pdp-summary{border-radius:14px;padding:20px}
  .pflp-pdp-buybox{padding:14px}
  .pflp-pdp-main-image{border-radius:14px;}
  .pflp-pdp-main-image img{}
  .pflp-web-availability .pflp-button{min-height:52px}
  .pflp-directory-filter{grid-template-columns:1fr}
  .pflp-directory-filter button,.pflp-directory-filter>a{width:100%}
  .pflp-directory-pagination{display:grid;grid-template-columns:1fr 1fr}
  .pflp-directory-pagination span{grid-column:1/-1;grid-row:1;text-align:center}
}

.pflp-local-florist-card__profile-link{align-items:center;background:#0d2f28;border-radius:999px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:46px;padding:10px 18px;text-decoration:none}
.pflp-local-florist-card__profile-link:hover{background:#28705f;color:#fff}
.pflp-florist-profile{background:#f7f3eb;color:#17231f;padding-bottom:70px}
.pflp-florist-hero{background:#0d2f28;color:#fff;min-height:330px;overflow:hidden;position:relative}
.pflp-florist-hero__cover{height:100%;inset:0;object-fit:cover;opacity:.28;position:absolute;width:100%}
.pflp-florist-hero::after{background:linear-gradient(90deg,rgba(13,47,40,.98),rgba(13,47,40,.78) 56%,rgba(13,47,40,.35));content:"";inset:0;position:absolute}
.pflp-florist-hero__content{padding-bottom:52px;padding-top:36px;position:relative;z-index:1}
.pflp-florist-identity{align-items:center;display:grid;gap:22px;grid-template-columns:110px minmax(0,1fr);margin-top:46px}
.pflp-florist-identity>img,.pflp-florist-identity>span{align-items:center;background:#fff;border:5px solid rgba(255,255,255,.28);border-radius:22px;color:#0d2f28;display:flex;font-family:Georgia,"Times New Roman",serif;font-size:50px;height:110px;justify-content:center;object-fit:contain;padding:7px;width:110px}
.pflp-florist-identity p{color:#ffad78;font-size:12px;font-weight:950;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}
.pflp-florist-identity h1{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,72px);font-weight:500;letter-spacing:-.03em;line-height:1;margin:0}
.pf-modern-ui .pflp-florist-identity h1{color:#fff}
.pflp-florist-hero__lead{color:#d7e4df;font-size:19px;line-height:1.55;margin-top:14px;max-width:780px}
.pflp-florist-layout{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);padding-top:28px}
.pflp-florist-main,.pflp-florist-sidebar{display:grid;gap:24px}
.pflp-florist-sidebar{position:sticky;top:18px}
.pflp-florist-panel{background:#fff;border:1px solid #dcd7cc;border-radius:18px;box-shadow:0 10px 32px rgba(13,47,40,.06);padding:clamp(22px,3vw,32px)}
.pflp-florist-panel h2{color:#0d2f28;font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:500;letter-spacing:-.02em;margin:0 0 18px}
.pflp-florist-panel h3{color:#0d2f28;font-size:18px;margin:24px 0 12px}
.pflp-florist-panel p{color:#4b5d55;font-size:17px;line-height:1.65}
.pflp-florist-gallery{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.pflp-florist-gallery a{background:#f7f3eb;border-radius:12px;overflow:hidden}
.pflp-florist-gallery img{aspect-ratio:1/1;display:block;height:100%;object-fit:cover;width:100%}
.pflp-florist-tags{display:flex;flex-wrap:wrap;gap:10px}
.pflp-florist-tags span{background:#edf6f1;border:1px solid #cfe3d8;border-radius:999px;color:#155b43;font-weight:850;padding:9px 13px}
.pflp-florist-hours,.pflp-florist-facts{display:grid;gap:0;margin:0}
.pflp-florist-hours div,.pflp-florist-facts div{border-top:1px solid #ece8df;display:grid;gap:12px;grid-template-columns:130px 1fr;padding:12px 0}
.pflp-florist-hours dt,.pflp-florist-facts dt{color:#28705f;font-size:12px;font-weight:950;text-transform:uppercase}
.pflp-florist-hours dd,.pflp-florist-facts dd{color:#273c34;font-weight:750;margin:0}
.pflp-florist-products{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.pflp-florist-products a{background:#fff;border:1px solid #e1dcd2;border-radius:12px;color:#17231f;display:grid;gap:7px;overflow:hidden;padding:12px;text-decoration:none}
.pflp-florist-products img{aspect-ratio:1/1;background:#f8faf8;border-radius:8px;object-fit:contain;width:100%}
.pflp-florist-products span{color:#62706a;font-size:13px;line-height:1.4}
.pflp-florist-products b{color:#0d2f28}
.pflp-florist-note{background:#fff8ed;border-radius:10px;font-size:13px!important;padding:12px}
.pflp-florist-links{display:grid;gap:10px}
.pflp-florist-links a{align-items:center;border:1px solid #dcd7cc;border-radius:10px;color:#0d2f28;display:flex;font-weight:900;justify-content:space-between;padding:12px;text-decoration:none}
.pflp-florist-links span{color:#62706a;font-size:12px;font-weight:700}
.pflp-florist-disclaimer{background:#fff8ed;border-color:#ead6c0}
.pflp-florist-map,.pflp-button--light{justify-content:center;text-align:center}
.pflp-button--light{background:#fff;border-color:#0d2f28;color:#0d2f28}
.pflp-button--light:hover{background:#edf6f1;color:#0d2f28}
.pflp-florist-catalog{background:#fff;border:1px solid #dcd7cc;border-radius:18px;box-shadow:0 10px 32px rgba(13,47,40,.06);margin-top:28px;padding:clamp(24px,3vw,38px)}
.pflp-florist-catalog__heading{align-items:end;display:flex;gap:24px;justify-content:space-between;margin-bottom:28px}
.pflp-florist-catalog__heading .pflp-kicker{color:#28705f;margin:0 0 7px}
.pflp-florist-catalog__heading h2{color:#0d2f28;font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4vw,46px);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0}
.pflp-florist-catalog__heading>span{background:#edf6f1;border:1px solid #cfe3d8;border-radius:999px;color:#155b43;flex:0 0 auto;font-size:13px;font-weight:850;padding:9px 13px}
.pflp-florist-pagination{align-items:center;border-top:1px solid #e8e3da;display:grid;gap:16px;grid-template-columns:1fr auto 1fr;margin-top:36px;padding-top:24px}
.pflp-florist-pagination a,.pflp-florist-pagination span{align-items:center;border:1px solid #d7e2dc;border-radius:999px;color:#0d2f28;display:inline-flex;font-size:14px;font-weight:850;justify-content:center;min-height:42px;min-width:42px;padding:7px 12px;text-decoration:none}
.pflp-florist-pagination a:hover{border-color:#ff7a1a;color:#a5480c}
.pflp-florist-pagination [aria-current="page"]{background:#0d2f28;border-color:#0d2f28;color:#fff}
.pflp-florist-pagination__pages{display:flex;flex-wrap:wrap;gap:7px;grid-column:2;justify-content:center}
.pflp-florist-pagination__edge--previous{grid-column:1;grid-row:1;justify-self:start}
.pflp-florist-pagination__edge--next{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:900px){.pflp-florist-layout{grid-template-columns:1fr}.pflp-florist-sidebar{position:static}.pflp-florist-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.pflp-florist-identity{grid-template-columns:72px minmax(0,1fr);margin-top:32px}.pflp-florist-identity>img,.pflp-florist-identity>span{border-radius:14px;font-size:34px;height:72px;width:72px}.pflp-florist-identity h1{font-size:38px}.pflp-florist-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.pflp-florist-products{grid-template-columns:1fr}.pflp-florist-hours div,.pflp-florist-facts div{grid-template-columns:1fr;gap:4px}.pflp-florist-catalog{border-left:0;border-radius:0;border-right:0;padding-inline:14px;width:100%}.pflp-florist-catalog__heading{align-items:start;display:grid;gap:12px}.pflp-florist-pagination{grid-template-columns:1fr 1fr}.pflp-florist-pagination__pages{grid-column:1/-1;grid-row:1}.pflp-florist-pagination__edge{grid-row:2;justify-self:stretch}.pflp-florist-pagination__edge--previous{grid-column:1}.pflp-florist-pagination__edge--next{grid-column:2}}

/* Listed florist profiles 0.7.2 — public information first, responsive app conversion second. */
.pflp-florist-profile.is-listing .pflp-florist-hero{min-height:0}
.pflp-florist-profile.is-listing .pflp-florist-hero::after{background:linear-gradient(105deg,rgba(13,47,40,.99),rgba(13,47,40,.94) 54%,rgba(13,47,40,.72))}
.pflp-listed-hero{align-items:center;display:grid;gap:clamp(30px,5vw,72px);grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);padding:36px 0 14px}
.pflp-listed-hero__copy{min-width:0}
.pflp-listed-hero__eyebrow{color:#ffad78;font-size:12px;font-weight:950;letter-spacing:.11em;margin:0 0 13px;text-transform:uppercase}
.pflp-listed-hero h1{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5.5vw,68px);font-weight:500;letter-spacing:-.035em;line-height:1.02;margin:0}
.pf-modern-ui .pflp-listed-hero h1{color:#fff}
.pflp-listed-hero__address{align-items:flex-start;color:#edf5f1;display:flex;font-size:15px;gap:9px;line-height:1.5;margin:20px 0 0;max-width:680px}
.pflp-listed-hero__address span{color:#ffad78;font-size:20px;line-height:1}
.pflp-listed-hero__actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.pflp-listed-hero__actions>span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#dcebe5;font-size:12px;font-weight:850;padding:9px 13px}
.pflp-listed-hero__actions a{align-items:center;color:#fff;display:inline-flex;font-size:14px;font-weight:900;gap:6px;text-decoration:underline;text-decoration-color:rgba(255,255,255,.42);text-underline-offset:4px}
.pflp-listed-hero__visual{background:#f5f0e5;border:1px solid rgba(255,255,255,.36);border-radius:24px;box-shadow:0 24px 54px rgba(0,0,0,.2);margin:0;overflow:hidden;position:relative}
.pflp-listed-hero__visual img{aspect-ratio:20/14;display:block;height:auto;object-fit:cover;width:100%}
.pflp-listed-hero__visual figcaption{background:rgba(13,47,40,.9);border-radius:999px;bottom:12px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.06em;padding:7px 10px;position:absolute;right:12px;text-transform:uppercase}
.pflp-florist-profile.is-listing .pflp-florist-panel{box-shadow:0 8px 28px rgba(13,47,40,.045)}
.pflp-florist-profile.is-listing .pflp-florist-disclaimer{background:#edf6f1;border-color:#cfe3d8}
.pflp-florist-profile.is-listing .pflp-florist-note{background:#edf6f1}
.pflp-florist-owner{background:#0d2f28;border:1px solid rgba(255,255,255,.14);border-radius:28px;box-shadow:0 24px 64px rgba(13,47,40,.19);color:#fff;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(470px,.96fr);margin-top:38px;overflow:hidden;padding:0;position:relative}
.pflp-florist-owner::after{background:radial-gradient(circle,#5c9a79 0,rgba(92,154,121,0) 69%);content:"";height:440px;opacity:.18;pointer-events:none;position:absolute;right:-120px;top:-180px;width:440px}
.pflp-florist-owner__visual{margin:0;min-height:100%;min-width:0;overflow:visible;position:relative}
.pflp-florist-owner__visual::after{background:linear-gradient(90deg,rgba(13,47,40,0) 64%,#0d2f28 100%);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}
.pflp-florist-owner__visual picture{display:block;height:100%;overflow:hidden}
.pflp-florist-owner__visual picture img{display:block;height:100%;min-height:760px;object-fit:cover;object-position:center;width:100%}
.pflp-florist-owner__phone{filter:drop-shadow(0 18px 18px rgba(0,0,0,.32));height:auto!important;min-height:0!important;object-fit:contain!important;pointer-events:none;position:absolute;right:clamp(-92px,-6vw,-68px);top:50%;transform:translateY(-50%) rotate(1deg);width:clamp(240px,21vw,300px)!important;z-index:3}
.pflp-florist-owner__visual>span{background:rgba(5,31,25,.82);border:1px solid rgba(255,255,255,.2);border-radius:999px;bottom:18px;color:#e8f3ee;font-size:10px;font-weight:800;left:18px;letter-spacing:.02em;line-height:1.35;max-width:calc(100% - 36px);padding:8px 11px;position:absolute;z-index:2}
.pflp-florist-owner__body{align-content:center;display:grid;gap:16px;min-width:0;padding:clamp(34px,3.4vw,48px) clamp(34px,3.4vw,48px) clamp(34px,3.4vw,48px) clamp(80px,7vw,98px);position:relative;z-index:2}
.pflp-florist-owner__content,.pflp-florist-owner__action{position:relative;z-index:1}
.pflp-florist-owner .pflp-kicker{color:#ffad78;margin:0 0 9px}
.pflp-florist-owner h2{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3.2vw,46px);font-weight:500;letter-spacing:-.03em;line-height:1.04;margin:0 0 11px}
.pf-modern-ui .pflp-florist-owner h2{color:#fff}
.pflp-florist-owner__content>p:not(.pflp-kicker){color:#dcebe5;font-size:15.5px;line-height:1.52;margin:0}
.pflp-florist-owner__offer{align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);border-radius:18px;display:grid;gap:14px;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.2fr);padding:16px 18px}
.pflp-florist-owner__price{align-items:baseline;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-wrap:wrap;gap:2px 8px;padding-right:20px}
.pflp-florist-owner__price span{color:#bcd2c9;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;width:100%}
.pflp-florist-owner__price strong{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:36px;font-weight:500;line-height:1}
.pflp-florist-owner__price small{color:#dcebe5;font-size:13px;font-weight:750}
.pflp-florist-owner__commission{display:grid;gap:4px}
.pflp-florist-owner__commission strong{color:#a9e4bd;font-size:18px;line-height:1.2}
.pflp-florist-owner__commission span{color:#dcebe5;font-size:12px;line-height:1.45}
.pflp-florist-owner__benefits{display:grid;gap:11px 16px;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}
.pflp-florist-owner__benefits li{color:#edf5f1;font-size:12.5px;line-height:1.4;padding-left:22px;position:relative}
.pflp-florist-owner__benefits li::before{color:#88c79f;content:"✓";font-size:16px;font-weight:950;left:0;position:absolute;top:0}
.pflp-florist-owner__benefits strong,.pflp-florist-owner__benefits span{display:block}
.pflp-florist-owner__benefits strong{font-size:14px;margin-bottom:3px}
.pflp-florist-owner__benefits span{color:#bdd3ca}
.pflp-florist-owner__action{display:flex;flex-wrap:wrap;gap:10px}
.pflp-florist-owner__action .pflp-button{background:#fff;color:#0d2f28;gap:12px;justify-content:center;line-height:1.3;min-height:54px;text-align:center}
.pflp-florist-owner__action .pflp-button:hover{background:#edf6f1;color:#0d2f28}
.pflp-florist-owner__action .pflp-button--outline{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.pflp-florist-owner__action .pflp-button--outline:hover{background:rgba(255,255,255,.09);color:#fff}
.pflp-florist-owner__availability,.pflp-florist-owner__hardware-note{color:#dcebe5;font-size:12px;font-weight:750;margin:-8px 0 0}
.pflp-florist-owner__hardware-note{color:#b6ccc3;font-weight:650;line-height:1.5}
.pflp-florist-owner__verification{color:#9dbbb0;font-size:11px;line-height:1.5}
.pflp-florist-owner a:focus-visible,.pflp-listed-hero a:focus-visible{outline:3px solid #ffad78;outline-offset:4px}
@media(max-width:1180px) and (min-width:1021px){.pflp-florist-owner{grid-template-columns:minmax(0,1fr) minmax(500px,.98fr)}.pflp-florist-owner__body{padding-left:78px}.pflp-florist-owner__phone{right:-72px;width:260px!important}}
@media(max-width:1020px){.pflp-listed-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.64fr)}.pflp-florist-owner{grid-template-columns:1fr}.pflp-florist-owner__visual{height:470px}.pflp-florist-owner__visual::after{background:linear-gradient(180deg,rgba(13,47,40,0) 64%,#0d2f28 100%)}.pflp-florist-owner__visual picture img{min-height:0;object-position:center 44%}.pflp-florist-owner__phone{bottom:-82px;right:clamp(26px,9vw,90px);top:auto;transform:rotate(1deg);width:clamp(250px,35vw,320px)!important}.pflp-florist-owner__body{padding:96px clamp(32px,7vw,72px) 46px}}
@media(max-width:700px){.pflp-florist-profile.is-listing .pflp-florist-hero__content{padding-bottom:28px;padding-top:24px}.pflp-listed-hero{gap:24px;grid-template-columns:1fr;padding-top:24px}.pflp-listed-hero h1{font-size:clamp(38px,11vw,52px)}.pflp-listed-hero__visual{border-radius:18px;max-height:230px}.pflp-listed-hero__visual img{height:230px;object-fit:cover}.pflp-florist-owner{border-radius:20px;grid-template-columns:minmax(0,1fr);margin-left:14px;margin-right:14px;width:auto}.pflp-florist-owner__visual{height:clamp(350px,104vw,448px)}.pflp-florist-owner__visual picture img{object-position:center}.pflp-florist-owner__phone{bottom:-66px;right:10px;width:clamp(210px,57vw,260px)!important}.pflp-florist-owner__visual>span{border-radius:12px;bottom:12px;font-size:9px;left:12px;max-width:calc(100% - 175px)}.pflp-florist-owner__body{gap:19px;padding:84px 22px 28px}.pflp-florist-owner h2{overflow-wrap:anywhere}.pflp-florist-owner__offer{align-items:start;grid-template-columns:minmax(0,1fr);padding:16px}.pflp-florist-owner__price{border-bottom:1px solid rgba(255,255,255,.18);border-right:0;padding-bottom:14px;padding-right:0}.pflp-florist-owner__benefits{grid-template-columns:minmax(0,1fr)}.pflp-florist-owner__action{display:grid;min-width:0}.pflp-florist-owner__action .pflp-button{min-width:0;white-space:normal;width:100%}}

/* Canonical PDP 0.6.0 — product-first layout and real availability controls. */
.pflp-product-page .pflp-pdp-grid{grid-template-columns:minmax(0,1.38fr) minmax(390px,1fr);gap:clamp(24px,3vw,44px)}
.pflp-product-page .pflp-pdp-gallery{min-width:0}
.pflp-product-page .pflp-pdp-main-image{overflow:hidden;position:relative}
.pflp-product-page .pflp-pdp-main-image img{}
.pflp-pdp-zoom{background:rgba(13,47,40,.88);border-radius:999px;bottom:16px;color:#fff;font-size:12px;font-weight:850;padding:8px 12px;position:absolute;right:16px}
.pflp-product-page .pflp-pdp-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.pflp-product-page .pflp-pdp-thumbs button{background:#fff;border:2px solid transparent;border-radius:11px;flex:0 0 82px;height:82px;overflow:hidden;padding:4px}
.pflp-product-page .pflp-pdp-thumbs button.is-active{border-color:#0d2f28}
.pflp-product-page .pflp-pdp-thumbs img{height:100%;object-fit:contain;width:100%}
.pflp-product-page .pflp-pdp-summary h1{font-size:clamp(32px,3.15vw,50px);margin-bottom:10px}
.pflp-pdp-maker{background:#edf7f0;border-left:3px solid #28705f;border-radius:8px;color:#31524a;font-size:14px;line-height:1.5;margin:0 0 18px;padding:10px 12px}
.pflp-date-quick{display:flex!important;gap:8px;margin-bottom:7px}
.pflp-date-quick[hidden]{display:none!important}
.pflp-date-quick button{background:#fff;border:1px solid #28705f;border-radius:999px;color:#0d2f28;cursor:pointer;font:inherit;font-size:12px;font-weight:850;min-height:36px;padding:6px 13px}
.pflp-date-quick button:hover,.pflp-date-quick button:focus-visible{background:#edf7f0;outline:2px solid rgba(40,112,95,.18)}
.pflp-time-slots[disabled]{opacity:.64}
.pflp-time-slots__options>p{color:#62706a;font-size:12px;grid-column:1/-1;margin:3px 0}
.pflp-price-preview{background:#fff;border:1px solid #cbd9d3;border-radius:12px;display:grid!important;gap:0!important;padding:8px 13px}
.pflp-price-preview[hidden]{display:none!important}
.pflp-price-preview>div{align-items:center;border-bottom:1px solid #e6ebe8;display:flex;justify-content:space-between;padding:7px 0}
.pflp-price-preview>div:last-child{border:0}
.pflp-price-preview span{color:#62706a;font-size:13px}
.pflp-price-preview strong{color:#0d2f28}
.pflp-price-preview__total{font-size:17px}
.pflp-gift-note{background:#fff8ed;border-radius:9px;color:#654f3e;font-size:12px;line-height:1.45;margin:0;padding:10px 12px}
.pflp-product-page .pflp-web-availability .pflp-button{background:#0d6b50;border-color:#0d6b50;border-radius:12px;min-height:56px}
.pflp-product-page .pflp-web-availability .pflp-button:hover,.pflp-product-page .pflp-web-availability .pflp-button:focus-visible{background:#095640;border-color:#095640}
.pflp-product-page .pflp-web-availability .pflp-button[disabled]{background:#bdc8c3;border-color:#bdc8c3;color:#f7f9f8;opacity:1}
@media(max-width:1080px){.pflp-product-page .pflp-pdp-grid{grid-template-columns:1fr}.pflp-product-page .pflp-pdp-summary{position:static}}
@media(max-width:620px){.pflp-product-page .pflp-pdp-thumbs button{flex-basis:68px;height:68px}.pflp-product-page .pflp-pdp-summary h1{font-size:clamp(29px,9vw,38px);line-height:1.05}.pflp-time-slots__options{grid-template-columns:1fr 1fr}}

/* PDP mobile commerce hierarchy and safe full-screen gallery — 0.6.2. */
.pflp-pdp-breadcrumb__mobile{display:none}
.pflp-product-page .pflp-pdp-summary{display:contents}
.pflp-product-page .pflp-pdp-gallery{grid-column:1;grid-row:1 / span 5}
.pflp-product-page .pflp-pdp-eyebrow,.pflp-product-page .pflp-pdp-summary>h1,.pflp-product-page .pflp-pdp-maker,.pflp-product-page .pflp-pdp-price,.pflp-product-page .pflp-pdp-buybox,.pflp-product-page .pflp-pdp-promises{grid-column:2}
.pflp-gallery-modal{height:100vh;height:100dvh}
.pflp-gallery-modal__dialog{grid-template-rows:auto minmax(0,1fr) auto auto;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.pflp-gallery-modal__topbar{align-items:center;display:flex;grid-column:1/-1;grid-row:1;justify-content:space-between;z-index:2}
.pflp-gallery-modal__counter{background:rgba(255,255,255,.94);border-radius:999px;color:#123126;font-size:13px;font-weight:900;padding:9px 13px}
.pflp-gallery-modal__close{height:42px;position:static}
.pflp-gallery-modal__figure{grid-column:2;grid-row:2}
.pflp-gallery-modal__figure img{height:100%;max-height:100%;max-width:100%;width:100%}
.pflp-gallery-modal__nav{grid-row:2;z-index:2}
.pflp-gallery-modal__thumbs{grid-row:3;padding-bottom:max(4px,env(safe-area-inset-bottom));z-index:2}
.pflp-gallery-modal__purchase{align-items:center;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.42);border-radius:16px;box-shadow:0 12px 34px rgba(0,0,0,.24);display:flex;gap:18px;grid-column:1/-1;grid-row:4;justify-content:space-between;justify-self:center;max-width:620px;padding:10px 11px 10px 16px;width:100%;z-index:3}
.pflp-gallery-modal__purchase span{display:grid;gap:1px;min-width:0}
.pflp-gallery-modal__purchase small{color:#62706a;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.pflp-gallery-modal__purchase strong{color:#0d2f28;font-size:19px;line-height:1.2;white-space:nowrap}
.pflp-gallery-modal__purchase button{background:#0d6b50;border:0;border-radius:12px;color:#fff;cursor:pointer;font:inherit;font-size:14px;font-weight:900;min-height:46px;padding:9px 20px;white-space:nowrap}
.pflp-gallery-modal__purchase button:hover,.pflp-gallery-modal__purchase button:focus-visible{background:#095640;outline:3px solid rgba(255,255,255,.7);outline-offset:2px}
.pflp-gallery-modal__purchase button:disabled{background:#b7c4bf;color:#f7f9f8;cursor:not-allowed}
@media(max-width:1080px){
  .pflp-product-page .pflp-pdp-grid{display:grid}
  .pflp-product-page .pflp-pdp-gallery{grid-column:1;grid-row:auto;position:static}
  .pflp-product-page .pflp-pdp-eyebrow,.pflp-product-page .pflp-pdp-summary>h1,.pflp-product-page .pflp-pdp-maker,.pflp-product-page .pflp-pdp-price,.pflp-product-page .pflp-pdp-buybox,.pflp-product-page .pflp-pdp-promises{grid-column:1}
  .pflp-product-page .pflp-pdp-eyebrow{order:1}
  .pflp-product-page .pflp-pdp-summary>h1{order:2}
  .pflp-product-page .pflp-pdp-maker{order:3}
  .pflp-product-page .pflp-pdp-price{order:4}
  .pflp-product-page .pflp-pdp-gallery{order:5}
  .pflp-product-page .pflp-pdp-buybox{order:6}
  .pflp-product-page .pflp-pdp-promises{order:7}
}
@media(max-width:620px){
  .pflp-product-page .pflp-pdp-breadcrumb>a:not(.pflp-pdp-breadcrumb__mobile),.pflp-product-page .pflp-pdp-breadcrumb>span{display:none}
  .pflp-product-page .pflp-pdp-breadcrumb__mobile{display:inline-flex;font-size:14px;font-weight:850}
  .pflp-product-page .pflp-pdp-grid{gap:12px}
  .pflp-product-page .pflp-pdp-eyebrow{padding:0 16px;margin-top:0}
  .pflp-product-page .pflp-pdp-summary>h1{padding:0 16px;margin:0}
  .pflp-product-page .pflp-pdp-maker{margin:0 16px 4px}
  .pflp-product-page .pflp-pdp-price{margin:0 16px;padding:14px 0}
  .pflp-product-page .pflp-pdp-main-image{}
  .pflp-gallery-modal__dialog{gap:10px;grid-template-columns:44px minmax(0,1fr) 44px}
  .pflp-gallery-modal__figure{border-radius:12px;padding:4px}
  .pflp-gallery-modal__nav{height:44px;width:44px}
  .pflp-gallery-modal__thumbs{gap:7px;justify-content:flex-start}
  .pflp-gallery-modal__thumbs button{flex-basis:62px}
}

/* Mobile gallery viewer — use the image's real aspect ratio, not a tall white card. */
@media (max-width: 620px) {
  .pflp-gallery-modal__backdrop {
    background: rgba(4, 18, 14, .96);
  }

  .pflp-gallery-modal__dialog {
    align-items: stretch;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  }

  .pflp-gallery-modal__topbar {
    grid-column: 1;
    grid-row: 1;
  }

  .pflp-gallery-modal__counter,
  .pflp-gallery-modal__close {
    backdrop-filter: blur(12px);
    background: rgba(5, 30, 23, .72);
    border: 1px solid rgba(255, 255, 255, .3);
    color: #fff;
  }

  .pflp-gallery-modal__counter {
    padding: 8px 12px;
  }

  .pflp-gallery-modal__close {
    height: 40px;
    padding-inline: 14px;
  }

  .pflp-gallery-modal__figure {
    align-self: stretch;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    grid-column: 1;
    grid-row: 2;
    min-height: 0;
    padding: 0;
    touch-action: pan-y;
  }

  .pflp-gallery-modal__figure img {
    background: transparent;
    border-radius: 8px;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    user-select: none;
    width: auto;
  }

  .pflp-gallery-modal__nav {
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .22);
    height: 38px;
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
  }

  .pflp-gallery-modal__nav::before {
    height: 10px;
    width: 10px;
  }

  .pflp-gallery-modal__nav--prev {
    left: max(8px, env(safe-area-inset-left));
  }

  .pflp-gallery-modal__nav--next {
    right: max(8px, env(safe-area-inset-right));
  }

  .pflp-gallery-modal__thumbs {
    gap: 8px;
    grid-column: 1;
    grid-row: 3;
    justify-content: flex-start;
    margin-inline: auto;
    max-width: 100%;
    overscroll-behavior-inline: contain;
    padding: 2px 0;
    scrollbar-width: none;
    width: max-content;
  }

  .pflp-gallery-modal__thumbs::-webkit-scrollbar {
    display: none;
  }

  .pflp-gallery-modal__thumbs button {
    background: rgba(255, 255, 255, .94);
    border-radius: 8px;
    flex-basis: 58px;
    height: 58px;
  }

  .pflp-gallery-modal__thumbs button.is-active {
    border-color: #f97316;
  }

  .pflp-gallery-modal__purchase {
    border-radius: 14px;
    gap: 10px;
    grid-column: 1;
    grid-row: 4;
    padding: 8px 8px 8px 13px;
  }

  .pflp-gallery-modal__purchase strong {
    font-size: 17px;
  }

  .pflp-gallery-modal__purchase button {
    min-height: 44px;
    padding-inline: 15px;
  }
}
.pflp-product-page .pflp-pdp-main-image{position:relative;aspect-ratio:4/5;width:100%;max-width:544px;max-height:680px;min-height:0;margin:0 auto;overflow:hidden;box-sizing:border-box}
.pflp-product-page .pflp-pdp-main-image img{position:absolute;inset:0;display:block;box-sizing:border-box;width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:auto;object-fit:contain;padding:10px}
.pflp-product-page .pflp-pdp-grid{align-items:start;gap:24px}
.pflp-product-page .pflp-pdp-summary{display:flex;flex-direction:column;gap:16px;grid-column:2;grid-row:1}
.pflp-product-page .pflp-pdp-gallery{grid-column:1;grid-row:1}
.pflp-product-page .pflp-pdp-summary h1{margin:0;font-size:clamp(30px,3vw,42px);line-height:1.12}
.pflp-product-page .pflp-pdp-price,.pflp-product-page .pflp-pdp-maker{margin:0;padding:10px 0}
.pflp-product-page .pflp-pdp-maker{order:3;background:none;border:0;font-size:13px}
.pflp-product-page .pflp-pdp-buybox{order:4}
.pflp-product-page .pflp-pdp-promises{order:5}
.pflp-pdp-variants button>span{font-size:12px;font-weight:500;display:block}
.pflp-product-page .pflp-pdp-main-image:focus-visible{outline:2px solid #28705f;outline-offset:3px}
@media(max-width:1080px){
 .pflp-product-page .pflp-pdp-summary{display:contents}
 .pflp-product-page .pflp-pdp-grid{gap:12px}
 .pflp-product-page .pflp-pdp-summary>h1{order:1}
 .pflp-product-page .pflp-pdp-price{order:2}
 .pflp-product-page .pflp-pdp-gallery{order:3;grid-row:auto}
 .pflp-product-page .pflp-pdp-buybox{order:4}
 .pflp-product-page .pflp-pdp-maker{order:5}
 .pflp-product-page .pflp-pdp-promises{order:6}
}
@media(max-width:620px){.pflp-product-page .pflp-pdp-price{margin:0 16px}.pflp-product-page .pflp-pdp-main-image{border-radius:0;border:0;box-shadow:none}}

/* Compact reassurance strip; no interaction or ordering contracts changed. */
.pflp-product-page .pflp-pdp-promises{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:18px 0 0;border-top:1px solid #dfe7df;align-self:start}
.pflp-product-page .pflp-pdp-promises svg{display:block;width:25px;height:25px;margin-bottom:9px;fill:none;stroke:#28705f;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pflp-product-page .pflp-pdp-promises strong{font-size:13px;line-height:1.35}
.pflp-product-page .pflp-pdp-promises span{font-size:12px;line-height:1.5;margin-top:5px}
@media(min-width:1081px){.pflp-product-page .pflp-pdp-grid{grid-template-rows:max-content 1fr;row-gap:18px}.pflp-product-page .pflp-pdp-summary{grid-row:1 / 3}}
@media(max-width:1080px){.pflp-product-page .pflp-pdp-promises{grid-row:auto;margin:8px 0 0;padding:16px;gap:12px}}
@media(max-width:374px){.pflp-product-page .pflp-pdp-promises{grid-template-columns:1fr}.pflp-product-page .pflp-pdp-promises>div{display:grid;grid-template-columns:25px 1fr;column-gap:10px}.pflp-product-page .pflp-pdp-promises svg{grid-row:1 / 3;margin:0}.pflp-product-page .pflp-pdp-promises span{grid-column:2}}
