﻿#map {
    height: 380px;
}

.place-title {
    margin-right: 20px;
}

.review-rate {
    vertical-align: middle;
    width: 32px;
    cursor: pointer;
}

.region-link {
    color: #b6ff00;
    text-decoration: double;
}

.contact-form {
    /* Overrides */
    padding: 2px !important;
}

i.red {
    color: red;
    cursor: pointer;
}

i.white {
    color: white;
    cursor: pointer;
}


    .reviews-comments-item-text{
        width:100%;
    }

    .list-single-header-item .verified-badge.place-logo-badge {
        display: inline-flex;
        float: right;
        width: 56px;
        height: 56px;
        margin: 0 12px;
        top: -10px;
        vertical-align: middle;
        box-sizing: border-box;
        border: 3px solid rgba(255, 255, 255, 0.9);
        border-radius: 50%;
        background: #fff;
        overflow: hidden;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
    }

    .place-logo-badge img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        border-radius: 50%;
    }

/* Place detail refinements, scoped to the existing template. */
.place-page { --place-ink: #24334c; --place-border: #e8edf4; }
.place-page .place-area-info {
    background: #172e45 url('../images/area-topography.svg') center / cover no-repeat;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}
.place-page .place-area-info .area-info li,
.place-page .place-area-info .area-info li span,
.place-page .place-area-info .area-info li i {
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}
.place-page .place-hero-image { width:100%; height:100%; object-fit:cover; }
.place-page .listing-hero-section .overlay { background:linear-gradient(180deg,rgba(15,27,46,.4),rgba(15,27,46,.86)); opacity:1; }
.place-page .list-single-header-item h1 { line-height:1.7; overflow-wrap:anywhere; }
.place-page .list-single-main-item,.place-page .box-widget-item.block_box { border:1px solid var(--place-border); border-radius:12px; box-shadow:0 5px 20px rgba(30,50,80,.045); }
.place-page .list-single-main-item-title { border-color:var(--place-border); }
.place-page .list-single-main-item_content { line-height:2; color:var(--place-ink); }
.place-page .place-description { overflow-wrap:anywhere;font-family:"iransansFa" }
    .place-page .place-description p {
        font-family: "iransansFa" !important;
    }
.place-page .place-description img,.place-page .place-description video { max-width:100%; height:auto; }
.place-page .place-description table { display:block; max-width:100%; overflow-x:auto; }
.place-page .place-main-image { aspect-ratio:16/9; object-fit:cover; border-radius:12px 12px 0 0; }
.place-page .single-carousel .box-item img { width:100%; height:auto; aspect-ratio:32/21; object-fit:cover; }
.place-page .restmenu-item-img img { object-fit:cover; }
.place-page .place-tag { display:inline-block; padding:7px 12px; margin:4px; border:1px solid var(--place-border); border-radius:6px; background:#f7f9fc; color:#40516a; font-size:12px; }
.place-page .place-empty { padding:22px; color:#64748b; text-align:center; line-height:1.9; }
.place-page .place-review-avatar { display:grid; place-items:center; width:50px; height:50px; border-radius:50%; background:#edf3fa; color:#64748b; font-size:22px; }
.place-page .author_avatar .place-review-avatar { width:36px; height:36px; font-size:18px; }
.place-page .author_avatar img, .place-page .box-widget-author-title-img img { object-fit:cover; }
.place-page #map { width:100%; height:320px; background:#edf2f7; display:flex; align-items:center; justify-content:center; }
.place-page #map.leaflet-container { display:block; }
.place-page .place-load-map { border:0; cursor:pointer; margin:0; }
.place-page .place-address { float:none; display:inline; overflow-wrap:anywhere; }
.place-page .opening-hours-time { direction:ltr; unicode-bidi:isolate; }
.place-page a:focus-visible,.place-page button:focus-visible { outline:3px solid #f3b33d; outline-offset:4px; }
.place-page [id^="sec"],.place-page #place-contact { scroll-margin-top:140px; }
@media(max-width:767px) {
    .place-page .list-single-header-item h1 { font-size:25px; }
    .place-page .list-single-main-item_content { padding:20px; }
    .place-page .scroll-nav { overflow-x:auto; }
    .place-page .scroll-nav ul { display:flex; width:max-content; }
    .place-page .scroll-nav li { flex-shrink:0; }
    .place-page .geodir-category-location a { line-height:2; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
    .place-page *, .place-page *::before, .place-page *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
.place-page .list-single-main-item-title h2 { font-size:18px; font-weight:600; color:#334e6f; text-align:right; }
.place-page .box-widget-item-header h2 { font-size:16px; font-weight:600; color:#334e6f; text-align:right; }
/* Independent detail sections with native RTL carousels. */
.place-page .place-detail-section { clear:both; padding:0; margin:0 0 28px; background:#fff; overflow:hidden; }

.place-page .place-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:0; }
.place-page .place-detail-heading-title { display:flex; align-items:center; gap:12px; }
.place-page .place-detail-heading h2 { float:none; font-size:20px; line-height:1.8; font-weight:700; color:#24334c; margin:0; overflow-wrap:anywhere; }
.place-page .place-detail-section-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; color:#337b87; background:#edf7f7; font-size:21px; }
.place-page .place-detail-count { font-size:11px; color:#75849a; }
.place-page .place-carousel-controls { display:flex; gap:8px; flex-shrink:0; }
.place-page .place-carousel-controls[hidden] { display:none; }
.place-page .place-carousel-controls button { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; border:1px solid #dce5ef; background:#fff; color:#334e6f; cursor:pointer; transition:background .2s; }
.place-page .place-carousel-controls button:hover:not(:disabled) { background:#edf7f7; border-color:#337b87; }
.place-page .place-carousel-controls button:disabled { opacity:.3; cursor:default; }
.place-page .place-detail-track { box-sizing:border-box; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 36px)/3); gap:18px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:2px; padding:2px 2px 14px; scrollbar-width:thin; scrollbar-color:#bccbd8 #f2f5f8; align-items:stretch; }
.place-page .place-detail-track:focus-visible { outline:3px solid #f3b33d; outline-offset:4px; border-radius:12px; }
.place-page .place-detail-card.team-box { display:flex; flex-direction:column; float:none; width:auto; min-width:0; padding:10px 4px; box-sizing:border-box; background:#fff; text-align:right; scroll-snap-align:start; }
.place-page .place-detail-media.team-photo { display:flex; align-items:center; justify-content:center; height:180px; padding:8px; box-sizing:border-box; background:#f5f8fb; border-radius:6px; margin-bottom:10px; }
.place-page .place-detail-placeholder { font-size:40px; color:#a0b4c5; }
.place-page .place-detail-media img { display:block; width:auto; max-width:100%; height:auto; max-height:100%; object-fit:contain; }
.place-page .place-detail-body.team-info { float:none; width:100%; padding:0; flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.place-page .place-detail-track.is-scrollable { cursor:grab; }
.place-page .place-detail-track.is-dragging { cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; user-select:none; }
.place-page .place-detail-track.is-scrollable img { -webkit-user-drag:none; }
.place-page .place-detail-inline-image { display:block; max-width:100%; max-height:280px; margin:0 auto 16px; object-fit:contain; }
.place-page #customers .testimonilas-text { padding:70px 20px 24px; }
.place-page #customers .testimonilas-avatar { margin-bottom:16px; }
.place-page #portfolio .geodir-category-content h4 { float:none; text-align:right; margin-bottom:12px; }
.place-page #certificates .single-carousel-wrap { height:auto; }
.place-page #certificates .swiper-slide { width:280px !important; max-width:100%; height:auto !important; }
.place-page #certificates .swiper-slide img { width:100% !important; height:240px !important; object-fit:contain; }
.place-page #certificates h4 { margin:16px 0 8px; }
.place-page #details p, .place-page #services p, .place-page #portfolio p, .place-page #certificates p { white-space:pre-line; overflow-wrap:anywhere; }
.place-page .place-detail-label { display:inline-flex; gap:8px; align-items:center; color:#617690; font-size:11px; }
.place-page .place-detail-body h4.place-detail-title { float:none; font-size:16px; font-weight:700; line-height:1.9; margin:0; padding-bottom:10px; text-align:right; color:#666; overflow-wrap:anywhere; }
.place-page .place-detail-body p { padding:0; margin:0 0 16px; white-space:pre-line; overflow-wrap:anywhere; line-height:2; }
.place-page .place-detail-link { display:inline-flex; gap:10px; align-items:center; margin-top:auto; color:#28698a; font-size:12px; }
@media(min-width:576px) and (max-width:1199px) {
    .place-page .place-detail-track { grid-auto-columns:calc((100% - 18px)/2); }
}
@media(max-width:575px) {
    .place-page .place-detail-track { grid-auto-columns:86%; gap:12px; }
    .place-page .place-detail-heading h2 { font-size:18px; }
}

#main.place-progressive-main { opacity:1; }

/* Keep each information type in its own readable section. */
.place-page .place-detail-section { scroll-margin-top:140px; }
.place-page .place-details-list { display:grid; gap:20px; }
.place-page .place-info-item { display:flex; align-items:flex-start; gap:20px; text-align:right; }
.place-page .place-info-item + .place-info-item { padding-top:20px; border-top:1px solid var(--place-border); }
.place-page .place-info-image { flex:0 0 112px; background:#f5f8fb; border-radius:10px; overflow:hidden; }
.place-page .place-info-image img { display:block; width:100%; height:112px; object-fit:contain; }
.place-page .place-info-body { flex:1; min-width:0; }
.place-page .place-info-body h4 { font-size:16px; line-height:1.9; color:var(--place-ink); margin-bottom:10px; overflow-wrap:anywhere; }
.place-page .place-info-body p { margin-bottom:12px; }
.place-page #services .accordion { margin-top:0; }
.place-page #services .accordion .toggle { border-radius:8px; line-height:1.9; padding-left:48px; }
.place-page #customers .testi-avatar { border-radius:50%; overflow:hidden; box-shadow:0 9px 26px rgba(58,87,135,.1); }
.place-page #customers .testi-avatar img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; border:0; padding:0; margin:0; }
.place-page .place-service-item { direction:rtl; }
.place-page #customers p { white-space:pre-line; overflow-wrap:anywhere; }
.place-page #portfolio .geodir-category-img img { height:240px; object-fit:contain; background:#f5f8fb; }
@media(max-width:575px) {
    .place-page .place-info-item { flex-direction:column; gap:12px; }
    .place-page .place-info-image { flex-basis:auto; width:100%; }
    .place-page .place-info-image img { height:180px; }
    .place-page .place-service-item { flex-direction:row; }
    .place-page .place-service-item .place-info-image { flex:0 0 80px; width:80px; }
    .place-page .place-service-item .place-info-image img { height:80px; }
}
.place-page .place-city-rank { min-height: 245px; padding: 24px 20px; text-align: center; background: linear-gradient(180deg, #f5fbfa, #fff); }
.place-city-rank .place-rank-gauge { position: relative; width: min(100%, 270px); margin: 0 auto; }
.place-rank-gauge svg { display: block; width: 100%; overflow: visible; }
.place-rank-track, .place-rank-fill { fill: none; stroke-width: 15; stroke-linecap: round; }
.place-rank-track { stroke: #e6efef; }
.place-rank-fill { stroke: url(#place-rank-gradient); stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 1s ease; }
.place-city-rank .place-rank-value { position: absolute; inset: 40% 0 auto; display: grid; gap: 6px; color: #647879; }
.place-city-rank .place-rank-value span { font-size: 12px; }
.place-city-rank .place-rank-value strong { font-size: 42px; line-height: 1.3; color: #137c70; font-variant-numeric: tabular-nums; }
.place-page .place-rank-status { margin: 4px 0 10px; color: #254b49; font-size: 14px; line-height: 1.9; text-align: center; }
.place-page .place-rank-caption { margin: 0; font-size: 11px; line-height: 1.9; color: #788b8a; text-align: center; }
.place-city-rank .place-rank-retry { border: 1px solid #b9dcd5; border-radius: 6px; padding: 8px 16px; background: #fff; color: #137c70; cursor: pointer; font: inherit; }
.place-city-rank [hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .place-rank-fill { transition: none; } }

#sec6 { position: relative; }
.comment-submit-loading {
    position: absolute;
    inset: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px;
    background: rgba(255, 255, 255, .88);
    color: #566985;
    text-align: center;
    direction: rtl;
    cursor: wait;
}
.comment-submit-loading[hidden] { display: none; }
.comment-submit-loading > i { font-size: 30px; }
