.nav-action { position: relative; flex: 0 0 36px; }
.nav-action > img { display: block; width: 19px; height: 19px; object-fit: contain; }
.nav-action > svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.nav-action[aria-pressed="true"] { border-color: #bd777e; background: #fbf0f1; color: #a95f6b; }
.nav-action[aria-pressed="true"] > img { filter: invert(48%) sepia(18%) saturate(1030%) hue-rotate(296deg) brightness(88%) contrast(88%); }
.count[hidden], .catalog-search[hidden], .catalog-empty[hidden], .cart-overlay[hidden], .cart-empty[hidden], .cart-footer[hidden] { display: none !important; }
.favorite-count { top: -6px; right: -7px; }
.catalog-search { display: grid; grid-template-columns: auto minmax(220px, 1fr); gap: 8px 16px; align-items: center; padding: 16px 18px; margin: -27px 0 25px; border: 1px solid #eee7e2; background: #fffdfb; border-radius: 10px; }
.search-label { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.search-field-wrap { display: flex; align-items: center; gap: 8px; }
.search-field-wrap input { width: 100%; min-width: 0; border: 0; outline: 0; padding: 10px 2px; color: var(--ink); background: transparent; font: 13px var(--sans); border-bottom: 1px solid #ded6d1; }
.search-field-wrap input:focus { border-color: #bd777e; }
.search-clear { border: 0; background: transparent; color: var(--muted); padding: 7px 9px; font: 11px var(--sans); cursor: pointer; }
.search-meta { grid-column: 2; margin: 0; color: var(--muted); font-size: 10px; }
.catalog-empty { grid-column: 1 / -1; text-align: center; padding: 42px 20px; margin: 0; color: var(--muted); line-height: 1.7; background: #faf8f6; border-radius: 8px; }
.product-photo { isolation: isolate; }
.favorite-toggle { position: absolute; z-index: 2; top: 11px; right: 11px; width: 35px; height: 35px; display: grid; place-items: center; padding: 0; border: 1px solid #e8e0dc; border-radius: 50%; background: rgba(255,255,255,.94); cursor: pointer; transition: transform .18s, background .18s, border-color .18s; }
.favorite-toggle:hover { transform: scale(1.06); }
.favorite-toggle img { display: block; width: 19px; height: 19px; object-fit: contain; }
.favorite-toggle.is-favorite { background: #fae9eb; border-color: #e8c2c8; }
.favorite-toggle.is-favorite img { filter: invert(47%) sepia(20%) saturate(1005%) hue-rotate(297deg) brightness(88%) contrast(88%); }
.quick { z-index: 1; }
.cart-overlay { position: fixed; z-index: 500; inset: 0; display: block; }
.cart-backdrop { position: absolute; inset: 0; background: rgba(30,25,23,.48); backdrop-filter: blur(2px); }
.cart-drawer { position: absolute; top: 0; right: 0; display: flex; flex-direction: column; width: min(100%, 470px); height: 100%; padding: 27px 26px 22px; background: #fffdfb; box-shadow: -16px 0 50px rgba(0,0,0,.12); outline: none; animation: cart-enter .24s ease-out; }
@keyframes cart-enter { from { transform: translateX(22px); opacity: .7; } to { transform: none; opacity: 1; } }
.cart-drawer-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid #eee8e3; }
.cart-drawer-head .eyebrow { font-size: 9px; }
.cart-drawer-head h2 { margin: 7px 0 0; font: 500 28px/1.1 var(--serif); }
.drawer-close { width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid #ded7d2; border-radius: 50%; background: #fff; color: var(--ink); font-size: 23px; cursor: pointer; }
.cart-items { flex: 1; min-height: 0; overflow: auto; }
.cart-item { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 15px; padding: 18px 0; border-bottom: 1px solid #f0ebe7; }
.cart-item-image { display: block; width: 90px; height: 108px; object-fit: cover; background: #f4efeb; }
.cart-item-body { min-width: 0; }
.cart-item-name { font-size: 13px; font-weight: 700; }
.cart-item-sub { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.cart-item-price { margin-top: 8px; font-size: 11px; }
.cart-quantity { display: flex; align-items: center; gap: 10px; margin-top: 11px; }
.cart-quantity button { display: grid; place-items: center; width: 25px; height: 25px; padding: 0; border: 1px solid #e7dfda; background: #fff; color: var(--ink); cursor: pointer; }
.cart-quantity-value { min-width: 13px; text-align: center; font-size: 11px; font-variant-numeric: tabular-nums; }
.cart-quantity .cart-remove { width: auto; padding: 0 7px; margin-left: auto; border: 0; color: #9a7475; font-size: 10px; }
.cart-empty { margin: auto 0; padding: 36px 12px; color: var(--muted); text-align: center; font-size: 13px; line-height: 1.8; }
.cart-footer { padding-top: 18px; border-top: 1px solid #eee8e3; }
.cart-total { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; font-size: 12px; }
.cart-total strong { font: 500 22px var(--serif); }
.cart-copy-order { display: flex; width: 100%; justify-content: space-between; border: 0; cursor: pointer; }
.cart-copy-order:hover { background: var(--green); }
.cart-clear { display: block; margin: 12px auto 0; padding: 6px 10px; border: 0; background: transparent; color: var(--muted); font: 10px var(--sans); text-decoration: underline; cursor: pointer; }
.cart-footer p { margin: 12px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; text-align: center; }
.store-toast { position: fixed; z-index: 700; left: 50%; bottom: 28px; max-width: calc(100vw - 32px); padding: 12px 18px; border-radius: 4px; background: #292522; color: #fff; font-size: 12px; text-align: center; opacity: 0; transform: translate(-50%, 10px); pointer-events: none; transition: opacity .2s, transform .2s; box-shadow: 0 8px 25px rgba(0,0,0,.16); }
.store-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
body.cart-open { overflow: hidden; }
@media(max-width:560px) {
  .nav-action { flex-basis: 30px; }
  .nav-action > img, .nav-action > svg { width: 17px; height: 17px; }
  .catalog-search { grid-template-columns: 1fr; gap: 7px; margin: -10px 0 20px; padding: 13px; }
  .search-meta { grid-column: 1; }
  .cart-drawer { padding: 22px 18px 18px; }
  .cart-item { grid-template-columns: 78px minmax(0,1fr); gap: 12px; }
  .cart-item-image { width: 78px; height: 96px; }
}


/* Gent Flowers: live search and shopping basket */
.nav .tools .icon.cart { position: relative; }
.catalog-search[hidden], .cart-overlay[hidden] { display: none !important; }
.catalog-search { position: relative; z-index: 5; }
.product[hidden] { display: none !important; }
.cart-overlay { position: fixed; z-index: 900; inset: 0; }
.cart-backdrop { position: absolute; inset: 0; background: rgba(30,25,23,.48); backdrop-filter: blur(2px); }
.cart-drawer { position: absolute; top: 0; right: 0; display: flex; flex-direction: column; width: min(100%, 470px); height: 100%; padding: 27px 26px 22px; background: #fffdfb; box-shadow: -16px 0 50px rgba(0,0,0,.12); outline: none; animation: cart-enter .24s ease-out; }
@keyframes cart-enter { from { transform: translateX(22px); opacity: .7; } to { transform: none; opacity: 1; } }
.cart-drawer-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid #eee8e3; }
.cart-drawer-head h2 { margin: 7px 0 0; font: 500 28px/1.1 var(--serif); }
.drawer-close { width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid #ded7d2; border-radius: 50%; background: #fff; color: var(--ink); font-size: 23px; cursor: pointer; }
.cart-items { flex: 1; min-height: 0; overflow: auto; }
.cart-item { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 15px; padding: 18px 0; border-bottom: 1px solid #f0ebe7; }
.cart-item-image { display: block; width: 90px; height: 108px; object-fit: cover; background: #f4efeb; }
.cart-item-body { min-width: 0; }
.cart-item-name { font-size: 13px; font-weight: 700; }
.cart-item-sub { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.cart-item-price { margin-top: 8px; font-size: 11px; }
.cart-quantity { display: flex; align-items: center; gap: 10px; margin-top: 11px; }
.cart-quantity button { display: grid; place-items: center; width: 25px; height: 25px; padding: 0; border: 1px solid #e7dfda; background: #fff; color: var(--ink); cursor: pointer; }
.cart-quantity-value { min-width: 13px; text-align: center; font-size: 11px; font-variant-numeric: tabular-nums; }
.cart-quantity .cart-remove { width: auto; padding: 0 7px; margin-left: auto; border: 0; color: #9a7475; font-size: 10px; }
.cart-empty { margin: auto 0; padding: 36px 12px; color: var(--muted); text-align: center; font-size: 13px; line-height: 1.8; }
.cart-footer { padding-top: 18px; border-top: 1px solid #eee8e3; }
.cart-footer[hidden] { display: none !important; }
.cart-total { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; font-size: 12px; }
.cart-total strong { font: 500 22px var(--serif); }
.cart-copy-order { display: flex; width: 100%; justify-content: space-between; border: 0; cursor: pointer; }
.cart-clear { display: block; margin: 12px auto 0; padding: 6px 10px; border: 0; background: transparent; color: var(--muted); font: 10px var(--sans); text-decoration: underline; cursor: pointer; }
.cart-footer p { margin: 12px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; text-align: center; }
.store-toast { position: fixed; z-index: 1000; left: 50%; bottom: 28px; max-width: calc(100vw - 32px); padding: 12px 18px; border-radius: 4px; background: #292522; color: #fff; font-size: 12px; text-align: center; opacity: 0; pointer-events: none; transform: translate(-50%, 10px); transition: opacity .2s, transform .2s; box-shadow: 0 8px 25px rgba(0,0,0,.16); }
.store-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
body.cart-open { overflow: hidden; }
@media(max-width:560px) {
  .catalog-search { grid-template-columns: 1fr; gap: 7px; margin: 10px 0 20px; padding: 13px; }
  .cart-drawer { padding: 22px 18px 18px; }
  .cart-item { grid-template-columns: 78px minmax(0,1fr); gap: 12px; }
  .cart-item-image { width: 78px; height: 96px; }
}

/* Keep the quick-add label readable on its white hover strip. */
.quick { color: var(--ink); }

.checkout-form { display: grid; gap: 12px; padding: 18px 0 8px; }
.checkout-form[hidden] { display: none !important; }
.checkout-form h3 { margin: 0 0 3px; font: 500 21px var(--serif); }
.checkout-form label { display: grid; gap: 6px; color: var(--ink); font-size: 11px; }
.checkout-form input, .checkout-form select, .checkout-form textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: 11px 12px; border: 1px solid #e5ddd7; border-radius: 3px; background: #fff; color: var(--ink); font: 12px var(--sans); }
.checkout-form input:focus, .checkout-form select:focus, .checkout-form textarea:focus { outline: 1px solid #bd777e; border-color: #bd777e; }
.checkout-message { margin: 0; color: #a34d52; font-size: 11px; line-height: 1.5; }
.cart-checkout-open, .cart-submit-order { display: flex; width: 100%; justify-content: space-between; margin-top: 10px; border: 0; cursor: pointer; }
.cart-checkout-open[hidden], #cartCopyOrder[hidden], #cartClear[hidden] { display: none !important; }
.cart-submit-order:disabled { opacity: .6; cursor: wait; }
.checkout-back { margin-top: 6px; }


/* Persistent confirmation shown after a successful order submission. */
.order-confirmation { margin: auto 0; padding: 34px 22px; text-align: center; color: var(--ink); }
.order-confirmation[hidden] { display: none !important; }
.order-confirmation-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 16px; border: 1px solid #c9d7c8; border-radius: 50%; color: #58785b; font-size: 24px; }
.order-confirmation h3 { margin: 0 0 10px; font: 500 25px/1.2 var(--serif); }
.order-confirmation p { max-width: 330px; margin: 0 auto; color: var(--muted); font-size: 12px; line-height: 1.8; }
