/* Directory + business profile styles. Loaded only by businesses.html and businesses/*.html. Uses brand variables from site.css. */
.dir-page [hidden]{display:none!important}

.dir-hero{padding:76px 0 48px;background:linear-gradient(135deg,#efe3d4,#e5d4bf)}
.dir-hero .script{font-size:clamp(1.55rem,2.8vw,2.05rem);color:var(--clay);margin:0}
.dir-hero h1{font-size:clamp(2.6rem,5.2vw,4.4rem);line-height:1.02;letter-spacing:-.035em;margin:10px 0 16px;font-weight:500;max-width:760px}
.dir-hero p{max-width:700px;font-size:1.05rem;color:var(--muted)}

.dir-toolbar{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 16px 40px rgba(70,48,35,.08);margin-bottom:28px}
.dir-search{width:100%;border:1px solid var(--line);border-radius:999px;padding:15px 20px;background:#fff;color:var(--ink)}
.dir-search:focus-visible,.dir-pill:focus-visible,.dir-card:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.dir-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.dir-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background .18s ease,color .18s ease}
.dir-pill:hover{color:var(--ink)}
.dir-pill.is-active{background:var(--olive);border-color:var(--olive);color:#fff}
.dir-status{margin:0 0 18px;color:var(--muted);font-size:.9rem}

.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.dir-card{display:flex;flex-direction:column;position:relative;background:var(--paper);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 14px 36px rgba(70,48,35,.08);transition:transform .2s ease,box-shadow .2s ease}
.dir-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(70,48,35,.12)}
.dir-card-photo{flex-shrink:0;height:240px;overflow:hidden;border-radius:140px 140px 0 0;background:linear-gradient(145deg,#d9c6ad,#bda68e)}
.dir-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.dir-card-badge{position:absolute;top:204px;left:50%;transform:translateX(-50%);width:72px;height:72px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;font-family:Georgia,serif;font-size:1rem;color:var(--olive)}
.dir-card-badge img{width:100%;height:100%;object-fit:contain;display:block}
.dir-card-body{flex:1;display:flex;flex-direction:column;padding:52px 22px 22px;text-align:center}
.dir-card-body h3{font-family:Georgia,serif;font-size:1.25rem;margin:8px 0 4px}
.dir-card-body p,.dir-card-body small{color:var(--muted);margin:0}
.dir-card-body small{display:block;line-height:1.4;margin-top:2px}
.dir-card-category{font-size:.78rem;line-height:1.4;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--clay)!important}
.dir-card-summary{margin-top:8px!important;font-size:.9rem;line-height:1.5}
.dir-card-link{display:inline-block;align-self:center;margin-top:auto;padding-top:10px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}

.dir-empty{max-width:780px;margin:0 auto;background:linear-gradient(135deg,#fffaf4 0%,#f7ede2 100%);border:1px solid var(--line);border-radius:28px;box-shadow:0 10px 25px rgba(75,55,44,.05);padding:44px 30px;text-align:center}
.dir-empty .script{font-size:1.65rem;color:var(--clay);margin:0 0 8px}
.dir-empty h2{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 12px}
.dir-empty p{max-width:620px;margin:0 auto 14px;color:var(--muted)}
.dir-empty .btn{margin-top:8px}
.dir-nomatch .dir-clear{margin-top:8px;border:1px solid var(--line);background:var(--paper);cursor:pointer}

.dir-cta{background:linear-gradient(135deg,#efe3d4,#e0d0ba);border:1px solid var(--line);border-radius:36px;padding:52px;text-align:center}
.dir-cta .script{font-size:1.7rem;color:var(--clay);margin:0}
.dir-cta h2{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.2rem);margin:10px 0 14px}
.dir-cta p{max-width:700px;margin:0 auto 18px;color:var(--muted)}

/* Business profile pages */
.biz-hero{padding:72px 0 56px;background:linear-gradient(135deg,#efe3d4,#e5d4bf)}
.biz-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.biz-hero .script{font-size:clamp(1.5rem,2.6vw,2rem);color:var(--clay);margin:0 0 6px}
.biz-hero h1{font-size:clamp(2.3rem,4.4vw,3.7rem);line-height:1.04;letter-spacing:-.03em;margin:8px 0 14px;font-weight:500}
.biz-hero p{max-width:620px}
.biz-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.biz-chip{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.biz-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.biz-photo{overflow:hidden;border-radius:220px 220px 28px 28px;box-shadow:var(--shadow);background:linear-gradient(145deg,#d9c6ad,#bda68e)}
.biz-photo img{width:100%;height:460px;object-fit:cover;display:block}
.biz-section h2{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.3rem);margin:0 0 14px;color:var(--clay)}
.biz-about{max-width:780px}
.biz-about p{color:var(--muted);line-height:1.85}
.biz-offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.biz-offer{background:var(--paper);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 12px 30px rgba(70,48,35,.07)}
.biz-offer img{width:100%;height:210px;object-fit:cover;display:block}
.biz-offer-body{padding:22px}
.biz-offer-body h3{font-family:Georgia,serif;font-size:1.15rem;margin:0 0 8px}
.biz-offer-body p{color:var(--muted);margin:0}
.biz-back{display:inline-flex;margin-bottom:18px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--clay)}
.biz-logo{width:96px;height:96px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 10px 25px rgba(70,48,35,.08);margin:0 0 16px}
.biz-logo img{width:100%;height:100%;object-fit:contain;display:block}
.biz-service{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:22px 28px;box-shadow:0 12px 30px rgba(70,48,35,.07)}
.biz-service h3{font-family:Georgia,serif;font-size:1.3rem;margin:0}
.biz-gallery-section{padding-top:36px}
/* Gallery adapts to the number of figures: 1, 2, 3 (default) or 4. Equal 3:4 frames at every count. */
.biz-gallery{--cols:3;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:22px;margin-inline:auto}
.biz-gallery:has(> :nth-child(4):last-child){--cols:4}
.biz-gallery:has(> :nth-child(2):last-child){--cols:2;max-width:calc((100% - 44px) * 2 / 3 + 22px)}
.biz-gallery:has(> :only-child){--cols:1;max-width:calc((100% - 44px) / 3)}
.biz-gallery figure{margin:0;overflow:hidden;border-radius:28px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(70,48,35,.07);background:#e9ddcd}
.biz-gallery img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;display:block}

@media(max-width:980px){.biz-hero-grid{grid-template-columns:1fr}.biz-photo img{height:360px}}
@media(max-width:980px){.biz-gallery:has(> :nth-child(4):last-child){--cols:2}.biz-gallery:has(> :nth-child(2):last-child){max-width:100%}.biz-gallery:has(> :only-child){max-width:calc((100% - 22px) / 2)}}
@media(max-width:760px){.biz-gallery,.biz-gallery:has(> :nth-child(4):last-child),.biz-gallery:has(> :nth-child(2):last-child),.biz-gallery:has(> :only-child){--cols:1;max-width:none}}
@media(max-width:640px){.dir-hero{padding:56px 0 36px}.dir-toolbar{padding:18px}.dir-grid{grid-template-columns:1fr}.dir-cta{padding:32px 22px}.biz-hero{padding:52px 0 40px}.biz-photo img{height:280px}.dir-empty{padding:34px 20px}.biz-gallery-section{padding-top:24px}}
