/* =========================================================
   HELP-VIVO · Domovi za stare — moderni UI sloj
   Brend plava #71BADA · bela pozadina · premium
   Učitava se POSLE inline stilova (override).
   ========================================================= */
:root{
  --d-blue:#71BADA; --d-blue-d:#5aa9cf; --d-blue-dd:#3f8fc0; --d-blue-l:#eaf4fb;
  --d-navy:#0B1F3E; --d-ink:#1f2a37; --d-muted:#6b7a8d;
  --d-line:#e9eef4; --d-line-2:#eef2f6;
  --d-bg:#ffffff; --d-card:#ffffff;
  --d-sh:0 1px 2px rgba(16,24,40,.04), 0 10px 26px rgba(16,24,40,.06);
  --d-sh-h:0 18px 40px rgba(16,24,40,.14);
  --d-r:20px; --d-r-md:16px; --d-r-sm:12px;
  --d-green:#16a34a; --d-amber:#d97706;
  --d-top:108px;
}

body{ background:var(--d-bg); color:var(--d-ink); }
.dp-wrap,.ds-wrap,.domd-wrap,.dw-wrap,.fp-wrap,.iq-wrap,.rv-wrap,.oc-wrap{ animation:dfade .35s ease both; }
@keyframes dfade{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:none;} }

/* Offset ispod floating headera */
.dp-wrap{ max-width:1080px; margin:0 auto; padding:var(--d-top) 18px 110px; }
.domd-wrap{ max-width:1000px; margin:0 auto; padding:var(--d-top) 18px 120px; }
.dw-wrap{ max-width:900px; margin:0 auto; padding:var(--d-top) 18px 150px; }
.fp-wrap{ max-width:980px; margin:0 auto; padding:var(--d-top) 18px 120px; }
.iq-wrap{ max-width:840px; margin:0 auto; padding:var(--d-top) 18px 120px; }
.rv-wrap{ max-width:780px; margin:0 auto; padding:var(--d-top) 18px 120px; }
.oc-wrap{ max-width:600px; margin:0 auto; padding:calc(var(--d-top) + 6px) 18px 120px; }

/* ====================== DUGMAD ====================== */
.dp-btn,.domd-btn,.dw-btn,.fp-btn,.oc-btn,.ds-apply{
  font-weight:700; border-radius:12px; cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px; justify-content:center;
  border:1px solid transparent; transition:transform .12s ease, box-shadow .12s ease, background .15s ease;
  font-size:.95rem; line-height:1;
}
.dp-btn--p,.domd-btn--p,.dw-btn--p,.fp-btn,.oc-btn,.ds-apply{
  background:linear-gradient(180deg,#84c4e4,var(--d-blue-d)); color:#fff;
  box-shadow:0 8px 18px rgba(113,186,218,.40);
}
.dp-btn--p:hover,.domd-btn--p:hover,.dw-btn--p:hover,.fp-btn:hover,.oc-btn:hover,.ds-apply:hover{ transform:translateY(-1px); box-shadow:0 12px 24px rgba(113,186,218,.5); }
.dp-btn--g,.domd-btn--g,.dw-btn--g{ background:#fff; color:var(--d-navy); border-color:var(--d-line); box-shadow:var(--d-sh); }
.dp-btn--g:hover,.domd-btn--g:hover,.dw-btn--g:hover{ transform:translateY(-1px); border-color:var(--d-blue); color:var(--d-blue-dd); }
.dp-btn{ padding:12px 18px; font-weight: 500; } .domd-btn{ padding:12px 18px; } .dw-btn{ padding:12px 22px; }

/* ====================== KARTICE ====================== */
.dp-sec,.domd-card,.dw-card,.iq-card,.rv-card,.fp-item,.oc-card,.ds-card,.ds-filters{
  background:var(--d-card); border:1px solid var(--d-line); border-radius:var(--d-r-md); box-shadow:var(--d-sh);
}

/* ============================================================
   PRETRAGA (domovi/index.php)
   ============================================================ */
.ds-hero{ color:var(--d-navy); padding:calc(var(--d-top) + 18px) 18px 46px; position:relative; }
.ds-hero .in{ max-width:1080px; margin:0 auto; position:relative; z-index:1; }
.ds-hero h1{ margin:0 0 8px; font-size:2.1rem; font-weight:800; letter-spacing:-.02em; color:var(--d-navy); }
.ds-hero p{ margin:0; font-size:1.05rem; max-width:640px; color:#123a5c; }
.dom-line{ display:block; width:100%; height:auto; margin:-2px 0 0; }

.ds-wrap{ max-width:1080px; margin:0 auto; padding:26px 18px 120px; display:grid; grid-template-columns:280px 1fr; gap:24px; }
.ds-filters{ padding:20px; align-self:start; position:sticky; top:var(--d-top); }
.ds-filters label{ display:block; font-weight:700; font-size:.8rem; color:var(--d-ink); margin:14px 0 6px; }
.ds-filters label:first-child{ margin-top:0; }
.ds-filters input[type=text],.ds-filters input[type=number],.ds-filters select{
  width:100%; box-sizing:border-box; padding:11px 13px; border:1px solid #dbe2ea; border-radius:11px;
  font-family:inherit; font-size:.92rem; background:#fff; transition:border .15s, box-shadow .15s; }
.ds-filters input:focus,.ds-filters select:focus{ outline:none; border-color:var(--d-blue); box-shadow:0 0 0 3px rgba(113,186,218,.22); }
.ds-toggle{ display:flex; align-items:center; gap:9px; font-weight:600; font-size:.9rem; color:var(--d-ink); margin-top:14px; cursor:pointer; }
.ds-toggle input{ width:17px; height:17px; accent-color:var(--d-blue); }
.ds-more{ background:none; border:0; color:var(--d-blue-dd); font-weight:700; cursor:pointer; padding:14px 0 2px; font-size:.86rem; }
.ds-apply{ width:100%; margin-top:16px; padding:12px; }
.ds-reset{ display:block; text-align:center; margin-top:10px; color:var(--d-muted); font-size:.84rem; text-decoration:none; }
.ds-reset:hover{ color:var(--d-ink); }

.ds-count{ color:var(--d-muted); margin:2px 0 16px; font-weight:600; }
.ds-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(258px,1fr)); gap:18px; }
.ds-card{ overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:transform .14s ease, box-shadow .14s ease; }
.ds-card:hover{ transform:translateY(-3px); box-shadow:var(--d-sh-h); }
.ds-imgwrap{ position:relative; height:172px; background:#eef2f6; }
.ds-imgwrap img{ width:100%; height:100%; object-fit:cover; display:block; }
.ds-ph{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:2.6rem; font-weight:800; color:var(--d-blue-dd); background:linear-gradient(135deg,#d8ecf7,#eef6fb); }
.ds-lic{ position:absolute; top:11px; left:11px; background:var(--d-green); color:#fff; font-size:.72rem; font-weight:700; padding:5px 11px; border-radius:999px; box-shadow:0 4px 10px rgba(22,163,74,.3); }
.ds-typebadge{ position:absolute; top:11px; right:11px; background:rgba(11,31,62,.72); backdrop-filter:blur(4px); color:#fff; font-size:.72rem; font-weight:600; padding:5px 11px; border-radius:999px; }
.ds-body{ padding:14px 15px 16px; display:flex; flex-direction:column; gap:7px; flex:1; }
.ds-name{ font-weight:800; color:var(--d-navy); font-size:1.05rem; letter-spacing:-.01em; }
.ds-sub{ color:var(--d-muted); font-size:.85rem; display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.ds-stars{ color:#f59e0b; font-weight:700; }
.ds-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }
.ds-tag{ background:var(--d-blue-l); color:var(--d-blue-dd); border-radius:999px; padding:4px 10px; font-size:.76rem; font-weight:600; }
.ds-foot{ margin-top:auto; padding-top:10px; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--d-line-2); }
.ds-price{ font-weight:800; color:var(--d-navy); }

.dom-mesta-badge{ display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:.82rem; color:var(--mb,#16a34a); }
.dom-mesta-dot{ width:8px; height:8px; border-radius:50%; background:var(--mb,#16a34a); display:inline-block; }

/* ============================================================
   PROFIL DOMA (domovi/profil.php)
   ============================================================ */
/* Galerija — Airbnb mozaik: veliki cover + 2x2 thumbnails */
.dp-gallery{ display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:8px; border-radius:var(--d-r); overflow:hidden; margin-bottom:24px; box-shadow:var(--d-sh); position:relative; height:420px; }
.dp-gcover{ grid-row:1 / 3; grid-column:1; cursor:pointer; position:relative; }
.dp-gthumb{ cursor:pointer; position:relative; overflow:hidden; }
.dp-gallery img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.dp-gthumb:hover img,.dp-gcover:hover img{ transform:scale(1.04); }
.dp-ph{ width:100%; height:420px; background:linear-gradient(135deg,#d8ecf7,#eef6fb); display:flex; align-items:center; justify-content:center; font-size:5rem; color:var(--d-blue-dd); font-weight:800; border-radius:var(--d-r); margin-bottom:24px; }
.dp-allbtn{ position:absolute; right:16px; bottom:16px; background:rgba(255,255,255,.96); border:1px solid rgba(11,31,62,.1); color:var(--d-navy); font-weight:700; font-size:.86rem; padding:9px 16px; border-radius:10px; cursor:pointer; box-shadow:0 4px 14px rgba(16,24,40,.18); display:inline-flex; gap:7px; align-items:center; z-index:2; }
.dp-allbtn:hover{ background:#fff; transform:translateY(-1px); }
.dp-gallery--single{ display:block; height:auto; }
.dp-gallery--single .dp-gcover{ height:420px; }

.dp-head{ display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; align-items:flex-start; margin-bottom:6px; }
.dp-title{ font-size:1.95rem; font-weight:800; color:var(--d-navy); margin:0 0 8px; letter-spacing:-.02em; }
.dp-meta{ color:#475569; display:flex; flex-wrap:wrap; gap:9px 16px; align-items:center; font-size:.96rem; }
.dom-lic-badge{ background:linear-gradient(180deg,#1bbf5e,#16a34a); color:#fff; padding:5px 13px; border-radius:999px; font-size:.82rem; font-weight:700; box-shadow:0 5px 12px rgba(22,163,74,.28); }
.dp-price{ font-size:1.35rem; font-weight:800; color:var(--d-navy); white-space:nowrap; text-align:right; }
.dp-actions{ display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 8px; }

/* Kontakt blok (OTVOREN) */
.dp-contact{ display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 18px; }
.dp-contact a{ display:inline-flex; align-items:center; gap:9px; padding:11px 16px; border-radius:12px; text-decoration:none; font-weight:500; font-size:.95rem; border:1px solid var(--d-line); background:#fff; color:var(--d-navy); box-shadow:var(--d-sh); transition:transform .12s, border-color .12s; }
.dp-contact a:hover{ transform:translateY(-1px); border-color:var(--d-blue); }
.dp-contact a.is-call{ background:linear-gradient(180deg,#84c4e4,var(--d-blue-d)); color:#fff; border-color:transparent; box-shadow:0 8px 18px rgba(113,186,218,.4); }
.dp-contact .ic{ font-size:1.05rem; }
.dp-contact .lbl{ display:flex; flex-direction:column; line-height:1.15; }
.dp-contact .lbl small{ font-weight:600; font-size:.7rem; opacity:.7; }

.dp-facts{ display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 22px; }
.dp-fact{ background:#fff; border:1px solid var(--d-line); border-radius:var(--d-r-sm); padding:11px 15px; font-size:.9rem; color:#415062; box-shadow:var(--d-sh); }
.dp-fact b{ color:var(--d-navy); }
.dp-sec{ padding:22px 24px; margin-bottom:16px; }
.dp-sec h2{ font-size:1.18rem; color:var(--d-navy); margin:0 0 14px; font-weight:800; letter-spacing:-.01em; }
.dp-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.dp-tag{ background:var(--d-blue-l); color:var(--d-blue-dd); border-radius:999px; padding:7px 14px; font-size:.86rem; font-weight:600; }
table.dp-rooms{ width:100%; border-collapse:collapse; }
table.dp-rooms th,table.dp-rooms td{ text-align:left; padding:11px 12px; border-bottom:1px solid var(--d-line-2); font-size:.93rem; }
table.dp-rooms th{ color:var(--d-muted); font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; }
table.dp-rooms tr:last-child td{ border-bottom:0; }
table.dp-rooms .rm-tip{ font-weight:700; color:var(--d-ink); }
table.dp-rooms .rm-mes{ font-weight:800; color:var(--d-ink); white-space:nowrap; }
table.dp-rooms .rm-dan{ white-space:nowrap; }
table.dp-rooms .rm-mes em, table.dp-rooms .rm-dan em{ font-style:normal; font-weight:600; font-size:.84em; color:var(--d-muted); }
table.dp-rooms .rm-none{ color:#c3ced7; font-style:normal; }

/* ===== Mobilni: 5 kolona ne staje na 375px (cena je bežala van ekrana),
   pa svaka soba postaje kartica. Ista HTML struktura, drugi prikaz. ===== */
@media (max-width:640px){
  table.dp-rooms, table.dp-rooms tbody, table.dp-rooms tr, table.dp-rooms td{ display:block; width:100%; }
  table.dp-rooms thead{ display:none; }
  table.dp-rooms tr{
    background:#fff; border:1px solid var(--d-line); border-radius:14px;
    padding:13px 15px; margin-bottom:10px; box-shadow:0 2px 8px rgba(6,30,45,.05);
  }
  table.dp-rooms tr:last-child{ margin-bottom:0; }
  table.dp-rooms td{ border-bottom:0; padding:0; font-size:.93rem; }

  /* naslov kartice = tip sobe */
  .dp-rooms .rm-tip{ font-size:1.04rem; font-weight:800; line-height:1.3; margin-bottom:6px; }
  /* stepen kao pilula ispod naslova */
  .dp-rooms .rm-stepen span{
    display:inline-block; background:var(--d-blue-l,#eaf6fd); color:#2c7fb0;
    border-radius:999px; padding:3px 11px; font-size:.78rem; font-weight:700;
  }
  .dp-rooms .rm-stepen{ margin-bottom:9px; }
  .dp-rooms .rm-stepen:has(.rm-none){ display:none; }        /* nema stepena → nema reda */
  .dp-rooms .rm-v{ text-align:right; }                       /* broj i valuta ostaju zajedno */
  /* kupatilo: labela + vrednost u jednom redu */
  .dp-rooms .rm-kup{ display:flex; justify-content:space-between; gap:10px;
                     color:var(--d-muted); font-size:.86rem; padding:5px 0; }
  .dp-rooms .rm-kup::before{ content:attr(data-l); }
  .dp-rooms .rm-kup:has(.rm-none){ display:none; }           /* nema kupatila → nema reda */
  /* cene: istaknute, odvojene linijom */
  .dp-rooms .rm-mes{ display:flex; justify-content:space-between; align-items:baseline; gap:10px;
                     border-top:1px solid var(--d-line-2); margin-top:8px; padding-top:9px;
                     font-size:1.12rem; font-weight:800; }
  .dp-rooms .rm-mes::before{ content:attr(data-l); font-size:.8rem; font-weight:600;
                     color:var(--d-muted); text-transform:none; }
  .dp-rooms .rm-dan{ display:flex; justify-content:space-between; gap:10px;
                     padding-top:5px; color:var(--d-ink2,#33566a); font-weight:700; font-size:.95rem; }
  .dp-rooms .rm-dan::before{ content:attr(data-l); font-size:.8rem; font-weight:600; color:var(--d-muted); }
  .dp-rooms .rm-dan:has(.rm-none){ display:none; }
}
/* Rezerva za pregledače bez :has() — bar da crtica ne bode oči */
@media (max-width:640px){
  .dp-rooms .rm-none{ color:#dbe3ea; }
}
.dp-cen-col{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.dp-cen-col ul{ list-style:none; padding:0; margin:0; } .dp-cen-col li{ padding:8px 0; border-bottom:1px dashed var(--d-line); font-size:.93rem; }
.dp-form{ display:grid; gap:14px; }
.dp-form label{ font-weight:600; font-size:.86rem; color:var(--d-ink); display:block; margin-bottom:5px; }
.dp-form input,.dp-form select,.dp-form textarea{ width:100%; box-sizing:border-box; padding:12px 14px; border:1px solid #dbe2ea; border-radius:11px; font-family:inherit; font-size:.95rem; background:#fff; transition:border .15s, box-shadow .15s; }
.dp-form input:focus,.dp-form select:focus,.dp-form textarea:focus{ outline:none; border-color:var(--d-blue); box-shadow:0 0 0 3px rgba(113,186,218,.22); }
.dp-form .dp-row{ display:flex; gap:14px; flex-wrap:wrap; } .dp-form .dp-row > div{ flex:1; min-width:150px; }
.dp-hp{ position:absolute; left:-9999px; }
.dp-disclaim{ background:#fff8ec; border:1px solid #fce4b3; color:#92591f; border-radius:var(--d-r-sm); padding:13px 17px; font-size:.88rem; margin:18px 0; }
.dp-cross{ background:linear-gradient(120deg,var(--d-navy),#16365f); color:#fff; border-radius:var(--d-r); padding:26px; margin-top:20px; box-shadow:var(--d-sh); }
.dp-cross a{ display:inline-block; margin-top:12px; background:linear-gradient(180deg,#84c4e4,var(--d-blue-d)); color:#fff; padding:11px 20px; border-radius:11px; text-decoration:none; font-weight:700; box-shadow:0 6px 16px rgba(113,186,218,.4); transition:transform .12s; }
.dp-cross a:hover{ transform:translateY(-1px); }
.dp-stars{ color:#f59e0b; }

/* Lightbox — Airbnb "Photo tour" (bela tema) */
.dpx{ position:fixed; inset:0; background:#fff; z-index:3000; display:none; overflow-y:auto; }
.dpx.is-open{ display:block; }
.dpx-bar{ position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; padding:14px 22px; background:rgba(255,255,255,.94); backdrop-filter:blur(8px); color:var(--d-navy); border-bottom:1px solid var(--d-line); }
.dpx-bar strong{ font-weight:700; font-size:.95rem; }
.dpx-close,.dpx-vclose{ background:#f1f5f9; border:1px solid var(--d-line); color:var(--d-navy); width:40px; height:40px; border-radius:50%; cursor:pointer; font-size:1.4rem; line-height:1; transition:background .15s; }
.dpx-close:hover,.dpx-vclose:hover{ background:#e7edf3; }
.dpx-tour{ max-width:960px; margin:0 auto; padding:26px 18px 90px; }
.dpx-sec{ margin-bottom:38px; }
.dpx-cat{ color:var(--d-navy); font-size:1.3rem; font-weight:800; margin:0 0 16px; letter-spacing:-.01em; }
.dpx-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dpx-cell{ border:0; padding:0; margin:0; cursor:pointer; background:#eef2f6; border-radius:14px; overflow:hidden; aspect-ratio:4/3; }
.dpx-cell img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.dpx-cell:hover img{ transform:scale(1.05); }
.dpx-viewer{ position:fixed; inset:0; background:rgba(255,255,255,.99); z-index:3100; display:none; align-items:center; justify-content:center; }
.dpx-viewer.is-open{ display:flex; }
.dpx-viewer img{ max-width:92vw; max-height:84vh; border-radius:10px; box-shadow:0 20px 60px rgba(16,24,40,.22); }
.dpx-vclose{ position:absolute; top:18px; right:22px; }
.dpx-vcount{ position:absolute; top:24px; left:50%; transform:translateX(-50%); color:var(--d-navy); font-weight:600; font-size:.9rem; }
.dpx-prev,.dpx-next{ position:absolute; top:50%; transform:translateY(-50%); background:#fff; border:1px solid var(--d-line); color:var(--d-navy); width:50px; height:50px; border-radius:50%; cursor:pointer; font-size:1.7rem; line-height:1; box-shadow:0 6px 18px rgba(16,24,40,.16); transition:background .15s; }
.dpx-prev{ left:18px; } .dpx-next{ right:18px; }
.dpx-prev:hover,.dpx-next:hover{ background:#f6f9fb; }
@media(max-width:680px){ .dpx-grid{ grid-template-columns:1fr; } .dpx-prev,.dpx-next{ width:42px; height:42px; } }

/* ============================================================
   PANEL DOMA (dom/dashboard.php)
   ============================================================ */
.domd-hello{ font-size:1.75rem; font-weight:800; color:var(--d-navy); margin:4px 0 2px; letter-spacing:-.02em; }
.domd-sub{ color:var(--d-muted); margin:0 0 22px; }
.domd-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:16px; margin-bottom:24px; }
.domd-card{ padding:20px; }
.domd-card h3{ margin:0 0 8px; font-size:.82rem; color:var(--d-muted); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.domd-num{ font-size:1.9rem; font-weight:800; color:var(--d-navy); }
.domd-banner{ border-radius:var(--d-r-md); padding:20px 22px; margin-bottom:24px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; box-shadow:var(--d-sh); }
.domd-banner--draft{ background:linear-gradient(120deg,#fff7ed,#fffdf8); border:1px solid #fcd9a8; }
.domd-banner--ok{ background:linear-gradient(120deg,#eef7fc,#f7fbfe); border:1px solid #bfe0f1; }
.domd-banner strong{ color:var(--d-navy); font-size:1.05rem; }
.domd-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.domd-pill{ display:inline-block; padding:4px 13px; border-radius:999px; font-size:.78rem; font-weight:700; margin-left:6px; }
.pill-draft,.pill-pending{ background:#fef3c7; color:#92400e; } .pill-active,.pill-approved{ background:#d1fae5; color:#065f46; }
.pill-inactive{ background:#e2e8f0; color:#475569; } .pill-rejected{ background:#fee2e2; color:#991b1b; } .pill-none{ background:#eef2f6; color:#64748b; }

/* ============================================================
   ČAROBNJAK (dom/profil_wizard.php)
   ============================================================ */
.dw-h1{ font-size:1.65rem; font-weight:800; color:var(--d-navy); margin:4px 0 20px; letter-spacing:-.02em; }
.dw-card{ padding:24px; margin-bottom:18px; }
.dw-card h2{ font-size:1.1rem; margin:0 0 4px; color:var(--d-navy); font-weight:800; }
.dw-card .dw-desc{ color:var(--d-muted); font-size:.86rem; margin:0 0 18px; }
/* Pomoć u vizardu (npr. objašnjenje stepena podrške) */
.dw-help{ background:#f6fafd; border:1px solid #dfeaf3; border-radius:10px; padding:10px 13px; margin:0 0 16px; }
.dw-help > summary{ cursor:pointer; font-weight:700; font-size:.84rem; color:#2c7fb0; }
.dw-help ul{ margin:10px 0 0; padding-left:18px; }
.dw-help li{ font-size:.84rem; line-height:1.55; color:#4a6474; margin-bottom:5px; }
.dw-help p{ margin:10px 0 0; font-size:.77rem; color:#8ba0af; line-height:1.5; }
.dw-field{ margin-bottom:16px; }
.dw-field > label{ display:block; font-weight:600; font-size:.88rem; color:var(--d-ink); margin-bottom:7px; }
.dw-field input[type=text],.dw-field input[type=number],.dw-field input[type=url],.dw-field select,.dw-field textarea{
  width:100%; box-sizing:border-box; padding:12px 14px; border:1px solid #dbe2ea; border-radius:11px; font-size:.95rem; font-family:inherit; background:#fff; transition:border .15s, box-shadow .15s; }
.dw-field input:focus,.dw-field select:focus,.dw-field textarea:focus{ outline:none; border-color:var(--d-blue); box-shadow:0 0 0 3px rgba(113,186,218,.22); }
.dw-row{ display:flex; gap:14px; flex-wrap:wrap; } .dw-row > .dw-field{ flex:1; min-width:160px; }
.dw-checks{ display:flex; flex-wrap:wrap; gap:9px; }
.dw-check{ display:inline-flex; align-items:center; gap:9px; padding:10px 15px; border:1px solid #dbe2ea; border-radius:999px; cursor:pointer; font-size:.9rem; background:#fff; transition:border .15s, background .15s; user-select:none; }
.dw-check:hover{ border-color:var(--d-blue); }
.dw-check input{ accent-color:var(--d-blue); width:16px; height:16px; }
.dw-check:has(input:checked){ background:var(--d-blue-l); border-color:var(--d-blue); color:var(--d-blue-dd); font-weight:600; }
.dw-toggle{ display:inline-flex; align-items:center; gap:10px; font-weight:600; color:var(--d-ink); cursor:pointer; }
.dw-toggle input{ width:18px; height:18px; accent-color:var(--d-blue); }
.dw-repeat-row{ display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; border:1px solid var(--d-line-2); background:#fbfdff; border-radius:12px; padding:12px; margin-bottom:12px; }
.dw-repeat-row .dw-field{ margin-bottom:0; }
.dw-mini{ font-size:.76rem; color:var(--d-muted); font-weight:600; }
.dw-addbtn{ background:var(--d-blue-l); border:1px dashed #b9d9ec; color:var(--d-blue-dd); border-radius:11px; padding:11px 16px; cursor:pointer; font-weight:700; font-size:.88rem; transition:background .15s; }
.dw-addbtn:hover{ background:#dceefa; }
.dw-rm{ background:#fff; border:1px solid #f0d4d4; border-radius:9px; color:#dc2626; cursor:pointer; font-size:1.1rem; line-height:1; width:38px; height:38px; }
/* „÷31" — popuni dnevnu cenu iz mesečne (zvanični cenovnici ustanova tako računaju) */
.dw-calc{ margin-top:5px; background:#fff; border:1px solid #cfe0ee; border-radius:8px; color:#2c7fb0;
          cursor:pointer; font-family:inherit; font-size:.74rem; font-weight:700; padding:4px 9px; }
.dw-calc:hover{ background:var(--d-blue-l); }
.dw-rm:hover{ background:#fef2f2; }
.dw-savebar{ position:sticky; bottom:0; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border:1px solid var(--d-line); border-radius:14px; padding:13px 16px; display:flex; gap:12px; align-items:center; justify-content:flex-end; box-shadow:0 -8px 24px rgba(15,23,42,.07); flex-wrap:wrap; }
.dw-flash{ padding:13px 16px; border-radius:12px; margin-bottom:18px; font-weight:600; }
.dw-flash--ok{ background:#eef7fc; color:#0b5e8a; border:1px solid #bfe0f1; } .dw-flash--err{ background:#fef2f2; color:#991b1b; border:1px solid #fbcaca; }
@media (max-width:820px){ .dw-savebar{ bottom:8vh; } }

/* ============================================================
   FOTOGRAFIJE (dom/fotografije.php) — Airbnb stil
   ============================================================ */
.fp-h1{ font-size:1.6rem; font-weight:800; color:var(--d-navy); margin:4px 0 4px; letter-spacing:-.02em; }
.fp-sub{ color:var(--d-muted); margin:0 0 18px; }
/* flex-wrap:nowrap je OBAVEZAN: fotografije.php inline postavlja flex-wrap:wrap (za horizontalni
   raspored), a mi ovde menjamo smer u column. „Kolona + prelamanje" razvlači pregled slika
   (ćelija 156px → 660px praznog prostora). Ne uklanjati. */
.fp-up{ padding:22px; margin-bottom:22px; display:flex; flex-direction:column; flex-wrap:nowrap; gap:16px; align-items:stretch; background:var(--d-card); border:1px solid var(--d-line); border-radius:var(--d-r-md); box-shadow:var(--d-sh); }
.fp-up label{ display:block; font-size:.82rem; font-weight:700; color:var(--d-ink); margin-bottom:6px; }
.fp-catwrap{ max-width:280px; }
.fp-up select{ width:100%; box-sizing:border-box; padding:11px 13px; border:1px solid #dbe2ea; border-radius:11px; background:#fff; font-family:inherit; font-size:.92rem; }
.fp-up select:focus{ outline:none; border-color:var(--d-blue); box-shadow:0 0 0 3px rgba(113,186,218,.22); }
.fp-drop{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; text-align:center;
  border:2px dashed #cdd9e5; border-radius:16px; padding:38px 20px; cursor:pointer; background:#fbfdff;
  transition:border-color .15s, background .15s; width:100%; box-sizing:border-box; }
.fp-drop:hover,.fp-drop.is-drag{ border-color:var(--d-blue); background:var(--d-blue-l); }
.fp-drop-ic{ color:var(--d-blue-dd); margin-bottom:4px; }
.fp-drop-t{ font-weight:700; color:var(--d-navy); font-size:1rem; }
.fp-drop-s{ font-size:.84rem; color:var(--d-muted); }
.fp-drop-files{ font-size:.86rem; color:var(--d-blue-dd); font-weight:700; margin-top:6px; }
.fp-btn{ padding:12px 22px; align-self:flex-start; }
/* Live pregled izabranih slika (pre otpremanja) */
.fp-prev{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:12px; }
.fp-prev:empty{ display:none; }
.fp-prev-item{ position:relative; border:1px solid var(--d-line); border-radius:12px; overflow:hidden; background:#fff; box-shadow:var(--d-sh); }
.fp-prev-item img{ width:100%; height:112px; object-fit:cover; display:block; }
.fp-prev-x{ position:absolute; top:7px; right:7px; width:26px; height:26px; border-radius:50%; border:0; background:rgba(11,31,62,.72); color:#fff; font-size:1.1rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s; }
.fp-prev-x:hover{ background:#dc2626; }
.fp-prev-cat{ width:100%; box-sizing:border-box; border:0; border-top:1px solid var(--d-line-2); padding:8px 10px; font-family:inherit; font-size:.82rem; background:#fff; color:#334155; cursor:pointer; }
.fp-prev-cat:focus{ outline:none; background:var(--d-blue-l); }
.fp-prevhint{ font-size:.84rem; color:var(--d-muted); margin:2px 0 0; }
.fp-btn:disabled{ opacity:.5; cursor:not-allowed; box-shadow:none; }
/* Reorder postojećih slika (prevlačenje) */
.fp-reorderhint{ font-size:.84rem; color:var(--d-muted); margin:0 0 12px; }
.fp-item[draggable="true"]{ cursor:grab; }
.fp-item.is-dragging{ opacity:.45; cursor:grabbing; }
.fp-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.fp-item{ overflow:hidden; position:relative; transition:transform .14s, box-shadow .14s; border-radius:14px; }
.fp-item:hover{ transform:translateY(-3px); box-shadow:var(--d-sh-h); }
.fp-item img{ width:100%; height:160px; object-fit:cover; display:block; }
.fp-cover{ position:absolute; top:10px; left:10px; background:var(--d-green); color:#fff; font-size:.7rem; font-weight:700; padding:4px 11px; border-radius:999px; box-shadow:0 4px 10px rgba(22,163,74,.3); }
.fp-cat{ font-size:.74rem; color:var(--d-muted); padding:9px 12px 2px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.fp-act{ display:flex; justify-content:space-between; padding:6px 12px 11px; }
.fp-act a{ font-size:.8rem; text-decoration:none; color:var(--d-blue-dd); font-weight:700; }
.fp-act a.del{ color:#dc2626; }
.fp-flash{ padding:12px 16px; border-radius:11px; margin-bottom:16px; font-weight:600; }
.fp-ok{ background:#eef7fc; color:#0b5e8a; border:1px solid #bfe0f1; } .fp-er{ background:#fef2f2; color:#991b1b; border:1px solid #fbcaca; }
.fp-tip{ background:#fff8ec; border:1px solid #fce4b3; color:#92591f; border-radius:11px; padding:11px 15px; font-size:.85rem; margin-bottom:18px; }
.fp-back,.iq-back,.rv-back,.oc-back{ display:inline-block; margin-bottom:10px; color:var(--d-muted); text-decoration:none; font-weight:600; }
.fp-back:hover,.iq-back:hover,.rv-back:hover,.oc-back:hover{ color:var(--d-ink); }

/* ============================================================
   UPITI / OCENE / FORMA OCENE
   ============================================================ */
.iq-h1,.rv-h1{ font-size:1.55rem; font-weight:800; color:var(--d-navy); margin:4px 0 18px; letter-spacing:-.02em; }
.iq-card{ padding:18px 20px; margin-bottom:13px; }
.iq-card.iq-new{ border-left:4px solid var(--d-blue); }
.iq-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:9px; }
.iq-name{ font-weight:800; color:var(--d-navy); font-size:1.02rem; }
.iq-type{ background:var(--d-blue-l); color:var(--d-blue-dd); border-radius:999px; padding:4px 11px; font-size:.78rem; font-weight:700; }
.iq-date{ color:#94a3b8; font-size:.82rem; }
.iq-row{ color:#475569; font-size:.92rem; margin:4px 0; } .iq-row b{ color:var(--d-navy); }
.iq-row a{ color:var(--d-blue-dd); text-decoration:none; font-weight:600; }
.iq-msg{ background:#f7fafc; border-radius:11px; padding:11px 13px; margin-top:9px; color:var(--d-ink); font-size:.92rem; }
.iq-actions{ margin-top:12px; display:flex; gap:8px; flex-wrap:wrap; }
.iq-btn{ font-size:.82rem; padding:8px 13px; border-radius:9px; text-decoration:none; border:1px solid var(--d-line); color:var(--d-navy); background:#fff; font-weight:600; transition:background .12s; }
.iq-btn:hover{ background:#f6f9fb; }
.iq-pill,.rv-pill{ font-size:.74rem; padding:3px 11px; border-radius:999px; font-weight:700; }
.pill-novo{ background:#dbeafe; color:#1e40af; } .pill-procitano{ background:#eef2f6; color:#475569; } .pill-odgovoreno{ background:#d1fae5; color:#065f46; } .pill-spam{ background:#fee2e2; color:#991b1b; }
.rv-avg{ color:var(--d-muted); margin:0 0 18px; } .rv-avg .st{ color:#f59e0b; font-weight:800; font-size:1.25rem; }
.rv-card{ padding:15px 17px; margin-bottom:11px; }
.rv-top{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
.rv-stars{ color:#f59e0b; } .rv-name{ font-weight:700; color:var(--d-navy); font-size:.92rem; margin-top:3px; }
.rv-msg{ color:#475569; font-size:.93rem; margin-top:5px; } .rv-date{ color:#94a3b8; font-size:.8rem; margin-top:5px; }
.rv-note,.oc-note{ background:#fff8ec; border:1px solid #fce4b3; color:#92591f; border-radius:11px; padding:11px 15px; font-size:.85rem; margin-bottom:16px; }
.pill-pending{ background:#dbeafe; color:#1e40af; } .pill-approved{ background:#d1fae5; color:#065f46; } .pill-rejected{ background:#fee2e2; color:#991b1b; }
.oc-card{ padding:26px; }
.oc-card h1{ font-size:1.35rem; color:var(--d-navy); margin:0 0 4px; font-weight:800; }
.oc-sub{ color:var(--d-muted); margin:0 0 20px; }
.oc-stars{ display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:6px; margin:8px 0 20px; }
.oc-stars input{ display:none; }
.oc-stars label{ font-size:2.4rem; color:#d6dee6; cursor:pointer; transition:color .1s, transform .1s; }
.oc-stars input:checked ~ label,.oc-stars label:hover,.oc-stars label:hover ~ label{ color:#f59e0b; }
.oc-stars label:hover{ transform:scale(1.12); }
.oc-card textarea{ width:100%; box-sizing:border-box; padding:13px; border:1px solid #dbe2ea; border-radius:11px; font-family:inherit; background:#fff; }
.oc-card textarea:focus{ outline:none; border-color:var(--d-blue); box-shadow:0 0 0 3px rgba(113,186,218,.22); }
.oc-btn{ padding:13px 22px; width:100%; margin-top:16px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:860px){
  :root{ --d-top:92px; }
  .ds-wrap{ grid-template-columns:1fr; } .ds-filters{ position:static; }
  .ds-hero h1{ font-size:1.6rem; } .ds-hero p{ font-size:.95rem; }
  .dp-gallery{ grid-template-columns:1fr 1fr; grid-template-rows:auto; height:auto; }
  .dp-gcover{ grid-column:1 / 3; grid-row:auto; height:240px; }
  .dp-gthumb{ height:130px; }
  .dp-ph{ height:240px; font-size:3.4rem; }
  .dp-title{ font-size:1.55rem; } .dp-price{ text-align:left; }
  .dp-cen-col{ grid-template-columns:1fr; }
  .dp-sec{ padding:18px; }
}
