:root{
  --navy:#1B2A4A;
  --navy-deep:#101A30;
  --brass:#C8932E;
  --brass-light:#E7BE6E;
  --plum:#6E1F3D;
  --paper:#FBF7EE;
  --sand:#EFE4CC;
  --ink:#2A2924;
  --ink-soft:#6B655A;
  --line:#DDD2B8;
  --radius:14px;
  --green:#2E6B45;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Public Sans',system-ui,sans-serif;color:var(--ink);background:var(--sand);line-height:1.5;}
h1,h2,h3,h4{font-family:'Frank Ruhl Libre',Georgia,serif;margin:0;line-height:1.15;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}

/* header */
.site-header{background:var(--navy-deep);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;flex-wrap:wrap;gap:10px;}
.logo{display:flex;align-items:center;text-decoration:none;}
.logo-img{height:54px;width:auto;display:block;mix-blend-mode:screen;}

.nav-menu-wrap{position:relative;}
.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;background:none;border:1px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer;}
.menu-toggle span{display:block;width:20px;height:2px;background:var(--paper);border-radius:1px;}
.header-nav{display:none;position:absolute;top:calc(100% + 10px);right:0;background:var(--navy-deep);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px;flex-direction:column;align-items:stretch;gap:2px;min-width:230px;box-shadow:0 14px 34px rgba(0,0,0,.4);z-index:30;}
.header-nav.open{display:flex;}
.header-nav a{padding:10px 12px;border-radius:7px;color:var(--sand);font-size:.88rem;font-weight:500;}
.header-nav a:hover{background:rgba(255,255,255,.07);color:#fff;}
.header-nav .btn-whatsapp{justify-content:center;display:flex;margin-top:4px;}
.btn-whatsapp{display:inline-flex;align-items:center;gap:6px;background:var(--brass);color:var(--navy-deep)!important;padding:8px 14px;border-radius:999px;font-weight:600;font-size:.85rem;}
.btn-whatsapp:hover{background:var(--brass-light);}

/* hero */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%);color:var(--paper);padding:54px 0 44px;}
.hero h1{font-size:clamp(1.8rem,4vw,2.7rem);color:#fff;max-width:680px;}
.hero p.lead{margin:14px 0 24px;max-width:560px;color:#C9D0DE;font-size:1.02rem;}

/* search/filter bar */
.filter-bar{background:var(--paper);border-bottom:1px solid var(--line);padding:18px 0;}
.filter-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;}
.filter-form .field{display:flex;flex-direction:column;gap:4px;}
.filter-form label{font-size:.78rem;font-weight:600;color:var(--ink-soft);}
.filter-form input[type="text"],.filter-form select{padding:9px 12px;border:1.5px solid var(--line);border-radius:8px;background:#fff;}
.tag-checks{display:flex;flex-wrap:wrap;gap:8px;max-width:520px;}
.tag-checks label{display:flex;align-items:center;gap:5px;font-size:.78rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-weight:500;color:var(--ink-soft);}
.btn-filter{background:var(--navy);color:#fff;border:none;border-radius:999px;padding:10px 18px;font-weight:600;cursor:pointer;}

/* listings */
.section{padding:40px 0 60px;}
.section > .wrap > h2{font-size:1.5rem;margin-bottom:4px;}
.section-sub{color:var(--ink-soft);margin-bottom:26px;font-size:.95rem;}
.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}

.card{background:var(--paper);border-radius:var(--radius);box-shadow:0 1px 2px rgba(20,20,10,.06),0 8px 20px -10px rgba(20,20,10,.18);overflow:hidden;display:flex;flex-direction:column;position:relative;}
.card-image{position:relative;height:180px;background:var(--sand);}
.card-image img{width:100%;height:100%;object-fit:cover;}
.badge{position:absolute;top:10px;left:10px;font-family:'IBM Plex Mono',monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:4px;background:rgba(251,247,238,.92);border:2px solid var(--brass);color:var(--brass);}
.badge.promoted{border-color:var(--plum);color:var(--plum);}
.card-body{padding:16px 18px;display:flex;flex-direction:column;gap:7px;flex:1;}
.card-body h4{font-size:1.05rem;}
.card-loc{font-family:'IBM Plex Mono',monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.card-meta{font-size:.85rem;color:var(--ink-soft);}
.card-row{font-size:.82rem;color:var(--ink-soft);}
.card-row b{color:var(--ink);font-weight:600;}
.card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;}
.card-price{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--plum);}
.btn-small{background:var(--navy);color:#fff;border:none;border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:600;}
.fav-btn{border:none;background:none;font-size:1.3rem;cursor:pointer;color:var(--ink-soft);}
.fav-btn.active{color:var(--plum);}
.tag-pill{display:inline-block;font-size:.72rem;background:var(--sand);border-radius:999px;padding:3px 9px;color:var(--ink-soft);margin:2px 4px 0 0;}

.empty-state{text-align:center;padding:50px 20px;color:var(--ink-soft);border:1.5px dashed var(--line);border-radius:var(--radius);}

/* listing detail */
.slide-gallery{margin-bottom:24px;}
.slide-main{position:relative;width:100%;aspect-ratio:16/10;background:#1a1a1a;border-radius:12px;overflow:hidden;}
.slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s;}
.slide-img.active{opacity:1;}
.slide-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(20,20,10,.45);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.slide-prev{left:10px;} .slide-next{right:10px;}
.slide-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:8px 14px;background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;}
.slide-thumbs{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:2px;}
.slide-thumb{width:64px;height:64px;object-fit:cover;border-radius:6px;flex:none;cursor:pointer;opacity:.55;border:2px solid transparent;}
.slide-thumb.active{opacity:1;border-color:var(--brass);}
.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px;}
.detail-info-row{font-size:.95rem;margin-bottom:10px;}
.detail-info-row b{color:var(--navy);}
.sidebar-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.review-card{border-top:1px solid var(--line);padding:14px 0;}
.stars{color:var(--brass);letter-spacing:1px;}

/* forms */
form.box{background:var(--paper);border-radius:var(--radius);padding:28px;display:grid;gap:20px;max-width:680px;}
fieldset{border:none;padding:0;margin:0;display:grid;gap:12px;}
legend{font-family:'Frank Ruhl Libre',serif;font-weight:600;font-size:1.05rem;color:var(--navy);padding:0;}
.field-row{display:grid;gap:5px;}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
label{font-size:.85rem;font-weight:600;}
.hint{font-size:.76rem;color:var(--ink-soft);font-weight:400;}
input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"],select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);}
textarea{resize:vertical;min-height:78px;}
.radio-group{display:flex;flex-wrap:wrap;gap:10px;}
.radio-pill{border:1.5px solid var(--line);border-radius:999px;padding:9px 14px;font-size:.85rem;display:flex;align-items:center;gap:7px;cursor:pointer;width:fit-content;}
.checkbox-grid{display:flex;flex-wrap:wrap;gap:8px;}
.checkbox-grid label{display:flex;align-items:center;gap:6px;font-weight:500;font-size:.82rem;border:1px solid var(--line);border-radius:999px;padding:7px 11px;background:#fff;}
.photo-tile{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;width:104px;}
.photo-tile img{width:88px;height:88px;object-fit:cover;border-radius:6px;}
.photo-tile select{width:100%;font-size:.72rem;padding:4px;}
.photo-tile-remove{width:100%;background:var(--plum);color:#fff;border:none;border-radius:6px;padding:5px;font-size:.72rem;cursor:pointer;}
.photo-tile-uploading{justify-content:center;align-items:center;height:118px;color:var(--ink-soft);font-size:.78rem;text-align:center;}
.photo-grid-upload{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;}
@media(max-width:560px){.form-grid{grid-template-columns:1fr;}}
.req{color:var(--plum);font-weight:700;}
.radio-group{display:flex;flex-wrap:wrap;gap:10px 20px;}
.radio-group label{display:flex;align-items:center;gap:6px;font-weight:500;cursor:pointer;}
.import-row{display:flex;gap:0;border:2px solid var(--brass);border-radius:10px;overflow:hidden;margin-top:10px;}
.import-row input{flex:1;border:none;padding:12px 14px;font-size:.95rem;outline:none;background:#fff;}
.btn-import{background:var(--brass);color:#fff;border:none;padding:12px 18px;font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:background .15s;}
.btn-import:hover{background:var(--navy);}
.btn-import:disabled{opacity:.6;cursor:not-allowed;}
.import-status{margin-top:8px;font-size:.85rem;padding:8px 12px;border-radius:8px;display:none;}
.import-status:not(:empty){display:block;}
.import-status.success{background:#E8F3EC;color:#1a5c2e;}
.import-status.error{background:#FBE7EC;color:var(--plum);}
.file-drop{border:1.5px dashed var(--line);border-radius:10px;padding:20px;text-align:center;cursor:pointer;background:#fff;display:block;}
#photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
#photo-preview img{width:60px;height:60px;object-fit:cover;border-radius:6px;}
.star-picker{display:inline-flex;gap:4px;font-size:1.8rem;cursor:pointer;line-height:1;}
.star-pick{color:var(--line);transition:color .1s;}
.star-pick.filled{color:var(--brass);}
.photo-preview-row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px;width:100%;}
.photo-preview-row img{width:48px;height:48px;object-fit:cover;border-radius:6px;flex:none;}
.photo-preview-row select{flex:1;padding:6px 8px;font-size:.82rem;}
.btn-primary{background:var(--brass);color:var(--navy-deep);padding:12px 22px;border-radius:999px;font-weight:700;border:none;cursor:pointer;font-size:.95rem;}
.btn-primary:hover{background:var(--brass-light);}
.alert{padding:12px 16px;border-radius:8px;font-size:.9rem;}
.alert-error{background:#FBE7EC;color:var(--plum);border:1px solid var(--plum);}
.alert-success{background:#E8F3EC;color:var(--green);border:1px solid var(--green);}

/* dashboard */
.dash-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:var(--paper);flex-wrap:wrap;gap:10px;}
.status-pill{font-size:.72rem;font-weight:700;text-transform:uppercase;padding:4px 9px;border-radius:999px;}
.status-pending{background:#FDF1DC;color:var(--brass);}
.status-published{background:#E8F3EC;color:var(--green);}
.status-rejected{background:#FBE7EC;color:var(--plum);}

footer.site-footer{background:var(--navy-deep);color:#9AA3B8;padding:30px 0;font-size:.86rem;}
footer.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;}
footer.site-footer a{color:var(--brass-light);}

@media (max-width:760px){
  .detail-grid{grid-template-columns:1fr;}
  .field-grid{grid-template-columns:1fr;}
}

/* ─── Rich text editor ──────────────────────────────────────────── */
.richtext-toolbar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px;}
.richtext-toolbar button{padding:5px 10px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;font-size:.85rem;}
.richtext-toolbar button:hover{background:var(--navy);color:#fff;}
.richtext-editor{min-height:100px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;font-size:.9rem;outline:none;line-height:1.5;}
.richtext-editor:focus{border-color:var(--navy);}

/* ─── Card highlights strip ─────────────────────────────────────── */
.card-highlights{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0;}
.hl{font-size:.75rem;background:var(--sand);border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--ink);}
.highlight-label{font-size:.78rem;color:var(--ink-soft);}
.shabbos-price{font-size:.8rem;color:var(--brass);}
.card-image-link{display:block;text-decoration:none;}

/* ─── Promoted badge update ──────────────────────────────────────── */
.badge.promoted{background:var(--brass);color:#fff;font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:999px;position:absolute;top:10px;left:10px;}
