/* desktop-card-v2.css — randuri de tarif + panou detalii, desktop v2 (12 Nov 2026). Activ doar cu ?deskv2=1 (cookie ot_deskv2). */
.tarif-item.tdv2 { border-top: 1px solid #e6ebf2; }
.tdv2-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; gap: 18px; align-items: center; padding: 18px 20px; }
.tdv2-row .like_div { opacity: .45; transition: opacity .2s, transform .2s; position: relative; display: flex; align-items: center; cursor: pointer; }
.tdv2-row .like_div:hover { opacity: 1; transform: scale(1.12); }
.tdv2-row .like_div:hover .fav-tooltip { opacity: 1; }
.tdv2-row .like_div.active .svg-icon path { fill: #1dc116; stroke: #3d8336; }
.tdv2-main { min-width: 0; }
.tdv2-room { font-weight: 700; font-size: 15px; line-height: 1.3; color: #0f172a; }
.tdv2-grila { font-size: 12px; color: #64748b; margin-top: 1px; }
.tdv2-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 4px; font-size: 13.5px; color: #1e293b; }
.tdv2-meal { font-weight: 600; }
.tdv2-av { font-size: 12.5px; }
.tdv2-fz { display: grid; gap: 6px; margin-top: 12px; }
.tdv2-ln { display: grid; grid-template-columns: 54px 84px minmax(0, 1fr); gap: 10px; align-items: baseline; font-size: 13px; }
.tdv2-lb { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
.tdv2-dt { color: #64748b; }
.tdv2-tm { font-weight: 600; font-size: 14.5px; white-space: nowrap; font-variant-numeric: tabular-nums; color: #0f172a; }
.tdv2-tm i { font-style: normal; font-weight: 500; font-size: 11.5px; color: #64748b; margin: 0 2px; }
.tdv2-tm sup { font-size: 10px; font-weight: 600; color: #a85a00; margin-left: 2px; }
.tdv2-esc { font-weight: 500; font-size: 12px; color: #64748b; margin-left: 6px; }
.tdv2-price { text-align: right; min-width: 96px; line-height: 1.15; }
.tdv2-price .old-price { margin: 0; }
.tdv2-price .new-price { margin: 0; font-size: 20px; font-weight: 700; color: #0f172a; white-space: nowrap; }
.tdv2-act { display: grid; gap: 8px; width: 128px; }
.tdv2-act .btn-oferte-lista { margin: 0; width: 100%; padding: 11px 0; font-size: 14px; font-weight: 700; border-radius: 8px; }
.tdv2-det { background: transparent; color: #0057b8; border: 1px solid #cdd7e6; border-radius: 8px; padding: 6px 0; font-size: 13px; font-weight: 600; cursor: pointer; text-align: center; font-family: inherit; }
.tdv2-det[aria-expanded="true"] { background: #eef3fa; border-color: #0057b8; }
.tdv2-act .admin-info-zona { margin-top: 2px; }
/* panou detalii */
.tarif-accordion-content.tdv2-panel { display: none; padding: 22px 24px 24px; background: #f4f7fb; border-top: 1px solid #e6ebf2; }
.tarif-accordion-content.tdv2-panel.active { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 32px; }
.tdv2-col { display: grid; gap: 20px; align-content: start; min-width: 0; }
.tdv2-h { margin: 0 0 8px; font-size: 11.5px; line-height: 1.2; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #64748b; }
.tdv2-fcard { background: #fff; border: 1px solid #dbe3ef; border-radius: 10px; padding: 12px 14px; display: grid; gap: 6px; margin-bottom: 8px; }
.tdv2-fcard-top { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; color: #64748b; }
.tdv2-fcard-top b { font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: #0057b8; }
.tdv2-leg { display: grid; gap: 1px; }
.tdv2-leg .t { font-size: 19px; font-weight: 700; color: #0f172a; font-variant-numeric: tabular-nums; }
.tdv2-leg .t i { font-style: normal; font-size: 13px; font-weight: 500; color: #64748b; margin: 0 4px; }
.tdv2-leg .t sup { font-size: 10.5px; font-weight: 600; color: #a85a00; }
.tdv2-leg .c { font-size: 12.5px; color: #64748b; }
.tdv2-note { font-size: 11.5px; color: #64748b; margin: 2px 0 0; }
.tdv2-panel .tarif-sectiune-titlu { display: none; }
.tdv2-panel ul.servicii-incluse { margin: 0; }
.tdv2-panel .conditii-blk p { font-size: 13px; line-height: 1.45; margin: 0 0 6px; }
.tdv2-panel .conditii-lazy-zona { display: contents; }
@media (max-width: 991px) { .tdv2-row { grid-template-columns: 34px minmax(0, 1fr); } .tdv2-price, .tdv2-act { grid-column: 2; } .tdv2-act { width: auto; grid-template-columns: 1fr 1fr; } .tarif-accordion-content.tdv2-panel.active { grid-template-columns: 1fr; } }

/* ===== CAP CARD (dcv2) ===== */
.detalii-cazare.dcv2 { padding: 0 !important; overflow: hidden; border-radius: 14px; }
.dcv2-head { display: grid; grid-template-columns: 240px minmax(0, 1fr) 240px; }
.dcv2-photo { position: relative; min-height: 230px; background: #eef2f7; }
.dcv2-photo img.img-locatie { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; margin: 0; }
.dcv2-info { padding: 18px 22px; display: grid; gap: 9px; align-content: start; min-width: 0; font-size: 14px; color: #1e293b; }
.dcv2-name { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dcv2-name a { font-size: 22px; font-weight: 700; line-height: 1.2; color: #0f172a; text-decoration: none; }
.dcv2-name a:hover { color: #0057b8; }
.dcv2-rate:empty { display: none; }
.dcv2-loc { color: #475569; }
.dcv2-key { color: #1e293b; }
.dcv2-meal b { font-weight: 700; }
.dcv2-av { font-size: 12.5px; font-weight: 600; margin-left: 6px; }
.dcv2-av.ok { color: #1a9a3a; } .dcv2-av.rq { color: #b7791f; }
.dcv2-tags { font-size: 12.5px; color: #64748b; }
.dcv2-pricebox { border-left: 1px solid #e6ebf2; background: #f4f7fb; padding: 18px 22px; display: grid; gap: 3px; align-content: center; justify-items: end; text-align: right; }
.dcv2-from { font-size: 12px; color: #64748b; }
.dcv2-old { font-size: 13px; color: #94a3b8; }
.dcv2-price { font-size: 15px; font-weight: 600; color: #0f172a; }
.dcv2-price b { font-size: 36px; font-weight: 700; line-height: 1; }
.dcv2-per { font-size: 12px; color: #64748b; }
.dcv2-btn-all { margin-top: 12px; width: 100%; background: #0057b8; color: #fff; border: 0; border-radius: 9px; padding: 12px 10px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: inherit; }
.dcv2-btn-all:hover { background: #004a9c; }
.tarife-list .tarif-header.dcv2-tt { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 22px 10px; font-size: 13px; color: #64748b; background: #fff; border-top: 1px solid #e6ebf2; border-bottom: 0; }
.dcv2-tt-l { font-size: 15px; font-weight: 700; color: #0f172a; }
@media (max-width: 991px) { .dcv2-head { grid-template-columns: 1fr; } .dcv2-photo { min-height: 190px; } .dcv2-pricebox { border-left: 0; border-top: 1px solid #e6ebf2; justify-items: start; text-align: left; } }

/* corecturi dupa test live */
.tdv2-row .like_div { position: static !important; align-self: center; justify-self: center; margin: 0 !important; width: auto; height: auto; }
.tdv2-row .like_div .fav-tooltip { position: absolute; left: 30px; top: 50%; transform: translateY(-50%); white-space: nowrap; pointer-events: none; opacity: 0; }
.tdv2-row { position: relative; }
.tdv2-row .like_div { position: relative !important; }
.dcv2-name .star-rating { display: inline-flex !important; width: auto !important; margin: 0 !important; flex: none; }
.tdv2-price .old-price, .tdv2-price .old-price s { color: #94a3b8 !important; font-size: 13px; }
.tdv2-price .new-price { color: #0f172a !important; }
.dcv2-tags .btn, .dcv2-tags span { font-size: 12px; }

/* caseta de pret: nota sus-dreapta, pret la mijloc, buton jos */
.dcv2-pricebox { display: flex !important; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 14px; min-height: 100%; box-sizing: border-box; }
.dcv2-pmid { display: grid; gap: 3px; justify-items: end; text-align: right; }
.dcv2-score { display: flex; align-items: center; gap: 9px; text-align: right; }
.dcv2-score b { background: #1a73e8; color: #fff; border-radius: 9px; padding: 8px 11px; font-size: 22px; line-height: 1; font-weight: 700; }
.dcv2-score.ocazii b { background: #e8810c; }
.dcv2-score-n { display: grid; gap: 2px; text-align: left; line-height: 1.15; }
.dcv2-score-n em { font-style: normal; font-weight: 700; font-size: 13px; color: #1e293b; }
.dcv2-score-n span { font-size: 12px; color: #64748b; }
.dcv2-btn-all { margin-top: 0 !important; }

/* nota pe verticala: scor mare, dedesubt "G Google", apoi nr recenzii */
.dcv2-score { flex-direction: column; align-items: flex-end; gap: 6px; }
.dcv2-score b { font-size: 26px; padding: 9px 14px; }
.dcv2-score-n { text-align: right; justify-items: end; gap: 3px; }
.dcv2-score-n em { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; }
.dcv2-score.google .dcv2-score-n em::before { content: ""; width: 16px; height: 16px; flex: none; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path fill='%23EA4335' d='M24 9.5c3.5 0 6.6 1.2 9.1 3.6l6.8-6.8C35.8 2.4 30.3 0 24 0 14.6 0 6.5 5.4 2.6 13.2l7.9 6.1C12.4 13.6 17.7 9.5 24 9.5z'/><path fill='%234285F4' d='M46.1 24.5c0-1.6-.1-3.1-.4-4.5H24v9h12.4c-.5 2.9-2.2 5.3-4.6 6.9l7.4 5.7c4.3-4 6.9-9.9 6.9-17.1z'/><path fill='%23FBBC05' d='M10.5 28.7c-.5-1.4-.8-3-.8-4.7s.3-3.3.8-4.7l-7.9-6.1C.9 16.5 0 20.1 0 24s.9 7.5 2.6 10.8l7.9-6.1z'/><path fill='%2334A853' d='M24 48c6.5 0 11.9-2.1 15.9-5.8l-7.4-5.7c-2.1 1.4-4.8 2.3-8.5 2.3-6.3 0-11.6-4.1-13.5-9.8l-7.9 6.1C6.5 42.6 14.6 48 24 48z'/></svg>") center/contain no-repeat; }
.dcv2-int { font-size: 13px; font-weight: 600; color: #1e293b; margin-top: 2px; }

/* ===== modal detalii hotel (desktop) ===== */
html.hid-open { overflow: hidden; }
.hid-overlay { position: fixed; inset: 0; background: rgba(15,23,42,.55); z-index: 100000; display: none; align-items: center; justify-content: center; padding: 24px; }
.hid-overlay.active { display: flex; }
.hid-modal { background: #fff; border-radius: 14px; width: 100%; max-width: 940px; max-height: calc(100vh - 48px); display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,.35); overflow: hidden; }
.hid-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 16px 22px; border-bottom: 1px solid #e6ebf2; }
.hid-title-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hid-title { margin: 0; font-size: 21px; font-weight: 700; color: #0f172a; }
.hid-stars { color: #f5b301; font-size: 16px; letter-spacing: 1px; }
.hid-addr { font-size: 13px; color: #64748b; margin-top: 3px; }
.hid-x { border: 1px solid #dbe3ef; background: #fff; width: 34px; height: 34px; border-radius: 50%; cursor: pointer; font-size: 15px; color: #1e293b; flex: none; }
.hid-body { overflow: auto; padding: 18px 22px 24px; display: grid; gap: 16px; }
.hid-main { position: relative; background: #eef2f7; border-radius: 10px; overflow: hidden; aspect-ratio: 16/9; }
.hid-main-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hid-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.hid-nav.prev { left: 12px; } .hid-nav.next { right: 12px; }
.hid-count { position: absolute; right: 12px; bottom: 12px; background: rgba(15,23,42,.75); color: #fff; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; }
.hid-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 4px; }
.hid-th { flex: none; width: 92px; height: 62px; border-radius: 8px; overflow: hidden; border: 2px solid transparent; padding: 0; cursor: pointer; background: #eef2f7; opacity: .75; }
.hid-th.active { border-color: #0057b8; opacity: 1; }
.hid-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hid-concept { display: inline-block; justify-self: start; background: #eef3fa; color: #0057b8; font-size: 12.5px; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.hid-desc { font-size: 14.5px; line-height: 1.6; color: #1e293b; }
.hid-desc p { margin: 0 0 10px; }
.hid-cio { display: flex; gap: 22px; font-size: 14px; color: #475569; }
.hid-h { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #64748b; }
.hid-fac { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; font-size: 14px; color: #1e293b; }
.hid-loading, .hid-err { padding: 50px 0; text-align: center; color: #64748b; }

/* casetă preț mai compactă + link detalii hotel */
.dcv2-pricebox { gap: 8px !important; padding-top: 16px; padding-bottom: 16px; }
.dcv2-pmid { gap: 0 !important; line-height: 1.25; }
.dcv2-pmid .dcv2-from { font-size: 11.5px; }
.dcv2-pmid .dcv2-per { font-size: 11.5px; }
.dcv2-price b { font-size: 32px !important; }
.dcv2-int { font-size: 12.5px !important; margin-top: 0 !important; }
.dcv2-hlink { font-size: 12.5px; font-weight: 600; color: #0057b8; text-decoration: none; margin-top: 5px; display: inline-block; }
.dcv2-hlink:hover { text-decoration: underline; }
.dcv2-score { gap: 4px !important; }
.dcv2-score b { font-size: 24px !important; padding: 7px 13px !important; }
.hid-main { height: min(440px, 52vh) !important; aspect-ratio: auto !important; }
.hid-main .hid-main-img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
.hid-body { grid-template-columns: minmax(0, 1fr) !important; box-sizing: border-box; }
.hid-body > * { min-width: 0; max-width: 100%; }

/* insigna de reducere: mai intensa, contrast bun */
.dcv2 .discount-badge { background: linear-gradient(135deg, #e8590c, #d9480f) !important; color: #fff; font-size: 15px !important; font-weight: 800 !important; padding: 7px 14px !important; border-radius: 9px !important; letter-spacing: .2px; box-shadow: 0 3px 10px rgba(217,72,15,.5) !important; text-shadow: none !important; top: 12px; left: 12px; }

/* Recomandat pe poza + link detalii in coloana din mijloc */
.dcv2-reco { position: absolute; left: 12px; bottom: 12px; background: #1fa64a; color: #fff; font-size: 12.5px; font-weight: 700; padding: 5px 12px; border-radius: 999px; box-shadow: 0 2px 8px rgba(0,0,0,.35); z-index: 2; }
.dcv2-info .dcv2-hlink { margin-top: 2px; justify-self: start; font-size: 13.5px; }
.dcv2 .discount-badge { background: linear-gradient(135deg, #ff7a00, #ff9d00) !important; box-shadow: 0 3px 10px rgba(255,122,0,.5) !important; }
.dcv2-reco { border-radius: 6px !important; }
.dcv2-reco { background: #12c24a !important; }

/* randuri mai compacte (mai putin lungi in jos) */
.tdv2-row { padding: 12px 20px !important; gap: 16px !important; }
.tdv2-sub { margin-top: 2px !important; }
.tdv2-fz { margin-top: 7px !important; gap: 2px !important; }
.tdv2-ln { line-height: 1.25; }
.tdv2-tm { font-size: 14px; }
.tdv2-act { gap: 6px !important; }
.tdv2-act .btn-oferte-lista { padding: 9px 0 !important; }
.tdv2-det { padding: 5px 0 !important; }
/* titluri in panoul de detalii: mai inchise si accentuate */
.tdv2-h { color: #0f172a !important; font-size: 13px !important; font-weight: 800 !important; letter-spacing: .06em !important; }

/* Rezerva: text mai proeminent */
.tdv2-act .btn-oferte-lista { font-size: 16px !important; font-weight: 800 !important; letter-spacing: .3px; padding: 11px 0 !important; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
/* "Disponibil": punctul verde pulseaza usor (semnal "live") */
.tdv2-av img[alt="Disponibil"] { border-radius: 50%; animation: tdv2Pulse 1.8s ease-in-out infinite; }
@keyframes tdv2Pulse { 0%, 100% { transform: scale(1); opacity: 1; filter: drop-shadow(0 0 0 rgba(26,154,58,0)); } 50% { transform: scale(1.35); opacity: .85; filter: drop-shadow(0 0 5px rgba(26,154,58,.8)); } }
@media (prefers-reduced-motion: reduce) { .tdv2-av img[alt="Disponibil"] { animation: none; } }

/* "Ce include": exact doua coloane */
.tdv2-panel ul.servicii-incluse { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 22px; list-style: none; padding: 0; margin: 0; }
.tdv2-panel ul.servicii-incluse li { display: block !important; width: auto !important; float: none !important; margin: 0 !important; font-size: 13.5px; line-height: 1.35; }
.tdv2-panel .tdv2-svc { grid-column: 1 / -1; border-top: 1px solid #dbe3ef; padding-top: 16px; }
.tdv2-panel .tdv2-svc ul.servicii-incluse { column-gap: 32px; }

/* masa mai vizibila, disponibilitatea mai departe */
.tdv2-sub { gap: 6px 28px !important; margin-top: 4px !important; }
.tdv2-meal { font-size: 15px !important; font-weight: 800 !important; color: #0f172a; background: #e8f0fb; padding: 3px 11px; border-radius: 6px; }
.tdv2-av { font-size: 12.5px !important; font-weight: 600; color: #475569; margin-left: 6px; }

/* Detalii: sub orarul de zbor (sau sub camera, daca nu exista zbor) */
.tdv2-det.tdv2-det-l { display: inline-block; width: auto; padding: 4px 14px !important; margin-top: 8px; font-size: 13px; }
/* masa: subliniata/accentuata */
.tdv2-meal { border-bottom: 2px solid #0057b8; border-radius: 6px 6px 3px 3px !important; }
