/*
Theme Name: Chapshoo
Theme URI: https://chapshoo.ir/
Author: Chapshoo
Description: قالب اختصاصی و سبک پلتفرم دایرکتوری چاپشو.
Version: 0.76.64
Requires at least: 6.6
Requires PHP: 8.3
Text Domain: chapshoo
*/

/* Skip painting long off-screen result lists while preserving their measured space. */
@supports (content-visibility:auto) {
	.listing-grid > .listing-card:nth-child(n+7),
	.chapshoo-account__list > article:nth-child(n+7),
	.chapshoo-search-results > article:nth-child(n+7) {
		content-visibility: auto;
		contain-intrinsic-size: auto 300px;
	}
}

@font-face {
	font-family: 'IRANSans';
	src: url('assets/fonts/IRANSansWeb-FaNum-v0302.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* Two-step listing report flow. The server-side record lives in Chapshoo Core. */
html.chapshoo-report-open,
body.chapshoo-report-open { overflow: hidden; }
.chapshoo-report-modal[hidden],
.chapshoo-report-modal__step[hidden] { display: none !important; }
.chapshoo-report-modal { position: fixed; z-index: 1800; inset: 0; display: grid; padding: 24px; place-items: center; direction: rtl; }
.chapshoo-report-modal__backdrop { position: absolute; inset: 0; background: rgba(17,23,35,.42); backdrop-filter: blur(1px); }
.chapshoo-report-modal__panel { position: relative; display: flex; width: min(610px,100%); max-height: calc(100dvh - 48px); overflow: hidden; flex-direction: column; border: 1px solid #e0e3e8; border-radius: 10px; background: #fff; box-shadow: 0 18px 55px rgba(29,37,55,.16); }
.chapshoo-report-modal__header { display: flex; flex: 0 0 72px; align-items: center; justify-content: space-between; border-bottom: 1px solid #e7e9ed; padding: 0 30px; }
.chapshoo-report-modal__header h2 { margin: 0; color: #1d2537; font-size: 19px; font-weight: 700; }
.chapshoo-report-modal__header button { width: 36px; height: 36px; border: 0; padding: 0; color: #596170; background: transparent; font: 30px/1 Arial,sans-serif; cursor: pointer; }
.chapshoo-report-modal form { min-height: 0; }
.chapshoo-report-modal__step { display: flex; max-height: calc(100dvh - 122px); flex-direction: column; }
.chapshoo-report-modal__body { min-height: 0; overflow-x: hidden; overflow-y: auto; padding: 32px 30px 25px; overscroll-behavior: contain; }
.chapshoo-report-modal__body h3 { margin: 0 0 18px; color: #1d2537; font-size: 17px; }
.chapshoo-report-modal__body > p { margin: 0 0 20px; color: #747b88; font-size: 14px; line-height: 2; }
.chapshoo-report-modal__reasons { display: grid; }
.chapshoo-report-modal__reasons label { position: relative; display: flex; min-height: 58px; align-items: center; justify-content: space-between; border-bottom: 1px solid #eef0f3; color: #252c3a; cursor: pointer; }
.chapshoo-report-modal__reasons label:last-child { border-bottom: 0; }
.chapshoo-report-modal__reasons input { position: absolute; opacity: 0; pointer-events: none; }
.chapshoo-report-modal__reasons i { width: 23px; height: 23px; flex: 0 0 23px; border: 1.5px solid #afb5bf; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 5px #fff; transition: border-color .15s,background .15s; }
.chapshoo-report-modal__reasons input:checked + i { border-color: #1d2537; background: #1d2537; }
.chapshoo-report-modal__reasons input:focus-visible + i { outline: 3px solid rgba(29,37,55,.18); outline-offset: 2px; }
.chapshoo-report-modal__textarea { display: block; }
.chapshoo-report-modal__textarea textarea { display: block; width: 100%; min-height: 150px; resize: vertical; border: 1px solid #abb1bb; border-radius: 7px; padding: 16px; color: #1d2537; background: #fff; font: inherit; line-height: 2; }
.chapshoo-report-modal__textarea textarea:focus { border-color: #1d2537; outline: 2px solid rgba(29,37,55,.1); }
.chapshoo-report-modal__textarea small { display: block; margin-top: 7px; color: #8a909a; direction: rtl; text-align: left; }
.chapshoo-report-modal__textarea small b { font-weight: 400; }
.chapshoo-report-modal footer { display: flex; flex: 0 0 auto; gap: 12px; border-top: 1px solid #e7e9ed; padding: 18px 20px; }
.chapshoo-report-modal footer button { min-width: 122px; min-height: 48px; border: 1px solid #aeb4bf; border-radius: 6px; padding: 9px 20px; color: #343b49; background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.chapshoo-report-modal footer button.is-primary { border-color: #1d2537; color: #fff; background: #1d2537; }
.chapshoo-report-modal footer button:disabled { border-color: #d4d7dc; color: #969ca5; background: #e8eaed; cursor: not-allowed; }
.chapshoo-report-modal__success .chapshoo-report-modal__body { padding-block: 55px; text-align: center; }
.chapshoo-report-modal__success .chapshoo-report-modal__body > span { display: grid; width: 58px; height: 58px; margin: 0 auto 20px; border-radius: 50%; place-items: center; color: #fff; background: #1d2537; font-size: 27px; }
.chapshoo-report-modal__success h3 { margin-bottom: 10px; }
.chapshoo-report-modal__success p { max-width: 410px; margin-inline: auto; }
.chapshoo-report-modal__honeypot { position: fixed !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

@media (max-width:680px) {
	.chapshoo-report-modal { align-items: end; padding: 0; }
	.chapshoo-report-modal__panel { width: 100%; max-height: min(88dvh,760px); border-width: 1px 0 0; border-radius: 14px 14px 0 0; animation: chapshoo-mobile-sheet-up .22s ease-out both; }
	.chapshoo-report-modal__header { flex-basis: 62px; padding: 0 18px; }
	.chapshoo-report-modal__header h2 { font-size: 17px; }
	.chapshoo-report-modal__step { max-height: calc(88dvh - 62px); }
	.chapshoo-report-modal__body { padding: 24px 18px 18px; }
	.chapshoo-report-modal__body h3 { font-size: 15px; }
	.chapshoo-report-modal__reasons label { min-height: 54px; font-size: 13px; }
	.chapshoo-report-modal footer { padding: 12px 14px max(14px,env(safe-area-inset-bottom)); }
	.chapshoo-report-modal footer button { flex: 1; min-width: 0; min-height: 44px; padding-inline: 10px; font-size: 12px; }
}

@font-face {
	font-family: 'IRANSans';
	src: url('assets/fonts/IRANSansWeb-FaNum-Medium-v0302.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'IRANSans';
	src: url('assets/fonts/IRANSansWeb-FaNum-Bold-v0302.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: var(--chapshoo-text); font-family: 'IRANSans', Tahoma, Arial, sans-serif; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
.site-shell { width: min(1440px, calc(100% - 48px)); margin-inline: auto; }
.site-header, .site-footer { background: var(--chapshoo-surface); }
.site-footer { border-top: 1px solid var(--chapshoo-border); padding: 30px 0 calc(30px + env(safe-area-inset-bottom)); }
.site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.site-footer__inner strong { color: var(--chapshoo-brand); }
.site-footer__inner p { margin: 5px 0 0; color: #667085; font-size: 11px; }
.site-footer__inner nav a { display: inline-flex; min-height: 32px; align-items: center; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.site-footer nav a { color: #626a78; text-decoration: none; font-size: 11px; }
.site-header { position: sticky; z-index: 100; top: 0; border-top: 3px solid var(--chapshoo-brand); border-bottom: 1px solid #eef0f3; box-shadow: 0 7px 18px rgba(29,37,55,.09); }
.header-shell { display: flex; align-items: center; gap: 20px; width: min(1760px, calc(100% - 48px)); min-height: 82px; margin-inline: auto; }
.site-brand { position: relative; display: grid; flex: 0 0 64px; place-items: center; height: 62px; overflow: visible; border-radius: 7px; transition: color .16s ease, background-color .16s ease; }
.site-brand::after { position: absolute; top: 13px; bottom: 13px; left: -10px; width: 1px; background: var(--chapshoo-border); content: ''; }
.site-brand img { display: block; width: 54px; height: auto; object-fit: contain; image-rendering: auto; transform: scale(1.04); }
.header-discovery { display: flex; flex: 1 1 auto; align-items: center; gap: 0; min-width: 360px; }
.header-select { position: relative; display: flex; align-items: center; height: 50px; border: 0; border-radius: 7px; color: var(--chapshoo-muted); background: #fff; transition: color .16s ease, background-color .16s ease; }
.header-select select { height: 100%; border: 0; outline: 0; padding: 0 12px 0 28px; color: inherit; background: transparent; font: inherit; cursor: pointer; appearance: auto; }
.header-location svg { width: 22px; height: 22px; margin-right: 10px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.header-location { min-width: 155px; }
.location-opener { overflow: hidden; max-width: 120px; height: 100%; border: 0; padding: 0 9px 0 24px; color: inherit; background: transparent; font: inherit; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.header-category { z-index: 5; flex: 0 0 280px; min-width: 280px; border: 0; }
.header-category__opener { display: flex; align-items: center; gap: 8px; width: 100%; height: 50px; border: 0; padding: 0 14px; color: var(--chapshoo-muted); background: #fff; cursor: pointer; }
.header-category__opener span { flex: 1; overflow: hidden; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.header-category__opener svg { flex: 0 0 auto; width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.header-category__opener .header-category__arrow { width: 16px; height: 16px; transition: transform .16s ease; }
.header-category__opener[aria-expanded="true"] .header-category__arrow { transform: rotate(180deg); }
.header-category__menu { position: absolute; z-index: 910; inset-inline: 0; top: calc(100% + 9px); width: 100%; max-width: calc(100vw - 24px); max-height: min(420px, 65vh); overflow-x: hidden; overflow-y: auto; border: 1px solid #e4e6ea; border-radius: 10px; padding: 7px; background: #fff; box-shadow: 0 18px 50px rgba(27,35,53,.16); }
.header-category__menu[hidden] { display: none; }
.header-category__menu button { display: block; width: 100%; min-height: 42px; border: 0; border-radius: 7px; padding: 8px 11px; overflow-wrap: anywhere; color: #454a56; background: #fff; line-height: 1.7; text-align: right; white-space: normal; cursor: pointer; }
.header-category__menu button:hover, .header-category__menu button:focus { outline: 0; background: #f5f6f8; }
.header-category__menu button[aria-selected="true"] { color: var(--chapshoo-brand); background: #eef1f6; font-weight: 700; }
.header-search { position: relative; display: flex; flex: 0 1 clamp(440px, 34vw, 620px); align-items: center; width: clamp(440px, 34vw, 620px); height: 50px; min-width: 0; margin-right: 14px; border-radius: 7px; color: #9b9da5; background: #f6f6f7; }
.header-search svg { flex: 0 0 22px; width: 22px; height: 22px; margin: 0 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2; }
.header-search input { width: 100%; height: 100%; border: 0; outline: 0; padding: 0 0 0 16px; color: var(--chapshoo-text); background: transparent; font: inherit; }
.header-search input::placeholder { color: #85868d; }
.location-opener, .header-category__opener, .header-search input, .header-navigation a { font-weight: 500; }
.header-navigation { display: flex; align-items: center; gap: 24px; white-space: nowrap; }
.header-navigation a { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; border-radius: 7px; padding-inline: 10px; color: var(--chapshoo-muted); text-decoration: none; font-size: 14px; transition: color .16s ease, background-color .16s ease; }
.header-navigation a:hover { color: var(--chapshoo-brand); }
.header-navigation svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.header-navigation .submit-listing-button { min-height: 48px; border-radius: 6px; padding: 0 22px; color: #fff; background: var(--chapshoo-brand); font-weight: 700; }
.header-navigation .submit-listing-button:hover { color: #fff; background: #182033; }
.site-brand:hover, .header-location:hover, .header-category:hover, .header-navigation a:not(.submit-listing-button):hover { color: var(--chapshoo-brand); background: #f6f6f7; }
.header-category:hover .header-category__opener { background: transparent; }
.header-mobile-toggle { display: none; border: 0; padding: 8px; background: transparent; }
.header-mobile-toggle > span:not(.screen-reader-text) { display: block; width: 23px; height: 2px; margin: 5px 0; background: var(--chapshoo-brand); }
.header-mobile-actions { display: none; }
.mobile-filter-strip, .mobile-owner-tabs { display: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.location-picker[hidden] { display: none; }
.location-picker { --location-accent: #1d2537; position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; }
.location-picker__backdrop { position: absolute; inset: 0; border: 0; background: rgba(21,27,40,.42); cursor: default; }
.location-picker__panel { position: relative; display: flex; flex-direction: column; width: min(488px, calc(100% - 28px)); height: min(680px, calc(100dvh - 40px)); overflow: hidden; border: 1px solid rgba(34,44,66,.07); border-radius: 14px; background: #fff; box-shadow: 0 18px 55px rgba(34,44,66,.12); }
.location-picker__header { border-bottom: 1px solid #e4e5e8; padding: 18px 22px 10px; }
.location-picker__title-row { display: flex; align-items: center; min-height: 34px; margin-bottom: 14px; }
.location-picker__title-row h2 { flex: 1; margin: 0; color: #34363d; font-size: 18px; font-weight: 700; text-align: center; }
.location-picker__back { width: 70px; height: 34px; border: 0; color: #777a83; background: transparent; font-size: 26px; cursor: pointer; }
.location-picker__back { font-size: 22px; }
.location-picker__clear-all { width: 70px; border: 0; padding: 0; color: var(--location-accent); background: transparent; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.location-picker__search { display: flex; align-items: center; height: 50px; border: 1.5px solid var(--location-accent); border-radius: 6px; color: #9b9da6; }
.location-picker__search:focus-within { border-color: var(--location-accent); box-shadow: 0 0 0 2px rgba(29,37,55,.1); }
.location-picker__search svg { flex: 0 0 24px; width: 24px; height: 24px; margin: 0 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2; }
.location-picker__search input { width: 100%; height: 100%; border: 0; outline: 0; padding: 0 0 0 12px; color: #333640; background: transparent; font: inherit; font-size: 16px; }
.location-picker__search input::placeholder { color: #a0a2aa; }
.location-picker__chips { display: flex; flex-wrap: wrap; gap: 9px; max-height: 96px; overflow-y: auto; padding-top: 14px; }
.location-picker__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; border: 1px solid var(--location-accent); border-radius: 20px; padding: 0 12px; color: var(--location-accent); background: #fff; font: inherit; cursor: pointer; }
.location-picker__chip i { font-size: 18px; font-style: normal; }
.location-picker__hint { margin: 14px 0 0; color: #6f7179; font-size: 16px; }
.location-picker__chips:not(:empty) + .location-picker__hint { display: none; }
.location-picker__breadcrumb { display: flex; align-items: center; min-height: 68px; border-bottom: 1px solid #e5e6e9; padding: 0 38px; color: #45474e; font-size: 17px; }
.location-picker__breadcrumb span { flex: 1; }
.location-picker__breadcrumb-back { width: 38px; height: 38px; border: 0; color: #777a82; background: transparent; font-size: 25px; cursor: pointer; }
.location-picker__breadcrumb-back:disabled { visibility: hidden; }
.location-picker__list { min-height: 0; flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 0 38px; scrollbar-color: #bfc1c8 transparent; scrollbar-width: thin; }
.location-picker__item { display: flex; align-items: center; width: 100%; min-height: 61px; border: 0; border-bottom: 1px solid #e8e9eb; padding: 0 4px; color: #35373d; background: #fff; font: inherit; font-size: 17px; text-align: right; cursor: pointer; }
.location-picker__item:hover { color: var(--location-accent); background: #fafbfc; }
.location-picker__item span { flex: 1; }
.location-picker__item i { color: #a5a8b0; font-size: 28px; font-style: normal; transform: rotate(180deg); }
.location-picker__item--all { color: var(--location-accent); font-weight: 700; }
.location-picker__check { display: grid; flex: 0 0 23px; width: 23px; height: 23px; margin-right: 10px; border: 1px solid #aeb2bc; border-radius: 3px; place-items: center; transform: none !important; }
.location-picker__item.is-selected .location-picker__check { border-color: var(--location-accent); color: #fff; background: var(--location-accent); }
.location-picker__item.is-selected .location-picker__check::after { content: '✓'; font-size: 15px; }
.location-picker__footer { display: flex; gap: 18px; border-top: 1px solid #e4e5e8; padding: 18px 20px; background: #fff; }
.location-picker__footer button { flex: 1; min-height: 50px; border: 1px solid #aeb1b9; border-radius: 5px; color: #62646d; background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.location-picker__footer .location-picker__confirm { border-color: var(--location-accent); color: #fff; background: var(--location-accent); }
.location-picker__footer .location-picker__confirm:disabled { border-color: #c4c5ca; color: #868890; background: #c4c5ca; cursor: not-allowed; }
.location-picker__empty { padding: 48px 12px; color: #777a83; text-align: center; }
body.location-picker-open { overflow: hidden; }
@keyframes chapshoo-mobile-sheet-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .location-picker__panel,.chapshoo-report-modal__panel { animation: none !important; } }
.site-main { min-height: 70vh; padding: 40px 0; }
.archive-header { margin-bottom: 24px; }
.archive-header h1 { margin: 0 0 8px; font-size: clamp(1.4rem, 3vw, 2rem); }
.archive-header--listing { min-height: 24px; margin-bottom: 16px; text-align: left; }
.archive-header--listing h1 { margin: 0; color: #5e6674; font-size: 13px; font-weight: 500; line-height: 1.8; }
.archive-description--bottom { margin-top: 36px; border-top: 1px solid var(--chapshoo-border); padding-top: 24px; color: #6e7581; font-size: 13px; line-height: 2; }
.listing-archive-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 28px; align-items: start; }
.listing-archive-content { min-width: 0; }
.listing-filters { position: static; min-width: 0; max-width: 100%; overflow: visible; background: #fff; }
.listing-filters__heading { display: flex; align-items: center; min-height: 48px; padding: 0 16px; }
.listing-filters__heading h2 { flex: 1; margin: 0; color: #343a47; font-size: 13px; font-weight: 800; }
.listing-filters__heading a { color: #737987; text-decoration: none; font-size: 11px; }
.listing-filter-section { min-width: 0; max-width: 100%; margin: 0; border-bottom: 1px solid var(--chapshoo-border); padding: 15px 16px; overflow-x: hidden; }
.listing-filter-section--categories { padding: 4px 0 14px; }
.listing-filter-section:last-child { border-bottom: 0; }
.listing-filter-section h3, .listing-filter-section > label { display: block; margin: 0 0 11px; color: #343b49; font-size: 13px; font-weight: 700; }
.listing-filter-categories { display: grid; gap: 2px; width: 100%; min-width: 0; max-width: 100%; max-height: none; overflow: visible; }
.listing-filter-categories[hidden] { display: none; }
.listing-filter-categories a, .listing-filter-category__enter { display: flex; align-items: center; width: 100%; min-width: 0; max-width: 100%; min-height: 39px; border: 0; border-radius: 7px; padding: 0 16px; overflow: hidden; color: #686d78; background: transparent; font: inherit; font-size: 13px; font-weight: 700; text-align: right; text-decoration: none; cursor: pointer; transition: color .15s ease, background-color .15s ease; }
.listing-filter-categories a:hover, .listing-filter-category__enter:hover { color: #1d2537; background: #f6f6f7; }
.listing-filter-category__enter > span:nth-child(2) { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.listing-filter-category__enter i { margin-right: auto; color: #9da2ac; font-size: 19px; font-style: normal; }
.listing-filter-category-panel a, .listing-filter-category-panel a:hover, .listing-filter-category-panel a:focus, .listing-filter-category-panel a.is-current { background: transparent; }
.listing-filter-category-panel__back { min-height: 42px !important; color: #747a87 !important; font-size: 13.5px !important; }
.listing-filter-category-panel__back i { margin-left: 10px; font-size: 17px; font-style: normal; }
.listing-filter-category-panel__parent { min-height: 45px !important; color: #252b36 !important; font-size: 14px !important; font-weight: 800; }
.listing-filter-category-panel__children { display: grid; gap: 2px; width: 100%; }
.listing-filter-category-panel__children a { min-height: 39px; padding-right: 47px; color: #6f7480; font-size: 12px; font-weight: 400; }
.listing-filter-categories a:hover { color: #1d2537; background: #f6f6f7; }
.listing-filter-categories a.is-current { color: #1d2537; background: transparent; font-weight: 700; }
.listing-filter-category-panel .listing-filter-category-panel__back { color: #747a87 !important; }
.listing-filter-category-panel .listing-filter-category-panel__parent { color: #20242d !important; }
.listing-filter-category-panel .listing-filter-category-panel__children a,
.listing-filter-category-panel .listing-filter-category-panel__children a.is-current { color: #6f7480; background: transparent; }
.listing-filter-categories span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.listing-filter-categories small { color: #a0a4ad; font-size: 10px; }
.listing-filter-category__icon { display: grid; flex: 0 0 22px !important; width: 22px; height: 22px; margin-left: 9px; overflow: visible !important; place-items: center; }
.listing-filter-category__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.listing-filter-category { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; border-radius: 7px; }
.listing-filter-category summary { display: flex; align-items: center; width: 100%; min-width: 0; max-width: 100%; min-height: 47px; border-radius: 7px; padding: 0 9px; overflow: hidden; color: #686d78; list-style: none; cursor: pointer; transition: color .15s ease, background-color .15s ease; }
.listing-filter-category summary::-webkit-details-marker { display: none; }
.listing-filter-category summary:hover { color: #1d2537; background: #f6f6f7; }
.listing-filter-category summary span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.listing-filter-category summary i { margin-right: 8px; color: #9da2ac; font-size: 20px; font-style: normal; transition: transform .16s ease; }
.listing-filter-category[open] summary i { transform: rotate(-90deg); }
.listing-filter-subcategories { display: grid; gap: 2px; width: 100%; min-width: 0; max-width: 100%; margin: 2px 0 7px; padding-right: 31px; overflow-x: hidden; }
.listing-filter-subcategories a { min-width: 0; min-height: 35px; padding-inline: 8px; overflow-wrap: anywhere; font-size: 11.5px; white-space: normal; }
.listing-filter-form select, .listing-filter-location { width: 100%; min-height: 44px; border: 1px solid #dfe2e7; border-radius: 7px; padding: 0 11px; color: #555c69; background: #fff; }
.listing-filter-form select { cursor: pointer; }
.listing-filter-location { display: flex; align-items: center; text-align: right; cursor: pointer; }
.listing-filter-location span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.listing-filter-location b { color: #969ba5; font-size: 22px; font-weight: 400; }
.listing-filter-location:hover, .listing-filter-form select:hover { border-color: #cbd0d8; background: #f8f9fa; }
.listing-neighborhoods { padding-block: 4px; }
.listing-neighborhoods details { width: 100%; }
.listing-neighborhoods summary { display: flex; align-items: center; min-height: 58px; color: #656b76; list-style: none; cursor: pointer; }
.listing-neighborhoods summary::-webkit-details-marker { display: none; }
.listing-neighborhoods summary strong { flex: 1; color: #343a47; font-size: 13px; }
.listing-neighborhoods summary span { margin-left: 10px; color: #9a9fa9; font-size: 12px; }
.listing-neighborhoods summary i { color: #9ca1ab; font-size: 22px; font-style: normal; transition: transform .16s ease; }
.listing-neighborhoods details[open] summary i { transform: rotate(-90deg); }
.listing-neighborhoods__options { display: grid; gap: 2px; padding-bottom: 10px; }
.listing-neighborhoods__options label { display: flex; align-items: center; gap: 9px; min-height: 38px; border-radius: 6px; padding: 0 7px; color: #666d79; cursor: pointer; }
.listing-neighborhoods__options label:hover { background: #f6f6f7; }
.listing-neighborhoods__options input { width: 17px; height: 17px; accent-color: #1d2537; }
.listing-neighborhoods details > p { margin: 0 0 12px; color: #969ba5; font-size: 11px; line-height: 1.8; }
.listing-empty { border: 1px dashed var(--cs-color-border); border-radius: var(--cs-radius-md); padding: var(--cs-space-7) var(--cs-space-5); color: var(--cs-color-muted); background: var(--cs-color-surface); text-align: center; }
#chapshoo-listing-results { min-height: 240px; transition: opacity .16s ease; }
#chapshoo-listing-results.is-loading { opacity: .42; pointer-events: none; }
.chapshoo-ajax-pagination { margin-top: 24px; }
.chapshoo-infinite-sentinel { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 72px; color: #777e8a; font-size: 11px; }
.chapshoo-infinite-sentinel .listing-card__spinner { display: inline-block; }
#chapshoo-listing-results > .navigation.pagination, #chapshoo-listing-results .chapshoo-ajax-pagination { display: none !important; }
.chapshoo-ajax-pagination .nav-links { display: flex; justify-content: center; gap: 6px; }
.chapshoo-ajax-pagination .page-numbers { display: grid; min-width: 38px; height: 38px; border: 1px solid #e0e3e8; border-radius: 7px; padding: 0 8px; place-items: center; color: #646b77; background: #fff; text-decoration: none; }
.chapshoo-ajax-pagination .page-numbers:hover, .chapshoo-ajax-pagination .page-numbers.current { border-color: #1d2537; color: #fff; background: #1d2537; }
.listing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.listing-card { min-width: 0; margin: 0; list-style: none; direction: rtl; }
.listing-card__link { position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 10px; align-items: center; min-width: 0; min-height: 172px; height: 100%; overflow: hidden; border: 1px solid #e5e7eb; border-radius: 4px; padding: 16px; color: inherit; background: #fff; direction: ltr; text-decoration: none; box-shadow: none; transition: transform .16s ease, opacity .16s ease, box-shadow .16s ease; }
.listing-card__link:hover { color: inherit; text-decoration: none; }
.listing-card--gold .listing-card__link, .listing-card--silver .listing-card__link { isolation: isolate; }
.listing-card--gold .listing-card__link { border: 1px solid transparent; background: linear-gradient(135deg,#fffaf0 0,#fff 48%) padding-box, linear-gradient(115deg,#8b6508,#f6df83,#b17e08,#fff0a8,#8b6508) border-box; background-size: 100% 100%, 260% 260%; box-shadow: 0 7px 22px rgba(151,112,13,.1); }
.listing-card--silver .listing-card__link { border: 1px solid transparent; background: linear-gradient(135deg,#f7f9fc 0,#fff 48%) padding-box, linear-gradient(115deg,#748092,#edf1f5,#9ca7b6,#f9fbfd,#748092) border-box; background-size: 100% 100%, 260% 260%; box-shadow: 0 6px 18px rgba(70,84,104,.07); }
.listing-card--gold .listing-card__link::before, .listing-card--silver .listing-card__link::before { position: absolute; z-index: 2; inset-block: 11px; inset-inline-start: 0; width: 3px; border-radius: 0 4px 4px 0; content: ''; }
.listing-card--gold .listing-card__link::before { display: none; content: none; }
.listing-card--silver .listing-card__link::before { display: none; content: none; }
.listing-card__link.is-loading { opacity: .82; transform: scale(.995); pointer-events: none; }
.listing-card__loading { position: absolute; z-index: 10; inset: 0; display: flex; align-items: center; justify-content: center; gap: 8px; visibility: hidden; color: #263244; background: rgba(255,255,255,.94); font-size: 12px; font-weight: 900; line-height: 1.5; opacity: 0; pointer-events: none; direction: rtl; transition: opacity .14s ease, visibility .14s ease; }
.listing-card__link.is-loading .listing-card__loading { visibility: visible; opacity: 1; }
.listing-card__spinner { width: 18px; height: 18px; border: 2px solid rgba(29,37,55,.2); border-top-color: #1d2537; border-radius: 50%; animation: chapshoo-card-spin .72s linear infinite; }
@keyframes chapshoo-card-spin { to { transform: rotate(360deg); } }
@keyframes chapshoo-gold-border { 0%,100% { background-position: 0 0, 0% 50%; } 50% { background-position: 0 0, 100% 50%; } }
@keyframes chapshoo-gold-label { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes chapshoo-silver-border { 0%,100% { background-position: 0 0, 0% 50%; } 50% { background-position: 0 0, 100% 50%; } }
@keyframes chapshoo-silver-label { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.listing-card__media { position: relative; min-width: 0; overflow: hidden; border: 0; border-radius: 4px; background: #f1f3f6; box-shadow: none; }
.listing-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; border: 0; border-radius: 4px; object-fit: cover; box-shadow: none; }
.listing-card__placeholder { display: grid; width: 100%; aspect-ratio: 1 / 1; place-items: center; color: #fff; background: var(--chapshoo-brand); font-size: 2.5rem; font-weight: 800; }
.listing-card__plan, .listing-card__expired { position: absolute; z-index: 2; top: 7px; right: 7px; border-radius: 6px; padding: 3px 7px; color: #fff; background: var(--chapshoo-brand); font-size: 9px; font-weight: 700; }
.listing-card__badges { position: absolute; z-index: 2; top: 7px; right: 7px; display: flex; align-items: center; gap: 5px; direction: rtl; }
.listing-card__badges .listing-card__plan { position: static; }
.listing-card__promoted { display: inline-flex; align-items: center; gap: 4px; min-height: 22px; border: 1px solid rgba(29,37,55,.1); border-radius: 6px; padding: 2px 6px; color: #303847; background: rgba(255,255,255,.92); font-size: 9px; font-weight: 700; line-height: 1.4; backdrop-filter: blur(4px); }
.listing-card__promoted svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.listing-card__image-count { position: absolute; z-index: 2; right: 7px; bottom: 7px; display: inline-flex; align-items: center; gap: 4px; min-height: 24px; border-radius: 7px; padding: 2px 7px; color: #fff; background: rgba(24,29,39,.78); font-size: 10px; font-weight: 700; line-height: 1; direction: rtl; backdrop-filter: blur(4px); }
.listing-card__image-count svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.listing-card--gold .listing-card__promoted { border-color: rgba(151,112,13,.2); color: #715200; background: rgba(255,249,226,.94); }
.listing-card--silver .listing-card__promoted { border-color: rgba(91,104,122,.18); color: #465164; background: rgba(247,249,252,.94); }
.listing-card--gold .listing-card__plan { border: 1px solid rgba(138,99,0,.16); color: #604600; background: linear-gradient(110deg,#fff0a8,#d9a91f,#fff4bd,#b98008); background-size: 240% 240%; box-shadow: 0 3px 9px rgba(151,112,13,.16); }
.listing-card--gold .listing-card__plan { font-weight: 900; text-shadow: 0 1px 0 rgba(255,255,255,.38); }
@media (prefers-reduced-motion: reduce) { .listing-card--gold .listing-card__link, .listing-card--gold .listing-card__plan, .listing-card--gold .listing-card__category, .listing-card--silver .listing-card__link, .listing-card--silver .listing-card__plan, .listing-card--silver .listing-card__category { animation: none; } }
.listing-card--silver .listing-card__plan { border: 1px solid rgba(91,104,122,.14); color: #354052; background: linear-gradient(110deg,#f8fafc,#b8c1cd,#edf1f5,#909baa); background-size: 240% 240%; font-weight: 900; box-shadow: 0 3px 9px rgba(70,84,104,.12); }
.listing-card--gold .listing-card__title { color: #9a6b00; font-weight: 700; }
.listing-card--silver .listing-card__title { color: #111; }
.listing-card__expired { inset: auto 7px 7px; top: auto; background: var(--chapshoo-danger); text-align: center; }
.listing-card__body { display: grid; gap: 5px; min-width: 0; align-content: center; direction: rtl; }
.listing-card__title { display: -webkit-box; overflow: hidden; min-height: calc(2em * 1.65); margin: 0; color: #111; font-size: 14px; font-weight: 400; line-height: 1.65; letter-spacing: 0; text-align: justify; text-align-last: right; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.listing-card__category { overflow: hidden; width: max-content; max-width: 100%; border: 1px solid #1d2537; border-radius: 5px; padding: 2px 8px; color: #1d2537; background: transparent; font-size: 10px; font-weight: 400; line-height: 1.6; text-overflow: ellipsis; white-space: nowrap; }
.listing-card__category[data-category-url] { position: relative; z-index: 4; cursor: pointer; }
.listing-card__category[data-category-url]:hover, .listing-card__category[data-category-url]:focus { outline: 0; color: #fff; background: #1d2537; text-decoration: none; }
.listing-card .listing-card__category { color: #1d2537; background: transparent; animation: none; }
.listing-card__meta { display: flex; flex-wrap: wrap; gap: 5px 10px; color: #616875; font-size: 10px; }
.listing-card__meta span { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
.listing-card__company[data-company-url] { position: relative; z-index: 4; cursor: pointer; }
.listing-card__company[data-company-url]:hover, .listing-card__company[data-company-url]:focus { outline: 0; color: #1d2537; text-decoration: underline; text-underline-offset: 3px; }
.listing-card__location::before { content: '•'; margin-left: 8px; color: #a2a7b0; }
.listing-card__date { color: #8a909b; font-size: 9.5px; }
.listing-card.is-expired .listing-card__link { filter: grayscale(1); opacity: .6; }
.listing-expired { position: relative; }
.listing-expired__content { filter: grayscale(1); opacity: .48; }
.listing-expired__stamp { position: absolute; z-index: 2; inset-block-start: 32px; inset-inline-start: 50%; transform: translateX(-50%) rotate(-8deg); border: 4px solid var(--chapshoo-danger); border-radius: 8px; padding: 10px 20px; color: var(--chapshoo-danger); background: rgba(255,255,255,.88); font-size: clamp(1.4rem, 4vw, 2.5rem); font-weight: 800; }

/* صفحه جزئیات آگهی */
.single-listing { position: relative; width: min(1120px, 100%); margin-inline: auto; color: #303641; direction: rtl; }
.single-listing__breadcrumb { display: flex; align-items: center; gap: 8px; min-width: 0; margin-bottom: 28px; overflow: hidden; color: #888e98; font-size: 11px; white-space: nowrap; }
.single-listing__breadcrumb a { flex: 0 0 auto; color: #747b88; text-decoration: none; }
.single-listing__breadcrumb a:hover { color: var(--chapshoo-brand); }
.single-listing__breadcrumb i { color: #b0b4bc; font-size: 17px; font-style: normal; }
.single-listing__breadcrumb span { overflow: hidden; text-overflow: ellipsis; }
.single-listing__breadcrumb .rank-math-breadcrumb, .single-listing__breadcrumb .rank-math-breadcrumb p { display: contents; }
.single-listing__mobile-breadcrumb, .single-listing__mobile-gallery-actions, .single-listing__inline-dots, .single-listing__mobile-company, .single-listing__mobile-comments-preview, .single-listing__mobile-report { display: none; }
.single-listing__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); gap: clamp(58px, 8vw, 112px); align-items: start; }
.single-listing__details, .single-listing__visuals { min-width: 0; }
.single-listing__heading { position: relative; border-bottom: 1px solid #e3e5e8; padding: 0 0 18px; }
.single-listing__heading h1 { max-width: 100%; margin: 0; color: #171b23; font-size: clamp(22px, 2vw, 28px); font-weight: 700; line-height: 1.65; }
.single-listing__heading p { margin: 10px 0 0; color: #717783; font-size: 13px; }
.single-listing__plan { position: absolute; z-index: 3; top: 10px; right: 10px; border: 1px solid rgba(255,255,255,.55); border-radius: 7px; padding: 5px 10px; color: #354052; background: rgba(247,249,252,.92); box-shadow: 0 3px 10px rgba(23,29,41,.12); font-size: 10px; font-weight: 700; backdrop-filter: blur(5px); }
.single-listing--gold .single-listing__plan { border-color: rgba(255,244,189,.72); color: #5f4500; background: linear-gradient(110deg,rgba(255,240,168,.94),rgba(217,169,31,.94),rgba(255,244,189,.94)); overflow: hidden; isolation: isolate; }
.single-listing--gold .single-listing__plan::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg,transparent,rgba(255,255,255,.35),transparent); transform: translateX(-110%); animation: chapshoo-plan-shine 3.8s ease-in-out infinite; }
@keyframes chapshoo-plan-shine { 0%,15% { transform: translateX(-110%); } 65%,100% { transform: translateX(110%); } }
@media (prefers-reduced-motion: reduce) { .single-listing--gold .single-listing__plan::after { animation: none; display: none; } }
.single-listing__actions { position: relative; display: flex; align-items: center; gap: 8px; min-height: 70px; border-bottom: 1px solid #e3e5e8; }
.single-listing__actions button { cursor: pointer; }
.single-listing__contact { min-height: 43px; border: 1px solid var(--chapshoo-brand); border-radius: 5px; padding: 0 18px; color: #fff; background: var(--chapshoo-brand); font-size: 12px; font-weight: 700; }
.single-listing__comment-action { display: grid; min-height: 43px; border: 1px solid var(--chapshoo-brand); border-radius: 5px; padding: 0 16px; place-items: center; color: var(--chapshoo-brand); background: #fff; text-decoration: none; font-size: 11px; font-weight: 700; }
.single-listing__comment-action:hover { color: #fff; background: var(--chapshoo-brand); }
.single-listing__comment-action + .single-listing__icon-button { margin-right: auto; }
.single-listing__contact:hover { background: #171f31; }
.single-listing__contact:disabled { border-color: #d8dbe1; color: #8a8f98; background: #eef0f3; cursor: default; }
.single-listing__icon-button { display: grid; width: 43px; height: 43px; border: 0; border-radius: 5px; place-items: center; color: #636b78; background: transparent; }
.single-listing__icon-button:hover, .single-listing__icon-button.is-active { color: var(--chapshoo-brand); background: #f1f3f6; }
.single-listing__icon-button.is-active svg { fill: var(--chapshoo-brand); }
.single-listing__icon-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.single-listing__action-message { position: absolute; left: 0; bottom: -17px; margin: 0; color: #68707d; font-size: 10px; }
.single-listing__contact-panel { display: grid; gap: 7px; border-bottom: 1px solid #e3e5e8; padding: 12px 0; }
.single-listing__contact-panel[hidden] { display: none; }
.single-listing__contact-panel a { display: flex; align-items: center; justify-content: space-between; min-height: 40px; border-radius: 5px; padding: 0 10px; color: var(--chapshoo-brand); background: #f5f6f8; text-decoration: none; direction: ltr; }
.single-listing__contact-panel svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.single-listing__facts { margin: 0; }
.single-listing__facts > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; min-height: 51px; border-bottom: 1px solid #e3e5e8; align-items: center; }
.single-listing__facts dt { color: #7a808b; font-size: 12px; }
.single-listing__facts dd { max-width: 280px; margin: 0; color: #303641; font-size: 12px; text-align: left; }
.single-listing__facts .single-listing__address-fact { align-items: start; padding-block: 14px; }
.single-listing__address-fact dd { max-width: min(68%,360px); line-height: 1.9; text-align: right; overflow-wrap: anywhere; }
.single-listing__facts a { color: var(--chapshoo-brand); text-decoration: none; }
.single-listing__facts a:hover { text-decoration: underline; text-underline-offset: 3px; }
.single-listing__social-row dd { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.single-listing__social-row dd a { border: 1px solid #d9dde3; border-radius: 999px; padding: 3px 8px; color: #505866; background: #fff; font-size: 9px; white-space: nowrap; }
.single-listing__social-row dd a:hover { border-color: var(--chapshoo-brand); color: #fff; background: var(--chapshoo-brand); text-decoration: none; }
.single-listing__description { padding-top: 24px; }
.single-listing__description h2 { margin: 0 0 14px; color: #232833; font-size: 15px; font-weight: 700; }
.single-listing__content { color: #343a45; font-size: 13px; line-height: 2.15; overflow-wrap: anywhere; }
.single-listing__content > :first-child { margin-top: 0; }
.single-listing__content > :last-child { margin-bottom: 0; }
.single-listing__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.single-listing__tags a { border: 0; border-radius: 2px; padding: 6px 10px; color: #69717e; background: #f5f5f6; font-size: 10px; font-weight: 400; line-height: 1.7; text-decoration: none; transition: color .15s ease,background-color .15s ease; }
.single-listing__tags a:hover, .single-listing__tags a:focus-visible { color: var(--chapshoo-brand); background: #eceef2; text-decoration: underline; text-underline-offset: 3px; }
.single-listing__visuals { direction: rtl; }
.single-listing__details.is-sticky-column, .single-listing__visuals.is-sticky-column { position: sticky; top: var(--chapshoo-sticky-top, 100px); align-self: start; }
.single-listing__main-image { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 6px; background: #f1f2f4; }
.single-listing__main-image > img { display: block; width: 100%; height: 100%; border: 0; border-radius: 6px; object-fit: cover; object-position: center; background: transparent; box-shadow: none; cursor: zoom-in; }
.single-listing__main-image > img:focus-visible { outline: 3px solid rgba(255,255,255,.85); outline-offset: -5px; }
.single-listing__image-placeholder { display: grid; width: 100%; height: 100%; place-items: center; padding: 20px; color: #8a909a; font-size: 12px; }
.single-listing__gallery-prev, .single-listing__gallery-next { position: absolute; z-index: 3; top: 50%; width: 38px; height: 56px; transform: translateY(-50%); border: 0; padding: 0; color: #fff; background: transparent; font-size: 34px; line-height: 1; cursor: pointer; filter: drop-shadow(0 1px 3px rgba(0,0,0,.8)); transition: transform .15s ease; }
.single-listing__gallery-prev:hover, .single-listing__gallery-next:hover { transform: translateY(-50%) scale(1.12); }
.single-listing__gallery-prev { right: 2px; }
.single-listing__gallery-next { left: 2px; }
.single-listing__gallery-count { position: absolute; left: 9px; bottom: 9px; display: inline-flex; align-items: center; gap: 5px; min-height: 27px; border-radius: 6px; padding: 2px 8px; color: #fff; background: rgba(24,29,39,.78); font-size: 10px; direction: rtl; backdrop-filter: blur(4px); }
.single-listing__gallery-count svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.single-listing__thumbnails { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; margin-top: 10px; direction: rtl; }
.single-listing__thumbnails button { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid transparent; border-radius: 5px; padding: 0; background: #f1f2f4; cursor: pointer; opacity: .9; }
.single-listing__thumbnails button:hover, .single-listing__thumbnails button.is-active { border-color: var(--chapshoo-brand); opacity: 1; }
.single-listing__thumbnails button.is-gallery-hidden { display: none; }
.single-listing__thumbnails img { display: block; width: 100%; height: 100%; border: 0; border-radius: 4px; object-fit: cover; box-shadow: none; }
.single-listing__more-images { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(25,29,37,.55); font-size: 14px; font-weight: 700; direction: ltr; backdrop-filter: blur(1px); }
.single-listing-lightbox[hidden] { display: none; }
.single-listing-lightbox { position: fixed; z-index: 2000; inset: 0; display: grid; width: 100vw; height: 100dvh; overflow: hidden; place-items: center; direction: rtl; overscroll-behavior: none; }
.single-listing-lightbox__backdrop { position: absolute; inset: 0; background: rgba(18,20,24,.44); backdrop-filter: blur(1px); }
.single-listing-lightbox__stage { position: fixed; z-index: 1; inset: 0; display: grid; width: 100vw; height: 100dvh; overflow: hidden; padding: 0 90px; place-items: center; pointer-events: none; }
.single-listing-lightbox__stage > img { display: block; width: auto; height: 100dvh; max-width: 100%; max-height: 100dvh; border: 0; border-radius: 0; object-fit: contain; box-shadow: 0 8px 38px rgba(0,0,0,.28); pointer-events: auto; }
.single-listing-lightbox__close, .single-listing-lightbox__prev, .single-listing-lightbox__next { position: fixed; z-index: 3; display: grid; width: 42px; height: 42px; border: 0; border-radius: 50%; place-items: center; color: #fff; background: rgba(35,38,43,.82); cursor: pointer; line-height: 1; }
.single-listing-lightbox__close { top: 28px; left: 28px; font-size: 29px; font-weight: 300; }
.single-listing-lightbox__prev, .single-listing-lightbox__next { top: 50%; transform: translateY(-50%); font-size: 30px; }
.single-listing-lightbox__prev { right: 14px; }
.single-listing-lightbox__next { left: 14px; }
.single-listing-lightbox__close:hover, .single-listing-lightbox__prev:hover, .single-listing-lightbox__next:hover { background: rgba(22,25,30,.96); }
.single-listing-lightbox__dots { position: fixed; z-index: 4; right: 50%; bottom: 18px; display: flex; max-width: min(70vw,700px); gap: 7px; transform: translateX(50%); overflow-x: auto; padding: 5px; pointer-events: auto; scrollbar-width: none; }
.single-listing-lightbox__dots::-webkit-scrollbar { display: none; }
.single-listing-lightbox__dots button { flex: 0 0 7px; width: 7px; height: 7px; border: 0; border-radius: 50%; padding: 0; background: rgba(255,255,255,.72); cursor: pointer; transition: transform .15s ease,background-color .15s ease; }
.single-listing-lightbox__dots button.is-active { background: #fff; transform: scale(1.45); }
html.single-listing-lightbox-open, body.single-listing-lightbox-open { height: 100%; overflow: hidden !important; overscroll-behavior: none; }
.single-listing__note { display: block; margin-top: 18px; }
.single-listing__note textarea { display: block; width: 100%; resize: vertical; border: 1px solid #aeb4bf; border-radius: 5px; outline: 0; padding: 12px; color: #363c47; background: #fff; font-size: 12px; line-height: 1.8; }
.single-listing__note textarea:focus { border-color: var(--chapshoo-brand); box-shadow: 0 0 0 2px rgba(34,44,66,.08); }
.single-listing__note small { display: block; margin-top: 7px; color: #9297a0; font-size: 9px; text-align: center; }
.single-listing__map { position: relative; display: grid; width: 100%; max-width: 100%; height: 210px; margin-top: 28px; overflow: hidden; border: 1px solid #e1e4e8; border-radius: 6px; box-sizing: border-box; place-items: center; color: var(--chapshoo-brand); background: #eef1ec; text-decoration: none; contain: paint; }
.single-listing__mobile-location { display: none; }
.single-listing__map-frame { position: absolute; inset: 0; display: block; width: 100%; max-width: none; height: 100%; border: 0; pointer-events: none; }
.single-listing__map-pin { position: relative; z-index: 1; display: grid; width: 42px; height: 42px; border-radius: 50%; place-items: center; color: #fff; background: var(--chapshoo-brand); box-shadow: 0 7px 18px rgba(34,44,66,.25); pointer-events: none; }
.single-listing__map-pin::before { position: absolute; z-index: -1; width: 92px; min-width: 92px; max-width: none; height: 92px; min-height: 92px; aspect-ratio: 1 / 1; border: 1px solid rgba(29,37,55,.24); border-radius: 50%; background: rgba(29,37,55,.1); box-sizing: border-box; content: ''; }
.single-listing__map-pin svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.single-listing__map strong { position: absolute; z-index: 1; bottom: 13px; border-radius: 5px; padding: 7px 11px; background: rgba(255,255,255,.92); font-size: 10px; font-weight: 500; }
.single-listing__address { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; color: #747b87; font-size: 11px; line-height: 1.9; }
.single-listing__address svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.single-listing__report { display: flex; align-items: center; gap: 8px; min-height: 50px; margin-top: 8px; border-bottom: 1px solid #e3e5e8; color: #626a77; text-decoration: none; font-size: 11px; }
.single-listing__report svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.7; }
.single-listing__comments { width: min(1120px, 100%); margin: 50px auto 0; border-top: 1px solid #e3e5e8; padding-top: 28px; }
.chapshoo-comments { color: #252b36; background: #fff; }
.chapshoo-comments__header { display: flex; align-items: center; gap: 12px; min-height: 62px; border-bottom: 1px solid #e6e8eb; padding: 0 18px; }
.chapshoo-comments__header strong { flex: 1; font-size: 18px; }
.chapshoo-comments__close, .chapshoo-comments__back { display: grid; width: 38px; height: 38px; border: 0; border-radius: 50%; place-items: center; color: #4e5561; background: transparent; text-decoration: none; font-size: 30px; font-weight: 300; cursor: pointer; }
.chapshoo-comments__back { font-size: 34px; }
.chapshoo-comments__view[hidden] { display: none !important; }
.chapshoo-comments__summary { display: flex; align-items: center; justify-content: space-between; padding: 24px 18px; }
.chapshoo-comments__summary h2 { margin: 0 0 7px; font-size: 20px; }
.chapshoo-comments__summary p { margin: 0; color: #7b818b; font-size: 12px; }
.chapshoo-comments__bubble { display: grid; width: 50px; height: 50px; border-radius: 50%; place-items: center; color: var(--chapshoo-brand); background: #f1f3f6; }
.chapshoo-comments__bubble svg, .chapshoo-comments__write svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linejoin: round; stroke-width: 1.7; }
.chapshoo-comments__items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 0 18px 24px; }
.chapshoo-comment { min-width: 0; border: 1px solid #e2e5e9; border-radius: 10px; padding: 16px; background: #fff; }
.chapshoo-comment header { display: flex; gap: 10px; align-items: center; }
.chapshoo-comment header img { width: 42px; height: 42px; border-radius: 50%; }
.chapshoo-comment header span { display: grid; gap: 3px; }
.chapshoo-comment header strong { font-size: 13px; }
.chapshoo-comment header small { color: #9297a0; font-size: 10px; }
.chapshoo-comment__content { margin-top: 14px; color: #4b525e; font-size: 12px; line-height: 2; }
.chapshoo-comment__content p { margin: 0; }
.chapshoo-comments__empty { display: grid; min-height: 230px; padding: 32px 18px; place-items: center; align-content: center; text-align: center; }
.chapshoo-comments__empty span { font-size: 44px; }
.chapshoo-comments__empty strong { margin-top: 13px; font-size: 16px; }
.chapshoo-comments__empty p { max-width: 420px; margin: 9px auto 0; color: #7d838d; font-size: 12px; line-height: 2; }
.chapshoo-comments__write { display: flex; align-items: center; gap: 12px; width: calc(100% - 36px); min-height: 66px; margin: 0 18px 24px; border: 1px solid #e3e5e8; border-radius: 9px; padding: 0 16px; color: #353b46; background: #fff; font: inherit; font-size: 13px; text-align: right; cursor: pointer; }
.chapshoo-comments__write span { display: grid; width: 42px; height: 42px; border-radius: 50%; place-items: center; background: #f1f3f5; }
.chapshoo-comments__write i { margin-right: auto; color: #7c828d; font-size: 25px; font-style: normal; }
.chapshoo-comments__listing { display: flex; gap: 13px; align-items: center; min-height: 96px; margin: 0 18px; border-bottom: 1px solid #e5e7ea; padding: 14px 0; }
.chapshoo-comments__listing span { flex: 0 0 68px; width: 68px; height: 68px; overflow: hidden; border-radius: 7px; background: #f2f3f5; }
.chapshoo-comments__listing img { width: 100%; height: 100%; object-fit: cover; }
.chapshoo-comments__listing strong { min-width: 0; font-size: 13px; line-height: 1.9; }
.chapshoo-comments__form .comment-respond { padding: 24px 18px 30px; }
.chapshoo-comments__form .comment-form-comment { margin: 0; }
.chapshoo-comments__form .comment-form-comment label { display: block; margin-bottom: 12px; font-size: 14px; font-weight: 700; }
.chapshoo-comments__form .comment-form-comment label b { margin-right: 3px; color: #c72f3a; }
.chapshoo-comments__form textarea { display: block; width: 100%; min-height: 190px; resize: vertical; border: 1px solid #d9dce1; border-radius: 9px; outline: none; padding: 15px; color: #303641; background: #fff; font: inherit; font-size: 13px; line-height: 2; }
.chapshoo-comments__form textarea:focus { border-color: var(--chapshoo-brand); box-shadow: 0 0 0 2px rgba(29,37,55,.08); }
.chapshoo-comments__identity { display: flex; align-items: center; justify-content: space-between; margin: -1px 0 20px; border: 1px solid #d9dce1; border-top: 0; border-radius: 0 0 9px 9px; padding: 13px 14px; font-size: 12px; }
.chapshoo-comments__identity span { border-radius: 20px; padding: 8px 11px; color: #59606b; background: #f5f6f7; }
.chapshoo-comments__form .comment-form-author, .chapshoo-comments__form .comment-form-email { margin: 14px 0 0; }
.chapshoo-comments__form .comment-form-author label, .chapshoo-comments__form .comment-form-email label { display: block; margin-bottom: 6px; font-size: 12px; }
.chapshoo-comments__form .comment-form-author input, .chapshoo-comments__form .comment-form-email input { width: 100%; height: 46px; border: 1px solid #d9dce1; border-radius: 7px; padding: 0 12px; font: inherit; }
.chapshoo-comments__form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; color: #6f7681; font-size: 10px; line-height: 1.8; }
.chapshoo-comments__form .comment-form-cookies-consent input { flex: 0 0 auto; margin-top: 5px; }
.chapshoo-comments__form .form-submit { margin: 28px 0 0; }
.chapshoo-comments__submit { width: 100%; min-height: 54px; border: 0; border-radius: 8px; color: #fff; background: var(--chapshoo-brand); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.chapshoo-comments__submit:disabled { color: #fff; background: #d6d8dc; cursor: not-allowed; }
.chapshoo-comments__rules { margin: 12px 0 0; color: #777e89; text-align: center; font-size: 10px; }
.chapshoo-comments__success { display: grid; min-height: 560px; padding: 50px 18px 26px; place-items: center; align-content: center; text-align: center; }
.chapshoo-comments__success-icon { font-size: 78px; }
.chapshoo-comments__success h2 { margin: 25px 0 8px; font-size: 23px; }
.chapshoo-comments__success p { margin: 0; color: #5e6570; font-size: 13px; line-height: 2; }
.chapshoo-comments__success a { width: min(100%,520px); min-height: 54px; margin-top: 80px; border-radius: 8px; padding: 16px; color: #fff; background: var(--chapshoo-brand); text-decoration: none; font-size: 14px; font-weight: 700; }
html.chapshoo-comments-open, body.chapshoo-comments-open { overflow: hidden !important; }

@media (max-width: 1180px) {
	.listing-archive-layout { grid-template-columns: 230px minmax(0, 1fr); gap: 18px; }
	.listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.header-shell { flex-wrap: wrap; gap: 10px 16px; padding: 12px 0; }
	.site-brand { order: 1; }
	.header-mobile-toggle { display: block; order: 2; margin-right: auto; }
	.header-discovery { order: 3; flex-basis: 100%; }
	.header-navigation { display: none; order: 4; flex-basis: 100%; padding: 12px 0 4px; border-top: 1px solid var(--chapshoo-border); }
	.header-navigation.is-open { display: flex; }
	.single-listing__layout { grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 42px; }
}

@media (max-width: 680px) {
	.site-footer__inner { align-items: flex-start; flex-direction: column; }
	html, body.single-chapshoo_listing { max-width: 100%; overflow-x: hidden; }
	body.single-chapshoo_listing *, body.single-chapshoo_listing *::before, body.single-chapshoo_listing *::after { max-width: 100%; }
	.site-main { padding: 22px 0; }
	.site-shell { width: min(100% - 20px, 1180px); }
	.listing-archive-layout { display: flex; flex-direction: column; gap: 18px; }
	.listing-filters { position: static; width: 100%; }
	.listing-filter-categories { max-height: none; overflow: visible; }
	.listing-archive-content { width: 100%; }
	.listing-grid { grid-template-columns: 1fr; gap: 0; padding-inline: 10px; }
	.listing-card, .listing-card--gold, .listing-card--silver { border: 0; border-bottom: 1px solid #e5e7eb; border-radius: 0; }
	.listing-card .listing-card__link, .listing-card--gold .listing-card__link, .listing-card--silver .listing-card__link { grid-template-columns: minmax(0,2fr) minmax(0,3fr); gap: 10px; min-height: 146px; border: 0; border-radius: 0; padding: 18px 0; background: transparent; box-shadow: none; animation: none; }
	.listing-card .listing-card__media { border: 0 !important; outline: 0 !important; border-radius: 12px; background: transparent; box-shadow: none !important; }
	.listing-card .listing-card__media img { border: 0 !important; outline: 0 !important; border-radius: 12px; background: transparent; box-shadow: none !important; }
	.site-header { border-top: 0; border-bottom: 1px solid #e7e8eb; background: #f7f7f8; box-shadow: none; }
	.header-shell { display: grid; grid-template-columns: 48px minmax(90px,1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 8px 10px; width: 100%; min-height: 0; padding: 8px 12px; }
	.header-mobile-toggle, .header-navigation { display: none !important; }
	.site-brand { grid-column: 1; grid-row: 1; display: grid !important; width: 48px; height: 46px; min-width: 0; border-radius: 8px; place-items: center; overflow: visible; }
	.site-brand::after { display: none; }
	.site-brand img { width: auto; max-width: 44px; height: 40px; transform: none; object-fit: contain; }
	.header-discovery { display: contents; }
	.header-category, .mobile-filter-strip, .mobile-owner-tabs { display: none !important; }
	.header-search { position: relative; grid-column: 1 / -1; grid-row: 2; display: block; width: 100%; min-width: 0; height: 48px; margin: 0; overflow: hidden; border: 1px solid #dfe2e7; border-radius: 10px; color: #9699a1; background: #fff; }
	.header-search input { display: block; width: 100%; min-width: 0; padding: 0 16px 0 52px; color: #4d525d; background: transparent; font-size: 15px; text-align: right; }
	.header-search input::placeholder { color: #9a9ca3; opacity: 1; }
	.header-search svg { position: absolute; top: 50%; left: 14px; width: 27px; height: 27px; margin: 0; transform: translateY(-50%); stroke-width: 1.8; pointer-events: none; }
	.header-location { position: relative; grid-column: 2; grid-row: 1; display: block !important; width: 100%; min-width: 0; height: 44px; overflow: hidden; border: 1px solid #e1e3e7; border-radius: 22px; color: #777c86; background: #fff; }
	.header-location::before { display: none; }
	.header-location .location-opener { display: block; width: 100%; max-width: none; min-width: 0; height: 100%; padding: 0 12px 0 38px; overflow: hidden; color: #555b66; background: transparent; font-size: 13px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
	.header-location > svg { position: absolute; top: 50%; left: 10px; z-index: 1; width: 21px; height: 21px; margin: 0; transform: translateY(-50%); stroke-width: 1.8; pointer-events: none; }
	.header-mobile-actions { grid-column: 3; grid-row: 1; display: flex; align-items: center; gap: 6px; }
	.header-mobile-actions a { display: inline-flex; align-items: center; justify-content: center; height: 42px; text-decoration: none; }
	.header-mobile-account { width: 42px; border: 1px solid #e1e3e7; border-radius: 50%; color: var(--chapshoo-brand); background: #fff; }
	.header-mobile-account svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
	.header-mobile-submit { min-width: 76px; border-radius: 9px; padding: 0 12px; color: #fff; background: var(--chapshoo-brand); font-size: 12px; font-weight: 700; white-space: nowrap; }
	.site-header--home .header-shell { grid-template-columns: 1fr; grid-template-rows: 48px; padding-block: 6px; }
	.site-header--home .site-brand { grid-column: 1; grid-row: 1; justify-self: center; width: min(174px,55vw); height: 46px; background: url('assets/images/chapshoo-wordmark.png') center / contain no-repeat; }
	.site-header--home .site-brand img { display: none; }
	.site-header--home .header-discovery, .site-header--home .header-mobile-actions { display: none; }
	.header-navigation.is-open { flex-direction: column; align-items: stretch; gap: 4px; }
	.header-navigation a { min-height: 44px; }
	.header-navigation .submit-listing-button { justify-content: center; margin-top: 6px; }
	.location-picker { align-items: end; }
	.location-picker__panel { width: 100%; height: 88dvh; max-height: 680px; border-radius: 14px 14px 0 0; animation: chapshoo-mobile-sheet-up .22s ease-out both; }
	.single-chapshoo_listing .site-header, .single-chapshoo_listing .site-footer { display: none; }
	.single-chapshoo_listing .site-main { padding: 0 0 74px; overflow-x: hidden; }
	.single-chapshoo_listing .site-main.site-shell { width: 100%; }
	.single-listing { width: 100%; }
	.single-listing > .single-listing__breadcrumb { display: none; }
	.single-listing__layout { display: flex; flex-direction: column; gap: 0; }
	.single-listing__details.is-sticky-column, .single-listing__visuals.is-sticky-column { position: static; }
	.single-listing__details, .single-listing__visuals { width: 100%; min-width: 0; overflow-x: hidden; }
	.single-listing__visuals { order: -1; }
	.single-listing__gallery { width: 100%; }
	.single-listing__main-image { width: 100%; margin: 0; border-radius: 0; background: #e9eaec; touch-action: pan-y; }
	.single-listing__main-image { aspect-ratio: 1 / 1; }
	.single-listing__main-image > img, .single-listing__image-placeholder { border-radius: 0; }
	.single-listing__main-image > img { object-fit: cover; }
	.single-listing__thumbnails, .single-listing__gallery-prev, .single-listing__gallery-next { display: none; }
	.single-listing__mobile-gallery-actions { position: absolute; z-index: 5; top: 12px; right: 12px; left: 12px; display: flex; align-items: center; justify-content: space-between; direction: rtl; }
	.single-listing__mobile-gallery-actions > span { display: flex; gap: 8px; }
	.single-listing__mobile-gallery-actions button { display: grid; width: 38px; height: 38px; border: 0; border-radius: 50%; place-items: center; color: #2d333d; background: rgba(255,255,255,.72); box-shadow: 0 2px 9px rgba(24,29,39,.08); backdrop-filter: blur(7px); }
	.single-listing__mobile-gallery-actions button.is-active { color: var(--chapshoo-brand); }
	.single-listing__mobile-gallery-actions button.is-active svg { fill: currentColor; }
	.single-listing__mobile-gallery-actions svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
	.single-listing__inline-dots { position: absolute; z-index: 4; right: 50%; bottom: 12px; display: flex; max-width: 58%; gap: 5px; transform: translateX(50%); overflow: hidden; }
	.single-listing__inline-dots button { flex: 0 0 5px; width: 5px; height: 5px; border: 0; border-radius: 50%; padding: 0; background: rgba(255,255,255,.62); box-shadow: 0 1px 2px rgba(0,0,0,.2); }
	.single-listing__inline-dots button.is-active { background: #fff; transform: scale(1.35); }
	.single-listing__gallery-count { left: 12px; bottom: 10px; }
	.single-listing__plan { top: auto; right: 12px; bottom: 10px; display: inline-flex; margin: 0; }
	.single-listing__details { padding: 0 18px; }
	.single-listing__mobile-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 4px 7px; min-height: 55px; margin: 0 -18px; border-bottom: 1px solid #eceef1; padding: 10px 18px; color: #6f7682; font-size: 11px; line-height: 1.8; }
	.single-listing__mobile-breadcrumb a { min-width: 0; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
	.single-listing__mobile-breadcrumb i { color: #a1a6af; font-size: 21px; font-style: normal; }
	.single-listing__heading { border-bottom: 0; padding: 22px 0 17px; }
	.single-listing__heading h1 { max-width: 100%; color: #20242c; font-size: 19px; font-weight: 700; line-height: 1.8; }
	.single-listing__heading p { margin-top: 14px; color: #676e79; font-size: 12px; }
	.single-listing-lightbox__stage { width: 100vw; height: 100dvh; padding: 0; }
	.single-listing-lightbox__stage > img { height: 100dvh; max-width: 100%; max-height: 100dvh; }
	.single-listing-lightbox__close { top: 14px; left: 14px; }
	.single-listing-lightbox__prev { right: 8px; }
	.single-listing-lightbox__next { left: 8px; }
	.single-listing__note, .single-listing__visuals > .single-listing__map, .single-listing__visuals > .single-listing__address, .single-listing__report { display: none; }
	.single-listing__facts { border-top: 1px solid #e5e7ea; }
	.single-listing__facts > div { min-width: 0; min-height: 57px; }
	.single-listing__facts dt, .single-listing__facts dd { font-size: 12px; }
	.single-listing__facts dt, .single-listing__facts dd, .single-listing__content, .single-listing__address { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
	.single-listing__facts dd { max-width: min(58vw,240px); }
	.single-listing__description { padding: 27px 0 8px; }
	.single-listing__description h2 { margin-bottom: 18px; font-size: 17px; }
	.single-listing__content { color: #343943; font-size: 13px; line-height: 2.35; }
	.single-listing__mobile-location { display: block; width: 100%; max-width: 100%; margin: 28px 0 0; overflow: hidden; border-top: 1px solid #e3e5e8; padding-top: 22px; }
	.single-listing__mobile-location h2 { margin: 0 0 14px; color: #232833; font-size: 16px; }
	.single-listing__mobile-location .single-listing__map { display: grid; width: 100%; height: 215px; margin-top: 0; border-radius: 8px; }
	.single-listing__mobile-location .single-listing__map-pin::before { width: 92px !important; min-width: 92px !important; max-width: none !important; height: 92px !important; min-height: 92px !important; }
	.single-listing__mobile-location .single-listing__address { display: flex; margin: 14px 0 0; }
	.single-listing__mobile-company { display: block; margin: 24px -18px 0; border-top: 7px solid #f2f3f5; border-bottom: 7px solid #f2f3f5; padding: 0 18px; }
	.single-listing__mobile-company-head { display: flex; gap: 12px; align-items: center; min-height: 100px; color: #252a34; text-decoration: none; }
	.single-listing__mobile-company-head img { flex: 0 0 56px; width: 56px; height: 56px; border: 0; border-radius: 12px; object-fit: cover; box-shadow: none; }
	.single-listing__mobile-company-head span { display: grid; gap: 8px; min-width: 0; }
	.single-listing__mobile-company-head strong { overflow: hidden; font-size: 15px; line-height: 1.8; text-overflow: ellipsis; }
	.single-listing__mobile-company-head small { color: #7a808a; font-size: 11px; }
	.single-listing__mobile-company-all { display: flex; align-items: center; min-height: 57px; border-top: 1px solid #e6e8eb; color: #303640; text-decoration: none; font-size: 12px; }
	.single-listing__mobile-company-all span { flex: 1; }
	.single-listing__mobile-company-all i { color: #8c929d; font-size: 24px; font-style: normal; }
	.single-listing__mobile-comments-preview { display: block; margin: 0 -18px; border-bottom: 7px solid #f2f3f5; padding: 0 18px; }
	.single-listing__mobile-comments-head { display: flex; align-items: center; min-height: 78px; color: #252b35; text-decoration: none; }
	.single-listing__mobile-comments-head span { display: grid; gap: 6px; }
	.single-listing__mobile-comments-head strong { font-size: 16px; }
	.single-listing__mobile-comments-head small { color: #858b95; font-size: 11px; }
	.single-listing__mobile-comments-head i, .single-listing__mobile-comment-write i { margin-right: auto; color: #8e949d; font-size: 25px; font-style: normal; }
	.single-listing__mobile-comments-preview > p { margin: 0 0 20px; color: #7b818b; font-size: 11px; line-height: 2; }
	.single-listing__mobile-comment-sample { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 16px; border: 1px solid #e4e6e9; border-radius: 9px; padding: 13px; color: #3b424d; text-decoration: none; }
	.single-listing__mobile-comment-sample img { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; }
	.single-listing__mobile-comment-sample span { display: grid; gap: 6px; min-width: 0; }
	.single-listing__mobile-comment-sample strong { font-size: 11px; }
	.single-listing__mobile-comment-sample small { display: -webkit-box; overflow: hidden; color: #686f7a; font-size: 11px; line-height: 1.9; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	.single-listing__mobile-comment-write { display: flex; gap: 10px; align-items: center; min-height: 62px; border-top: 1px solid #e5e7ea; color: #343b46; text-decoration: none; font-size: 12px; font-weight: 700; }
	.single-listing__mobile-comment-write svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-linejoin: round; stroke-width: 1.7; }
	.single-listing__mobile-comment-write span { flex: 1; }
	.single-listing__mobile-report { display: flex; align-items: center; gap: 10px; min-height: 61px; margin: 0 -18px; border-bottom: 7px solid #f2f3f5; padding: 0 18px; color: #525966; text-decoration: none; font-size: 12px; }
	.single-listing__mobile-report svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
	.single-listing__mobile-report span { flex: 1; }
	.single-listing__mobile-report i { color: #9399a4; font-size: 24px; font-style: normal; }
	.single-listing__actions { position: fixed; z-index: 900; right: 0; bottom: 0; left: 0; display: flex; gap: 10px; min-height: 64px; border-top: 1px solid #e4e6e9; border-bottom: 0; padding: 8px 16px; background: rgba(255,255,255,.97); box-shadow: 0 -5px 20px rgba(29,37,55,.08); backdrop-filter: blur(9px); }
	.single-listing__actions .single-listing__icon-button, .single-listing__action-message { display: none; }
	.single-listing__contact, .single-listing__comment-action { display: grid; flex: 1; min-height: 46px; border-radius: 6px; place-items: center; padding-inline: 10px; font-size: 12px; font-weight: 700; text-decoration: none; }
	.single-listing__contact { border-color: var(--chapshoo-brand); }
	.single-listing__comment-action { border: 1px solid var(--chapshoo-brand); color: var(--chapshoo-brand); background: #fff; }
	.single-listing__contact-panel { position: fixed; z-index: 901; right: 12px; bottom: 70px; left: 12px; border: 1px solid #e0e3e7; border-radius: 10px; padding: 9px; background: #fff; box-shadow: 0 12px 35px rgba(29,37,55,.18); }
	.single-listing__comments { width: 100%; margin-top: 0; padding: 26px 18px 90px; }
	.single-listing__comments { position: fixed; z-index: 1200; inset: 0; display: none; height: 100dvh; overflow: hidden; border: 0; padding: 0; background: #fff; }
	.single-listing__comments:target, .single-listing__comments.is-open { display: block; }
	.chapshoo-comments { display: flex; height: 100dvh; flex-direction: column; }
	.chapshoo-comments__header { flex: 0 0 62px; min-height: 62px; box-shadow: 0 2px 7px rgba(29,37,55,.06); }
	.chapshoo-comments__header strong { font-size: 17px; text-align: center; }
	.chapshoo-comments__view { flex: 1 1 auto; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
	.chapshoo-comments__items { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 26px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.chapshoo-comments__reviews .chapshoo-comments__items { width: 100%; max-width: 100%; padding-inline: 18px; box-sizing: border-box; direction: rtl; }
	.chapshoo-comments__items::-webkit-scrollbar { display: none; }
	.chapshoo-comment { flex: 0 0 min(82vw,340px); max-width: calc(100vw - 48px); box-sizing: border-box; scroll-snap-align: start; overflow-wrap: anywhere; }
	.chapshoo-comments__write { position: sticky; bottom: 0; margin-bottom: 0; background: rgba(255,255,255,.97); box-shadow: 0 -5px 16px rgba(29,37,55,.06); }
	.chapshoo-comments__form .comment-respond { padding-bottom: 110px; }
	.chapshoo-comments__form textarea { min-height: 220px; }
	.chapshoo-comments__form .form-submit { position: sticky; bottom: -1px; z-index: 2; margin: 24px -18px -110px; padding: 16px 18px 20px; background: rgba(255,255,255,.98); box-shadow: 0 -5px 17px rgba(29,37,55,.06); }
	.chapshoo-comments__success { height: calc(100dvh - 62px); min-height: 0; }
}

.single-listing__qa { margin-top: 28px; border-top: 1px solid #e2e5e9; padding-top: 26px; }
.single-listing__qa > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.single-listing__qa > header h2 { margin: 0 0 5px; color: #1d2537; font-size: 17px; }
.single-listing__qa > header p { margin: 0; color: #7c838e; font-size: 11px; }
.single-listing__qa > header svg { width: 29px; height: 29px; fill: none; stroke: #1d2537; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.single-listing__qa-notice { margin-bottom: 16px; border-radius: 6px; padding: 12px 14px; color: #315e45; background: #eef8f2; font-size: 12px; }
.single-listing__qa-list { display: grid; gap: 12px; }
.single-listing__question { border: 1px solid #e2e5e9; border-radius: 8px; padding: 16px; background: #fff; }
.single-listing__question-head { display: flex; gap: 9px; align-items: center; }
.single-listing__question-head img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.single-listing__question-head span { display: grid; }
.single-listing__question-head strong { color: #303744; font-size: 12px; }
.single-listing__question-head small { color: #9298a2; font-size: 10px; }
.single-listing__question-text { margin-top: 12px; color: #414854; font-size: 13px; line-height: 2; }
.single-listing__question-text p { margin: 0; }
.single-listing__answers { margin-top: 14px; border-right: 2px solid #1d2537; padding-right: 14px; }
.single-listing__answers > div { display: grid; gap: 5px; padding-block: 7px; }
.single-listing__answers b { color: #1d2537; font-size: 11px; }
.single-listing__answers span { color: #59606b; font-size: 12px; line-height: 2; }
.single-listing__answers p { margin: 0; }
.single-listing__qa-empty { border-radius: 7px; padding: 18px; color: #717884; background: #f7f8fa; font-size: 12px; text-align: center; }
.single-listing__question-form { display: grid; gap: 12px; margin-top: 18px; border-radius: 8px; padding: 17px; background: #f7f8fa; }
.single-listing__question-form h3 { margin: 0 0 3px; color: #1d2537; font-size: 14px; }
.single-listing__question-form label { display: grid; gap: 6px; color: #4f5662; font-size: 11px; }
.single-listing__question-form textarea,.single-listing__question-form input { width: 100%; border: 1px solid #d4d8de; border-radius: 6px; padding: 10px 12px; color: #1d2537; background: #fff; font: inherit; }
.single-listing__question-form textarea { resize: vertical; line-height: 2; }
.single-listing__question-form textarea:focus,.single-listing__question-form input:focus { border-color: #1d2537; outline: 2px solid rgba(29,37,55,.08); }
.single-listing__question-identity { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.single-listing__question-form button { justify-self: start; min-width: 110px; border: 1px solid #1d2537; border-radius: 6px; padding: 10px 18px; color: #fff; background: #1d2537; font: inherit; font-weight: 700; cursor: pointer; }

.single-company { width: min(1120px,calc(100% - 36px)); margin: 32px auto 70px; direction: rtl; }
.single-company__breadcrumb { display: flex; gap: 8px; margin-bottom: 18px; color: #878d97; font-size: 11px; }
.single-company__breadcrumb a { color: inherit; text-decoration: none; }
.single-company__breadcrumb i { font-style: normal; }
.single-company__breadcrumb .rank-math-breadcrumb, .single-company__breadcrumb .rank-math-breadcrumb p { display: contents; }
.single-company__card { border: 1px solid #e2e5e9; border-radius: 10px; padding: 28px; background: #fff; }
.single-company__card > header { display: flex; gap: 18px; align-items: center; border-bottom: 1px solid #e6e8ec; padding-bottom: 22px; }
.single-company__logo { width: 96px; height: 96px; flex: 0 0 96px; overflow: hidden; border-radius: 8px; }
.single-company__logo img { width: 100%; height: 100%; object-fit: cover; }
.single-company__card h1 { margin: 0 0 8px; color: #1d2537; font-size: 25px; }
.single-company__card header p { margin: 0; color: #777e89; font-size: 13px; }
.single-company__categories { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0; }
.single-company__categories a { border: 1px solid #1d2537; border-radius: 999px; padding: 5px 11px; color: #1d2537; text-decoration: none; font-size: 11px; }
.single-company__content { color: #363d48; font-size: 14px; line-height: 2.2; }
.single-company__report { display: inline-flex; gap: 7px; align-items: center; margin-top: 26px; color: #626976; text-decoration: none; font-size: 12px; }
.single-company__report svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }

@media (max-width:680px) {
	.single-listing__qa { margin: 0 -18px; border-top: 7px solid #f2f3f5; padding: 24px 18px; }
	.single-listing__question { padding: 14px; }
	.single-listing__question-identity { grid-template-columns: 1fr; }
	.single-listing__question-form button { width: 100%; justify-self: stretch; }
	.single-company { width: 100%; margin: 0 0 70px; }
	.single-company__breadcrumb { padding: 12px 16px 0; overflow: hidden; white-space: nowrap; }
	.single-company__card { border: 0; border-radius: 0; padding: 20px 16px; }
	.single-company__card > header { align-items: flex-start; }
	.single-company__logo { width: 74px; height: 74px; flex-basis: 74px; }
	.single-company__card h1 { font-size: 19px; }
}

/* Digikala-inspired review overview and two-step review dialog. */
@media (min-width:681px) {
	.single-listing__comments { width: min(1120px,100%); }
	.chapshoo-comments > .chapshoo-comments__header { display: none; }
	.chapshoo-comments__desktop-title { margin: 0 0 28px; border-bottom: 1px solid #e5e7ea; padding: 0 0 16px; color: #1d2537; font-size: 18px; }
	.chapshoo-comments__desktop-title::after { display: block; width: 64px; height: 2px; margin-top: 14px; background: #1d2537; content: ''; }
	.chapshoo-comments__layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 38px; align-items: start; direction: rtl; }
	.chapshoo-comments__rating-summary { position: sticky; top: 105px; grid-column: 1; }
	.chapshoo-comments__reviews { grid-column: 2; grid-row: 1; }
}
.chapshoo-comments__rating-summary { color: #555c67; }
.chapshoo-comments__average { display: flex; gap: 7px; align-items: baseline; }
.chapshoo-comments__average strong { color: #1d2537; font-size: 31px; }
.chapshoo-comments__average span { color: #777e89; font-size: 11px; }
.chapshoo-stars,.chapshoo-comment__rating,[data-review-selected-stars] { display: flex; gap: 2px; direction: ltr; }
.chapshoo-stars i,.chapshoo-comment__rating i,[data-review-selected-stars] i { color: #dfe2e6; font-size: 19px; font-style: normal; }
.chapshoo-stars i.is-active,.chapshoo-comment__rating i.is-active,[data-review-selected-stars] i.is-active { color: #f5a000; }
.chapshoo-comments__rating-summary > p { margin: 8px 0 16px; color: #8b919b; font-size: 10px; line-height: 1.9; }
.chapshoo-comments__breakdown { display: grid; gap: 7px; margin: 18px 0; }
.chapshoo-comments__breakdown > div { display: grid; grid-template-columns: 31px 1fr 22px; gap: 7px; align-items: center; color: #777e89; font-size: 9px; }
.chapshoo-comments__breakdown > div > i { display: block; height: 4px; overflow: hidden; border-radius: 4px; background: #e8eaed; }
.chapshoo-comments__breakdown > div > i b { display: block; height: 100%; border-radius: inherit; background: #f5a000; }
.chapshoo-comments__summary-write { width: 100%; min-height: 46px; border: 1px solid #1d2537; border-radius: 7px; color: #1d2537; background: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.chapshoo-comments__reviews-head { display: flex; gap: 18px; align-items: center; min-height: 45px; border-bottom: 1px solid #e3e5e8; }
.chapshoo-comments__reviews-head strong { color: #1d2537; font-size: 13px; }
.chapshoo-comments__reviews-head span { color: #7b828d; font-size: 11px; }
.chapshoo-comments__reviews .chapshoo-comments__items { display: block; padding: 0; }
.chapshoo-comments__reviews .chapshoo-comment { border: 0; border-bottom: 1px solid #e3e5e8; border-radius: 0; padding: 22px 0; }
.chapshoo-comments__reviews .chapshoo-comment header img { width: 34px; height: 34px; }
.chapshoo-comment__rating { margin: 9px 44px 0 0; }
.chapshoo-comment__rating i { font-size: 17px; }
.chapshoo-comments__reviews .chapshoo-comment__content { margin: 12px 44px 0 0; color: #272e39; font-size: 13px; line-height: 2.2; }

.chapshoo-comments__form:not([hidden]) { position: fixed; z-index: 1700; inset: 0; display: grid; padding: 24px; place-items: center; }
.chapshoo-comments__dialog-backdrop { position: absolute; inset: 0; background: rgba(20,25,35,.42); }
.chapshoo-comments__dialog { position: relative; z-index: 1; width: min(520px,100%); max-height: calc(100dvh - 48px); overflow-x: hidden; overflow-y: auto; border: 1px solid #e0e3e7; border-radius: 10px; background: #fff; box-shadow: 0 20px 60px rgba(29,37,55,.18); overscroll-behavior: contain; }
.chapshoo-comments__dialog-header { position: sticky; z-index: 3; top: 0; display: flex; min-height: 58px; align-items: center; gap: 8px; border-bottom: 1px solid #e4e6ea; padding: 0 14px; background: rgba(255,255,255,.98); }
.chapshoo-comments__dialog-header strong { flex: 1; color: #1d2537; font-size: 15px; text-align: center; }
.chapshoo-comments__identity button { border: 0; border-radius: 24px; padding: 9px 14px; background: #f5f6f7; color: #1d2537; font: inherit; cursor: pointer; }
.review-identity-dialog { width: min(440px,calc(100% - 32px)); max-height: 85dvh; padding: 20px; border: 1px solid #e1e4e8; border-radius: 10px; color: #1d2537; background: #fff; direction: rtl; }
.review-identity-dialog::backdrop { background: rgba(29,37,55,.4); }
.review-identity-dialog header { display:flex; justify-content:space-between; align-items:center; padding-bottom:16px; border-bottom:1px solid #e5e7eb; }
.review-identity-dialog header button { border:0; background:none; font-size:26px; color:#606875; cursor:pointer; }
.review-identity-dialog > label { display:flex; align-items:flex-start; gap:12px; padding:24px 0 8px; cursor:pointer; }
.review-identity-dialog input { accent-color:#1d2537; width:19px; height:19px; flex-shrink:0; }
.review-identity-dialog label span { display:grid; gap:8px; }
.review-identity-dialog small { color:#7d8592; font-size:11px; line-height:1.9; }
.chapshoo-comments__dialog-header button { display: grid; width: 34px; height: 34px; border: 0; place-items: center; color: #505763; background: transparent; font: 27px/1 Arial,sans-serif; cursor: pointer; }
.chapshoo-comments__dialog .chapshoo-comments__listing { margin: 0; padding-inline: 20px; }
.chapshoo-comments__listing > div { display: grid; gap: 4px; }
.chapshoo-comments__listing > div small { color: #898f99; font-size: 10px; }
.chapshoo-review-step { padding: 30px 20px 20px; }
.chapshoo-review-step[hidden] { display: none !important; }
.chapshoo-review-step > h2 { margin: 0 0 25px; color: #111827; font-size: 18px; text-align: center; }
.chapshoo-review-rating { display: flex; justify-content: center; gap: 24px; direction: ltr; }
.chapshoo-review-rating label { display: grid; gap: 6px; place-items: center; cursor: pointer; }
.chapshoo-review-rating input { position: absolute; opacity: 0; pointer-events: none; }
.chapshoo-review-rating i { color: #b6bbc3; font-size: 34px; font-style: normal; line-height: 1; transition: color .15s,transform .15s; }
.chapshoo-review-rating label:hover i,.chapshoo-review-rating label.is-selected i { color: #f5a000; transform: scale(1.06); }
.chapshoo-review-rating small { color: #1d2537; font-size: 11px; }
.chapshoo-review-step > button[data-review-next] { width: 100%; min-height: 50px; margin-top: 42px; border: 0; border-radius: 7px; color: #fff; background: #1d2537; font: inherit; font-weight: 700; cursor: pointer; }
.chapshoo-review-step > button[data-review-next]:disabled { background: #d8dade; cursor: not-allowed; }
.chapshoo-review-selected { display: flex; align-items: center; justify-content: space-between; margin-bottom: 23px; border-bottom: 1px solid #e5e7ea; padding-bottom: 17px; color: #303743; font-size: 12px; font-weight: 700; }
.chapshoo-review-text { display: grid; gap: 10px; color: #222936; font-size: 13px; font-weight: 700; }
.chapshoo-review-text b { color: #b42318; }
.chapshoo-review-text textarea { display: block; width: 100%; min-height: 150px; resize: vertical; border: 1px solid #cfd3d9; border-radius: 8px; outline: 0; padding: 14px; color: #303641; background: #fff; font: inherit; font-weight: 400; line-height: 2; }
.chapshoo-review-text textarea:focus { border-color: #1d2537; box-shadow: 0 0 0 2px rgba(29,37,55,.08); }
.chapshoo-review-identity { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 13px; }
.chapshoo-review-identity label { display: grid; gap: 5px; color: #666d78; font-size: 10px; }
.chapshoo-review-identity input { width: 100%; height: 42px; border: 1px solid #d7dae0; border-radius: 6px; padding: 0 10px; font: inherit; }
.chapshoo-review-step .chapshoo-comments__identity { margin-top: 0; }
.chapshoo-review-step .chapshoo-comments__submit { margin-top: 22px; }
.chapshoo-comments__login { padding: 35px 20px; text-align: center; }
.chapshoo-comments__login a { display: inline-block; margin-top: 14px; border-radius: 7px; padding: 12px 18px; color: #fff; background: #1d2537; text-decoration: none; }

@media (max-width:680px) {
	.chapshoo-comments__desktop-title { display: none; }
	.chapshoo-comments__layout { display: block; }
	.chapshoo-comments__rating-summary { border-bottom: 7px solid #f2f3f5; padding: 22px 18px; }
	.chapshoo-comments__breakdown { display: none; }
	.chapshoo-comments__summary-write { margin-top: 4px; }
	.chapshoo-comments__reviews-head { padding-inline: 18px; }
	.chapshoo-comments__reviews .chapshoo-comments__items { display: flex; padding: 18px; }
	.chapshoo-comments__reviews .chapshoo-comment { flex: 0 0 84%; border: 1px solid #e2e5e9; border-radius: 9px; padding: 15px; }
	.chapshoo-comment__rating,.chapshoo-comments__reviews .chapshoo-comment__content { margin-right: 0; }
	.chapshoo-comments__form:not([hidden]) { padding: 0; }
	.chapshoo-comments__dialog { width: 100%; height: 100dvh; max-height: none; border: 0; border-radius: 0; box-shadow: none; }
	.chapshoo-comments__dialog .chapshoo-comments__listing { padding-top: 62px; }
	.chapshoo-review-step { padding: 28px 18px 100px; }
	.chapshoo-review-rating { gap: 16px; }
	.chapshoo-review-rating i { font-size: 31px; }
.chapshoo-review-identity { grid-template-columns: 1fr; }
}

.chapshoo-account__bookmarks { display: grid; gap: 12px; }
.chapshoo-account__bookmark { display: grid; gap: 10px; border: 1px solid #e2e5e9; border-radius: 9px; padding: 12px; }
.chapshoo-account__bookmark > a { display: flex; align-items: center; gap: 14px; min-width: 0; color: inherit; text-decoration: none; }
.chapshoo-account__bookmark img { width: 88px; height: 88px; flex: 0 0 auto; border-radius: 7px; object-fit: cover; }
.chapshoo-account__bookmark span { display: grid; gap: 10px; min-width: 0; }
.chapshoo-account__bookmark strong { overflow: hidden; color: #202635; text-overflow: ellipsis; white-space: nowrap; }
.chapshoo-account__bookmark small { color: #777f8e; }
.chapshoo-account__bookmark button { border: 1px solid #a8afb9; border-radius: 5px; padding: 9px; color: #273244; background: #fff; font: inherit; cursor: pointer; }
.chapshoo-account__bookmark button:hover { color: var(--chapshoo-brand); border-color: var(--chapshoo-brand); }

.chapshoo-route-picker { width: min(440px,calc(100% - 32px)); max-height: min(620px,calc(100dvh - 32px)); border: 0; border-radius: 14px; padding: 0; color: #1d2537; background: #fff; direction: rtl; box-shadow: 0 22px 70px rgba(20,27,42,.22); }
.chapshoo-route-picker::backdrop { background: rgba(19,25,37,.46); }
.chapshoo-route-picker__handle { display: none; }
.chapshoo-route-picker header { display: flex; min-height: 60px; align-items: center; justify-content: space-between; border-bottom: 1px solid #e5e7eb; padding: 0 18px; }
.chapshoo-route-picker h2 { margin: 0; font-size: 16px; }
.chapshoo-route-picker header button { width: 36px; height: 36px; border: 0; background: transparent; color: #697180; font: 26px/1 Arial,sans-serif; cursor: pointer; }
.chapshoo-route-picker__options { display: grid; padding: 8px 18px 18px; }
.chapshoo-route-picker__options a { display: flex; min-height: 54px; align-items: center; justify-content: space-between; border-bottom: 1px solid #edf0f3; color: inherit; text-decoration: none; }
.chapshoo-route-picker__options a:last-child { border-bottom: 0; }
.chapshoo-route-picker__options i { color: #8b929d; font-size: 24px; font-style: normal; }

@media (max-width: 680px) {
	.chapshoo-route-picker { inset: auto 0 0; width: 100%; max-width: none; max-height: 84dvh; margin: 0; border-radius: 18px 18px 0 0; animation: chapshoo-route-sheet-up .2s ease-out both; }
	.chapshoo-route-picker__handle { display: block; width: 44px; height: 5px; margin: 9px auto 3px; border-radius: 9px; background: #c7cbd2; }
 .site-header > .mobile-filter-strip { display: flex !important; gap: 8px; overflow-x: auto; padding: 10px 12px; border-top: 1px solid #eee; }
 .site-header > .mobile-filter-strip button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid #d9dce1; border-radius: 7px; background: #fff; color: inherit; font: inherit; }
 .site-header > .mobile-owner-tabs { display: flex !important; border-bottom: 1px solid #e2e5e9; }
 .site-header > .mobile-owner-tabs a { flex: 1; text-align: center; padding: 12px 4px; }
 .site-header > .mobile-owner-tabs a.is-active { border-bottom: 2px solid currentColor; }
}

@keyframes chapshoo-route-sheet-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .chapshoo-route-picker { animation: none !important; } }


/* Unified single-listing sections: aligned fields, headings and controls. */
@media (min-width:681px) {
	.single-listing__comments,.single-listing__related { width:min(1120px,calc(100% - 32px)); margin:48px auto 0; }
	.single-listing__comments { border-top:0; padding-top:0; }
}
.single-listing__related { max-width:1120px; padding-bottom:24px; }
.chapshoo-questions>h2.chapshoo-section-heading,
.chapshoo-comments__desktop-title.chapshoo-section-heading,
.single-listing__related>.chapshoo-section-heading { position:relative; display:flex; align-items:center; justify-content:space-between; min-height:54px; margin:0 0 24px; border-bottom:1px solid #e3e5e8; padding:0 0 14px; color:#1d2537; font-size:18px; font-weight:800; line-height:1.7; }
.chapshoo-questions>h2.chapshoo-section-heading { grid-column:1/-1 !important; width:100%; max-width:none; }
.chapshoo-questions>h2.chapshoo-section-heading:after,
.chapshoo-comments__desktop-title.chapshoo-section-heading:after,
.single-listing__related>.chapshoo-section-heading:after { position:absolute; right:0; bottom:-1px; width:64px; height:2px; margin:0; background:#1d2537; content:""; }
.single-listing__related>.chapshoo-section-heading h2 { margin:0; color:#1d2537; font-size:18px; font-weight:800; line-height:1.7; }
.single-listing__related>.chapshoo-section-heading a { color:#4e5869; text-decoration:none; font-size:11px; font-weight:600; }
.chapshoo-comments__summary-write,.chapshoo-questions__intro button { min-height:46px; padding:0 18px; }
.chapshoo-question-dialog__identity input,.chapshoo-review-identity input { min-height:46px; border-radius:7px; }
.chapshoo-question-dialog textarea,.chapshoo-review-text textarea { width:100%; border-color:#cfd3d9; border-radius:8px; padding:14px; }
@media (max-width:680px) {
	.single-listing__related { width:100%; margin:0; border-top:7px solid #f2f3f5; padding:24px 16px 90px; }
	.single-listing__related>.chapshoo-section-heading { min-height:48px; margin-bottom:14px; }
	.single-listing__related>.chapshoo-section-heading h2 { font-size:17px; }
	.single-listing__related>.listing-grid { padding-inline:0; }
}

