/* Plan B — визуален слой: движение и интерактивност. Само съществуващите цветове:
   #0d3b51 (blue), #092a3a (dark), #c5a059 (gold), #d4b87d (light gold), #faf8f3 (cream) */

html { scroll-behavior: smooth; }
::selection { background: #c5a059; color: #092a3a; }
@supports (scrollbar-color: auto) { html { scrollbar-color: #c5a059 #092a3a; scrollbar-width: thin; } }

/* ---------- Скрол индикатор ---------- */
.pb-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; z-index: 60; pointer-events: none;
  background: linear-gradient(90deg, #c5a059, #d4b87d); transform-origin: 0 50%; transform: scaleX(0); box-shadow: 0 0 10px rgba(197,160,89,.6); }

/* ---------- Навигация ---------- */
.pb-on nav.fixed { transition: box-shadow .35s ease, background-color .35s ease; }
.pb-on.pb-scrolled nav.fixed { box-shadow: 0 10px 34px rgba(9,42,58,.38); background-color: rgba(9,42,58,.96); }
.pb-on nav.fixed .md\:flex > a { position: relative; border-bottom-color: transparent; }
.pb-on nav.fixed .md\:flex > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: #c5a059;
  transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.pb-on nav.fixed .md\:flex > a:hover::after { transform: scaleX(1); }
.pb-on nav.fixed img[alt="Plan B Logo"] { transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.pb-on nav.fixed a:hover img[alt="Plan B Logo"] { transform: rotate(-6deg) scale(1.06); }

/* ---------- Hero ---------- */
@keyframes pbKen { from { transform: scale(1.02); } to { transform: scale(1.14) translate3d(-1.2%, -1%, 0); } }
@keyframes pbFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes pbRise { 0% { transform: translate3d(0,0,0) scale(.6); opacity: 0; } 15% { opacity: .75; } 100% { transform: translate3d(var(--dx), -105vh, 0) scale(1); opacity: 0; } }
.pb-on section.bg-planb-blue > .absolute > img[alt="Hero Background"] { animation: pbKen 26s ease-in-out infinite alternate; will-change: transform; }
.pb-on section.bg-planb-blue img[alt="Plan B"] { animation: pbFloat 6s ease-in-out infinite; }
.pb-spark { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.pb-spark i { position: absolute; bottom: -12px; width: var(--s); height: var(--s); border-radius: 50%; background: #d4b87d;
  box-shadow: 0 0 10px 2px rgba(197,160,89,.7); opacity: 0; animation: pbRise var(--t) linear var(--d) infinite; }
/* Блясък, който периодично минава през бутона (само transform = без презареждане на графиката) */
.pb-on section.bg-planb-blue .gold-gradient::after { animation: pbShine 4.5s ease-in-out 1.8s infinite; }
@keyframes pbShine { 0% { transform: translateX(-120%) skewX(-20deg); } 30%,100% { transform: translateX(120%) skewX(-20deg); } }

/* ---------- Бутони ---------- */
.pb-on .gold-gradient { position: relative; overflow: hidden; isolation: isolate; transition: filter .3s ease, translate .3s ease, scale .15s ease; }
.pb-on .gold-gradient::after { content: ""; position: absolute; inset: 0; z-index: -1; transform: translateX(-120%) skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); transition: transform .8s ease; }
.pb-on .gold-gradient:hover::after { transform: translateX(120%) skewX(-20deg); }
.pb-on .gold-gradient:hover { filter: brightness(1.05) saturate(1.1); }
.pb-on a:active, .pb-on button:active { scale: .97; }
.pb-ripple { position: absolute; border-radius: 50%; background: rgba(255,255,255,.55); transform: scale(0); animation: pbRipple .65s ease-out forwards; pointer-events: none; }
@keyframes pbRipple { to { transform: scale(1); opacity: 0; } }

/* ---------- Карти ---------- */
.pb-on .surface-card { position: relative; transition: translate .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .4s ease, scale .2s ease;
  border: 1px solid transparent; }
.pb-on .surface-card:hover { box-shadow: 0 24px 50px -18px rgba(9,42,58,.35), 0 0 0 1px rgba(197,160,89,.55); translate: 0 -8px; }
.pb-on .surface-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2; opacity: 0; transition: opacity .35s ease;
  background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%), rgba(197,160,89,.20), transparent 60%); }
.pb-on .surface-card:hover::before { opacity: 1; }
.pb-on .surface-card:active { scale: .98; }
.pb-on .surface-card .w-16.h-16 { transition: transform .5s cubic-bezier(.3,1.6,.5,1), background-color .3s; }
.pb-on .surface-card:hover .w-16.h-16 { transform: rotate(-8deg) scale(1.12); background-color: rgba(197,160,89,.28); }

/* Цена/снимки */
.pb-on .surface-card img { transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .5s; }
.pb-on .surface-card:hover img { filter: saturate(1.12) contrast(1.03); }

/* ---------- Заглавия ---------- */
.pb-on main h1, .pb-on main h2 { letter-spacing: -.01em; }
.pb-on .w-20.h-1.bg-planb-gold { transition: width .9s cubic-bezier(.2,.8,.2,1) .25s; }
.pb-on .w-20.h-1.bg-planb-gold.pb-pre { width: 0; }

/* ---------- Появяване при скрол ---------- */
.pb-pre { opacity: 0; }
.pb-in { animation: pbUp .8s cubic-bezier(.2,.8,.2,1) var(--pbd, 0ms) backwards; }
@keyframes pbUp { from { opacity: 0; translate: 0 30px; } to { opacity: 1; translate: 0 0; } }
@keyframes pbPage { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: 0 0; } }
.pb-page { animation: pbPage .55s ease backwards; }

/* ---------- Лента ---------- */
.pb-marquee { background: #092a3a; color: #c5a059; overflow: hidden; border-block: 1px solid rgba(197,160,89,.35); position: relative; z-index: 5; }
.pb-marquee-track { display: flex; width: max-content; animation: pbMarq 28s linear infinite; padding: 14px 0; }
.pb-marquee:hover .pb-marquee-track { animation-play-state: paused; }
.pb-marquee span { font-weight: 800; letter-spacing: .28em; text-transform: uppercase; font-size: .8rem; padding: 0 1.6rem; white-space: nowrap; }
.pb-marquee span.dot { color: #d4b87d; padding: 0; }
@keyframes pbMarq { to { transform: translateX(-50%); } }

/* ---------- Футър ---------- */
.pb-on footer a { transition: color .25s, translate .25s; display: inline-block; }
.pb-on footer a:hover { color: #c5a059; translate: 4px 0; }

/* ---------- Мобилни бутони: Поръчай + Количка ---------- */
.pb-fabs { position: fixed; z-index: 55; left: 50%; bottom: calc(14px + env(safe-area-inset-bottom)); translate: -50% 160%; display: none;
  align-items: center; gap: .6rem; opacity: 0; pointer-events: none; transition: translate .5s cubic-bezier(.2,.9,.3,1.2), opacity .3s; }
.pb-fabs.on { translate: -50% 0; opacity: 1; pointer-events: auto; }
.pb-fab-order { display: inline-flex; align-items: center; padding: .95rem 1.7rem; border-radius: 999px; font-weight: 800; color: #092a3a; text-decoration: none; position: relative; overflow: hidden;
  background: linear-gradient(135deg, #c5a059, #d4b87d); box-shadow: 0 14px 34px rgba(9,42,58,.45), 0 0 0 1px rgba(255,255,255,.25) inset; }
.pb-fab-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; overflow: visible;
  color: #d4b87d; background: #092a3a; box-shadow: 0 14px 30px rgba(9,42,58,.5), 0 0 0 1.5px #c5a059 inset; text-decoration: none; }
.pb-fab-cart b { position: absolute; top: -.35rem; right: -.35rem; min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #c5a059, #d4b87d); color: #092a3a; font-size: .72rem; font-weight: 800; border: 2px solid #092a3a; }
.pb-fab-cart.bump { animation: pbBump .6s cubic-bezier(.3,1.6,.5,1); }
@keyframes pbBump { 0% { transform: scale(1); } 35% { transform: scale(1.28) rotate(-8deg); } 100% { transform: scale(1); } }
@media (max-width: 767px) { .pb-fabs { display: inline-flex; } .pb-on main { padding-bottom: 5rem; } }

@media (prefers-reduced-motion: reduce) {
  .pb-on *, .pb-on *::before, .pb-on *::after { animation: none !important; transition-duration: .01ms !important; }
  .pb-pre { opacity: 1 !important; }
  html { scroll-behavior: auto; }
}

/* ================= Апетитна храна: снимката е на първо място ================= */
/* По-големи, по-топли снимки */
.pb-on .surface-card > .overflow-hidden.relative.aspect-\[4\/3\] { aspect-ratio: 1 / 1; }
@media (min-width: 640px) { .pb-on .surface-card > .overflow-hidden.relative.aspect-\[4\/3\] { aspect-ratio: 5 / 4; } }
.pb-on section .surface-card > .h-48.overflow-hidden { height: 17rem; position: relative; }
.pb-on .surface-card > .overflow-hidden img:not([class*="object-contain"]) { filter: saturate(1.18) contrast(1.06) brightness(1.03); }
.pb-on .surface-card:hover > .overflow-hidden img { filter: saturate(1.3) contrast(1.08) brightness(1.06); }

/* Мек тъмен преливащ край отдолу, за да изпъкне храната */
.pb-on .surface-card > .overflow-hidden::after { content: ""; position: absolute; inset: auto 0 0 0; height: 38%; pointer-events: none;
  background: linear-gradient(180deg, rgba(9,42,58,0), rgba(9,42,58,.38)); }

/* Цената като златен етикет */
.pb-on .surface-card > .overflow-hidden > div.absolute { background: linear-gradient(135deg, #c5a059, #d4b87d); color: #092a3a; z-index: 3;
  box-shadow: 0 8px 20px rgba(9,42,58,.35); transform: rotate(3deg); transition: transform .35s cubic-bezier(.3,1.6,.5,1); }
.pb-on .surface-card:hover > .overflow-hidden > div.absolute { transform: rotate(0) scale(1.1); }

/* Заглавия на ястията по-едри и контрастни */
.pb-on .surface-card h3.font-extrabold, .pb-on .surface-card h4.font-bold { letter-spacing: -.005em; }

/* Секция "Специалитети" на тъмен фон — храната изпъква */
.pb-on main section.bg-white:has(.surface-card img) { position: relative; overflow: hidden;
  background: radial-gradient(900px circle at 85% -10%, rgba(197,160,89,.22), transparent 55%), linear-gradient(180deg, #0d3b51 0%, #092a3a 100%); }
.pb-on main section.bg-white:has(.surface-card img) h2 { color: #faf8f3; }
.pb-on main section.bg-white:has(.surface-card img) .max-w-7xl > div:first-child > a { color: #d4b87d; }
.pb-on main section.bg-white:has(.surface-card img) .max-w-7xl > div:first-child > a:hover { color: #faf8f3; }
.pb-on main section.bg-white:has(.surface-card img) .surface-card { box-shadow: 0 22px 46px -20px rgba(0,0,0,.6); }

/* ================= Количка: компактна и минималистична ================= */
.pb-cartpage main > div { padding-top: 1.25rem; padding-bottom: 6.5rem; }
.pb-cartpage main > div > h1 { font-size: 1.5rem; margin-bottom: 1rem; letter-spacing: -.01em; }
.pb-cartpage main > div > .grid { gap: 1.25rem; }

/* Редове с продукти */
.pb-cartpage main .lg\:col-span-2 { display: flex; flex-direction: column; gap: .5rem; align-self: start; }
.pb-cartpage main .lg\:col-span-2 > div { margin: 0 !important; padding: .7rem .9rem; gap: .75rem; border-radius: 1rem; border: 1px solid rgba(13,59,81,.08);
  box-shadow: none; transition: border-color .25s, box-shadow .25s; }
.pb-cartpage main .lg\:col-span-2 > div:hover { border-color: rgba(197,160,89,.6); box-shadow: 0 8px 22px -14px rgba(9,42,58,.4); }
.pb-cartpage main .lg\:col-span-2 h3 { font-size: .95rem; line-height: 1.25; font-weight: 700; }
.pb-cartpage main .lg\:col-span-2 p.text-planb-gold { margin-top: .1rem; font-size: .85rem; }
.pb-cartpage main .lg\:col-span-2 .rounded-full.bg-gray-50 { padding: .25rem .5rem; gap: .35rem; background: #faf8f3; border: 1px solid rgba(197,160,89,.35); }
.pb-cartpage main .lg\:col-span-2 .rounded-full.bg-gray-50 span { width: 1.4rem; font-size: .9rem; }
.pb-cartpage main .lg\:col-span-2 .rounded-full.bg-gray-50 button { width: 1.6rem; height: 1.6rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; }
.pb-cartpage main .lg\:col-span-2 .rounded-full.bg-gray-50 button:hover { background: rgba(197,160,89,.25); }

/* Панел за плащане */
.pb-cartpage main .lg\:sticky { padding: 1.1rem; border-radius: 1.4rem; }
.pb-cartpage main .lg\:sticky > h2 { font-size: 1.15rem; margin-bottom: .8rem; }
.pb-cartpage main .lg\:sticky > .flex.gap-4.mb-8 { gap: .5rem; margin-bottom: .9rem; }
.pb-cartpage main .lg\:sticky > .flex.gap-4 > button { flex-direction: row; justify-content: center; padding: .6rem; gap: .5rem; border-radius: .9rem; }
.pb-cartpage main .lg\:sticky form { display: grid; grid-template-columns: minmax(0, 1fr); gap: .65rem; }
.pb-cartpage main .lg\:sticky, .pb-cartpage main .lg\:sticky form > * { min-width: 0; max-width: 100%; }
.pb-cartpage main .lg\:sticky form input, .pb-cartpage main .lg\:sticky form textarea, .pb-cartpage main .lg\:sticky form select, .pb-cartpage main .lg\:sticky form button { max-width: 100%; box-sizing: border-box; }
.pb-cartpage main .lg\:sticky form > * { margin: 0 !important; }
.pb-cartpage main .lg\:sticky form label.block { margin-bottom: .25rem; font-size: .62rem; letter-spacing: .12em; }
.pb-cartpage main .lg\:sticky form input:not([type=checkbox]), .pb-cartpage main .lg\:sticky form select { padding-top: .6rem; padding-bottom: .6rem; border-radius: .8rem; font-size: .92rem; }
.pb-cartpage main .lg\:sticky form textarea { height: 3.4rem; padding: .55rem .8rem; border-radius: .8rem; }
.pb-cartpage main .lg\:sticky form input:focus, .pb-cartpage main .lg\:sticky form textarea:focus { border-color: #c5a059; box-shadow: 0 0 0 3px rgba(197,160,89,.18); }
@media (min-width: 640px) {
  .pb-cartpage main .lg\:sticky form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pb-cartpage main .lg\:sticky form > :nth-child(n+5), .pb-cartpage main .lg\:sticky form > :nth-child(1) { grid-column: 1 / -1; }
}

/* Обобщение: плътно, без излишния междинен ред */
.pb-cartpage main .lg\:sticky form .pt-6.border-t { padding-top: .8rem; margin-top: .2rem !important; display: flex; flex-direction: column; gap: .35rem; }
.pb-cartpage main .lg\:sticky form .pt-6.border-t > .pt-3.border-t:has(span.text-white.font-bold) { display: none; }
.pb-cartpage main .lg\:sticky form .pt-6.border-t > div { padding-top: 0; }
.pb-cartpage main .lg\:sticky form .pt-6.border-t .text-3xl { font-size: 1.6rem; line-height: 1.1; }
.pb-cartpage main .lg\:sticky form .pt-6.border-t > .pt-3.border-t:last-of-type { padding-top: .5rem; }

/* Мобилно: бутонът е в лентата отдолу */
@media (max-width: 1023px) { .pb-cartpage main .lg\:sticky form button[type=submit] { display: none; } }

.pb-cartbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 56; display: none; align-items: center; gap: .9rem;
  padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom)); background: rgba(9,42,58,.96); backdrop-filter: blur(12px);
  border-top: 1px solid rgba(197,160,89,.45); box-shadow: 0 -12px 30px rgba(9,42,58,.35); color: #faf8f3;
  translate: 0 110%; transition: translate .45s cubic-bezier(.2,.9,.3,1.1); }
.pb-cartbar.on { translate: 0 0; }
.pb-cartbar .t { display: flex; flex-direction: column; line-height: 1.1; min-width: 5.5rem; }
.pb-cartbar .t small { font-size: .62rem; text-transform: uppercase; letter-spacing: .14em; color: #d4b87d; }
.pb-cartbar .t strong { font-size: 1.35rem; color: #c5a059; }
.pb-cartbar button { flex: 1; min-width: 0; white-space: nowrap; font-size: .95rem; border: 0; border-radius: 999px; padding: .85rem .8rem; font-weight: 800; color: #092a3a; cursor: pointer;
  background: linear-gradient(135deg, #c5a059, #d4b87d); box-shadow: 0 8px 20px rgba(0,0,0,.25); }
.pb-cartbar button:disabled { opacity: .45; box-shadow: none; }
@media (max-width: 1023px) { .pb-cartbar { display: flex; } }
