/* Hot Ail profile — compact layout (mockup proportions) */
.ha-admin-notice{
    background:#fff7ed;border:1px solid #fdba74;border-radius:12px;
    padding:10px 14px;font-size:13px;color:#9a3412;margin-bottom:4px;
}
.site-main:has(.ha-page){
    /* Өмнө 1180px байсан — бага зэрэг өргөссөн (хэт томруулахгүй) */
    --ha-shell-w:1260px;
    --ha-gutter:20px;
    --ha-sidebar-w:300px;
    padding:0;
    width:100%;
    max-width:none;
}
.site-main:has(.ha-page) .admin-page-preview-bar__inner{
    max-width:var(--ha-shell-w);
    padding-left:var(--ha-gutter);
    padding-right:var(--ha-gutter);
    box-sizing:border-box;
}
.public-body:has(.ha-page){
    background:#f4f7f6;
    background-image:none;
}
.ha-page{
    --ha-green:#15766b;
    --ha-green-dark:#0f4f53;
    --ha-orange:#e87722;
    --ha-brown:#8b5e3c;
    --ha-bg:#f4f7f6;
    --ha-card:#fff;
    --ha-text:#1e293b;
    --ha-muted:#64748b;
    width:100%;
    max-width:100%;
    overflow-x:clip;
    isolation:isolate;
    background:var(--ha-bg);
    padding-bottom:32px;
    font-size:14px;
}
.ha-shell{
    width:100%;
    max-width:var(--ha-shell-w);
    margin:0 auto;
    padding:0 var(--ha-gutter);
    box-sizing:border-box;
}
.ha-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    border:none;border-radius:10px;padding:10px 14px;font-weight:700;
    cursor:pointer;text-decoration:none;font-size:13px;line-height:1.2;
}
.ha-btn-primary{background:var(--ha-orange);color:#fff}
.ha-btn-book{background:var(--ha-green-dark);color:#fff;width:100%;padding:11px 14px}
.ha-btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.28);padding:8px 10px;font-size:12px}
.ha-link{color:var(--ha-green);font-weight:700;text-decoration:none;font-size:13px}
.ha-section{margin-bottom:22px}
.ha-section-head{margin-bottom:12px}
.ha-section-head h2{font-size:15px;letter-spacing:.05em;color:var(--ha-green-dark);font-weight:800;margin:0}
.ha-section-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Hero / header */
.ha-hero{
    background:#fff;
    margin-bottom:0;
    border-bottom:1px solid #e8eeec;
}
.ha-hero-head{
    padding:14px 0 12px;
}
.ha-breadcrumb{
    display:flex;gap:6px;align-items:center;flex-wrap:wrap;
    font-size:12px;margin-bottom:10px;color:var(--ha-muted);
}
.ha-breadcrumb a{color:var(--ha-green);text-decoration:none;font-weight:600}
.ha-breadcrumb span:last-child{color:var(--ha-text);font-weight:600}
.ha-hero-copy h1{
    font-size:clamp(22px,2.8vw,30px);line-height:1.1;margin:0 0 6px;
    text-transform:uppercase;letter-spacing:.03em;color:var(--ha-green-dark);font-weight:800;
}
.ha-hero-location{font-size:13px;color:var(--ha-muted);margin:0 0 8px}
.ha-hero-rating{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;color:var(--ha-text)}
.ha-star{color:#fbbf24;font-size:15px}
.ha-tag-row{display:flex;flex-wrap:wrap;gap:6px}
.ha-tag{
    padding:5px 11px;border-radius:999px;
    background:#f0f7f6;border:1px solid #cfe8e4;color:var(--ha-green-dark);
    font-size:11px;font-weight:600;
}
.ha-hero-visual{
    background:var(--ha-bg);
    padding:0 0 14px;
}
.ha-hero-visual-inner{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
}
.ha-hero-cover{
    position:relative;
    width:100%;
    height:clamp(200px,28vw,280px);
    border-radius:16px;
    overflow:hidden;
    background:linear-gradient(135deg,#0f4f53 0%,#15766b 45%,#1a8a7d 100%);
    box-shadow:0 8px 24px rgba(15,23,42,.08);
}
.ha-hero-cover>img,.ha-hero-placeholder{
    width:100%;height:100%;object-fit:cover;display:block;
}
.ha-hero-placeholder{min-height:100%}
.ha-hero-cover-overlay{
    position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(8,20,28,.08) 0%,rgba(8,20,28,.22) 55%,rgba(8,20,28,.38) 100%);
    pointer-events:none;
}
.ha-hero-aside{
    position:absolute;
    right:0;
    bottom:12px;
    width:min(100%,var(--ha-sidebar-w));
    display:grid;
    gap:10px;
    z-index:3;
}
.ha-price-card,.ha-views-card{
    background:#fff;color:var(--ha-text);
    border-radius:14px;padding:14px;
    border:1px solid #e7ecea;
    box-shadow:0 12px 32px rgba(15,23,42,.12);
}
.ha-price-label{display:block;font-size:11px;color:var(--ha-muted);margin-bottom:2px}
.ha-price-main strong{display:block;font-size:24px;color:var(--ha-green-dark);margin-bottom:2px;line-height:1.15;font-weight:800}
.ha-price-child{display:block;font-size:12px;color:var(--ha-muted);margin-bottom:10px}
.ha-price-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.ha-price-actions .ha-btn,.ha-price-actions form,.ha-price-actions form button{width:100%}
.ha-btn-muted{
    background:#f8faf9;color:var(--ha-text);
    border:1px solid #dbe4e1;
    padding:8px 10px;font-size:12px;
}
.ha-views-title{display:block;font-size:11px;font-weight:800;color:var(--ha-green-dark);margin-bottom:8px;letter-spacing:.04em}
.ha-views-row{display:grid;grid-template-columns:1fr 72px;gap:8px;align-items:end}
.ha-views-stat small{display:block;font-size:10px;color:var(--ha-muted);margin-bottom:1px}
.ha-views-stat strong{display:block;font-size:14px;color:var(--ha-green-dark);line-height:1.2}
.ha-views-chart{width:100%;height:36px;color:#3b82f6}
.ha-views-footer{
    display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--ha-muted);margin-top:6px;
}
.ha-views-total{margin-left:auto}

/* Quick bar */
.ha-quick-bar{
    background:#fff;border-top:1px solid #e8eeec;border-bottom:1px solid #e8eeec;
    padding:12px 0;margin-bottom:18px;box-shadow:0 4px 16px rgba(15,23,42,.03);
}
.ha-quick-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.ha-quick-item{display:flex;gap:8px;align-items:flex-start;padding:4px 2px}
.ha-quick-item small{display:block;font-size:10px;color:var(--ha-muted);margin-bottom:1px}
.ha-quick-item strong{font-size:12px;line-height:1.3;font-weight:700}
.ha-quick-icon{
    width:28px;height:28px;border-radius:8px;background:#f5efe8;color:var(--ha-brown);
    display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;
}
.ha-icon-users::before{content:"👥"}
.ha-icon-food::before{content:"🍽"}
.ha-icon-horse::before{content:"🐎"}
.ha-icon-shower::before{content:"🚿"}
.ha-icon-wifi::before{content:"📶"}
.ha-icon-car::before{content:"🚗"}
.ha-icon-snow::before{content:"❄"}
.ha-icon-flight::before{content:"✈"}
.ha-icon-bus::before{content:"🚌"}
.ha-icon-lake::before,.ha-icon-place::before{content:"📍"}
.ha-icon-village::before{content:"🏘"}
.ha-icon-mountain::before{content:"⛰"}
.ha-icon-sunrise::before{content:"🌅"}
.ha-icon-sunset::before{content:"🌇"}
.ha-icon-moon::before{content:"🌙"}
.ha-icon-fire::before{content:"🔥"}
.ha-icon-milk::before{content:"🥛"}
.ha-icon-migration::before{content:"🏕"}
.ha-icon-clock::before{content:"🕐"}
.ha-icon-star::before{content:"★"}

/* Layout — main column grows to fill screen */
.ha-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,var(--ha-sidebar-w));
    gap:clamp(14px,2vw,22px);
    align-items:start;
    width:100%;
}
.ha-main{min-width:0}
.ha-sidebar{position:sticky;top:72px;align-self:start}
.ha-panel{
    background:var(--ha-card);border:1px solid #e7ecea;border-radius:16px;
    padding:14px 16px;margin-bottom:12px;box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.ha-panel h2{font-size:12px;letter-spacing:.06em;color:var(--ha-green-dark);margin:0 0 10px;font-weight:800}

/* Experience — 5 compact cards like mockup */
.ha-experience-grid{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;
    align-items:stretch;
}
.ha-experience-card{
    background:#fff;border:1px solid #e7ecea;border-radius:14px;overflow:hidden;
    box-shadow:0 4px 14px rgba(15,23,42,.04);display:flex;flex-direction:column;
    min-width:0;contain:layout style;
}
.ha-experience-media{
    position:relative;flex:0 0 96px;width:100%;height:96px;max-height:96px;
    overflow:hidden;contain:strict;
    background:linear-gradient(160deg,#edf7f5 0%,#d4ebe7 55%,#bfded9 100%);
}
.ha-page .ha-experience-media img{
    position:absolute;inset:0;width:100%;height:96px;max-width:100%;max-height:96px;
    object-fit:cover;display:block;
}
.ha-experience-media.is-fallback{display:flex;align-items:center;justify-content:center}
.ha-experience-media.is-fallback .ha-experience-icon{
    position:static;width:44px;height:44px;font-size:20px;
}
.ha-experience-icon{
    position:absolute;left:10px;bottom:10px;width:32px;height:32px;border-radius:999px;
    background:var(--ha-green-dark);color:#fff;border:2px solid #fff;
    display:inline-flex;align-items:center;justify-content:center;font-size:14px;
    box-shadow:0 4px 12px rgba(15,23,42,.15);z-index:2;
}
.ha-experience-body{padding:0 10px 12px}
.ha-experience-body h3{font-size:13px;margin:10px 0 4px;line-height:1.3;color:var(--ha-text);font-weight:700}
.ha-experience-body p{font-size:11px;color:var(--ha-muted);margin:0;line-height:1.45}

/* Timeline */
.ha-timeline-scroll{overflow-x:auto;padding:4px 2px 8px;-webkit-overflow-scrolling:touch}
.ha-timeline-track{
    display:flex;align-items:flex-start;gap:0;min-width:min(100%,640px);
    position:relative;padding:8px 4px 0;
}
.ha-timeline-track::before{
    content:"";position:absolute;top:30px;left:28px;right:28px;height:2px;
    background:linear-gradient(90deg,var(--ha-green) 0%,#7dd3c0 100%);border-radius:999px;z-index:0;
}
.ha-timeline-item{
    flex:1 0 88px;max-width:110px;text-align:center;padding:0 4px;
    scroll-snap-align:start;
}
.ha-timeline-node{margin-bottom:8px;display:flex;justify-content:center;position:relative;z-index:1}
.ha-timeline-icon{
    width:38px;height:38px;border-radius:999px;background:#fff;
    border:2px solid var(--ha-green-dark);color:var(--ha-green-dark);
    display:inline-flex;align-items:center;justify-content:center;font-size:16px;
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}
.ha-timeline-item time{display:block;font-size:11px;font-weight:800;color:var(--ha-green-dark);margin-bottom:4px}
.ha-timeline-item p{margin:0;font-size:11px;color:var(--ha-muted);line-height:1.4}

/* Location */
.ha-location-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}
.ha-map-wrap{border-radius:14px;overflow:hidden;border:1px solid #e2e8f0;min-height:200px}
.ha-map{width:100%;height:100%;min-height:200px;border:0;display:block}
.ha-map-embed iframe{width:100%;min-height:200px;border:0;display:block}
.ha-location-list{margin:0 0 10px}
.ha-location-list div{margin-bottom:8px}
.ha-location-list dt{font-size:11px;color:var(--ha-muted);margin-bottom:1px}
.ha-location-list dd{margin:0;font-size:13px;line-height:1.45}

/* Gallery */
.ha-gallery-tabs{display:flex;gap:6px}
.ha-tab{
    border:1px solid #dbe4e1;background:#fff;border-radius:999px;padding:5px 12px;
    font-size:12px;font-weight:700;cursor:pointer;color:var(--ha-muted);
}
.ha-tab.is-active{background:var(--ha-green-dark);border-color:var(--ha-green-dark);color:#fff}
.ha-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ha-gallery-item{
    position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#e2e8f0;margin:0;
}
.ha-gallery-item:first-child{grid-row:span 2;grid-column:span 2}
.ha-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}
.ha-gallery-video{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    background:rgba(15,23,42,.28);color:#fff;font-size:22px;z-index:1;
}

/* Reviews */
.ha-review-summary{
    display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;
    background:#fff;border:1px solid #e7ecea;border-radius:14px;padding:14px;margin-bottom:12px;
}
.ha-review-score strong{display:block;font-size:32px;color:var(--ha-green-dark);line-height:1}
.ha-stars{color:#fbbf24;letter-spacing:1px;margin:4px 0;font-size:14px}
.ha-review-bar-row{
    display:grid;grid-template-columns:96px 1fr 36px;gap:8px;align-items:center;
    margin-bottom:6px;font-size:12px;
}
.ha-review-bar{height:6px;background:#eef2f1;border-radius:999px;overflow:hidden}
.ha-review-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--ha-green),#22c55e);border-radius:999px}
.ha-review-list{display:grid;gap:10px}
.ha-review-card{background:#fff;border:1px solid #e7ecea;border-radius:14px;padding:12px 14px}
.ha-review-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}
.ha-review-user{display:flex;gap:8px;align-items:center}
.ha-review-avatar{
    width:34px;height:34px;border-radius:999px;background:var(--ha-green-dark);color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;
}
.ha-review-user time{display:block;font-size:11px;color:var(--ha-muted)}
.ha-review-stars{color:#fbbf24;font-size:13px}
.ha-review-card h3{font-size:14px;margin:0 0 4px}
.ha-review-card p{margin:0;color:var(--ha-muted);line-height:1.5;font-size:13px}
.ha-review-form{background:#fff;border:1px solid #e7ecea;border-radius:14px;padding:14px;margin-top:12px}
.ha-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.ha-form-full{grid-column:1/-1}
.ha-form label span{display:block;font-size:11px;color:var(--ha-muted);margin-bottom:3px}
.ha-form input,.ha-form select,.ha-form textarea{
    width:100%;border:1px solid #dbe4e1;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;
}

/* Sidebar */
.ha-transport-list{display:grid;gap:10px;margin-bottom:10px}
.ha-transport-item{display:flex;gap:10px;align-items:flex-start}
.ha-transport-item span{font-size:18px}
.ha-transport-item strong{display:block;font-size:13px}
.ha-transport-item p{margin:2px 0 0;font-size:12px;color:var(--ha-muted);line-height:1.4}
.ha-calendar-static{background:#f8faf9;border-radius:12px;padding:10px;margin-bottom:0}
.ha-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:6px}
.ha-calendar-head strong{font-size:13px;color:var(--ha-green-dark)}
.ha-calendar-head button{
    border:none;background:#fff;width:24px;height:24px;border-radius:6px;
    font-size:14px;cursor:default;color:var(--ha-muted);
}
.ha-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.ha-cal-dow{font-size:9px;text-align:center;color:var(--ha-muted);padding:1px 0;font-weight:700}
.ha-cal-day{
    min-height:26px;display:flex;align-items:center;justify-content:center;
    font-size:10px;border-radius:6px;background:#fff;border:1px solid #eef2f1;
}
.ha-cal-day--blank{visibility:hidden;border:none;background:transparent;min-height:26px}
.ha-cal-day.is-free{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.ha-cal-day.is-booked{background:#fef9c3;border-color:#fde047;color:#854d0e}
.ha-cal-day.is-selected{background:var(--ha-green-dark);color:#fff;border-color:var(--ha-green-dark);font-weight:800}
.ha-calendar-legend{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px;font-size:9px;color:var(--ha-muted)}
.ha-calendar-legend i{display:inline-block;width:7px;height:7px;border-radius:999px;margin-right:3px;vertical-align:middle}
.ha-calendar-legend .is-free{background:#22c55e}
.ha-calendar-legend .is-booked{background:#eab308}
.ha-booking-summary{display:grid;gap:8px;padding-top:10px;margin-top:10px;border-top:1px solid #eef2f1}
.ha-booking-range,.ha-booking-total{font-size:12px;margin:0;color:var(--ha-muted)}
.ha-booking-total strong{color:var(--ha-green-dark);font-size:15px;font-weight:800}
.ha-contact-list{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:6px}
.ha-contact-list a{color:var(--ha-text);text-decoration:none;font-size:13px}
.ha-host-card{display:flex;gap:10px;align-items:center;padding-top:10px;border-top:1px solid #eef2f1}
.ha-host-card img,.ha-host-fallback{width:44px;height:44px;border-radius:999px;object-fit:cover;flex-shrink:0}
.ha-host-fallback{display:flex;align-items:center;justify-content:center;background:var(--ha-green-dark);color:#fff;font-weight:800;font-size:14px}
.ha-host-card strong{display:block;font-size:13px}
.ha-host-card span,.ha-host-card em{display:block;font-size:11px;color:var(--ha-muted)}
.ha-nearby-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ha-nearby-list li{display:flex;gap:8px;align-items:flex-start}
.ha-nearby-list strong{display:block;font-size:13px}
.ha-nearby-list span{font-size:11px;color:var(--ha-muted)}

/* Trust + float */
.ha-trust-bar{background:#fff;border-top:1px solid #e2e8f0;padding:14px 0;margin-top:6px}
.ha-trust-grid{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
    font-size:12px;color:var(--ha-muted);
}
.ha-trust-grid span{color:var(--ha-green);font-weight:800;margin-right:4px}
.ha-float-views{
    position:fixed;right:14px;bottom:14px;z-index:40;
    background:#0f172a;color:#fff;border-radius:999px;padding:8px 14px;
    font-size:12px;box-shadow:0 8px 24px rgba(15,23,42,.22);display:flex;gap:6px;align-items:center;
}
@media (min-width:901px){.ha-float-views{display:none}}
.ha-empty{padding:14px;color:var(--ha-muted);background:#fff;border:1px dashed #dbe4e1;border-radius:12px;font-size:13px}

/* Responsive */
@media (max-width:1100px){
    .ha-layout,.ha-location-grid{grid-template-columns:1fr}
    .ha-sidebar{position:static}
    .ha-hero-aside{
        position:static;width:100%;margin-top:12px;
        grid-template-columns:1fr 1fr;
    }
    .ha-experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ha-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .ha-review-summary{grid-template-columns:1fr}
}
@media (max-width:760px){
    .ha-hero-cover{height:clamp(180px,48vw,220px);border-radius:12px}
    .ha-hero-aside{grid-template-columns:1fr}
    .ha-views-row{grid-template-columns:1fr}
    .ha-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ha-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ha-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ha-gallery-item:first-child{grid-row:span 1;grid-column:span 2}
    .ha-trust-grid{grid-template-columns:1fr 1fr}
    .ha-form-grid{grid-template-columns:1fr}
    .ha-timeline-track{min-width:max-content}
    .ha-timeline-item{flex:0 0 100px}
    .ha-float-views{left:10px;right:10px;justify-content:center}
}
