/* Exact class bindings for the V16 PHP product templates. */
.v16-product-card.is-hidden { display: none; }
.v16-card-content { display: flex; flex: 1; flex-direction: column; padding: 22px 21px 21px; }
.v16-card-content > .v16-product-type { margin: 0; color: #bc5b30; font-size: .61rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.v16-card-content h3 { margin: 8px 0 9px; color: var(--v8-ink); font: 700 2rem/.94 "Playfair Display", Georgia, serif; }
.v16-card-content > .v16-card-description { min-height: 45px; margin: 0; color: #597467; font-size: .75rem; line-height: 1.55; }
.v16-pack-options { display: flex; gap: 7px; flex-wrap: wrap; }
.v16-pack-options button { min-width: 49px; border: 1px solid rgba(15,64,52,.25); border-radius: 3px; background: #fffdf7; padding: 9px 7px; color: var(--v8-ink); font: 900 .66rem "DM Sans", Arial, sans-serif; cursor: pointer; }
.v16-pack-options button:hover, .v16-pack-options button.is-selected { border-color: var(--v8-deep); background: var(--v8-deep); color: #fffdf7; }
.v16-add-pack { width: 100%; margin-top: 16px; border: 0; background: var(--v8-deep); padding: 14px 13px; color: #fffdf7; font: 900 .72rem "DM Sans", Arial, sans-serif; cursor: pointer; }
.v16-add-pack:hover { background: var(--v8-orange); }
.v16-add-pack.is-added { background: #3c7757; }
.v16-cart-quantity button[data-cart-action="remove"] { display: block; width: auto; height: auto; margin-left: 6px; border: 0; background: transparent; padding: 3px; color: #a94f2b; font-size: .64rem; text-decoration: underline; }
@media (max-width: 650px) { .v16-card-content { padding: 20px; } .v16-card-content h3 { font-size: 2.15rem; } .v16-card-content > .v16-card-description { min-height: 0; } .v16-pack-options button { min-width: 52px; padding: 10px 8px; } }
