/* Antetul paginii casei, varianta aleasă pe 05.11.2026: D1 pe desktop, P1 pe telefon (antet A + butoane C).
   Titlu, rândul cu stele / vizualizări / ID, share + wishlist (+ Owner Details la admin) în dreapta, cele 4 detalii cu iconiță,
   apoi Available + Request scout (mic, roșu); Map cu contur roșu lângă Owner Details doar la admin (Robert, 07.11.2026). Download ZIP / Mood board / Download PDF rămân sub poze, la dreapta,
   ca pastile gri (decis de Andreas: „întâi vizual, apoi call to action”). Se încarcă doar din property-detail.blade.php.
   Culori: text #222, secundar #6a6a6a (5,4:1 pe alb), linii #ebebeb, roșu #d42521 (5,0:1 cu text alb; #e72924 dă doar 4,4:1). */
.afn-hdr { --ink: #222; --mute: #6a6a6a; --line: #ebebeb; --red: #d42521; --red-d: #b81e1a; --pill: #f2f2f2; --pill-d: #e7e7e7; }
#product_info.afn-hdr { padding: 30px 0 22px; }
.afn-hdr .afn-head { padding: 0 15px; font-family: robotoregular, Roboto, sans-serif; color: var(--ink); }   /* + 15px din .container-fluid = 30px, cât galeria */
.afn-hdr .afn-ico { width: 18px; height: 18px; flex: none; }
.afn-hdr ::selection { background: #f6d4d3; color: #222; }

/* Rândul de sus: titlu + meta la stânga, acțiunile la dreapta */
.afn-hdr .afn-head-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; padding: 0 0 20px; margin: 0; border-bottom: 1px solid var(--line); }
.afn-hdr .afn-head-title h4 { font-family: robotoregular, Roboto, sans-serif; font-weight: 700; font-size: 30px; line-height: 1.15; letter-spacing: -.01em; color: var(--ink); margin: 0 0 8px; padding: 0; text-transform: none; }
.afn-hdr .afn-meta, .afn-hdr .afn-actions, .afn-hdr .afn-facts { list-style: none; margin: 0; padding: 0; }
.afn-hdr .afn-meta { display: flex; flex-wrap: wrap; align-items: center; row-gap: 4px; }
.afn-hdr .afn-meta li { display: inline-flex; align-items: center; gap: 6px; border: 0; padding: 0; margin: 0; font-size: 14px; line-height: 20px; color: var(--mute); }
.afn-hdr .afn-meta li + li::before { content: ""; width: 3px; height: 3px; border-radius: 50%; background: #b0b0b0; margin: 0 10px; }
.afn-hdr .afn-meta .date { color: var(--mute); }
.afn-hdr .afn-meta .star { gap: 2px; }
.afn-hdr .afn-meta .star i { color: var(--ink); font-size: 13px; margin: 0; }
.afn-hdr .afn-meta .visit .afn-ico { width: 16px; height: 16px; }
.afn-hdr .afn-meta span { font-size: 14px; color: var(--mute); }
.afn-hdr .afn-meta .afn-id { gap: 4px; }
.afn-hdr .afn-meta .afn-id span { color: var(--ink); }
.afn-hdr .afn-head-actions { position: relative; padding-bottom: 2px; }
.afn-hdr .afn-actions { display: flex; align-items: center; gap: 24px; }
.afn-hdr .afn-actions > li { display: inline-flex; align-items: center; gap: 8px; border: 0; padding: 0; margin: 0; white-space: nowrap; cursor: pointer; }
.afn-hdr .afn-actions > li, .afn-hdr .afn-actions > li > a { font-size: 14px; font-weight: 500; color: var(--ink); text-transform: none; letter-spacing: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.afn-hdr .afn-actions > li > a { display: inline-flex; align-items: center; gap: 8px; }
.afn-hdr .afn-actions > li:hover, .afn-hdr .afn-actions > li > a:hover { color: var(--ink); text-decoration-thickness: 2px; }
/* Robert, 07.11.2026: suppress Bootstrap's click/tap focus ring, retaining keyboard focus below. */
.afn-hdr .afn-actions a:focus:not(:focus-visible) { outline: none; }
.afn-hdr .afn-actions > li > a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.afn-hdr .afn-actions .afn-ico { width: 17px; height: 17px; }
.afn-hdr .afn-actions .addto span { display: none; }   /* contorul „0” de lângă wishlist, mereu 0 */
.afn-hdr .afn-actions .addto.is-saved .afn-ico { fill: var(--red); stroke: var(--red); }
/* Caseta de share stă în butonul „Share This”, centrată sub el; banda ::before acoperă golul, ca mouse-ul să nu iasă din buton
   în drum spre casetă (reparat 05.11.2026: înainte apărea în dreapta rândului, la admin sub Owner Details, și se închidea singură). */
.afn-hdr #pro_sharein { position: relative; }
.afn-hdr #pro_sharein .share_bx { top: calc(100% + 10px); left: 50%; right: auto; transform: translateX(-50%); cursor: default; }
.afn-hdr #pro_sharein .share_bx::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }   /* exact golul de 10 px, fără să acopere butonul */
@media (hover: none) { .afn-hdr #pro_sharein .share_bx::before { display: none; } }   /* pe ecranele tactile nu e nevoie de bandă */

/* Detaliile din fișă, fiecare cu iconița ei */
.afn-hdr .afn-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.afn-hdr .afn-facts li { display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 14px; align-items: center; border: 0; padding: 0; margin: 0; text-align: left; }
.afn-hdr .afn-facts .afn-fact-ico { width: 26px; height: 26px; grid-row: 1 / 3; stroke-width: 1.5; }
.afn-hdr .afn-facts li p { grid-column: 2; grid-row: 1; margin: 0; font-family: robotoregular, Roboto, sans-serif; font-size: 16px; line-height: 22px; font-weight: 600; color: var(--ink); overflow-wrap: anywhere; }
.afn-hdr .afn-facts li h4 { grid-column: 2; grid-row: 2; margin: 1px 0 0; padding: 0; font-family: robotoregular, Roboto, sans-serif; font-size: 13px; line-height: 18px; font-weight: 400; color: var(--mute); letter-spacing: 0; text-transform: none; }

/* Rândul de jos: disponibilitatea la stânga, Request scout la dreapta */
.afn-hdr .afn-head-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 20px; }
.afn-hdr .afn-avail { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: var(--ink); white-space: nowrap; }
.afn-hdr .afn-avail::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #1f9d55; box-shadow: 0 0 0 4px rgba(31, 157, 85, .14); }
.afn-hdr .afn-avail.is-off::before { background: #9a9a9a; box-shadow: 0 0 0 4px rgba(0, 0, 0, .06); }
.afn-hdr .reques.afn-btn-req { margin: 0; padding: 0; }
.afn-hdr .reques.afn-btn-req a {
  display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 16px; border-radius: 999px; background: var(--red); color: #fff;
  font-family: robotoregular, Roboto, sans-serif; font-size: 13.5px; font-weight: 500; letter-spacing: 0; text-decoration: none; cursor: pointer;
  transition: background-color .15s ease-out, transform .15s ease-out; }
.afn-hdr .reques.afn-btn-req a:hover { background: var(--red-d); color: #fff; text-decoration: none; }
.afn-hdr .reques.afn-btn-req a:active { transform: scale(.98); }
.afn-hdr .reques.afn-btn-req a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.afn-hdr .reques.afn-btn-req .afn-ico { width: 15px; height: 15px; }

/* Sub poze: Download ZIP / Mood board / Download PDF, pastile gri, la dreapta */
/* Butoanele de sub poze plutesc lipite de jos cât derulezi prin poze, pe o bandă semitransparentă, și se așază sub
   galerie la final (cerut de client pe 05.11.2026: „să le ai mereu în view”). sticky = rămâne în secțiunea pozelor;
   cu Mood board deschis (bara lui e fixată jos) banda revine la locul ei (.afn-mood-open, pus de afn-gallery.js). */
.pro_slaider .btn_label.afn-under {
  position: sticky; bottom: 0; z-index: 60; margin: 4px 0 16px; padding: 12px 30px;
  background: rgba(255, 255, 255, .78); -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px);
}
.pro_slaider.afn-mood-open .btn_label.afn-under { position: static; }
body #back-to-top { bottom: 84px; }   /* butonul roșu „sus” urcă deasupra benzii (banda are ~64 px) */
.pro_slaider .afn-under ul { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
.pro_slaider .afn-under ul li { list-style: none; display: flex; padding: 0; margin: 0; float: none; }
.pro_slaider .afn-under form, .pro_slaider .afn-under .text-center { display: flex; margin: 0; }
.pro_slaider .afn-under ul li a, .pro_slaider .afn-under ul li button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; margin: 0; padding: 0 20px !important;
  border: 0; border-radius: 999px; background: #f2f2f2 !important; color: #222 !important; font-family: robotoregular, Roboto, sans-serif;
  font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; text-decoration: none !important; cursor: pointer; box-shadow: none; width: auto;
  transition: background-color .15s ease-out, transform .15s ease-out; }
.pro_slaider .afn-under ul li a:hover, .pro_slaider .afn-under ul li button:hover { background: #e7e7e7 !important; }
.pro_slaider .afn-under ul li a:active, .pro_slaider .afn-under ul li button:active { transform: scale(.98); }
.pro_slaider .afn-under ul li a:focus-visible, .pro_slaider .afn-under ul li button:focus-visible { outline: 2px solid #222; outline-offset: 2px; }
.pro_slaider .afn-under .afn-ico { width: 17px; height: 17px; flex: none; }

/* Sub 992 px meniul site-ului nu mai e fix, ci stă în pagină (style.css, „@media screen and (max-width: 992px) .navbar
   position: relative”), așa că marginea de 85 px, gândită pentru meniul fix de pe desktop, lăsa un gol mare deasupra
   titlului (văzut de Robert pe telefon, 05.11.2026). Același prag ca site-ul. */
@media screen and (max-width: 992px) { #product_info.afn-hdr { margin-top: 0; } }

/* Telefon (P1): mai mult aer, detaliile unul sub altul, Request scout mic pe rândul cu Available */
@media (max-width: 820px) {
  #product_info.afn-hdr { padding: 20px 0 18px; }
  .afn-hdr .afn-head { padding: 0 1px; }   /* + 15px din .container-fluid = 16px, cât banda de poze */
  .afn-hdr .afn-head-top { flex-direction: column; align-items: flex-start; gap: 18px; padding-bottom: 22px; }
  .afn-hdr .afn-head-title h4 { font-size: 24px; margin-bottom: 8px; }
  .afn-hdr .afn-meta li, .afn-hdr .afn-meta span { font-size: 13px; }
  .afn-hdr .afn-meta li + li::before { margin: 0 8px; }
  .afn-hdr .afn-actions { flex-wrap: wrap; gap: 12px 22px; }
  .afn-hdr #pro_sharein .share_bx { left: 0; transform: none; }
  .afn-hdr .afn-facts { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 22px 0; }
  .afn-hdr .afn-facts li { grid-template-columns: 24px minmax(0, 1fr); column-gap: 14px; }
  .afn-hdr .afn-facts .afn-fact-ico { width: 24px; height: 24px; }
  .afn-hdr .afn-facts li p { font-size: 15px; line-height: 20px; }
  .afn-hdr .afn-facts li h4 { font-size: 12.5px; line-height: 17px; }
  .afn-hdr .afn-head-bottom { gap: 16px; padding-top: 20px; }
  .pro_slaider .btn_label.afn-under { margin: 8px 0 20px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); }
  body #back-to-top { bottom: 76px; }
  /* Rândul de sub poze pe toată lățimea, cu iconițe ca pe desktop (cerut de Robert, 05.11.2026). Butoanele împart
     spațiul egal (flex 1 1 0), dar nu scad sub conținutul lor (min-width: auto; de aceea fără overflow: hidden, care
     ar face minimul 0 și ar tăia textul). Fontul și iconița scad cu ecranul: măsurat la 320–820 px, rândul încape,
     iar de la 360 px fiecare buton mai are 4–7 px de rezervă pentru fonturi mai late pe Android. */
  .pro_slaider .afn-under ul { display: flex; flex-wrap: nowrap; justify-content: space-between; gap: 6px; }
  .pro_slaider .afn-under ul li { flex: 1 1 0; width: auto; min-width: auto; }
  .pro_slaider .afn-under form, .pro_slaider .afn-under .text-center { width: 100%; min-width: auto; }
  .pro_slaider .afn-under ul li a, .pro_slaider .afn-under ul li button { width: 100%; min-width: auto; height: 40px; padding: 0 7px !important;
    font-size: clamp(11px, 3.1vw, 12.5px); gap: .3em; white-space: nowrap; }
  .pro_slaider .afn-under .afn-ico { width: 1em; height: 1em; }
}
@media (max-width: 340px) {   /* iPhone SE (1) și ecrane la fel de înguste: mai puțin aer în buton, ca rândul să încapă */
  .pro_slaider .afn-under ul li a, .pro_slaider .afn-under ul li button { padding: 0 4px !important; }
}

/* Robert approved Design proposal 2 on 07.11.2026: outlined Map beside Owner Details.
   Keep all original icons. Mobile uses two action rows only when the admin Map exists. */
.afn-hdr .afn-actions > .afn-map-item { text-decoration: none; }
.afn-hdr .afn-actions .afn-map-item .afn-map-link {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  height: 34px; min-height: 34px; padding: 0 13px; border: 1px solid var(--red); border-radius: 999px;
  background: #fff; color: var(--red); font-size: 13px; font-weight: 500; text-decoration: none;
  white-space: nowrap; touch-action: manipulation;
}
/* Preserve the approved 34px outline while providing a 44px touch target. */
.afn-hdr .afn-map-link::before { content: ""; position: absolute; inset: -6px 0; }
.afn-hdr .afn-actions .afn-map-link .afn-ico { width: 14px; height: 14px; }
.afn-hdr .afn-actions .afn-map-link:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
@media (max-width: 820px) {
  .afn-hdr .afn-head-actions-with-map { width: 100%; }
  .afn-hdr .afn-head-actions-with-map .afn-actions { width: 100%; display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 22px; }
  .afn-hdr .afn-actions .afn-map-item { justify-self: end; }
}
