/* IGTA public business profile + business cards. Figma: listing-desktop / listing-mobile (nodes 32:12190, 32:12512). Scoped to .fp-profile / .fp-card; no owner-shell selectors. */


.fp-profile,.fp-grid{--fp-wine:var(--igta-color-primary);--fp-ink:var(--igta-color-text);--fp-paper:var(--igta-color-background);--fp-line:var(--igta-color-border);--fp-soft:var(--igta-color-surface-alt);--fp-muted:var(--igta-color-text-muted);--fp-cream:var(--igta-color-surface-warm);--fp-sans:var(--igta-font-body);--fp-serif:var(--igta-font-heading)}
/* Horizontal gutter comes only from .site-main (width:90%, max 1296px => 72px margin at 1440, ~20px at 390). The profile adds none. */
.fp-profile{font-family:var(--fp-sans);color:var(--fp-ink);max-width:none;margin:0;padding:0 0 40px;font-size:var(--igta-font-size-sm);line-height:1.55;}
.fp-profile h1,.fp-profile h2,.fp-profile h3{font-family:var(--fp-serif);font-weight:var(--igta-font-weight-heading);color:var(--fp-ink);line-height:1.13;margin:0}
.fp-profile a:focus-visible,.fp-profile summary:focus-visible,.fp-card a:focus-visible{outline:3px solid var(--fp-wine);outline-offset:2px}
/* introduction */
.fp-profile .fp-intro{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:36px 0 28px}
.fp-profile .fp-intro>*{margin:0}
.fp-breadcrumb ol{display:flex;flex-wrap:wrap;gap:0 6px;list-style:none;margin:0;padding:0;font-size:var(--igta-font-size-sm);color:var(--fp-muted)}
.fp-breadcrumb li+li::before{content:"/";margin-right:6px}
.fp-breadcrumb a{color:var(--fp-muted)}
.fp-profile .fp-eyebrow{font-size:var(--igta-font-size-sm);font-weight:600;letter-spacing:0;text-transform:uppercase;color:var(--fp-wine)}
.fp-profile .fp-intro h1{font-size:calc(56px * var(--igta-type-scale));overflow-wrap:anywhere}
.fp-profile .fp-meta{color:var(--fp-muted)}
.fp-profile .fp-tagline{font-size:var(--igta-font-size-base)}
.fp-profile .fp-tags{gap:8px}
.fp-profile .fp-tags span{background:var(--fp-soft);border-radius:8px;padding:6px 12px;font-size:var(--igta-font-size-sm);color:var(--fp-wine);font-weight:500}
.fp-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.fp-profile .fp-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:48px;padding:0 16px;border-radius:8px;border:1px solid var(--fp-line);background:var(--igta-color-surface);color:var(--fp-wine);font:600 14px/1 var(--fp-sans);text-decoration:none;cursor:pointer}
.fp-profile .fp-action--primary{background:var(--fp-wine);border-color:var(--fp-wine);color:var(--fp-cream);padding:0 20px}
.fp-profile .fp-action:hover{border-color:var(--fp-wine)}
.fp-profile .fp-action--primary:hover{background:var(--igta-color-primary-hover)}
/* Figma SVGs are real <img> files in fixed-size wrappers (views.php fp_icon); the wrapper owns geometry, the image is contained. */
.fp-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;line-height:0}
.fp-icon picture{display:block;width:100%;height:100%}
.fp-icon img{display:block;width:auto;height:auto;max-width:none}
.fp-icon--18{width:18px;height:18px}
.fp-icon--13{width:13px;height:13px}
/* native saved control, kept intact; only restyled to match secondary actions */
.fp-saved .igta-saved{margin:0}
.fp-profile .saved-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:0 16px;border-radius:8px;border:1px solid var(--fp-line);background:var(--igta-color-surface);color:var(--fp-wine);font:600 14px/1.2 var(--fp-sans);text-decoration:none;cursor:pointer}
.fp-profile .saved-button:disabled{opacity:.6;cursor:not-allowed}
.fp-profile .igta-saved .saved-button,.fp-card .igta-saved .saved-button{color:var(--fp-wine)!important}
.fp-profile .saved-review{background:var(--fp-soft);border:1px solid var(--fp-line);border-radius:12px;padding:16px;margin-top:10px;max-width:420px}
.fp-profile .saved-status{font-size:var(--igta-font-size-sm);color:var(--fp-muted);margin:6px 0 0}
/* photo gallery */
.fp-gallery-wrap{display:flex;flex-direction:column;gap:10px;padding-bottom:32px}
.fp-profile .fp-gallery{display:flex;gap:12px;height:380px;margin:0}
.fp-profile .fp-gallery img{flex:0 0 420px;width:420px;height:100%;border-radius:16px;object-fit:cover;background:var(--fp-soft);display:block}
.fp-profile .fp-gallery img:first-child{flex:1 1 0;width:auto;min-width:0;height:100%;grid-row:auto}
.fp-profile .fp-gallery img:only-child{flex:1 1 auto}
.fp-profile .fp-gallery-wrap>.igta-ph{height:380px}
.fp-profile--editorial .fp-gallery-wrap>.igta-ph{height:420px}
.fp-profile--essential .fp-gallery-wrap>.igta-ph{height:240px}
.fp-gallery-caption{margin:0;font-size:var(--igta-font-size-sm);line-height:normal;color:var(--fp-muted)}
.fp-more-photos summary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;min-height:44px;cursor:pointer;list-style:none;font-size:var(--igta-font-size-sm)}
.fp-more-photos summary::-webkit-details-marker{display:none}
.fp-more-photos__toggle{color:var(--fp-wine);font-size:var(--igta-font-size-sm)}
.fp-more-photos[open] .fp-more-photos__grid{margin-top:10px}
/* every permitted photo is shown; the grid scales with the count */
.fp-more-photos__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.fp-more-photos__grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:var(--fp-soft);display:block}
/* section navigation */
.fp-sections{border-top:1px solid var(--fp-line);border-bottom:1px solid var(--fp-line)}
.fp-sections ul{display:flex;flex-wrap:wrap;gap:0 40px;list-style:none;margin:0;padding:0}
.fp-sections a{display:inline-flex;align-items:center;min-height:52px;color:var(--fp-wine);font-weight:600;font-size:var(--igta-font-size-sm);text-decoration:none}
.fp-sections a:hover{text-decoration:underline;text-underline-offset:6px}
/* body: content + sticky rail (overrides site.css .business-copy) */
.fp-profile .fp-body{display:grid;grid-template-columns:minmax(0,1fr) 416px;gap:40px;padding:36px 0;align-items:start}
.fp-main{display:flex;flex-direction:column;gap:36px;min-width:0}
.fp-main h2{font-size:calc(28px * var(--igta-type-scale))}
.fp-about h2{font-size:calc(32px * var(--igta-type-scale));margin-bottom:16px}
.fp-prose{overflow-wrap:anywhere}
.fp-prose p{margin:0 0 16px}
.fp-prose p+p{color:var(--fp-muted)}
.fp-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:18px 0 0;padding:0}
.fp-chips li{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--fp-line);border-radius:8px;background:var(--igta-color-surface);font-size:var(--igta-font-size-sm)}
.fp-location p{margin:16px 0}
.fp-profile .fp-rail{position:sticky;top:24px;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:18px;background:var(--igta-color-surface);border:1px solid var(--fp-line);border-radius:16px;padding:24px;align-self:start}
.fp-profile .fp-rail>*{margin:0}
.fp-rail__eyebrow{font-size:var(--igta-font-size-sm);font-weight:600;text-transform:uppercase;color:var(--fp-wine)}
.fp-profile .fp-rail h2{font-size:calc(28px * var(--igta-type-scale))}
.fp-rail__address{font-size:var(--igta-font-size-sm)}
.fp-rail__note{font-size:var(--igta-font-size-sm);color:var(--fp-muted)}
.fp-profile .fp-rail .fp-action{width:100%}
/* native Catalog / community / saved sections, restyled to the same tokens */
.fp-profile .igta-public-catalog,.fp-profile .igta-community{border:0;padding:0;margin:0}
.fp-profile .igta-public-catalog>h2,.fp-profile .igta-community>h2{font-size:calc(30px * var(--igta-type-scale));margin-bottom:18px}
.fp-profile .igta-public-catalog h3{font-family:var(--fp-sans);font-weight:600;font-size:var(--igta-font-size-base);margin:20px 0 12px}
.fp-profile .catalog-public-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.fp-profile .catalog-public-item,.fp-profile .community-card{background:var(--igta-color-surface);border:1px solid var(--fp-line);border-radius:16px;padding:22px;overflow-wrap:anywhere}
.fp-profile .community-card{margin-top:16px}
.fp-profile .catalog-public-item img{width:100%;border-radius:8px;object-fit:cover;max-height:200px}
.fp-profile .catalog-public-item h4,.fp-profile .community-card h3{font-family:var(--fp-sans);font-weight:600;font-size:var(--igta-font-size-sm);margin:0 0 6px}
.fp-profile .catalog-eyebrow{font-size:var(--igta-font-size-sm);font-weight:600;color:var(--fp-wine);text-transform:uppercase;margin:12px 0 4px}
.fp-profile .community-criteria{display:flex;flex-wrap:wrap;gap:12px;background:var(--fp-soft);border-radius:16px;padding:22px;margin:16px 0}
.fp-profile .community-criteria div{min-width:140px}
.fp-profile .community-criteria dt{font-size:var(--igta-font-size-sm);color:var(--fp-muted)}
.fp-profile .community-criteria dd{margin:0;font-weight:600}
.fp-profile .igta-community form{background:var(--fp-soft);border-radius:16px;padding:24px;margin-top:20px}
.fp-profile .igta-community :where(input[type=text],input[type=search],input[type=email],textarea,select){box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid var(--fp-line);border-radius:8px;background:var(--igta-color-surface);font:inherit}
.fp-profile .igta-community :where(button,input[type=submit]){min-height:48px;padding:0 20px;border-radius:8px;border:1px solid var(--fp-wine);background:var(--fp-wine);color:var(--fp-cream);font:600 14px var(--fp-sans);cursor:pointer}
.fp-profile .community-rating{display:flex;flex-wrap:wrap;gap:8px}
.fp-profile .community-rating label{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--fp-line);border-radius:8px;background:var(--igta-color-surface)}
/* layout variants (all four keep distinct structure) */
.fp-profile--catalog .fp-body{grid-template-columns:416px minmax(0,1fr)}
.fp-profile--catalog .fp-rail{grid-column:1;grid-row:1}
.fp-profile--catalog .fp-main{grid-column:2;grid-row:1}
.fp-profile--catalog .fp-catalog{order:-1}
.fp-profile--catalog .fp-sections{background:var(--fp-soft);padding:0 16px;border-radius:8px;border:1px solid var(--fp-line)}
.fp-profile--editorial .fp-intro{align-items:center;text-align:center}
.fp-profile--editorial .fp-actions{justify-content:center}
.fp-profile--editorial .fp-gallery img{flex:1 1 0;width:auto}
.fp-profile--editorial .fp-gallery img:first-child{flex:1 1 0}
.fp-profile--editorial .fp-gallery{height:420px}
.fp-profile--editorial .fp-body{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto}
.fp-profile--editorial .fp-rail{position:static;background:var(--fp-soft);order:2}
.fp-profile--editorial .fp-about h2{font-size:calc(40px * var(--igta-type-scale));text-align:center}
.fp-profile--editorial .fp-prose{font-size:calc(17px * var(--igta-type-scale));line-height:1.7}
.fp-profile--editorial .fp-sections ul{justify-content:center}
.fp-profile--essential{max-width:880px;margin-left:auto;margin-right:auto}
.fp-profile--essential .fp-intro h1{font-size:calc(44px * var(--igta-type-scale))}
.fp-profile--essential .fp-gallery{height:240px}
.fp-profile--essential .fp-gallery img,.fp-profile--essential .fp-gallery img:first-child{flex:1 1 0;width:auto}
.fp-profile--essential .fp-body{grid-template-columns:minmax(0,1fr)}
.fp-profile--essential .fp-rail{position:static;order:-1}
.fp-profile--essential .fp-main{gap:28px}
/* business cards (Figma "Business card" 32:12441) */
.fp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-family:var(--fp-sans)}
.business-card.fp-card{display:flex;flex-direction:column;gap:12px;box-sizing:border-box;padding:12px;background:var(--igta-color-surface);border:1px solid var(--fp-line);border-radius:16px;box-shadow:0 3px 12px rgba(65,50,38,.03);overflow:hidden}
.fp-card .fp-card__photo{height:188px;border-radius:8px;overflow:hidden;background:var(--fp-soft)}
.fp-card .fp-card__photo.igta-ph{background:var(--igta-ph-bg)}
.business-card.fp-card .fp-card__photo img{display:block;width:100%;height:100%;object-fit:cover}
.business-card.fp-card>.fp-card__body{display:flex;flex-direction:column;gap:8px;padding:0;min-width:0}
.fp-card__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 8px;min-height:44px}
.fp-card .fp-card__category{margin:0;font-size:var(--igta-font-size-sm);font-weight:500;line-height:normal;color:var(--fp-wine);overflow-wrap:anywhere}
.fp-card__save{margin-left:auto;max-width:100%}
.fp-card__save .igta-saved{margin:0}
.fp-card h2{font-family:var(--fp-sans);font-weight:600;font-size:calc(19px * var(--igta-type-scale));line-height:normal;margin:0;overflow-wrap:anywhere}
.fp-card h2 a{color:var(--fp-ink);text-decoration:none}
.fp-card h2 a:hover{text-decoration:underline}
.fp-card .fp-card__address{margin:0;font-size:var(--igta-font-size-sm);line-height:1.5;color:var(--fp-muted);overflow-wrap:anywhere}
.fp-card .fp-card__excerpt{margin:0;font-size:var(--igta-font-size-sm);line-height:1.55;color:var(--fp-muted);overflow-wrap:anywhere}
.fp-card .fp-card__hours{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--igta-font-size-sm);line-height:normal;color:var(--fp-muted)}
.fp-card__actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 12px;border-top:1px solid var(--fp-line);padding-top:8px}
.fp-card__link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--igta-font-size-sm);font-weight:600;color:var(--fp-wine);text-decoration:none;white-space:nowrap}
.fp-card__link:hover{text-decoration:underline;text-underline-offset:4px}
.fp-card .saved-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 8px;border:0;border-radius:100px;background:transparent;color:var(--fp-wine);font:600 12px var(--fp-sans);text-decoration:none;cursor:pointer}
.fp-card .saved-review{background:var(--fp-soft);border-radius:8px;padding:12px;margin-top:8px}
@media (max-width:1024px){.fp-profile .fp-body{grid-template-columns:minmax(0,1fr) 340px}.fp-profile--catalog .fp-body{grid-template-columns:340px minmax(0,1fr)}.fp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
.fp-profile{padding:0 0 32px}
.fp-profile .fp-intro{padding:24px 0 28px}
.fp-profile .fp-intro h1,.fp-profile--essential .fp-intro h1{font-size:calc(38px * var(--igta-type-scale))}
.fp-profile .fp-gallery-wrap>.igta-ph,.fp-profile--editorial .fp-gallery-wrap>.igta-ph,.fp-profile--essential .fp-gallery-wrap>.igta-ph{height:240px}
.fp-profile .fp-gallery,.fp-profile--editorial .fp-gallery,.fp-profile--essential .fp-gallery{height:240px;overflow-x:auto;scroll-snap-type:x mandatory}
.fp-profile .fp-gallery img,.fp-profile .fp-gallery img:first-child,.fp-profile--editorial .fp-gallery img,.fp-profile--essential .fp-gallery img,.fp-profile--essential .fp-gallery img:first-child{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start}
.fp-sections ul{gap:0 20px;flex-wrap:nowrap;overflow-x:auto}
.fp-sections a{white-space:nowrap;min-height:52px}
.fp-actions{gap:10px}
.fp-profile .fp-action{min-width:44px}
.fp-card__actions{gap:0 8px}
.fp-profile .fp-body,.fp-profile--catalog .fp-body{display:flex;flex-direction:column;gap:32px;padding:36px 0}
.fp-profile .fp-rail{position:static;order:-1;width:auto}
.fp-profile--editorial .fp-intro{align-items:flex-start;text-align:left}
.fp-profile--editorial .fp-actions{justify-content:flex-start}
.fp-profile--editorial .fp-about h2{font-size:calc(32px * var(--igta-type-scale));text-align:left}
.fp-profile--editorial .fp-sections ul{justify-content:flex-start}
.fp-profile--catalog .fp-main{order:0}
.fp-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:no-preference){.fp-profile .fp-action,.fp-card h2 a{transition:border-color .15s,background-color .15s}}
