/* Gift catalogue: compact, directly orderable variant rows. */
.gift-catalog .gift-catalog-card{margin:0;text-align:left;box-shadow:0 6px 22px #17362906}
.gift-catalog .gift-catalog-card .card-body{padding:1rem}
.gift-catalog .gift-catalog-title{font-size:1.1rem;line-height:1.35;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.gift-catalog .gift-catalog-short-badge{font-size:.8rem;line-height:1.4;white-space:normal;text-align:left;color:var(--kueng-green);background:var(--kueng-sage);padding:.35rem .6rem}
.gift-catalog .gift-catalog-price{color:var(--kueng-green);font-size:1.15rem;line-height:1.4}
.gift-catalog .gift-catalog-order .small{font-size:.8rem;line-height:1.4}
.gift-catalog-order-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem}
.gift-catalog-order-name{min-width:0;overflow-wrap:anywhere}
.gift-catalog-order-actions{min-width:0;max-width:100%}
.gift-catalog .gift-catalog-order .SessionCartAdd{min-width:40px;min-height:40px;padding:.4rem .6rem;flex-shrink:0}
.gift-catalog .gift-catalog-order .form-control{min-height:40px;height:40px;min-width:0;padding:.35rem .4rem;font-size:.9rem}
.gift-catalog .gift-catalog-order .input-group-text{padding:.35rem;font-size:.78rem}
.gift-catalog .gift-catalog-wish{width:112px;min-width:0;max-width:100%}
.gift-catalog-variant-price{white-space:nowrap}
.gift-catalog-order.is-sold-out{background:#fbe9e9;border-color:#eccbcb!important;border-radius:4px;padding-left:.35rem;padding-right:.35rem}
.gift-catalog :is(.row,[class*=col-],.card-body,.input-group){min-width:0}
@media(max-width:575.98px){.gift-catalog .gift-catalog-title{font-size:1.2rem}.gift-catalog .gift-catalog-card .card-body{padding:1rem}}

/* The image badge and two reserved title lines keep the first order row aligned. */
.gift-catalog-image-badge{position:absolute;left:1rem;bottom:.75rem;max-width:calc(100% - 2rem);z-index:1;pointer-events:none}
.gift-catalog-card .gift-catalog-title{position:relative;min-height:2.7em}
.gift-catalog-card.catalog-card-ready .gift-catalog-title-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:2.7em}
.gift-catalog-title-toggle{position:absolute;right:0;bottom:0;min-width:28px;height:1.35em;padding:0 .1rem;border:0;background:#fff;color:var(--kueng-green);font:inherit;font-weight:700;line-height:1.35;cursor:pointer}
.gift-catalog-card .is-title-expanded .gift-catalog-title-text{display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible}
.gift-catalog-card .is-title-expanded .gift-catalog-title-toggle{position:static;display:block;width:auto;height:auto;margin-top:.25rem;font-size:.8rem;font-weight:400;text-decoration:underline}
.gift-catalog-card .gift-catalog-order-actions{justify-self:end;margin-left:auto}
.gift-catalog-card .gift-catalog-order-actions .SessionCartAdd{width:40px}
.gift-catalog-more i{transition:transform .2s}
.gift-catalog-more[aria-expanded=true] i{transform:rotate(180deg)}
.gift-catalog-title-toggle:focus-visible,.gift-catalog-more:focus-visible{outline:3px solid #b87a1f;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.gift-catalog-more i{transition:none}}

.gift-catalog .shop-category-content h1{font-size:1.5rem;line-height:1.35}
.gift-catalog-photo-count{position:absolute;top:.75rem;right:.75rem;pointer-events:none}
.gift-catalog [data-catalog-product]{scroll-margin-top:110px}
.gift-catalog .shop-product-image{background:#fff}
