/* FirmaRehberi layout and form quality fixes — additive, no framework required. */
.business-fast-contact {
  margin: 0 auto 1.5rem;
  padding: clamp(1rem, 3vw, 1.6rem) 0;
  background: linear-gradient(135deg, #f2f8ff 0%, #f7fbff 55%, #effaf8 100%);
  border-top: 1px solid #e2edf6;
  border-bottom: 1px solid #e2edf6;
}
.business-fast-contact-inner { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.8fr); align-items: center; gap: clamp(1rem, 3vw, 2rem); }
.business-fast-contact-copy .eyebrow { display: inline-block; margin-bottom: .4rem; color: #087e83; font-size: .72rem; font-weight: 800; letter-spacing: .11em; }
.business-fast-contact-copy h2 { margin: 0 0 .4rem; color: #102b49; font-size: clamp(1.1rem, 2vw, 1.45rem); line-height: 1.25; font-weight: 800; }
.business-fast-contact-copy p { margin: 0; color: #587087; line-height: 1.6; font-size: .92rem; }
.business-fast-contact-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: .7rem; min-width: 0; }
.fast-contact-button { display: flex; position: relative; align-items: center; gap: .75rem; min-width: 0; min-height: 66px; padding: .8rem .9rem; color: #163451; text-decoration: none; background: #fff; border: 1px solid #dce8f1; border-radius: 14px; box-shadow: 0 4px 14px rgb(25 58 91 / 5%); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.fast-contact-button:hover, .fast-contact-button:focus-visible { color: #102b49; text-decoration: none; transform: translateY(-2px); border-color: #8fc8cf; box-shadow: 0 9px 22px rgb(25 58 91 / 10%); outline: none; }
.fast-contact-icon { display: inline-grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 12px; color: #fff; background: #174e75; font-size: 1.25rem; font-weight: 800; }
.fast-contact-whatsapp .fast-contact-icon { background: #16875d; }
.fast-contact-directions .fast-contact-icon { background: #5267bd; }
.fast-contact-instagram .fast-contact-icon { background: #9a4d93; }
.fast-contact-button > span:nth-child(2) { display: grid; gap: .16rem; min-width: 0; }
.fast-contact-button b { overflow-wrap: anywhere; font-size: .92rem; line-height: 1.25; }
.fast-contact-button small { overflow-wrap: anywhere; color: #6c8092; font-size: .75rem; line-height: 1.35; }
.fast-contact-external { margin-left: auto; align-self: flex-start; color: #75889a; font-size: .85rem; }
.business-description { color: #30465a; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.business-description > p { margin: 0 0 .85rem; }
.business-description > p:last-child { margin-bottom: 0; }
.business-description .description-subheading { margin: 1.25rem 0 .55rem; color: #123c60; font-size: clamp(1.04rem, 1.7vw, 1.2rem); font-weight: 800; line-height: 1.4; }
.business-description .description-bullet { position: relative; padding-left: 1.15rem; }
.business-description .description-bullet > span { position: absolute; left: 0; color: #087e83; font-weight: 900; }
.business-description .description-bullet strong { color: #173d5d; font-weight: 800; }
.business-description .description-line-gap { height: .35rem; }
.contact-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: .75rem; }
.contact-list > a, .contact-list > div { display: flex; align-items: flex-start; gap: .75rem; min-width: 0; padding: .9rem; border: 1px solid #e0e9f0; border-radius: 12px; background: #fbfdff; }
.contact-list > a { color: inherit; text-decoration: none; }
.contact-list > a:hover { border-color: #9ecbd0; background: #f5fbfb; }
.contact-list > a > span:last-child, .contact-list > div > span:last-child { display: grid; gap: .22rem; min-width: 0; overflow-wrap: anywhere; }
.contact-list small { color: #647b8e; line-height: 1.5; }
.contact-list b { line-height: 1.55; overflow-wrap: anywhere; }

/* Long category pickers: keep the native select as the submitted form value. */
.fr-searchable-select { position: relative; width: 100%; min-width: 0; }
.fr-searchable-select > input { display: block; width: 100%; min-height: 44px; margin: 0 0 .35rem; padding: .7rem .85rem; color: #17324a; background: #fff; border: 1px solid #cfdbe5; border-radius: 10px; font: inherit; }
.fr-searchable-select > input:focus { outline: 3px solid rgb(33 139 153 / 15%); border-color: #2c9099; }
.fr-search-select-list { position: absolute; top: calc(100% - 2px); left: 0; right: 0; z-index: 100; max-height: 280px; overflow: auto; padding: .35rem; background: #fff; border: 1px solid #cfdae5; border-radius: 10px; box-shadow: 0 12px 30px rgb(20 44 70 / 16%); }
.fr-search-select-list[hidden] { display: none; }
.fr-search-select-option { display: block; width: 100%; padding: .6rem .65rem; color: #1d374e; text-align: left; background: transparent; border: 0; border-radius: 7px; font: inherit; cursor: pointer; }
.fr-search-select-option:hover, .fr-search-select-option:focus-visible, .fr-search-select-option[aria-selected="true"] { color: #0e3b5f; background: #eaf5fa; outline: none; }
.fr-search-select-empty { padding: .7rem; color: #6b7d8b; font-size: .9rem; }
.fr-searchable-select select.fr-search-select-native { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.category-list-search-label { display: block; margin: .75rem 0 .35rem; font-weight: 700; }
.category-list-search-label input { display: block; width: 100%; margin-top: .4rem; min-height: 44px; padding: .7rem .85rem; border: 1px solid #ccd9e4; border-radius: 10px; background: #fff; }
[data-category-search-count] { margin: .35rem 0 .8rem; }
.category-editor-list { display: grid; gap: .65rem; }
.category-editor-item { min-width: 0; overflow: hidden; border: 1px solid #dbe5ed; border-radius: 12px; background: #fff; }
.category-editor-item > summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .9rem 1rem; cursor: pointer; list-style-position: inside; }
.category-editor-item > summary > span { min-width: 0; font-weight: 800; overflow-wrap: anywhere; }
.category-editor-item > summary > small { color: #667e91; text-align: right; }
.category-editor-item > form { padding: 1rem; border-top: 1px solid #e5edf3; }

/* Admin location editors and long forms remain usable on phones and tablets. */
.location-columns, .category-admin-columns { align-items: start; }
.province-editor-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 390px), 1fr)); gap: .65rem; }
.province-editor-form { display: grid; grid-template-columns: auto minmax(100px, 1fr) auto; align-items: center; gap: .5rem; min-width: 0; padding: .7rem; border: 1px solid #e0e8ef; border-radius: 10px; background: #fff; }
.province-editor-form input { width: 100%; min-width: 0; }
.province-editor-form .tiny-btn { grid-column: 2 / 4; justify-self: start; }
.district-filter-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: end; gap: .75rem; }
.district-filter-form label { min-width: 0; }
.district-editor-list { display: grid; gap: .65rem; }
.district-editor-item { overflow: hidden; border: 1px solid #dce6ed; border-radius: 12px; background: #fff; }
.district-editor-item > summary { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .9rem 1rem; cursor: pointer; }
.district-editor-item > summary > span { font-weight: 800; }
.district-editor-item > summary > small { color: #637b8d; text-align: right; }
.district-edit-body { padding: 1rem; border-top: 1px solid #e5edf3; }
.district-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.district-edit-form label { min-width: 0; }
.district-edit-form button, .district-edit-form .location-delete-actions { align-self: end; }
.consent-helper { margin: -.45rem 0 .8rem 1.9rem; color: #66798a; font-size: .83rem; line-height: 1.5; }
.form-stack textarea[name="description"] { min-height: 170px; line-height: 1.7; }
.form-stack label { min-width: 0; }
.form-stack input, .form-stack select, .form-stack textarea { max-width: 100%; }

@media (max-width: 760px) {
  .business-fast-contact-inner { grid-template-columns: 1fr; gap: 1rem; }
  .business-fast-contact-copy p { max-width: 46rem; }
  .business-fast-contact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fast-contact-button { min-height: 62px; padding: .7rem; gap: .55rem; }
  .fast-contact-icon { flex-basis: 36px; width: 36px; height: 36px; border-radius: 10px; }
  .fast-contact-button b { font-size: .86rem; }
  .fast-contact-button small { font-size: .7rem; }
  .district-filter-form { grid-template-columns: 1fr; }
  .district-edit-form { grid-template-columns: 1fr; }
  .province-editor-form { grid-template-columns: auto minmax(0, 1fr); }
  .province-editor-form > button, .province-editor-form .tiny-btn { grid-column: 2; justify-self: start; }
}
@media (max-width: 420px) {
  .business-fast-contact-actions { grid-template-columns: 1fr; }
  .category-editor-item > summary, .district-editor-item > summary { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .category-editor-item > summary > small, .district-editor-item > summary > small { text-align: left; }
}

/* Enhancement hooks are attached by quality-fixes.js to the existing live markup. */
.fr-fast-contact-region { padding: clamp(.9rem, 2.5vw, 1.4rem); border: 1px solid #e0eaf1; border-radius: 16px; background: linear-gradient(135deg, #f5f9ff, #f2fbf8); }
.fr-fast-contact-actions { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: .7rem !important; min-width: 0; padding: 0; margin: .8rem 0 0; list-style: none; }
.fr-fast-contact-actions > li { min-width: 0; margin: 0; list-style: none; }
.fr-fast-contact-button { display: flex !important; align-items: center; gap: .7rem; min-width: 0; min-height: 58px; padding: .75rem .9rem; color: #173652 !important; background: #fff; border: 1px solid #dbe7ef; border-radius: 12px; box-shadow: 0 3px 12px rgb(25 58 91 / 6%); text-decoration: none !important; line-height: 1.4; overflow-wrap: anywhere; transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.fr-fast-contact-button:hover, .fr-fast-contact-button:focus-visible { transform: translateY(-1px); border-color: #8ec6cb; box-shadow: 0 8px 18px rgb(25 58 91 / 10%); outline: none; }
.fr-fast-contact-whatsapp { border-color: #b8e4d1; }
.fr-fast-contact-instagram { border-color: #e6cde4; }
.fr-fast-contact-directions { border-color: #d0d8f3; }
.fr-fast-contact-button img, .fr-fast-contact-button svg { flex: 0 0 auto; max-width: 28px; max-height: 28px; }
.detail-layout .prose, .fr-readable-description { color: #30465a; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.fr-readable-description > p { margin: 0 0 .85rem; }
.fr-readable-description .fr-description-subheading { margin: 1.2rem 0 .5rem; color: #123c60; font-size: clamp(1.03rem, 1.8vw, 1.2rem); font-weight: 800; line-height: 1.4; }
.fr-readable-description .fr-description-bullet { position: relative; margin: 0 0 .8rem; padding-left: 1.1rem; }
.fr-readable-description .fr-description-bullet::before { position: absolute; left: 0; color: #087e83; font-weight: 900; content: "•"; }
.fr-readable-description .fr-description-bullet > strong { color: #173d5d; font-weight: 800; }
.fr-readable-description .fr-description-gap { height: .4rem; }
.fr-category-list-search { display: block; width: 100%; min-height: 44px; margin-top: .4rem; padding: .7rem .85rem; background: #fff; border: 1px solid #cfdbe5; border-radius: 10px; font: inherit; }
@media (max-width: 760px) {
  .fr-fast-contact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fr-fast-contact-button { min-height: 54px; padding: .65rem; font-size: .91rem; }
  .fr-fast-contact-region { padding: .9rem; }
}
@media (max-width: 420px) { .fr-fast-contact-actions { grid-template-columns: 1fr; } }

/* FirmaRehberi Pro UX patch · 2026-10-16 */
:root { scrollbar-color: var(--accent, #159a91) #e8eff4; scrollbar-width: thin; }
*::-webkit-scrollbar { width: 11px; height: 11px; }
*::-webkit-scrollbar-track { background: #e8eff4; border-radius: 9px; }
*::-webkit-scrollbar-thumb { background: var(--accent, #159a91); border: 3px solid #e8eff4; border-radius: 9px; }
*::-webkit-scrollbar-thumb:hover { background: var(--primary, #12355b); }
.auth-brand-panel .eyebrow { color: #a7fff0 !important; text-shadow: 0 1px 8px rgb(0 25 40 / 30%); font-weight: 850; letter-spacing: .09em; }

/* Firma iletişimi: kontrollü genişlik, kısa butonlar, önce telefon ve yol tarifi. */
.fr-fast-contact-region { width: 100%; max-width: 610px; box-sizing: border-box; margin: 1rem auto; padding: .85rem !important; border: 1px solid #dfe8ef; border-radius: 15px; background: #fff !important; box-shadow: 0 8px 22px rgb(17 45 68 / 5%); }
.fr-fast-contact-region > h2, .fr-fast-contact-region > h3 { margin: 0 0 .55rem; font-size: 1.05rem; line-height: 1.35; }
.fr-fast-contact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .5rem !important; margin-top: .6rem !important; }
.fr-fast-contact-button { min-height: 45px !important; padding: .52rem .65rem !important; gap: .45rem !important; border-radius: 10px !important; box-shadow: none !important; font-size: .9rem; }
.fr-fast-contact-call { order: 1; }
.fr-fast-contact-directions { order: 2; }
.fr-fast-contact-whatsapp { order: 3; }
.fr-fast-contact-instagram { order: 4; }
.fr-fast-contact-button img, .fr-fast-contact-button svg { max-width: 22px !important; max-height: 22px !important; }
.fr-secondary-business-action { display: inline-flex !important; align-items: center; justify-content: center; width: auto !important; max-width: 100%; min-height: 32px !important; padding: .35rem .62rem !important; border-radius: 999px !important; font-size: .78rem !important; line-height: 1.25; white-space: normal; }
.fr-secondary-business-action[data-fr-secondary="claim"] { border-style: solid !important; }
.fr-secondary-business-action[data-fr-secondary="copy"] { opacity: .86; }
@media (max-width: 420px) {
  .fr-fast-contact-region { padding: .7rem !important; border-radius: 12px; }
  .fr-fast-contact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .4rem !important; }
  .fr-fast-contact-button { min-height: 42px !important; padding: .45rem .5rem !important; font-size: .83rem; }
}

/* Searchable category dropdown: compact, scrollable and with closed child-category groups. */
.fr-searchable-select { min-width: 0; }
.fr-searchable-select > input { min-height: 42px; margin-bottom: .25rem; border-radius: 9px; }
.fr-search-select-list { position: absolute; max-height: min(55vh, 360px); overscroll-behavior: contain; padding: .35rem; border-radius: 11px; }
.fr-search-select-group { display: grid; grid-template-columns: minmax(0, 1fr); gap: .22rem; padding: .28rem; border-bottom: 1px solid #edf2f6; }
.fr-search-select-group:last-child { border-bottom: 0; }
.fr-search-select-group > .fr-search-select-option { font-weight: 750; }
.fr-search-select-children { margin: .15rem 0 .2rem .55rem; padding-left: .35rem; border-left: 2px solid #e1eeee; }
.fr-search-select-children > .fr-search-select-option { font-size: .9rem; }
.fr-search-select-toggle { display: block; width: 100%; padding: .35rem .55rem; text-align: left; color: #5e7485; background: #f6fafb; border: 0; border-radius: 7px; font-size: .78rem; cursor: pointer; }
.fr-search-select-toggle:hover, .fr-search-select-toggle:focus-visible { color: #12355b; background: #eaf5f5; }
.fr-search-select-flat { display: grid; gap: .1rem; }
.fr-search-select-option { min-height: 38px; padding: .48rem .6rem; }

/* The ad placement chooser shows a live placement map under the select. */
.fr-ad-preview { margin: .55rem 0 1rem; padding: .9rem; border: 1px solid #d6e4eb; border-radius: 13px; background: #f5f9fc; color: #20394f; }
.fr-ad-preview-heading { display: flex; align-items: center; gap: .5rem; margin: 0 0 .45rem; font-weight: 800; }
.fr-ad-preview-heading::before { content: "▣"; display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 8px; background: #e0f4ef; color: #087e74; }
.fr-ad-preview p { margin: .25rem 0 .7rem; font-size: .9rem; line-height: 1.55; }
.fr-ad-preview-key { display: inline-block; margin: 0 0 .7rem; padding: .23rem .45rem; border-radius: 5px; background: #e8eef4; color: #354d60; font: 700 .76rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.fr-ad-wireframe { display: grid; grid-template-columns: minmax(0, 1fr) minmax(80px, .25fr); gap: .38rem; padding: .55rem; border: 1px solid #d4e0e8; border-radius: 10px; background: white; }
.fr-ad-wireframe > div { display: grid; place-items: center; min-height: 25px; padding: .32rem; border: 1px solid #e0e7ed; border-radius: 5px; color: #758596; background: #fbfcfd; font-size: .68rem; text-align: center; }
.fr-ad-wireframe .fr-ad-zone-topstrip, .fr-ad-wireframe .fr-ad-zone-header, .fr-ad-wireframe .fr-ad-zone-nav, .fr-ad-wireframe .fr-ad-zone-hero, .fr-ad-wireframe .fr-ad-zone-content, .fr-ad-wireframe .fr-ad-zone-footer, .fr-ad-wireframe .fr-ad-zone-popup { grid-column: 1 / -1; }
.fr-ad-wireframe .is-active { border: 2px solid #0c8b82 !important; color: #075b59 !important; background: #d9f6ed !important; font-weight: 850; box-shadow: 0 0 0 2px rgb(12 139 130 / 9%); }
.fr-ad-preview-footnote { display: block; margin-top: .5rem; color: #687c8a; font-size: .75rem; }

/* Long configuration sections can be collapsed without losing form values. */
.fr-collapsible-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-width: 0; }
.fr-collapsible-heading > button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .35rem; min-height: 34px; padding: .35rem .6rem; color: #23465e; background: #eff6f8; border: 1px solid #d5e4eb; border-radius: 8px; font: inherit; font-weight: 750; font-size: .8rem; line-height: 1.2; cursor: pointer; }
.fr-collapsible-heading > button:hover, .fr-collapsible-heading > button:focus-visible { background: #e2f3f0; border-color: #93cfc8; outline: none; }
.fr-collapsible-body[hidden] { display: none !important; }
.fr-collapsible-body { min-width: 0; }
.fr-collapsible-summary { margin: .15rem 0 .6rem; color: #718392; font-size: .8rem; }
label[data-help] { position: relative; }
.fr-help-hint { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-left: .35rem; padding: 0; vertical-align: middle; color: #24475f; background: #e1f2f0; border: 1px solid #b9ded8; border-radius: 50%; font: 800 11px/1 sans-serif; cursor: help; }
.fr-help-hint:focus-visible { outline: 2px solid #178b84; outline-offset: 2px; }
.fr-help-popover { position: absolute; left: 0; top: calc(100% + .25rem); display: block; width: max-content; max-width: min(320px, calc(100vw - 48px)); box-sizing: border-box; padding: .65rem .75rem; color: #fff; background: #18374e; border-radius: 9px; box-shadow: 0 8px 24px rgb(10 34 49 / 25%); font-size: .82rem; line-height: 1.5; white-space: normal; z-index: 3000; }
.fr-help-popover[hidden] { display: none !important; }

/* Back-to-top button. */
#fr-back-to-top { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); z-index: 800; display: inline-grid; place-items: center; width: 46px; height: 46px; padding: 0; color: #fff; background: var(--primary, #12355b); border: 1px solid rgb(255 255 255 / 35%); border-radius: 50%; box-shadow: 0 7px 24px rgb(16 42 61 / 23%); font-size: 1.35rem; font-weight: 900; cursor: pointer; transition: opacity .18s ease, transform .18s ease; }
#fr-back-to-top[hidden] { display: none !important; }
#fr-back-to-top:hover { transform: translateY(-2px); background: var(--accent, #159a91); }

/* Editable PWA/install prompt, when enabled in admin. */
#fr-pwa-prompt[hidden] { display: none !important; }
.fr-pwa-prompt-overlay { position: fixed; inset: 0; z-index: 2500; display: grid; place-items: center; padding: 1rem; background: rgb(10 26 40 / 62%); backdrop-filter: blur(4px); }
.fr-pwa-prompt-dialog { position: relative; width: min(100%, 420px); padding: 1.35rem; text-align: center; background: #fff; border: 1px solid #dce8ef; border-radius: 22px; box-shadow: 0 24px 90px rgb(0 0 0 / 26%); }
.fr-pwa-prompt-logo { display: block; width: auto; max-width: 150px; max-height: 88px; object-fit: contain; margin: .2rem auto 1rem; }
.fr-pwa-prompt-close { position: absolute; top: .6rem; right: .6rem; width: 34px; height: 34px; display: grid; place-items: center; padding: 0; color: #536b7d; background: #f0f5f8; border: 0; border-radius: 50%; font-size: 1.2rem; cursor: pointer; }
.fr-pwa-prompt-dialog h2 { margin: .25rem 1.2rem .45rem; color: #153a54; font-size: clamp(1.2rem, 4vw, 1.55rem); line-height: 1.3; }
.fr-pwa-prompt-dialog p { color: #536b7d; line-height: 1.65; }
.fr-pwa-prompt-actions { display: grid; gap: .55rem; margin-top: 1rem; }
.fr-pwa-prompt-actions button { width: 100%; min-height: 46px; padding: .65rem .85rem; border-radius: 11px; cursor: pointer; font: inherit; font-weight: 750; font-size: .94rem; line-height: 1.3; }
.fr-pwa-prompt-install { color: #fff; background: var(--primary, #12355b); border: 1px solid var(--primary, #12355b); }
.fr-pwa-prompt-notify { color: #164b4a; background: #e2f7f0; border: 1px solid #bce9dc; }
.fr-pwa-prompt-later { color: #5a7182; background: #fff; border: 1px solid #dce6ec; }
.fr-pwa-prompt-note { margin: .7rem 0 0 !important; font-size: .74rem; }

@media (max-width: 600px) {
 .fr-ad-preview { padding: .7rem; }
 .fr-ad-wireframe { grid-template-columns: minmax(0,1fr) 75px; padding: .35rem; }
 .fr-collapsible-heading { align-items: flex-start; }
 .fr-collapsible-heading > button { padding: .3rem .45rem; }
}
@media (prefers-reduced-motion: reduce) { #fr-back-to-top, .fr-fast-contact-button { transition: none !important; } }


/* Ad placement wireframe children: active zone highlighting and true main/sidebar layout. */
.fr-ad-wireframe .fr-ad-zone { display: grid; place-items: center; min-width: 0; min-height: 25px; padding: .32rem; border: 1px solid #e0e7ed; border-radius: 5px; color: #758596; background: #fbfcfd; font-size: .68rem; text-align: center; }
.fr-ad-wireframe .fr-ad-zone-contact { grid-column: 1 / -1; }
.fr-ad-wireframe .fr-ad-zone-main { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(78px, .25fr); gap: .38rem; border: 0; background: transparent; padding: 0; min-height: 0; }
.fr-ad-wireframe .fr-ad-zone-main .fr-ad-zone-content, .fr-ad-wireframe .fr-ad-zone-main .fr-ad-zone-sidebar { grid-column: auto; min-height: 64px; }
.fr-ad-wireframe .fr-ad-zone-main .fr-ad-zone-sidebar { min-width: 0; }

/* Preserve call/directions priority when action links are wrapped in list items. */
.fr-fast-contact-item-call { order: 1; }
.fr-fast-contact-item-directions { order: 2; }
.fr-fast-contact-item-whatsapp { order: 3; }
.fr-fast-contact-item-instagram { order: 4; }


/* Quality patch 2026-10-16: responsive business actions, category lists, admin ad tools and site polish. */
:root{scrollbar-color:#12a69e #eaf1f5;scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#eaf1f5}::-webkit-scrollbar-thumb{background:#7abeb9;border:2px solid #eaf1f5;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#23948f}
.category-tree-picker{min-width:0}.category-tree-results{max-height:340px;overflow:auto;overscroll-behavior:contain;border:1px solid #dbe5ed;border-radius:10px;padding:7px;background:#fbfdff;scrollbar-color:#8fbab8 #eef3f6}.category-tree-group{margin:3px 0;border:1px solid #e0e8ef;border-radius:8px;background:#fff}.category-tree-group>summary{padding:9px 12px;cursor:pointer;font-size:.88rem;font-weight:750;color:#24445f}.category-tree-group[open]>summary{background:#f0f8f8;border-bottom:1px solid #e2ecec;border-radius:8px 8px 0 0}.category-tree-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px}.category-tree-option{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:8px;border:1px solid #e6edf2;border-radius:7px;background:#fff;font-size:.81rem;line-height:1.35}.category-tree-option span{min-width:0;overflow-wrap:anywhere}.category-tree-option input{flex:0 0 auto;margin-top:2px}.category-tree-option[hidden],.category-tree-group[hidden]{display:none!important}.category-tree-option.is-selected{border-color:#75c7bf;background:#effbf9}.category-tree-search{margin:9px 0}.category-tree-search input{width:100%;min-width:0}.category-selected-summary{display:block;margin-top:8px;color:#547080;font-size:.78rem;line-height:1.5}
.business-detail-hero .detail-title-row{gap:18px}.business-detail-hero .detail-actions{gap:8px;flex-wrap:wrap;align-self:center}.business-detail-hero .detail-actions .btn{min-height:38px;padding:9px 13px;font-size:.82rem}.business-detail-hero .detail-actions .detail-action-copy{width:38px;min-width:38px;flex:0 0 38px;padding:8px;font-size:1rem}.business-detail-hero .detail-actions .detail-action-copy span{font-size:1rem}.business-quick-contact{width:min(100%,1120px);margin:0 auto;padding:12px clamp(14px,3vw,24px);display:flex;align-items:center;justify-content:flex-start;gap:9px;flex-wrap:wrap;background:#fff;border:1px solid #e0e8ef;border-radius:0 0 14px 14px;box-shadow:0 7px 18px rgba(15,45,67,.045)}.business-quick-contact .quick-contact-label{margin:0 8px 0 0;font-weight:800;color:#37546b;font-size:.83rem}.business-quick-contact>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:8px 12px;border:1px solid #dce7ed;border-radius:9px;background:#f8fbfd;color:#173c58;font-size:.82rem;font-weight:750;text-decoration:none;line-height:1.2;white-space:nowrap;transition:background .15s,border-color .15s}.business-quick-contact>a:hover{background:#effaf8;border-color:#88c9c2;color:#0c726e}.business-quick-contact>a.quick-contact-primary{background:#e7f8f4;border-color:#b8e7dd;color:#08766b}.business-quick-contact>a span{font-size:1rem}.business-detail-content .content-card p,.business-description,.business-long-description{line-height:1.8;overflow-wrap:anywhere}.business-detail-content h2,.business-detail-content h3{line-height:1.35;letter-spacing:-.015em}.business-description p,.content-card .business-description p{margin:0 0 1em}.business-description h2,.business-description h3{margin:1.35em 0 .55em;font-size:1.08em;font-weight:850}.business-description strong,.business-description b{font-weight:800}
.bulk-ad-toolbar{margin:15px 0 18px;padding:13px;border:1px solid #dae8ef;border-radius:12px;background:#f7fbfd}.bulk-ad-toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.bulk-ad-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr) auto;gap:10px;align-items:end}.bulk-ad-controls label{display:grid;gap:6px;min-width:0;font-size:.8rem;font-weight:750}.bulk-ad-toolbar>small{display:block;margin-top:9px;color:#667d8d;line-height:1.5}.ad-request-delete-form{margin-top:9px}.ad-request-delete-form .danger-btn{color:#9b2936;border-color:#e9b6bc}.ad-campaign-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.5fr) auto auto;gap:10px;align-items:end}.ad-campaign-filters label{display:grid;gap:6px;min-width:0;font-size:.82rem;font-weight:750}.inline-help-text{display:block;margin-top:4px;color:#597487;font-size:.75rem;font-weight:500;line-height:1.5}.footer-engagement-copy b{display:block}.footer-engagement-copy small{line-height:1.55}.auth-brand-panel .eyebrow{color:#effff7!important;text-shadow:0 1px 3px rgba(0,0,0,.22)}
@media(max-width:900px){.bulk-ad-controls{grid-template-columns:1fr 1fr}.bulk-ad-controls button{grid-column:1/-1;justify-self:start}.ad-campaign-filters{grid-template-columns:1fr 1fr}.business-quick-contact{border-radius:12px;gap:7px}.business-quick-contact .quick-contact-label{width:100%;margin:0 0 2px}.business-quick-contact>a{flex:1 1 auto}}
@media(max-width:620px){.category-tree-results{max-height:300px}.category-tree-options{grid-template-columns:1fr}.category-tree-option{padding:9px}.bulk-ad-controls,.ad-campaign-filters{grid-template-columns:1fr}.bulk-ad-controls button{grid-column:auto;width:100%}.business-quick-contact{margin:12px 12px 0;width:auto;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.business-quick-contact .quick-contact-label{grid-column:1/-1}.business-quick-contact>a{width:100%;min-width:0;white-space:normal;text-align:center;padding:9px 7px;font-size:.78rem}.business-detail-hero .detail-title-row{align-items:flex-start}.business-detail-hero .detail-actions{width:100%;display:flex}.business-detail-hero .detail-actions .btn{flex:1 1 auto}.business-detail-hero .detail-heading{min-width:0}.business-detail-hero .detail-heading h1{overflow-wrap:anywhere}}

.site-scroll-top{position:fixed;right:20px;bottom:22px;z-index:70;width:44px;height:44px;border:1px solid #a9d7d3;border-radius:50%;background:#12355b;color:#fff;font-size:23px;line-height:1;box-shadow:0 7px 20px rgba(18,53,91,.2);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;cursor:pointer}.site-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.site-scroll-top:hover{background:#087d78}@media(max-width:620px){.site-scroll-top{right:13px;bottom:14px;width:41px;height:41px}}

.cms-collapse-toggle{flex:0 0 auto;border:1px solid #cbdde5;background:#fff;color:#23475f;border-radius:8px;padding:7px 10px;font-size:.75rem;font-weight:800;cursor:pointer}.cms-collapse-toggle:hover{background:#edf8f7;border-color:#8ecac4}.content-editor-panel>.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cms-collapsible-content[hidden]{display:none!important}


/* Category management: make the search field, nested editors and emoji palette compact and readable. */
.category-admin-columns{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:16px;align-items:start}
.category-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end;margin:10px 0 14px;padding:12px;border:1px solid #dfe9ef;border-radius:11px;background:#f7fbfd}
.category-search-form label{display:grid;gap:6px;min-width:0;font-size:.82rem;font-weight:750;color:#294c64}
.category-search-form input{width:100%;min-width:0;min-height:42px}
.category-editor-list{display:grid;gap:8px;max-height:min(76vh,900px);overflow-y:auto;overscroll-behavior:contain;padding:2px 5px 2px 0;scrollbar-color:#91c3bf #eef3f6}
.category-editor-item{min-width:0;border:1px solid #dce7ed;border-radius:11px;background:#fff;overflow:clip}
.category-editor-item>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 13px;cursor:pointer;list-style:none;background:#fbfdff}
.category-editor-item>summary::-webkit-details-marker{display:none}
.category-editor-item>summary:after{content:'＋';flex:0 0 auto;display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#eaf4f6;color:#35566d;font-weight:800}
.category-editor-item[open]>summary{background:#edf8f7;border-bottom:1px solid #d8e9e7}
.category-editor-item[open]>summary:after{content:'−'}
.category-editor-item>summary span{font-weight:800;color:#1d4058;overflow-wrap:anywhere}
.category-editor-item>summary small{margin-left:auto;color:#6a8090;text-align:right;font-size:.74rem;line-height:1.4}
.category-editor-item>form{padding:14px;gap:12px}
.category-editor-item>form label,.category-admin-columns>.admin-panel>form>label{min-width:0}
.category-admin-columns .emoji-picker{min-width:0}
.category-admin-columns .emoji-picker>input{max-width:100%;width:100%;min-height:40px}
.category-admin-columns .emoji-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;max-height:165px;overflow:auto;padding:7px;overscroll-behavior:contain;background:#f8fbfd}
.category-admin-columns .emoji-options button{min-width:0;min-height:36px;padding:3px;font-size:19px}
@media(max-width:1000px){.category-admin-columns{grid-template-columns:minmax(0,1fr)}.category-editor-list{max-height:none}}
@media(max-width:620px){.category-search-form{grid-template-columns:minmax(0,1fr) auto}.category-search-form .btn,.category-search-form a{min-width:0;padding-inline:10px}.category-editor-item>summary{align-items:flex-start;flex-wrap:wrap}.category-editor-item>summary small{margin-left:0;text-align:left;width:calc(100% - 40px)}.category-admin-columns .emoji-options{grid-template-columns:repeat(5,minmax(0,1fr))}}
