/* Scoped native port of Web vitality PlantCards; dimensions match the approved preview. */
.office-flora-carousel { min-width: 0; max-width: 100%; padding: 24px 0; background: #fff; color: #222; letter-spacing: 0; }
.office-flora-carousel .plantHeader { display: flex; align-items: center; gap: 6px; padding-inline: 16px; }
.office-flora-carousel .plantHeader h4 { flex: 1; min-width: 0; margin: 0; color: #000; font-size: 16px; font-weight: 600; line-height: 24px; overflow-wrap: anywhere; }
.office-flora-carousel .plantBlockIcon { width: 32px; height: 32px; flex-shrink: 0; overflow: hidden; border-radius: 50%; background: #60bbaf; }
.office-flora-carousel .plantBlockIcon img { display: block; filter: grayscale(1) brightness(.57) contrast(100); mix-blend-mode: screen; }
.office-flora-carousel .plantControls { display: none; align-items: center; gap: 6px; }
.office-flora-carousel .plantControls[hidden] { display: none; }
.office-flora-carousel .plantControls button { display: grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid rgb(0 0 0 / 8%); border-radius: 999px; background: #fff; color: rgb(0 0 0 / 62%); box-shadow: none; cursor: pointer; transition: border-color .18s ease, color .18s ease, transform .18s ease; }
.office-flora-carousel .plantControls button:hover:not(:disabled) { transform: translateY(-1px); border-color: rgb(0 0 0 / 18%); color: #222; }
.office-flora-carousel .plantControls button:disabled { cursor: default; opacity: .3; }
.office-flora-carousel .plantControls svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.office-flora-carousel .chevronLeft { transform: rotate(180deg); }
.office-flora-carousel .plantStrip { display: flex; min-width: 0; gap: 12px; margin-top: 16px; overflow-x: auto; padding: 0 16px 4px; scroll-behavior: smooth; scroll-padding-inline: 16px; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.office-flora-carousel .plantStrip::-webkit-scrollbar { display: none; }
.office-flora-carousel .plantStrip > [role="listitem"] { flex: 0 0 116px; scroll-snap-align: start; }
.office-flora-carousel .plantLink { box-sizing: border-box; display: flex; width: 116px; height: 148px; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgb(0 0 0 / 8%); border-radius: 12px; background: #fff; color: inherit; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.office-flora-carousel .plantLink:hover { transform: translateY(-2px); border-color: rgb(0 0 0 / 14%); box-shadow: 0 8px 18px rgb(0 0 0 / 7%); }
.office-flora-carousel .plantLink:focus-visible, .office-flora-carousel .plantControls button:focus-visible { outline: 2px solid #60bbaf; outline-offset: 2px; }
.office-flora-carousel .plantMediaSlot, .office-flora-carousel .plantMedia { display: block; width: 76px; height: 76px; max-width: 100%; object-fit: contain; border-radius: 25px; }
.office-flora-carousel .plantMedia[hidden] { display: none; }
.office-flora-carousel .plantTitle { display: block; margin: 4px 0 0; max-width: 104px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 600; line-height: 20px; text-align: center; }
.office-flora-carousel .plantBadges { display: flex; height: 16px; min-height: 16px; justify-content: center; gap: 4px; margin-top: 4px; }
.office-flora-carousel .plantBadges img { width: 16px; height: 16px; }
@media (min-width: 640px) {
  .office-flora-carousel .plantHeader { padding-inline: 24px; }
  .office-flora-carousel .plantStrip { padding-inline: 24px; scroll-padding-inline: 24px; }
}
@media (min-width: 681px) { .office-flora-carousel .plantControls:not([hidden]) { display: flex; } }
@media (prefers-reduced-motion: reduce) {
  .office-flora-carousel .plantStrip { scroll-behavior: auto; }
  .office-flora-carousel .plantLink, .office-flora-carousel .plantControls button { transition: none; }
}
