/* mikves directory: home map, /mikves index, /mikves/<id>  (markup: index.tpl + landing_js/mikves.js) */

/* ---------- breadcrumb hero (inner pages) ---------- */
.mikves_bred {
    /* the theme's bread_crumb_bg.png is the template's purple; use the brand blue */
    background-image: linear-gradient(135deg, #127dbb 0%, #0d6aa3 55%, #0b5687 100%);
    min-height: 420px;
    padding-top: 90px;
}
.mikves_bred::after { background-image: url(../landing_images/inner_page_banner_overlay.svg); }
.mikves_bred .bred_text { width: 100%; }
.mikves_bred .bred_text h1 { margin-bottom: 6px; font-size: 46px; line-height: 1.25; }
.mikves_bred .bred_text ul li a, .mikves_bred .bred_text ul li span { font-size: 15px; }
.mikves_crumbs { flex-wrap: wrap; padding: 0; margin: 8px 0 0; list-style: none; }
.mikves_bred .bred_text ul li span[aria-current] { font-weight: 600; }
.mikves_bred .bred_text .search_bar form .form-group .form-control { padding: 0 28px; text-align: right; }

.mikves_body { padding-top: 10px; min-height: 40vh; }

.mikves_state {
    text-align: center;
    padding: 40px 20px;
    color: var(--body-text-purple);
}
.mikves_state a { color: var(--purple); text-decoration: underline; }

/* ---------- mikve cards (index + map side panel) ---------- */
.mikve_cards { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.mikve_card {
    background: var(--bg-white);
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(50, 35, 111, .08);
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: box-shadow .25s, transform .25s;
}
.mikve_card:hover { box-shadow: 0 8px 30px rgba(18, 125, 187, .18); transform: translateY(-2px); }
.mikve_card_main { display: flex; flex-direction: column; gap: 2px; color: inherit; text-decoration: none; }
.mikve_card_main:hover { color: inherit; text-decoration: none; }
.mikve_card_name { font-weight: 700; color: var(--dark-purple); font-size: 17px; line-height: 1.4; }
.mikve_card_meta { font-size: 14px; }
.mikve_card_tag {
    align-self: flex-start;
    margin-top: 4px;
    font-size: 12px;
    background: var(--light-purple);
    color: var(--purple);
    border-radius: 20px;
    padding: 1px 10px;
}
.mikve_card_actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mikve_link { color: var(--purple); font-weight: 600; font-size: 15px; }
.mikve_link:hover { color: var(--dark-purple); }
.btn.mikve_btn_sm { padding: 5px 20px; font-size: 15px; }

/* ---------- /mikves index ---------- */
.mikves_intro { max-width: 760px; margin: 0 auto 34px; text-align: center; }
.mikves_intro h2 { font-size: 28px; font-weight: 700; color: var(--dark-purple); margin-bottom: 8px; }
.mikves_grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.mikves_result_count { text-align: center; margin-bottom: 20px; color: var(--purple); font-weight: 600; }

/* ---------- /mikves/<id> ---------- */
.mikve_notice {
    background: #fff3e0;
    border-right: 4px solid #ff9800;
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 24px;
    color: #6b4200;
}
.mikve_detail { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 30px; align-items: start; }
.mikve_detail_main {
    background: var(--bg-white);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(50, 35, 111, .08);
    overflow: hidden;
}
.mikve_photo { display: block; width: 100%; max-height: 420px; object-fit: cover; }
.mikve_facts { margin: 0; padding: 26px 30px 10px; }
.mikve_facts_title { font-size: 22px; font-weight: 700; color: var(--dark-purple); margin: 0; padding: 26px 30px 0; }
.mikve_facts_title + .mikve_facts { padding-top: 14px; }
.mikve_facts dt { color: var(--purple); font-weight: 700; font-size: 15px; }
.mikve_facts dd { margin: 2px 0 18px; padding-bottom: 16px; border-bottom: 1px solid var(--light-purple); }
.mikve_facts dd:last-child { border-bottom: none; }
.mikve_facts a { color: var(--dark-purple); font-weight: 600; direction: ltr; unicode-bidi: embed; }

.mikve_detail_side { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 20px; }
.mikve_book {
    background: var(--purple);
    color: var(--text-white);
    border-radius: 20px;
    padding: 28px 26px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(18, 125, 187, .3);
}
.mikve_book h2 { color: var(--text-white); font-size: 26px; font-weight: 700; margin-bottom: 6px; }
.mikve_book p { opacity: .9; margin-bottom: 20px; }
.mikve_book .btn.mikve_btn_lg {
    display: block;
    background: var(--bg-white);
    color: var(--purple);
    font-size: 19px;
    font-weight: 700;
    padding: 13px 20px;
}
.mikve_book .btn.mikve_btn_lg::before { background-color: var(--dark-purple); }
.mikve_book .btn.mikve_btn_lg:hover { color: var(--text-white); }
.mikve_book_links { display: flex; justify-content: center; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.mikve_book_links a {
    color: var(--text-white);
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 30px;
    padding: 4px 14px;
    font-size: 14px;
    transition: .25s all;
}
.mikve_book_links a:hover { background: rgba(255, 255, 255, .15); color: var(--text-white); text-decoration: none; }
.mikve_minimap { height: 220px; border-radius: 20px; overflow: hidden; box-shadow: 0 4px 24px rgba(50, 35, 111, .08); }
.mikve_back { margin-top: 30px; }
.mikve_back a { color: var(--purple); font-weight: 600; }

/* ---------- home: map ---------- */
.mikves_map_section { position: relative; z-index: 1; }
.mikves_map_section .section_title p { max-width: 640px; margin: 0 auto; }
.mikves_map_wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 24px;
    margin-top: 36px;
    align-items: stretch;
}
.mikves_map {
    height: 660px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(50, 35, 111, .12);
    background: #e8eef3;
}
.mikves_map_side {
    background: var(--bg-white);
    border-radius: 24px;
    box-shadow: 0 10px 40px rgba(50, 35, 111, .08);
    padding: 24px;
    max-height: 660px;
    overflow-y: auto;
    scroll-margin-top: 100px;
}
.mikves_map_side h3 { font-size: 24px; font-weight: 700; color: var(--dark-purple); margin: 8px 0 0; }
.mikves_side_count { color: var(--purple); font-weight: 600; margin-bottom: 14px; }
.mikves_side_stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.mikves_side_stats div {
    background: var(--light-purple);
    border-radius: 16px;
    padding: 16px 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
}
.mikves_side_stats strong { font-size: 34px; line-height: 1.1; color: var(--purple); font-weight: 800; }
.mikves_side_stats span { font-size: 14px; }
.mikves_side_hint { margin-bottom: 20px; }
.btn.mikves_side_all { display: block; text-align: center; padding: 10px 20px; }
.mikves_side_back {
    border: none;
    background: none;
    padding: 0;
    color: var(--purple);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}
.mikves_map_side .mikve_card { box-shadow: none; border: 1px solid var(--light-bg); }
.mikves_map_side .mikve_card:hover { transform: none; }

/* Leaflet inside an RTL page */
.mikves_map .leaflet-container, .mikves_map.leaflet-container, .mikve_minimap.leaflet-container { direction: ltr; font-family: inherit; }
.mikves_tiles { filter: saturate(.55) brightness(1.04); }
.leaflet-tooltip { direction: rtl; font-family: 'Noto Sans Hebrew', sans-serif; font-weight: 600; }

.mk_marker { background: none; border: none; }
.mk_dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--purple);
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(18, 125, 187, .5);
    color: #fff;
    font-size: 12px;
    transition: transform .2s, background-color .2s;
    position: relative;
}
.mk_dot b { font-weight: 700; }
.mk_dot::after {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 50%;
    border: 2px solid var(--purple);
    animation: mk_pulse 2.6s ease-out infinite;
    pointer-events: none;
}
.mk_marker:hover .mk_dot, .mk_marker:focus .mk_dot { transform: scale(1.2); }
.mk_marker.is_active { z-index: 1000 !important; }
.mk_marker.is_active .mk_dot { background: var(--dark-purple); transform: scale(1.25); }
.mk_marker.is_active .mk_dot::after { border-color: var(--dark-purple); }
@keyframes mk_pulse {
    0% { transform: scale(1); opacity: .7; }
    100% { transform: scale(2.2); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .mk_dot::after { animation: none; display: none; }
    .mikve_card, .mk_dot { transition: none; }
}

/* ---------- responsive ---------- */
@media screen and (max-width: 991px) {
    .mikve_detail { grid-template-columns: 1fr; }
    .mikve_detail_side { position: static; order: -1; }
    .mikves_map_wrap { grid-template-columns: 1fr; }
    .mikves_map { height: 480px; }
    .mikves_map_side { max-height: none; }
}
@media screen and (max-width: 767px) {
    .mikves_bred { min-height: 340px; padding-top: 80px; }
    .mikves_bred .bred_text h1 { font-size: 28px; }
    .mikves_grid { grid-template-columns: 1fr; }
    .mikve_facts { padding: 20px 18px 6px; }
    .mikve_facts_title { padding: 20px 18px 0; font-size: 20px; }
    .mikves_intro h2 { font-size: 22px; }
    .mikves_map { height: 420px; border-radius: 18px; }
    .mikves_map_side { padding: 18px; border-radius: 18px; }
}
