.recommendation-list{background:var(--gift-color-warm-white);min-width:0;min-height:100vh;color:var(--gift-color-charcoal);overflow-x:clip}.recommendation-list__shell{width:min(100% - 32px,1200px);min-width:0;margin:0 auto;padding:28px 0 64px}.recommendation-list__header{flex-direction:column;gap:12px;min-width:0;display:flex}.recommendation-list__header h1{font-family:var(--gift-font-title);overflow-wrap:anywhere;margin:0;font-size:clamp(1.8rem,4vw,2.5rem)}.recommendation-list__header a,.recommendation-card__body a{min-width:0;max-width:100%;min-height:44px;color:var(--gift-color-burgundy);overflow-wrap:anywhere;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.recommendation-list__filters{border:1px solid var(--gift-color-border);border-radius:var(--gift-radius-card);background:#fff;grid-template-columns:repeat(2,minmax(0,220px)) auto;align-items:end;gap:16px;margin:24px 0 18px;padding:18px;display:grid}.recommendation-list__field{flex-direction:column;gap:7px;min-width:0;display:flex}.recommendation-list__field label{font-weight:700}.recommendation-list__filters input,.recommendation-list__filters button,.recommendation-list__load-more,.recommendation-list__error button{border-radius:var(--gift-radius-control);min-height:44px;font:inherit}.recommendation-list__filters input{border:1px solid var(--gift-color-border);background:#fff;min-width:0;padding:8px 11px}.recommendation-list__filters small{color:var(--gift-color-danger);overflow-wrap:anywhere;font-weight:500}.recommendation-list__filters button,.recommendation-list__load-more,.recommendation-list__error button{border:1px solid var(--gift-color-burgundy);background:var(--gift-color-burgundy);color:#fff;cursor:pointer;padding:9px 20px;font-weight:700}.recommendation-list__header a:focus-visible,.recommendation-list__filters input:focus-visible,.recommendation-list__filters button:focus-visible,.recommendation-card__body a:focus-visible,.recommendation-list__load-more:focus-visible,.recommendation-list__error button:focus-visible{outline:2px solid var(--gift-color-muted-gold);outline-offset:2px;box-shadow:var(--gift-focus-ring)}.recommendation-list__summary{color:var(--gift-color-muted-text);margin:0 0 14px}.recommendation-list__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.recommendation-card{border:1px solid var(--gift-color-border);border-radius:var(--gift-radius-card);min-width:0;box-shadow:var(--gift-shadow-card);background:#fff;overflow:hidden}.recommendation-card__image-frame{aspect-ratio:16/9;background:linear-gradient(135deg,#7a1f2b,#3e1118);overflow:hidden}.recommendation-card__image-frame picture,.recommendation-card__image,.recommendation-card__image-fallback{width:100%;height:100%;display:block}.recommendation-card__image{object-fit:cover}.recommendation-card__body{flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.recommendation-card__body h2,.recommendation-card__body p{margin:0}.recommendation-card__body h2{overflow-wrap:anywhere;font-size:1.1rem}.recommendation-card__body p{color:var(--gift-color-muted-text);overflow-wrap:anywhere;margin-top:6px}.recommendation-card__facts{overflow-wrap:anywhere;justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.recommendation-card__facts span{color:var(--gift-color-muted-text)}.recommendation-card__facts strong{color:var(--gift-color-burgundy);font-size:1.2rem}.recommendation-list__empty,.recommendation-list__error{border:1px dashed var(--gift-color-border);border-radius:var(--gift-radius-card);text-align:center;overflow-wrap:anywhere;background:#fff;justify-content:center;align-items:center;gap:14px;min-height:180px;padding:24px;display:flex}.recommendation-list__error{border-color:var(--gift-color-danger);min-height:auto;color:var(--gift-color-danger);margin-top:18px}.recommendation-list__load-more{min-width:min(100%,240px);margin:24px auto 0;display:block}.recommendation-list__load-more:disabled{cursor:wait;opacity:.65}@media (max-width:767px){.recommendation-list__shell{width:min(100% - 24px,1200px)}.recommendation-list__filters{grid-template-columns:minmax(0,1fr);gap:12px}.recommendation-list__grid{grid-template-columns:minmax(0,1fr)}.recommendation-card__facts{flex-direction:column;align-items:flex-start}.recommendation-list__error{flex-direction:column;align-items:stretch}}
