.product-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);color:inherit;cursor:pointer;flex-direction:column;transition:transform .2s ease-out,box-shadow .2s ease-out;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.product-card__image{aspect-ratio:4/3;background:var(--color-neutral-light);flex:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.product-card__image img{object-fit:contain;width:100%;height:100%;padding:10%;position:absolute;inset:0}.product-card__image svg{stroke:#c9cbc4;stroke-width:1.4px;width:56px;height:56px}.product-card__body{flex-direction:column;flex:1;gap:9px;padding:18px;display:flex}.product-card__name{font-family:var(--font-display);color:var(--color-text);font-size:19px;font-weight:700;line-height:1.15}.product-card__pills{flex-wrap:wrap;gap:6px;display:flex}.pill{font-family:var(--font-body);color:var(--color-text-secondary);background:var(--color-chip-bg);border-radius:var(--radius-pill);padding:3px 10px;font-size:12px}.product-card__desc{font-family:var(--font-body);color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.product-card__footer{justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:10px;display:flex}.product-card__price{font-family:var(--font-display);color:var(--color-text);font-size:18px;font-weight:800}.product-card__price-note{color:var(--color-text-tertiary);font-size:11px}.product-card__cta{font-family:var(--font-display);color:var(--color-text);font-size:13px;font-weight:700}.product-grid-empty{text-align:center;color:var(--color-text-tertiary);font-family:var(--font-body);grid-column:1/-1;padding:40px 20px;font-size:16px}.product-grid-skeleton{aspect-ratio:3/4;background:var(--color-neutral-light);border-radius:var(--radius-card);border:1px solid var(--color-border)}body.no-scroll{overflow:hidden}.contact-modal{z-index:100;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.contact-modal.open{display:flex}.contact-overlay{backdrop-filter:blur(4px);background:#101314a8;animation:.2s contact-fade;position:absolute;inset:0}@keyframes contact-fade{0%{opacity:0}to{opacity:1}}.contact-box{background:#fff;border-radius:18px;width:min(1040px,100%);max-height:92vh;animation:.22s cubic-bezier(.2,.8,.3,1) contact-pop;position:relative;overflow:hidden;box-shadow:0 30px 80px #10131466}@keyframes contact-pop{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.contact-close{z-index:5;color:#fff;cursor:pointer;background:#1e22248c;border:0;border-radius:10px;place-items:center;width:38px;height:38px;transition:background .16s;display:grid;position:absolute;top:14px;right:14px}.contact-close:hover{background:var(--color-secondary)}.contact-close svg{width:18px;height:18px}.contact-grid{grid-template-columns:1fr 1fr;max-height:92vh;display:grid}.contact-col{padding:32px 30px;overflow-y:auto}.contact-col h3{font-family:var(--font-display);color:var(--color-text);margin:0;font-size:1.32rem;font-weight:800;line-height:1.12}.contact-col .sub{color:var(--color-text-secondary);margin:6px 0 18px;font-size:.9rem}.contact-book{background:linear-gradient(160deg,#fafaf7,#eef0f0);border-left:1px solid #ececec;flex-direction:column;display:flex}.contact-form .fl{letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-tertiary-2);margin:0 0 8px;font-size:.74rem;font-weight:700;display:block}.chips-interest{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.ichip{font-family:var(--font-body);color:#54595b;cursor:pointer;background:#f1f0ea;border:1.5px solid #0000;border-radius:8px;padding:7px 12px;font-size:.82rem;font-weight:600;transition:all .15s}.ichip:hover{background:#e9e7dd}.ichip.active{border-color:var(--color-primary);color:var(--color-text);background:#fbd23038}.contact-form .field{margin-bottom:13px}.contact-form .field label{color:#54595b;margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.contact-form .field input,.contact-form .field textarea{width:100%;font:inherit;color:var(--color-text);resize:vertical;background:#fff;border:1.5px solid #e2e0d6;border-radius:9px;padding:10px 12px;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.contact-form .field input:focus,.contact-form .field textarea:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px #fbd2304d}.contact-send{background:var(--color-secondary);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;border:0;border-radius:10px;margin-top:4px;padding:14px 26px;font-size:.98rem;font-weight:600;transition:background .18s}.contact-send:hover{background:var(--color-secondary-hover)}.contact-direct{color:var(--color-text-secondary);margin-top:14px;font-size:.82rem;line-height:1.5}.contact-direct a{color:var(--color-text);border-bottom:1px solid var(--color-primary);font-weight:600;text-decoration:none}.book-embed{background:#fff;border:1px solid #e5e3da;border-radius:12px;flex:1;min-height:520px;margin-bottom:14px;overflow:auto}.book-embed iframe{border:0;width:100%;min-height:520px;display:block}.contact-book-link{background:var(--color-primary);color:var(--color-secondary);font-family:var(--font-body);border-radius:var(--radius-btn);justify-content:center;align-items:center;padding:13px 22px;font-size:.95rem;font-weight:700;transition:background .18s;display:inline-flex}.contact-book-link:hover{background:var(--color-primary-hover)}@media (width<=860px){.contact-modal{padding:12px}.contact-box{overflow:auto}.contact-grid{grid-template-columns:1fr;max-height:none}.contact-col{overflow-y:visible}.contact-book{border-top:1px solid #ececec;border-left:0}.book-embed,.book-embed iframe{min-height:420px}}
