html, body, button, input, select, textarea {
  font-family: 'Kumbh Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.bg-imagine { background: #FCF8F1; }
.navbar-imagine { background: #FCF8F1; }
.navbar-imagine .navbar-brand, .navbar-imagine .nav-link { color: #443f75; font-weight: 600; }
.navbar-toggler { border-color: #443f75; }
.btn-imagine, .btn-imagine:hover { background: #443f75; border-color: #443f75; color: #fff; }
.btn-imagine-outline { color: #443f75; border: 1.5px solid #443f75; background: transparent; }
.btn-imagine-outline:hover { color: #443f75; background: rgba(68,63,117,.08); border-color: #443f75; }
.garden-card { border: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 6px 18px rgba(35,31,32,.08); }
.garden-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #e7eadc; border-radius: 16px; display: block; }
.garden-hero { background: #e9f0df; border-radius: 8px; padding: 1rem; }
.home-card-article { background: #f6e7d8; }
.home-card-shop { background: #dceee2; }
.shop-hero { background: #dceee2; }
.my-garden-hero { background: #dbeaf4; }
.home-card-advice { background: #e9f0df; }
.home-card-garden { background: #dbeaf4; }
.price { color: #2f6b3f; font-weight: 800; }
.table-card { border-radius: 8px; overflow: hidden; }
@media (max-width: 640px) {
  .mobile-stack table, .mobile-stack thead, .mobile-stack tbody, .mobile-stack tr, .mobile-stack th, .mobile-stack td { display: block; width: 100%; }
  .mobile-stack thead { display: none; }
  .mobile-stack tr { border: 1px solid #ddd; border-radius: 8px; margin-bottom: .75rem; background: #fff; padding: .5rem; }
  .mobile-stack td { border: 0; padding: .35rem .25rem; }

  .orders-mobile-stack table, .orders-mobile-stack thead, .orders-mobile-stack tbody, .orders-mobile-stack tr, .orders-mobile-stack th, .orders-mobile-stack td { display: block; width: 100%; }
  .orders-mobile-stack thead { display: none; }
  .orders-mobile-stack tbody {
    display: flex;
    flex-direction: column;
    gap: .5rem;
  }
  .orders-mobile-stack tr {
    position: relative;
    display: block;
    border: 1px solid #e9e2d6;
    border-radius: 12px;
    margin: 0;
    background: #fff;
    padding: .5rem .55rem .45rem;
    box-shadow: 0 2px 8px rgba(35,31,32,.04);
  }
  .orders-mobile-stack td {
    display: block;
    width: 100%;
    border: 0;
    padding: .08rem .1rem;
    font-size: .8rem;
    line-height: 1.3;
    color: #4b4747;
  }
  .orders-mobile-stack .badge {
    font-size: .68rem;
    padding: .24rem .48rem;
  }
  .orders-mobile-stack .btn {
    font-size: .72rem;
    padding: .24rem .5rem;
  }
  .orders-mobile-stack tr td:nth-child(1) {
    max-width: calc(100% - 5.8rem);
    padding-right: 1rem;
    padding-top: .08rem;
    font-size: .95rem;
    font-weight: 800;
    color: #1d1a1a;
  }
  .orders-mobile-stack tr td:nth-child(2) {
    color: #635f60;
  }
  .orders-mobile-stack tr td:nth-child(3) {
    color: #4b4747;
  }
  .orders-mobile-stack tr td:nth-child(4) {
    position: absolute;
    top: .45rem;
    right: .5rem;
    display: inline-block;
    width: auto;
    padding: 0;
    z-index: 2;
    text-align: right;
  }
  .orders-mobile-stack tr td:nth-child(5) {
    font-weight: 700;
    color: #2f6b3f;
  }
  .orders-mobile-stack tr td:nth-child(6) {
    margin-top: .15rem;
    padding-top: .2rem;
  }
  .orders-mobile-stack tr td:nth-child(6) .d-flex {
    justify-content: flex-start;
    gap: .35rem;
  }
}
.crop-icon { object-fit: contain; flex: 0 0 auto; }
.crop-icon-sm { width: 32px; height: 32px; }
.crop-icon-lg { width: 64px; height: 64px; }
.crop-search-input:focus, .crop-search-input:focus-visible { box-shadow: none !important; outline: none; border-color: #443f75; }

:root {
  --imagine-surface: #fffdf9;
  --imagine-primary: #443f75;
  --imagine-action: #275fba;
  --imagine-ink: #211f2a;
  --imagine-muted: #5d5a67;
  --imagine-border: #d9d5cc;
}
.bg-imagine { color: var(--imagine-ink); }
.navbar-container { min-height: 64px; }
.page-title { color: var(--imagine-ink); font-size: 1.75rem; font-weight: 600; line-height: 1.2; }
.section-title { color: var(--imagine-ink); font-size: 1.25rem; font-weight: 600; line-height: 1.25; }
.garden-hero { border-radius: 12px; padding: 1.15rem 1.25rem; }
.personalize-panel { background: var(--imagine-surface); border-color: var(--imagine-border) !important; border-left: 4px solid var(--imagine-primary) !important; }
.btn-garden-secondary { color: var(--imagine-primary); border: 1.5px solid var(--imagine-primary); background: transparent; }
.btn-garden-secondary:hover, .btn-garden-secondary:focus-visible { color: var(--imagine-primary); background: rgba(68,63,117,.08); border-color: var(--imagine-primary); }
.garden-card { border: 1px solid #cbdcf3; border-radius: 12px; box-shadow: 0 4px 14px rgba(35,31,32,.07); }
.weekly-card { background: #edf4ff !important; }
.weekly-card.is-recommended { background: #edf7ee !important; border-color: #b8d9bf; }
.status-badge { border-radius: 999px; font-size: .72rem; font-weight: 700; padding: .36rem .62rem; }
.status-badge.status-possible { color: #2357a6; background: #e3efff; border: 1px solid #b6d2f5; }
.status-badge.status-recommended { color: #17643b; background: #d9f0df; border: 1px solid #acd6b8; }
.advice-toggle { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; color: var(--imagine-action); border: 0 !important; border-radius: 50%; line-height: 1; }
.advice-toggle:hover, .advice-toggle:focus-visible { color: var(--imagine-primary); background: rgba(39,95,186,.1); box-shadow: 0 0 0 .25rem rgba(39,95,186,.1); }
.garden-card .fw-semibold { color: var(--imagine-ink); }
.garden-card .text-muted { color: var(--imagine-muted) !important; }

@media (max-width: 640px) {
  .page-title { font-size: 1.625rem; }
  .section-title { display: flex; align-items: flex-start; gap: .5rem; }
  .section-title > i { flex: 0 0 auto; margin-right: 0 !important; }
  .section-title-text { min-width: 0; }
  .personalize-actions { width: 100%; }
  .personalize-actions .btn,
  .garden-card .btn-garden-secondary { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
  .garden-card .advice-toggle { width: 42px; height: 42px; min-width: 42px; }
  .status-badge { font-size: .78rem; }
  .weekly-section .garden-card .card-body { padding-top: .625rem !important; padding-bottom: .625rem !important; }
  .weekly-section .garden-card { margin-bottom: -.25rem; }
}

@media (max-width: 400px) {
  .personalize-actions { flex-direction: column; }
  .personalize-actions .btn { width: 100%; }
}

:root {
  --jardiner-bg: #fcf8f1;
  --jardiner-primary: #443f75;
  --jardiner-action: #275fba;
  --jardiner-ink: #211f2a;
  --jardiner-muted: #5d5a67;
  --jardiner-surface: #fffdf9;
  --jardiner-border: #d9d5cc;
  --jardiner-radius: 12px;
  --jardiner-control-height: 40px;
  --imagine-surface: var(--jardiner-surface);
  --imagine-primary: var(--jardiner-primary);
  --imagine-action: var(--jardiner-action);
  --imagine-ink: var(--jardiner-ink);
  --imagine-muted: var(--jardiner-muted);
  --imagine-border: var(--jardiner-border);
}

.bg-imagine,
.navbar-imagine {
  background-color: var(--jardiner-bg);
}
.navbar-imagine .jardiner-brand-logo {
  display: block;
  width: auto;
  max-width: none;
  height: 54px !important;
}

@media (min-width: 992px) {
  .navbar-imagine .navbar-nav .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    margin: .2rem .15rem;
    padding: .45rem .8rem;
    border: 1px solid var(--jardiner-primary);
    border-radius: var(--jardiner-radius);
    text-align: center;
    line-height: 1.2;
  }
}

.garden-card {
  border-radius: var(--jardiner-radius);
}

.article-content {
  max-width: 100%;
  color: var(--jardiner-ink);
}
.article-content > :first-child { margin-top: 0; }
.article-content > :last-child { margin-bottom: 0; }
.article-content h2,
.article-content h3,
.article-content h4 {
  margin-top: 1.5rem;
  margin-bottom: .75rem;
  color: var(--jardiner-ink);
  line-height: 1.25;
}
.article-content p,
.article-content ul {
  margin-bottom: 1rem;
}
.article-content ul {
  padding-left: 1.25rem;
}
.article-content img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: var(--jardiner-radius);
}
.article-content figure {
  max-width: 100%;
  margin: 1.25rem 0;
}
.article-content figcaption {
  margin-top: .5rem;
  color: var(--jardiner-muted);
  font-size: .875rem;
}
.article-content audio {
  display: block;
  width: 100%;
  max-width: 100%;
}
.article-content a {
  color: var(--jardiner-primary);
}

@media (max-width: 640px) {
  .btn-imagine,
  .btn-imagine-outline,
  .btn-garden-secondary {
    min-height: var(--jardiner-control-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .section-title {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
  }
  .section-title > i {
    flex: 0 0 auto;
    margin-right: 0 !important;
  }
  .section-title > span {
    min-width: 0;
  }
}

.home-card {
  border-color: var(--jardiner-border);
  transition: box-shadow .15s ease, border-color .15s ease;
}
.home-card:hover,
.home-card:focus-visible {
  border-color: rgba(68, 63, 117, .35);
  box-shadow: 0 6px 18px rgba(35, 31, 32, .1);
}
.public-page-header {
  min-width: 0;
}
.public-search-input {
  max-width: 420px;
}
.public-search-filter {
  max-width: 220px;
}
.product-card .garden-img {
  border-radius: var(--jardiner-radius) var(--jardiner-radius) 0 0;
}
.cart-page-link {
  white-space: nowrap;
}
.header-cart-link {
  margin-left: auto;
  margin-right: .5rem;
  white-space: nowrap;
}
.category-page-header {
  padding-bottom: .25rem;
  border-bottom: 1px solid var(--jardiner-border);
}
.product-page {
  align-items: flex-start;
}
.product-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
}
.product-purchase {
  border-color: var(--jardiner-border);
  background: var(--jardiner-surface);
}
.product-purchase .quantity-control {
  max-width: 180px;
}
.product-purchase .quantity-control .form-control {
  min-width: 3.25rem;
}
.product-attributes {
  border-color: var(--jardiner-border);
}
.cart-quantity-control {
  width: 140px;
  max-width: 100%;
}
.orders-table th {
  color: var(--jardiner-muted);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.order-summary {
  border-radius: var(--jardiner-radius);
}

@media (max-width: 640px) {
  .public-page-header {
    flex-wrap: wrap;
    gap: .75rem;
  }
  .public-page-header .btn {
    width: 100%;
  }
  .public-page-header .cart-page-link {
    width: auto;
  }
  .category-page-header > div:first-child .btn {
    width: auto;
  }
  .public-search-input,
  .public-search-filter {
    width: 100%;
    max-width: none;
  }
  .public-search .form-select,
  .public-search .form-control,
  .public-search .btn {
    min-height: var(--jardiner-control-height);
  }
  .product-page .page-title {
    font-size: 1.5rem;
  }
  .product-purchase .quantity-control {
    max-width: 100%;
  }
  .product-purchase .quantity-control .btn,
  .product-purchase .quantity-control .form-control {
    min-height: var(--jardiner-control-height);
  }
  .product-image {
    max-height: 360px;
  }
  .cart-quantity-control {
    width: 100%;
    max-width: 180px;
  }
  .orders-table {
    min-width: 640px;
  }
}

@media (max-width: 991.98px) {
  .cart-content-link,
  .shop-cart-hero-link {
    display: none !important;
  }
}
