/* ==========================================================================
   NOVERA — SALON EKLERİ (25)
   Kampanya şeridi · açık/kapalı rozeti · konum bölümü · fiyat listesi ·
   randevu sorgulama · tasarımcı imzası
   novera.css'ten sonra yüklenir, aynı tokenları kullanır.
   ========================================================================== */

/* --- kampanya şeridi ---------------------------------------------------- */
.nv-kampanya {
	background: var(--nv-cta);
	color: var(--nv-cta-metin);
	font-size: .9rem;
	position: relative;
	z-index: 60;
}
.nv-kampanya[hidden] { display: none; }
.nv-kampanya-ic {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 42px;
	padding-block: 7px;
	padding-right: 48px;
	text-align: center;
	position: relative;
}
.nv-kampanya-ic > i { font-size: 1.15rem; flex-shrink: 0; }
.nv-kampanya p { margin: 0; line-height: 1.4; }
.nv-kampanya small { opacity: .82; margin-left: 6px; white-space: nowrap; }
.nv-kampanya-btn {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 14px; border-radius: 999px;
	background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .38);
	color: inherit; font-weight: 600; font-size: .84rem; white-space: nowrap;
	transition: background .2s ease;
}
.nv-kampanya-btn:hover { background: rgba(255, 255, 255, .3); color: inherit; }
.nv-kampanya-kapat {
	position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
	width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
	background: transparent; border: 0; color: inherit; font-size: 1.15rem; cursor: pointer; opacity: .8;
}
.nv-kampanya-kapat:hover { opacity: 1; background: rgba(255, 255, 255, .15); }

/* --- açık / kapalı ------------------------------------------------------ */
.nv-acik-mini { display: inline-flex; align-items: center; gap: 8px; }
.nv-topbar-contact i.nv-nokta { font-size: 0; }
.nv-nokta {
	width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; font-size: 0;
	background: var(--nv-err); box-shadow: 0 0 0 3px rgba(224, 114, 111, .18);
}
.nv-acik-mini.is-acik .nv-nokta { background: var(--nv-ok); box-shadow: 0 0 0 3px rgba(111, 191, 139, .2); animation: nv-nabiz 2.4s ease-in-out infinite; }
.nv-acik-mini.is-acik { color: var(--nv-text); }
@keyframes nv-nabiz { 50% { box-shadow: 0 0 0 6px rgba(111, 191, 139, 0); } }

.nv-acik-rozet {
	display: inline-flex; align-items: center; gap: 9px;
	padding: 7px 15px; border-radius: 999px;
	font-size: .88rem; font-weight: 500;
	border: 1px solid rgba(224, 114, 111, .35);
	background: rgba(224, 114, 111, .1); color: var(--nv-text);
}
.nv-acik-rozet i { width: 8px; height: 8px; border-radius: 50%; background: var(--nv-err); flex-shrink: 0; }
.nv-acik-rozet small { color: var(--nv-text-2); font-weight: 400; font-size: .86em; }
.nv-acik-rozet.is-acik { border-color: rgba(111, 191, 139, .38); background: rgba(111, 191, 139, .1); }
.nv-acik-rozet.is-acik i { background: var(--nv-ok); animation: nv-nabiz 2.4s ease-in-out infinite; box-shadow: 0 0 0 3px rgba(111, 191, 139, .2); }

.nv-hours li.is-bugun b { color: var(--nv-gold); }
.nv-hours li.is-bugun b::after {
	content: "Bugün"; margin-left: 8px; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase;
	padding: 2px 8px; border-radius: 99px; background: var(--nv-gold-wash); border: 1px solid var(--nv-line-soft); vertical-align: 2px;
}
.nv-hours li span.is-kapali { color: var(--nv-text-3); }

/* --- konum bölümü ------------------------------------------------------- */
.nv-konum-izgara {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: stretch;
}
.nv-konum-bilgi { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.nv-konum-bilgi h2 { margin: 0; }
.nv-konum-adres {
	display: flex; gap: 12px; align-items: flex-start;
	color: var(--nv-text); font-size: 1.05rem; line-height: 1.55;
}
.nv-konum-adres i { color: var(--nv-gold); font-size: 1.35rem; margin-top: 1px; }
.nv-konum-adres:hover span { color: var(--nv-gold); text-decoration: underline; text-underline-offset: 4px; }
.nv-hours--kompakt { width: 100%; max-width: 440px; }
.nv-hours--kompakt li { padding: 8px 0; font-size: .93rem; }
.nv-konum-butonlar { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.nv-konum-harita { position: relative; min-height: 440px; }
.nv-konum-harita iframe { position: absolute; inset: 0; height: 100%; min-height: 0; }
.nv-konum-buyut {
	position: absolute; left: 16px; bottom: 16px; z-index: 2;
	display: inline-flex; align-items: center; gap: 7px;
	padding: 9px 16px; border-radius: 999px;
	background: var(--nv-surface); border: 1px solid var(--nv-line);
	color: var(--nv-text); font-size: .85rem; box-shadow: var(--nv-shadow-sm);
}
.nv-konum-buyut:hover { color: var(--nv-gold); border-color: var(--nv-gold); }

/* --- fiyat -------------------------------------------------------------- */
.nv-fiyat { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.nv-fiyat b { color: var(--nv-gold); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nv-fiyat del { color: var(--nv-text-3); font-size: .88em; white-space: nowrap; }
.nv-fiyat em {
	font-style: normal; font-size: .74rem; font-weight: 600; letter-spacing: .03em;
	padding: 2px 8px; border-radius: 99px; background: var(--nv-rose-wash); color: var(--nv-rose-light);
	border: 1px solid rgba(212, 112, 140, .3);
}
[data-tema="light"] .nv-fiyat em { color: var(--nv-rose); }
.nv-fiyat--kart { margin-left: auto; margin-right: 12px; font-size: .95rem; }

.nv-fl-kampanya {
	display: flex; gap: 16px; align-items: center;
	padding: 18px 22px; margin-bottom: 36px; border-radius: var(--nv-r-lg);
	background: var(--nv-rose-wash); border: 1px solid rgba(212, 112, 140, .3);
}
.nv-fl-kampanya > i { font-size: 1.8rem; color: var(--nv-rose-light); }
.nv-fl-kampanya strong { display: block; font-size: 1.05rem; }
.nv-fl-kampanya span { color: var(--nv-text-2); font-size: .92rem; }

.nv-fl-grup + .nv-fl-grup { margin-top: 44px; }
.nv-fl-baslik {
	font-size: clamp(1.4rem, 2.4vw, 1.8rem); margin: 0 0 12px; padding-bottom: 12px;
	border-bottom: 1px solid var(--nv-line-soft); color: var(--nv-gold);
}
.nv-fl-liste li {
	display: flex; align-items: center; gap: 14px;
	padding: 16px 4px; border-bottom: 1px solid var(--nv-line);
}
.nv-fl-ad { display: flex; flex-direction: column; gap: 2px; color: var(--nv-text); min-width: 0; }
.nv-fl-ad strong { font-weight: 500; font-size: 1.04rem; }
.nv-fl-ad small { color: var(--nv-text-3); font-size: .84rem; display: inline-flex; gap: 5px; align-items: center; }
.nv-fl-ad:hover strong { color: var(--nv-gold); }
.nv-fl-cizgi { flex: 1; border-bottom: 1px dotted var(--nv-line-soft); transform: translateY(6px); min-width: 20px; }
.nv-fl-fiyat { text-align: right; }
.nv-fl-randevu {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 14px; border-radius: 999px; font-size: .84rem;
	border: 1px solid var(--nv-line-soft); color: var(--nv-text-2); white-space: nowrap;
}
.nv-fl-randevu:hover { color: var(--nv-gold); border-color: var(--nv-gold); background: var(--nv-gold-wash); }
.nv-fl-not { margin-top: 32px; color: var(--nv-text-3); font-size: .88rem; text-align: center; }

/* --- randevu kodu (onay ekranı) + sorgulama ----------------------------- */
.nv-rv-kod {
	margin-top: 14px; padding: 14px 18px; border-radius: var(--nv-r);
	background: var(--nv-surface); border: 1px dashed var(--nv-gold);
	display: grid; gap: 4px;
}
.nv-rv-kod span { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--nv-text-3); }
.nv-rv-kod b { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.7rem; letter-spacing: .22em; color: var(--nv-gold); }
.nv-rv-kod small { color: var(--nv-text-2); font-size: .86rem; line-height: 1.5; }
.nv-rv-kod a { color: var(--nv-gold); text-decoration: underline; text-underline-offset: 3px; }

.nv-split--rs { align-items: start; }
.nv-rs-kod-input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .24em; text-transform: uppercase; font-size: 1.15rem; }
.nv-rs-adim { display: grid; gap: 14px; }
.nv-rs-adim li { display: flex; gap: 12px; color: var(--nv-text-2); font-size: .95rem; line-height: 1.55; }
.nv-rs-adim b {
	width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center;
	background: var(--nv-gold-wash); border: 1px solid var(--nv-line-soft); color: var(--nv-gold); font-size: .85rem;
}
.nv-rs-kart { max-width: 640px; margin-inline: auto; }
.nv-rs-ust { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.nv-rs-ust h2 { margin: 6px 0 0; font-size: clamp(1.4rem, 3vw, 1.9rem); }
.nv-rs-durum {
	flex-shrink: 0; padding: 6px 14px; border-radius: 999px; font-size: .84rem; font-weight: 500;
	background: rgba(224, 178, 82, .12); border: 1px solid rgba(224, 178, 82, .38); color: var(--nv-warn);
}
.nv-rs-durum--onaylandi, .nv-rs-durum--tamamlandi { background: rgba(111, 191, 139, .12); border-color: rgba(111, 191, 139, .4); color: var(--nv-ok); }
.nv-rs-durum--iptal, .nv-rs-durum--gelmedi { background: rgba(224, 114, 111, .1); border-color: rgba(224, 114, 111, .38); color: var(--nv-err); }
.nv-rs-aksiyon { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.nv-rs-aksiyon form { margin: 0; }
.nv-rs-iptal:hover { border-color: var(--nv-err); color: var(--nv-err); background: rgba(224, 114, 111, .08); }
.nv-rs-kapat { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--nv-line); }
.nv-rs-kapat button { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; }

/* --- alt bilgi ---------------------------------------------------------- */
.nv-footer-saat { display: block; }
.nv-imza a { color: inherit; text-decoration: underline; text-decoration-color: var(--nv-line-soft); text-underline-offset: 3px; }
.nv-imza a:hover { color: var(--nv-gold); }

@media (max-width: 1024px) {
	.nv-acik-ek { display: none; }
}
@media (max-width: 860px) {
	.nv-konum-izgara { grid-template-columns: 1fr; }
	.nv-konum-harita { min-height: 340px; }
}
@media (max-width: 640px) {
	.nv-kampanya-ic { justify-content: flex-start; text-align: left; font-size: .8rem; gap: 10px; padding-left: 16px; padding-right: 40px; min-height: 0; }
	.nv-kampanya-ic > i, .nv-kampanya small { display: none; }
	.nv-kampanya p { flex: 1; min-width: 0; }
	.nv-kampanya-btn { padding: 4px 10px; font-size: .74rem; }
	.nv-kampanya-kapat { right: 6px; }
	.nv-fl-liste li { flex-wrap: wrap; row-gap: 8px; }
	.nv-fl-cizgi { display: none; }
	.nv-fl-ad { flex: 1 1 100%; }
	.nv-fl-fiyat { text-align: left; flex: 1; }
	.nv-fl-randevu span { display: none; }
	.nv-fiyat--kart { margin-left: 0; }
	.nv-rs-ust { flex-direction: column; }
	.nv-konum-butonlar .nv-btn { flex: 1 1 auto; }
}

/* SSS sayfası: hizmete özel soru grupları */
.nv-sss-grup { font-size: clamp(1.25rem, 2.2vw, 1.55rem); margin: 44px 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--nv-line-soft); }
.nv-sss-grup a { color: var(--nv-gold); }
.nv-sss-grup a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* KVKK onay kutusu */
.nv-kvkk { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 16px; font-size: .86rem; line-height: 1.5; color: var(--nv-text-2); cursor: pointer; }
.nv-kvkk input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; accent-color: var(--nv-rose); }
.nv-kvkk a { color: var(--nv-gold); text-decoration: underline; text-underline-offset: 3px; }
