.fn-vendor-modal{width:min(1080px,calc(100% - 2rem));max-width:100%;height:min(760px,92dvh);max-height:92dvh;padding:0;border:0;border-radius:var(--radius-card-compact);background:var(--surface-card);box-shadow:var(--shadow-frame);overflow:hidden}body.fn-vendor-modal-open{overflow:hidden;overscroll-behavior:none}.fn-vendor-modal::backdrop{background:#1b1f3b6b}.fn-vendor-modal__panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr);height:100%;overflow:hidden}.fn-vendor-modal__close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border-neutral);border-radius:var(--radius-button);background:var(--surface-card);color:var(--text-heading);cursor:pointer}.fn-vendor-modal__gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);grid-auto-rows:200px;gap:var(--space-3);overflow:auto;overscroll-behavior:contain;padding:var(--space-5);background:var(--surface-soft);align-content:start}.fn-vendor-modal__image{position:relative;height:200px;min-height:0;padding:0;border:0;border-radius:var(--radius-button);background:var(--surface-card);overflow:hidden;cursor:zoom-in}.fn-vendor-modal__image img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.fn-vendor-modal__image-count{position:absolute;right:10px;bottom:10px;color:#fff;font:var(--weight-regular) var(--text-body-2xs)/1 var(--font-sans);text-shadow:0 1px 3px rgba(27,31,59,.72)}.fn-vendor-modal__content{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--space-5) + var(--space-2)) var(--space-8) var(--space-8)}.fn-vendor-modal__head span{display:block;line-height:1.2}.fn-vendor-modal__head span,.fn-vendor-modal__tags span{color:var(--primary);font-weight:var(--weight-bold);font-size:var(--text-body-xs)}.fn-vendor-modal__tags span{display:inline-flex;align-items:center;min-height:24px;padding-inline:9px;border-radius:var(--radius-pill);background:var(--surface-soft)}.fn-vendor-modal__head h2{margin:var(--space-2) 0 0;padding-right:var(--space-8);color:var(--text-heading);font-weight:var(--weight-bold);font-size:var(--text-h3-size);line-height:1.25}.fn-vendor-modal__head p,.fn-vendor-modal__intro{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-body-xs);line-height:var(--text-body-lh-tight)}.fn-vendor-modal__contacts,.fn-vendor-modal__tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.fn-vendor-modal__section{display:grid;gap:var(--space-2)}.fn-vendor-modal__section h3{margin:0;color:var(--text-heading);font-weight:var(--weight-bold);font-size:var(--text-h3-size)}.fn-vendor-modal__section p{margin:0;color:var(--text-secondary);font-size:var(--text-body-xs);line-height:var(--text-body-lh);text-wrap:pretty;white-space:pre-line}.fn-vendor-modal__contacts a{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--primary);font-weight:var(--weight-bold);text-decoration:none}.fn-vendor-modal__contacts a:hover{background:var(--lavender-100);color:var(--interactive-hover)}.fn-vendor-modal__close:focus-visible,.fn-vendor-modal__contacts a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(min-width:768px){.fn-vendor-modal__panel{grid-template-columns:minmax(360px,44%) minmax(0,1fr)}.fn-vendor-modal__gallery{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.fn-vendor-modal__content{padding:var(--space-8)}.fn-vendor-modal__head h2{font-size:var(--text-h3-size-lg)}.fn-vendor-modal__head p,.fn-vendor-modal__intro,.fn-vendor-modal__section p{font-size:var(--text-body)}.fn-vendor-modal__section h3{font-size:var(--text-h3-size-lg)}}@media(max-width:640px){.fn-vendor-modal{width:calc(100% - 1.5rem);height:90dvh;max-height:90dvh;border-radius:var(--radius-card-compact)}.fn-vendor-modal__panel{grid-template-rows:auto minmax(0,1fr)}.fn-vendor-modal__gallery{grid-auto-columns:min(72vw,280px);grid-auto-rows:min(72vw,280px);grid-template-rows:min(72vw,280px);padding:var(--space-4);max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:none;scrollbar-width:none;touch-action:pan-x}.fn-vendor-modal__gallery::-webkit-scrollbar{display:none}.fn-vendor-modal__image{width:100%;height:100%;aspect-ratio:1}.fn-vendor-modal__content{gap:var(--space-3);padding:var(--space-5)}.fn-vendor-modal__head h2{padding-right:var(--space-8)}}
