/* Неутрална основа; основният цвят (--brand) се задава от настройките на бизнеса. */
:root {
  --ink: #1f2933; --mute: #6b7785; --bg: #f4f5f7; --card: #ffffff; --line: #e3e6ea; --field: #ccd2d9;
  --brand: #18b894; --brand-d: #0e9c7e; --soft: #e8f7f2; --brand-rgb: 24, 184, 148; --on-brand: #ffffff;
  --shadow: 0 8px 24px rgba(31, 41, 51, .07); --radius: 16px;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif; background: var(--bg); color: var(--ink); line-height: 1.6; }
a { color: var(--brand-d); }
h1, h2, h3 { line-height: 1.2; margin: 0 0 12px; }
h2 { font-size: 1.3rem; }
small, .muted { color: var(--mute); }

/* ---------- Админ: горна лента ---------- */
.topbar { background: #1f2933; border-bottom: 3px solid var(--brand); }
.topbar .in { max-width: 1200px; margin: 0 auto; padding: 10px 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.topbar .logo { font-weight: 800; font-size: 1.1rem; color: #fff; margin-right: 18px; text-decoration: none; }
.topbar a.nav { color: #cbd2d9; text-decoration: none; padding: 8px 14px; border-radius: 8px; font-weight: 600; font-size: .92rem; }
.topbar a.nav:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.topbar .sp { flex: 1; }
main { max-width: 1200px; margin: 28px auto; padding: 0 20px 60px; }
.page-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.page-title h1 { font-size: 1.7rem; margin: 0; }

/* ---------- Карти и статистика ---------- */
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; margin-bottom: 20px; box-shadow: var(--shadow); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.stat { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.stat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--brand); }
.stat b { display: block; font-size: 1.9rem; line-height: 1.1; }
.stat span { color: var(--mute); font-size: .9rem; }
.notice { background: #fff8ec; border: 1px solid #f1deb5; border-radius: 12px; padding: 14px 18px; margin-bottom: 20px; }
.paybox { background: #fafbfc; border: 2px dashed var(--brand); border-radius: 14px; padding: 18px; }
.refbox { background: #fffaf0; border: 2px dashed #e3b970; border-radius: 12px; padding: 14px 18px; font-size: 1.12rem; font-weight: 700; display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }

/* ---------- Таблици ---------- */
table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; color: var(--mute); padding: 10px 12px; border-bottom: 2px solid var(--line); }
td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
table tr:hover td { background: #f8f9fb; }
.table-wrap { overflow-x: auto; }

/* ---------- Форми ---------- */
label { display: block; font-size: .85rem; font-weight: 600; color: var(--mute); margin-bottom: 4px; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], select, textarea {
  width: 100%; padding: 11px 13px; border: 1.5px solid var(--field); border-radius: 10px; font: inherit; color: var(--ink); background: #fff; transition: border-color .15s, box-shadow .15s;
}
input[type=color] { width: 100%; border: 1.5px solid var(--field); border-radius: 10px; background: #fff; cursor: pointer; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(var(--brand-rgb), .16); }
input[type=checkbox], input[type=radio] { width: auto; accent-color: var(--brand); }
.btn, button { display: inline-block; background: var(--brand); color: var(--on-brand); border: 0; border-radius: 10px; padding: 11px 20px; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; box-shadow: 0 4px 12px rgba(var(--brand-rgb), .28); transition: background .12s, transform .12s; }
.btn:hover, button:hover { background: var(--brand-d); transform: translateY(-1px); }
.btn-big { font-size: 1.05rem; padding: 14px 28px; border-radius: 12px; }
.btn-ghost { background: transparent; color: var(--mute); box-shadow: none; }
.btn-ghost:hover { background: #eceef1; color: var(--ink); transform: none; }
.btn-danger, .link-danger { background: none; color: #c0392b; box-shadow: none; padding: 6px 10px; font-weight: 600; }
.btn-danger:hover, .link-danger:hover { background: #fdecea; transform: none; }
.row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.error { color: #c0392b; font-weight: 600; }
.ok { color: var(--brand-d); font-weight: 600; }
.badge { display: inline-block; font-size: .75rem; font-weight: 700; border-radius: 99px; padding: 3px 11px; background: var(--soft); color: var(--brand-d); }
.badge-pending { background: #fdf1e3; color: #b4590b; }
.auth-wrap { min-height: 70vh; display: grid; place-items: center; }
.auth { width: 100%; max-width: 380px; }

/* ---------- Въпроси и галерия в настройките ---------- */
.qrow { padding: 12px 0; border-bottom: 1px solid var(--line); }
.qact { font-size: .85rem; margin-top: 4px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.gal { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-top: 14px; }
.gal .slot { border: 1.5px dashed var(--field); border-radius: 12px; padding: 10px; background: #fafbfc; }
.gal img { width: 100%; height: 100px; object-fit: cover; border-radius: 8px; margin-bottom: 8px; }

/* ---------- Богат текст (план, плащане) ---------- */
.rich { font-size: 1.04rem; line-height: 1.75; overflow-wrap: anywhere; }
.rich h1, .rich h2, .rich h3, .rich h4 { margin: 1.4em 0 .5em; }
.rich img { max-width: 100%; height: auto; border-radius: 10px; }
.rich table { border-collapse: collapse; margin: 1em 0; width: 100%; display: block; overflow-x: auto; }
.rich th, .rich td { border: 1px solid var(--line); padding: 10px 14px; text-align: left; font-size: .98rem; }
.rich th { background: #f2f4f6; color: var(--ink); text-transform: none; letter-spacing: 0; font-size: .98rem; }
.rich tr:nth-child(even) td { background: #fafbfc; }
.rich blockquote { border-left: 4px solid var(--brand); margin: 1em 0; padding: 4px 16px; color: var(--mute); background: #f8f9fb; border-radius: 0 10px 10px 0; }
.rich ul, .rich ol { padding-left: 24px; }
.plan-sec { margin-bottom: 28px; }
.plan-sec > h2 { font-size: 1.5rem; padding-bottom: 8px; border-bottom: 3px solid var(--brand); display: inline-block; margin-bottom: 16px; }

/* ---------- Страница на клиента ---------- */
body.client { background-color: #eceef1; background-size: cover; background-position: center; background-attachment: fixed; min-height: 100vh; }
.wrap { max-width: 760px; margin: 0 auto; padding: 22px 16px 70px; }
.wrap.wide { max-width: 1120px; }
.chead { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, .7); border-radius: 14px; padding: 12px 18px; box-shadow: var(--shadow); margin-bottom: 22px; }
.chead .brand { font-weight: 800; font-size: 1.15rem; color: var(--ink); text-decoration: none; }
.cnav { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; }
.cnav a { color: var(--ink); text-decoration: none; font-weight: 600; padding: 7px 14px; border-radius: 8px; font-size: .92rem; }
.cnav a:hover { background: var(--soft); color: var(--brand-d); }
.client .card { background: rgba(255, 255, 255, .94); backdrop-filter: blur(8px); }

/* ---------- Начална страница ---------- */
body.home-page { background: var(--bg); }
.w { max-width: 1120px; margin: 0 auto; padding: 0 22px; }
.home-top { position: absolute; inset: 0 0 auto 0; z-index: 5; }
.home-top .w { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 22px; padding-bottom: 22px; }
.home-brand { font-weight: 800; font-size: 1.2rem; text-decoration: none; color: var(--hero-ink, var(--ink)); letter-spacing: -.01em; }
.home-top nav { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.home-top nav a { text-decoration: none; color: var(--hero-ink, var(--ink)); font-weight: 600; font-size: .94rem; padding: 9px 16px; border-radius: 10px; }
.home-top nav a:hover { background: rgba(127, 135, 145, .2); }
.home-top nav a.out { border: 1.5px solid currentColor; }

.home-hero { position: relative; padding: 150px 0 110px; background-size: cover; background-position: center; background-color: #e9ecef; color: var(--hero-ink, var(--ink)); }
.home-tag { display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brand-d); margin-bottom: 18px; }
.home-hero h1 { font-size: clamp(2.3rem, 6.2vw, 4.2rem); letter-spacing: -.025em; max-width: 820px; margin: 0 0 30px; }
.cta { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.home-link { font-weight: 600; color: inherit; text-decoration: none; border-bottom: 2px solid var(--brand); padding-bottom: 2px; }

.home-contacts { position: relative; z-index: 2; margin-top: -52px; }
.home-contacts .box { background: var(--card); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); }
.home-contacts .item { padding: 22px 26px; display: flex; gap: 14px; align-items: center; min-width: 0; }
.home-contacts .item + .item { border-left: 1px solid var(--line); }
.ico { flex: none; width: 44px; height: 44px; border-radius: 12px; background: var(--soft); display: grid; place-items: center; color: var(--brand-d); }
.ico svg { width: 22px; height: 22px; }
.home-contacts small { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--mute); }
.home-contacts b, .home-contacts a { font-weight: 700; text-decoration: none; color: var(--ink); overflow-wrap: anywhere; }
.home-contacts a:hover { color: var(--brand-d); }
@media (max-width: 800px) {
  .home-contacts .box { grid-template-columns: 1fr; }
  .home-contacts .item + .item { border-left: 0; border-top: 1px solid var(--line); }
}

.home-about { padding: 70px 0 30px; max-width: 820px; }
.home-about .rich { color: #3e4c59; }

.home-gal { padding: 40px 0 80px; }
.gal-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 22px; }
.gal-head h2 { font-size: 2rem; margin: 0; }
.gal-head span { color: var(--mute); font-size: .95rem; }
.mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 190px; gap: 12px; }
.mosaic.few { grid-template-columns: repeat(var(--n), 1fr); grid-auto-rows: 280px; }
.tile { position: relative; padding: 0; border: 0; border-radius: 16px; overflow: hidden; cursor: zoom-in; background: #e9ecef; box-shadow: none; }
.tile:first-child { grid-column: span 2; grid-row: span 2; }
.mosaic.few .tile:first-child { grid-column: auto; grid-row: auto; }
.tile:hover { background: #e9ecef; transform: none; }
.tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s; }
.tile:hover img { transform: scale(1.06); }
.tile::after { content: "Увеличи"; position: absolute; left: 12px; bottom: 12px; background: rgba(0, 0, 0, .55); color: #fff; font-size: .8rem; font-weight: 600; padding: 5px 11px; border-radius: 99px; opacity: 0; transition: opacity .2s; }
.tile:hover::after, .tile:focus-visible::after { opacity: 1; }
.tile:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
@media (max-width: 700px) { .mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; } .mosaic.few { grid-template-columns: 1fr; grid-auto-rows: 220px; } }

.home-band { background: var(--ink); color: #f4f6f8; }
.home-band .w { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding-top: 52px; padding-bottom: 52px; }
.home-band h2 { font-size: 1.8rem; margin: 0; }
.home-band p { margin: 6px 0 0; opacity: .75; }
.home-foot { color: var(--mute); font-size: .88rem; padding: 26px 0 40px; }

/* Лайтбокс */
.lb { position: fixed; inset: 0; z-index: 50; background: rgba(10, 14, 18, .94); display: flex; flex-direction: column; color: #fff; }
.lb[hidden] { display: none; }
.lb-top { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px 10px; font-size: .95rem; }
.lb-stage { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; position: relative; padding: 0 64px; }
.lb-stage img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 10px; user-select: none; }
.lb button { background: rgba(255, 255, 255, .14); color: #fff; border: 0; cursor: pointer; font: inherit; border-radius: 50%; width: 46px; height: 46px; font-size: 1.4rem; display: grid; place-items: center; padding: 0; box-shadow: none; }
.lb button:hover { background: rgba(255, 255, 255, .28); transform: none; }
.lb .prev, .lb .next { position: absolute; top: 50%; transform: translateY(-50%); }
.lb .prev:hover, .lb .next:hover { transform: translateY(-50%); }
.lb .prev { left: 10px; } .lb .next { right: 10px; }
.lb-thumbs { display: flex; gap: 8px; justify-content: center; padding: 12px 12px 16px; overflow-x: auto; }
.lb-thumbs img { width: 70px; height: 50px; object-fit: cover; border-radius: 8px; opacity: .5; cursor: pointer; border: 2px solid transparent; flex: none; }
.lb-thumbs img.on { opacity: 1; border-color: var(--brand); }
@media (max-width: 600px) { .lb-stage { padding: 0 8px; } .lb .prev, .lb .next { top: auto; bottom: 6px; transform: none; } .lb .prev:hover, .lb .next:hover { transform: none; } }

.progress { height: 10px; background: rgba(255, 255, 255, .8); border-radius: 99px; overflow: hidden; box-shadow: inset 0 1px 3px rgba(0, 0, 0, .1); }
.progress div { height: 100%; background: var(--brand); border-radius: 99px; transition: width .4s; }
.progress-label { font-size: .85rem; font-weight: 600; color: var(--ink); margin: 6px 2px 18px; }
.question { font-size: 1.5rem; }
.choice { display: flex; gap: 12px; align-items: center; background: #f7f8fa; border: 2px solid var(--line); border-radius: 12px; padding: 14px 16px; margin: 10px 0; font-size: 1.02rem; font-weight: 600; color: var(--ink); cursor: pointer; transition: all .15s; }
.choice:hover { border-color: var(--brand); background: #fff; }
.choice:has(input:checked) { border-color: var(--brand); background: var(--soft); box-shadow: 0 0 0 4px rgba(var(--brand-rgb), .12); }
.choice .price { margin-left: auto; color: var(--brand-d); }
.order-no { font-size: 2.4rem; font-weight: 800; color: var(--brand-d); margin: 0; }

/* Продукти в настройките */
.product { border: 1.5px solid var(--line); border-radius: 14px; padding: 16px; margin-bottom: 14px; background: #fafbfc; }
.product .sec { margin-bottom: 8px; flex-wrap: nowrap; }
.product .sec input { flex: 1; }

/* Широки форми */
.cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; }
.cols.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cols .span2 { grid-column: 1 / -1; }
@media (max-width: 900px) { .cols.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cols, .cols.c4 { grid-template-columns: 1fr; } }
.cols label { margin-bottom: 7px; }

/* Съобщение за успех */
.flash { background: var(--soft); border: 1px solid rgba(var(--brand-rgb), .4); color: var(--brand-d); border-radius: 12px; padding: 12px 18px; margin-bottom: 18px; font-weight: 700; transition: opacity .4s; }

/* Начална страница на платформата */
.land-top { position: absolute; inset: 0 0 auto 0; z-index: 5; }
.land-top .w { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 22px; padding-bottom: 22px; }
.land-top nav { display: flex; gap: 6px; flex-wrap: wrap; }
.land-top nav a { text-decoration: none; color: var(--ink); font-weight: 600; font-size: .94rem; padding: 9px 14px; border-radius: 10px; }
.land-top nav a:hover { background: rgba(127, 135, 145, .2); }
.land-hero { padding: 150px 0 90px; background: radial-gradient(900px 420px at 85% -10%, var(--soft), transparent 70%), #eef0f3; }
.land-hero h1 { font-size: clamp(2.1rem, 5.6vw, 3.8rem); letter-spacing: -.025em; max-width: 900px; margin: 0 0 20px; }
.land-lead { font-size: 1.2rem; color: #4a5663; max-width: 680px; margin: 0 0 30px; }
.land-sec { padding: 60px 0 10px; }
.land-sec h2 { font-size: 2rem; margin-bottom: 22px; }
.land-steps, .land-grid { display: grid; gap: 16px; }
.land-steps { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.land-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.land-card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 24px; box-shadow: var(--shadow); }
.land-card h3 { font-size: 1.15rem; margin: 0 0 8px; }
.land-card p { margin: 0; color: var(--mute); }
.land-n { width: 34px; height: 34px; border-radius: 50%; background: var(--brand); color: var(--on-brand); display: grid; place-items: center; font-weight: 800; margin-bottom: 14px; }
.land-pay { margin: 60px 0 0; background: #1f2933; color: #f4f6f8; border-radius: 22px; padding: 40px; }
.land-pay h2 { margin-bottom: 10px; }
.land-pay p { margin: 0; font-size: 1.1rem; opacity: .82; max-width: 720px; }
.land-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.land-chips span { background: var(--card); border: 1px solid var(--line); border-radius: 99px; padding: 8px 18px; font-weight: 600; }
.land-contact { padding-bottom: 60px; }

/* По-сбит хедър на администрацията */
.topbar .in { flex-wrap: nowrap; overflow-x: auto; padding: 8px 20px; scrollbar-width: none; }
.topbar .in::-webkit-scrollbar { display: none; }
.topbar a.nav { padding: 7px 11px; font-size: .88rem; white-space: nowrap; }
.topbar .logo { display: flex; align-items: center; gap: 8px; white-space: nowrap; margin-right: 12px; font-size: 1.05rem; }
.logo-img { height: 28px; width: auto; border-radius: 6px; display: block; }
.nbadge { background: #ff8a65; color: #fff; border-radius: 99px; font-size: .72rem; padding: 1px 7px; font-weight: 800; }
.admin-foot { border-top: 1px solid var(--line); color: var(--mute); font-size: .85rem; padding: 18px 0 30px; }
.admin-foot .in { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.made-by, .home-foot a { color: var(--mute); }
.made-by { text-align: center; font-size: .82rem; margin-top: 30px; }
.home-foot a, .admin-foot a { color: inherit; }

/* Начална страница на платформата */
.land-top.solid { position: static; background: #fff; border-bottom: 1px solid var(--line); }
.land-logo { display: flex; align-items: center; gap: 10px; }
.land-top nav a.out { border: 1.5px solid var(--ink); }
.land-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: center; }
@media (max-width: 900px) { .land-hero-grid { grid-template-columns: 1fr; } .land-visual { max-width: 520px; } }
.land-visual svg { width: 100%; height: auto; filter: drop-shadow(0 24px 40px rgba(31, 41, 51, .18)); }
.land-trust { background: #1f2933; color: #f4f6f8; }
.land-trust .w { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; padding-top: 22px; padding-bottom: 22px; }
.land-trust b { display: block; font-size: 1.4rem; }
.land-trust span { opacity: .75; font-size: .92rem; }
.land-ico { width: 46px; height: 46px; border-radius: 14px; background: var(--soft); color: var(--brand-d); display: grid; place-items: center; margin-bottom: 14px; }
.land-ico svg { width: 24px; height: 24px; }
.land-steps .land-card { position: relative; }
.land-inquiry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 36px; align-items: start; padding-bottom: 70px; }
@media (max-width: 900px) { .land-inquiry { grid-template-columns: 1fr; } }
.land-next { padding-left: 22px; color: var(--ink); font-weight: 600; }
.land-next li { margin: 8px 0; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.land-page { padding: 60px 22px 40px; max-width: 820px; }
.land-page h1 { margin-bottom: 18px; }

/* Ревюта */
.stars { color: #f5a623; letter-spacing: 2px; font-size: 1.05rem; white-space: nowrap; }
.stars-input { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.stars-input input { display: none; }
.stars-input label { font-size: 2.1rem; line-height: 1; color: #ccd2d9; cursor: pointer; margin: 0; text-transform: none; letter-spacing: 0; }
.stars-input input:checked ~ label, .stars-input label:hover, .stars-input label:hover ~ label { color: #f5a623; }
.rev-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.rev-card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 22px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 10px; }
.rev-card p { margin: 0; color: #3e4c59; }
.rev-card footer { margin-top: auto; font-size: .85rem; color: var(--mute); }
.rev-photos { display: flex; gap: 8px; flex-wrap: wrap; }
.rev-photos img, .rimg img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; display: block; }
.rimg { padding: 0; border: 0; background: none; box-shadow: none; cursor: zoom-in; }
.rimg:hover { background: none; transform: none; box-shadow: none; opacity: .88; }
.rev-admin .rev-photos { margin: 8px 0; }

/* Страници на клиента: същият хедър и герой като началната страница */
.home-logo { height: 44px; width: auto; max-width: 260px; display: block; object-fit: contain; }
.home-top nav a.active { background: rgba(127, 135, 145, .22); }
.page-hero { padding: 130px 0 54px; }
.page-hero h1 { font-size: clamp(1.9rem, 4.2vw, 2.7rem); margin: 0 0 8px; max-width: 820px; }
.page-sub { margin: 0; color: var(--hero-mute, var(--mute)); font-size: 1.05rem; max-width: 700px; }
.page-main { max-width: 1120px; margin: 0 auto; padding: 36px 22px 80px; }
.page-main.narrow { max-width: 780px; }
.page-main .card { padding: 28px; box-shadow: var(--shadow); }
.page-main .progress { background: #e3e6ea; box-shadow: none; }
.prod-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.prod-card { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 24px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 12px; min-height: 190px; }
.prod-card h3 { font-size: 1.3rem; margin: 0; }
.two-col { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 22px; align-items: start; }
@media (max-width: 900px) { .two-col { grid-template-columns: 1fr; } }
.sticky-side { position: sticky; top: 20px; }
@media (max-width: 900px) { .sticky-side { position: static; } }
.order-sum { font-size: 2rem; font-weight: 800; margin: 12px 0 0; color: var(--brand-d); }
.plan-card { padding: 32px !important; }
.plan-title { font-size: 1.6rem; padding-bottom: 10px; border-bottom: 3px solid var(--brand); display: inline-block; margin-bottom: 18px; }

/* Лого: ако има лого, името остава само за четци на екрана */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.topbar .logo.has-img { background: #fff; border-radius: 10px; padding: 4px 10px; }

/* По-големи лога */
.land-logo .logo-img { height: 56px; max-width: 280px; width: auto; object-fit: contain; }
.topbar .logo-img { height: 36px; max-width: 200px; object-fit: contain; }
.home-logo { height: 54px; max-width: 280px; }
@media (max-width: 600px) { .land-logo .logo-img { height: 44px; } .home-logo { height: 44px; } }

/* Компактна таблица без пренасяне и филтри */
table.compact th, table.compact td { white-space: nowrap; padding: 10px 14px; }
table.compact .num { text-align: right; }
table.compact tfoot td { font-weight: 800; border-top: 2px solid var(--line); border-bottom: 0; background: #f8f9fb; }
.ellip { display: block; max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; padding: 18px 22px; margin-bottom: 14px; }
.filters > div { min-width: 140px; }
.filters .grow { flex: 1 1 220px; }
.filters .row { gap: 8px; }
.sums { margin-top: 18px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.sums .stat b { font-size: 1.5rem; }

.name-link { color: inherit; text-decoration: none; }
.name-link:hover { color: var(--brand-d); text-decoration: underline; }

/* Хамбургер меню */
.burger { display: none; background: rgba(127, 135, 145, .2); color: var(--hero-ink, #1f2933); border: 0; border-radius: 10px; width: 44px; height: 44px; font-size: 1.4rem; line-height: 1; cursor: pointer; box-shadow: none; padding: 0; margin-left: auto; }
.burger:hover { background: rgba(127, 135, 145, .32); transform: none; box-shadow: none; }
.topbar .burger { color: #fff; background: rgba(255, 255, 255, .14); }
.topbar .in { flex-wrap: wrap; overflow: visible; }
.topbar .menu { display: flex; align-items: center; gap: 4px; flex: 1; }
.land-top.solid { position: relative; }
@media (max-width: 860px) {
  .burger { display: block; }
  .topbar .menu { display: none; flex-direction: column; align-items: stretch; flex-basis: 100%; padding: 8px 0 6px; }
  .topbar.menu-open .menu { display: flex; }
  .topbar .sp { display: none; }
  .topbar a.nav { padding: 11px 12px; }
  .home-top nav, .land-top nav { display: none; position: absolute; top: 76px; right: 22px; left: 22px; flex-direction: column; align-items: stretch; background: #fff; border-radius: 16px; box-shadow: 0 18px 40px rgba(31, 41, 51, .22); padding: 8px; z-index: 20; }
  .home-top.menu-open nav, .land-top.menu-open nav { display: flex; }
  .home-top nav a, .land-top nav a { color: #1f2933; padding: 13px 14px; }
  .home-top nav a.out, .land-top nav a.out { border: 1.5px solid var(--line); text-align: center; }
}

/* Статуси, изтриване, пълна ширина на текста */
.badge-cancel { background: #fdecea; color: #c0392b; }
.card.danger { border-color: #efc2bc; }
.home-about { max-width: none; }

/* Ревюта: обобщение и подредба по съдържание */
.rev-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 24px; align-items: start; }
@media (max-width: 900px) { .rev-layout { grid-template-columns: 1fr; } .rev-summary { position: static !important; } }
.rev-summary { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 26px; box-shadow: var(--shadow); position: sticky; top: 20px; }
.rev-avg { font-size: 3.6rem; font-weight: 800; line-height: 1; }
.stars.big { font-size: 1.5rem; margin: 8px 0 2px; }
.rev-bar { display: grid; grid-template-columns: 34px 1fr 24px; gap: 8px; align-items: center; font-size: .85rem; color: var(--mute); margin-top: 8px; }
.rev-bar div { height: 8px; background: #e9ecef; border-radius: 99px; overflow: hidden; }
.rev-bar i { display: block; height: 100%; background: #f5a623; border-radius: 99px; }
.rev-masonry { columns: 2 300px; column-gap: 18px; }
.rev-card { break-inside: avoid; margin-bottom: 18px; position: relative; display: block; padding: 28px 24px 20px; transition: transform .2s, box-shadow .2s; }
.rev-card:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31, 41, 51, .13); }
.rev-quote { position: absolute; top: 6px; right: 18px; font-size: 5rem; line-height: 1; color: var(--soft); font-family: Georgia, serif; pointer-events: none; }
.rev-card p { margin: 12px 0 0; color: #3e4c59; line-height: 1.7; }
.rev-card .rev-photos { margin-top: 14px; }
.rev-card footer { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.rev-card footer small { display: block; color: var(--mute); font-size: .82rem; }
.rev-avatar { flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--brand); color: var(--on-brand); display: grid; place-items: center; font-weight: 800; }

/* Цени без пренасяне, подреждане на продукти, пояснения, промо кодове */
.price { white-space: nowrap; }
.price .old { color: var(--mute); font-weight: 400; margin-right: 4px; }
.choice.offering { align-items: flex-start; }
.choice.offering input { margin-top: 5px; }
.off-body { flex: 1; min-width: 0; }
.off-top { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; }
.off-desc { display: block; margin-top: 6px; font-weight: 400; color: var(--mute); font-size: .92rem; }
.off-more { display: block; margin: 6px 0; color: var(--ink); line-height: 1.6; }
.off-more table { border-collapse: collapse; } .off-more td, .off-more th { border: 1px solid var(--line); padding: 4px 8px; }
.off-more img { max-width: 100%; height: auto; border-radius: 8px; }
.off-toggle { background: none; color: var(--brand-d); box-shadow: none; padding: 0 0 0 6px; font-weight: 700; font-size: .9rem; }
.off-toggle:hover { background: none; transform: none; box-shadow: none; text-decoration: underline; }
.products { display: flex; flex-direction: column; }
.product-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.product-head .btn-ghost { padding: 6px 12px; border: 1.5px solid var(--line); }
.cols.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .cols.c3 { grid-template-columns: 1fr; } }
.promo-row { display: grid; grid-template-columns: 1.2fr .7fr 1fr 1fr auto auto; gap: 12px; align-items: end; padding: 14px 0; border-bottom: 1px solid var(--line); }
@media (max-width: 900px) { .promo-row { grid-template-columns: 1fr 1fr; } }
.sumbox { margin: 18px 0; border-top: 1px solid var(--line); }
.sumrow { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.sumrow.disc { color: var(--brand-d); }
.sumrow.total { font-size: 1.4rem; font-weight: 800; border-bottom: 0; }

/* Табове в настройките */
.tabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 2px solid var(--line); margin-bottom: 22px; }
.tab { background: none; color: var(--mute); box-shadow: none; border-radius: 10px 10px 0 0; padding: 12px 20px; border-bottom: 3px solid transparent; margin-bottom: -2px; font-weight: 700; }
.tab:hover { background: #eef0f3; color: var(--ink); transform: none; box-shadow: none; }
.tab.active { color: var(--ink); border-bottom-color: var(--brand); background: none; }
.tabpane { display: none; }
.tabpane.active { display: block; }
.savebar { position: sticky; bottom: 0; background: rgba(244, 245, 247, .94); backdrop-filter: blur(6px); border-top: 1px solid var(--line); padding: 14px 0; margin-top: 10px; z-index: 5; }

/* Значка за отстъпка на продукта */
.off-name { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sale-badge { background: #ff5a36; color: #fff; font-size: .78rem; font-weight: 800; border-radius: 99px; padding: 3px 11px; white-space: nowrap; box-shadow: 0 4px 10px rgba(255, 90, 54, .35); }
.choice.on-sale { border-color: #ffb9a6; background: #fff8f5; }
.choice.on-sale .price b { color: #e8451f; }

/* Абонаменти на началната страница на платформата */
.plan-price { font-size: 2.2rem; font-weight: 800; white-space: nowrap; margin: 6px 0; color: var(--brand-d); }
.land-card.plan { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.land-card.plan .btn { margin-top: auto; }

/* Добави своя бизнес */
.add-biz { background: #eef0f3; border-top: 1px solid var(--line); }
.add-biz .w { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding-top: 30px; padding-bottom: 30px; }
.add-biz b { display: block; font-size: 1.15rem; }
.add-biz span { color: var(--mute); }

/* Често задавани въпроси */
.faq details { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 4px 22px; margin-bottom: 10px; box-shadow: var(--shadow); }
.faq summary { cursor: pointer; font-weight: 700; padding: 16px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--brand-d); }
.faq details[open] summary::after { content: "−"; }
.faq p { margin: 0 0 16px; color: var(--mute); }

/* Линкове: ясно се виждат като линкове */
.name-link { color: var(--brand-d); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.name-link:hover { text-decoration-thickness: 2.5px; }
.order-link { color: var(--brand-d); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; white-space: nowrap; }
.order-link::after { content: " ›"; }
.order-link:hover { text-decoration-thickness: 2.5px; }
.cols.c5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 900px) { .cols.c5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Футър с „Добави своя бизнес“ */
.foot-row { display: flex; justify-content: space-between; align-items: center; gap: 14px 24px; flex-wrap: wrap; }
.foot-cta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.foot-btn { display: inline-block; background: var(--brand); color: var(--on-brand) !important; font-weight: 700; text-decoration: none !important; padding: 9px 18px; border-radius: 10px; }
.foot-btn:hover { background: var(--brand-d); }

/* Споделяне */
.home-share { padding: 10px 0 60px; }
.home-share h2 { font-size: 1.5rem; margin-bottom: 16px; }
.share-row { display: flex; gap: 10px; flex-wrap: wrap; }
.share-btn { display: inline-flex; align-items: center; gap: 9px; background: var(--card); color: var(--ink); border: 1.5px solid var(--line); border-radius: 99px; padding: 10px 18px; font: inherit; font-weight: 700; font-size: .92rem; text-decoration: none; cursor: pointer; box-shadow: none; }
.share-btn:hover { border-color: var(--brand); background: #fff; transform: none; box-shadow: none; }
.share-btn[hidden] { display: none; }
.share-btn i { width: 12px; height: 12px; border-radius: 50%; flex: none; }

/* Мобилна версия: избор на продукт и поръчка */
@media (max-width: 600px) {
  .page-main { padding: 22px 14px 60px; }
  .page-main .card { padding: 20px 16px; }
  .page-hero { padding: 100px 0 34px; }
  .choice.offering { padding: 14px; gap: 12px; }
  .choice.offering input[type=radio] { width: 22px; height: 22px; flex: none; margin-top: 1px; }
  .off-top { flex-direction: column; align-items: flex-start; gap: 6px; }
  .off-name b { font-size: 1.05rem; line-height: 1.3; }
  .off-top .price { display: flex; align-items: baseline; gap: 10px; font-size: 1.2rem; }
  .off-top .price b { font-size: 1.3rem; }
  .off-desc { font-size: .95rem; }
  .page-main.narrow .btn-big, .page-main.narrow form > button { width: 100%; text-align: center; }
  .page-main.narrow .row .btn-ghost { width: 100%; }
  .share-btn { flex: 1 1 calc(50% - 10px); justify-content: center; }
  .foot-row { flex-direction: column; align-items: flex-start; }
}
