/* ================================================================
   Pricelist & Booking — Frontend (dark-gold salon)
   ================================================================ */
.plb-wrap {
  --plb-accent:      #d9a441;
  --plb-accent-lite: rgba(217,164,65,.14);
  --plb-accent-dim:  rgba(217,164,65,.22);
  --plb-bg:          #0d0d0d;
  --plb-surface:     #141414;
  --plb-surface2:    #1b1b1b;
  --plb-border:      rgba(217,164,65,.20);
  --plb-text:        #f2e9d8;
  --plb-muted:       rgba(242,233,216,.55);
  --plb-input-bg:    #111111;
  --plb-rad:         14px;
  --plb-rad-sm:      9px;
  --plb-shadow:      0 8px 32px rgba(0,0,0,.50);
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--plb-text);
  max-width: 1100px;
  margin: 0 auto;
}
.plb-wrap * { box-sizing: border-box; }

/* ── Pricelist card ──────────────────────────────────────── */
.plb-card {
  background: var(--plb-surface);
  border: 1px solid var(--plb-border);
  border-top: 2px solid var(--plb-accent);
  border-radius: var(--plb-rad);
  padding: 26px 28px;
  margin: 0 0 26px;
  box-shadow: var(--plb-shadow);
}
.plb-card-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 10px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(217,164,65,.10);
}
.plb-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: rgba(217,164,65,.10);
  border: 1px solid rgba(217,164,65,.28);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: var(--plb-accent);
  font-size: 19px;
}
.plb-card-title {
  margin: 0;
  font-size: 1.55rem;
  letter-spacing: .3px;
  color: var(--plb-text);
  line-height: 1.2;
}
.plb-card-sub {
  font-size: .74rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--plb-accent);
  margin-top: 4px;
  opacity: .9;
}
.plb-card-desc {
  margin: .5rem 0 1.2rem;
  font-style: italic;
  opacity: .75;
  font-size: .95rem;
  line-height: 1.55;
}

/* ── Pricelist items ─────────────────────────────────────── */
.plb-items { list-style: none; margin: 0; padding: 0; }
.plb-item {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  transition: color .15s;
}
.plb-item:last-child { border-bottom: 0; }
.plb-item:hover .plb-item-title { color: var(--plb-accent); }
.plb-item-main { display: flex; flex-direction: column; }
.plb-item-title {
  font-size: 1.12rem;
  line-height: 1.4;
  font-weight: 600;
  transition: color .15s;
}
.plb-badge {
  font-style: italic;
  font-size: .78rem;
  color: var(--plb-accent);
  background: rgba(217,164,65,.11);
  border-radius: 99px;
  padding: 2px 8px;
  margin-left: 6px;
  white-space: nowrap;
}
.plb-item-sub { font-size: .88rem; opacity: .62; margin-top: 2px; }
.plb-leader {
  flex: 1 1 auto;
  border-bottom: 1px dotted rgba(217,164,65,.28);
  transform: translateY(-4px);
  min-width: 20px;
}
.plb-item-price { font-weight: 700; color: var(--plb-accent); white-space: nowrap; font-size: 1.1rem; }
.plb-tax-note {
  margin-top: 18px;
  text-align: center;
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(217,164,65,.58);
  border-top: 1px dashed rgba(217,164,65,.18);
  padding-top: 14px;
}

/* Two-column cards */
.plb-card.plb-cols-2 .plb-items { column-count: 2; column-gap: 36px; }
.plb-card.plb-cols-2 .plb-item  { break-inside: avoid; }

/* Group layout */
.plb-group { display: grid; gap: 26px; }
.plb-group-cols-2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 760px) {
  .plb-group-cols-2 { grid-template-columns: 1fr; }
  .plb-card.plb-cols-2 .plb-items { column-count: 1; }
}

/* All-cats grid */
.plb-all-cats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  align-items: start;
}
@media (max-width: 560px) { .plb-all-cats { grid-template-columns: 1fr; } }

/* ── Booking form container ──────────────────────────────── */
.plb-booking {
  background: var(--plb-surface);
  border: 1px solid var(--plb-border);
  border-radius: var(--plb-rad);
  padding: 30px 28px;
}
@media (max-width: 560px) {
  .plb-booking { padding: 20px 16px; }
}
.plb-form-title { color: var(--plb-accent); margin-top: 0; }

/* ── Mode tabs — pill style ──────────────────────────────── */
.plb-mode-tabs {
  display: flex;
  gap: 5px;
  margin-bottom: 24px;
  background: rgba(0,0,0,.4);
  border: 1px solid var(--plb-border);
  border-radius: 99px;
  padding: 5px;
}
.plb-mode-tab {
  flex: 1;
  padding: 10px 14px;
  background: transparent;
  border: 0;
  border-radius: 99px;
  color: var(--plb-muted);
  cursor: pointer;
  font-family: inherit;
  font-size: .87rem;
  letter-spacing: .02em;
  transition: background .2s, color .2s;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.plb-mode-tab i { font-size: .85em; }
.plb-mode-tab:hover { color: var(--plb-text); background: rgba(255,255,255,.05); }
.plb-mode-tab.is-active {
  background: var(--plb-accent);
  color: #0d0d0d;
  font-weight: 700;
}
.plb-mode-tab.is-active i { color: #0d0d0d; }

/* ── Mode visibility helpers ─────────────────────────────── */
.plb-booking[data-mode="interest"] .plb-only-booking  { display: none !important; }
.plb-booking[data-mode="booking"]  .plb-only-interest { display: none !important; }
.plb-booking[data-mode="contact"]  .plb-only-booking  { display: none !important; }
.plb-booking[data-mode="contact"]  .plb-only-interest { display: none !important; }
.plb-booking[data-mode="contact"]  .plb-not-contact   { display: none !important; }
.plb-booking[data-mode="booking"]  .plb-only-contact  { display: none !important; }
.plb-booking[data-mode="interest"] .plb-only-contact  { display: none !important; }

.plb-svc-reveal { animation: plb-fadein .25s ease both; }
@keyframes plb-fadein { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ── Intro / badge notes ─────────────────────────────────── */
.plb-request-note {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  background: rgba(217,164,65,.07);
  border: 1px solid rgba(217,164,65,.28);
  border-radius: var(--plb-rad-sm);
  padding: 14px 16px;
  margin-bottom: 22px;
  font-size: .88rem;
  line-height: 1.55;
}
.plb-request-badge {
  flex: none;
  background: var(--plb-accent);
  color: #0d0d0d;
  font-weight: 700;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 99px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.plb-request-reminder { font-size: .8rem; opacity: .65; margin: 12px 0 0; font-style: italic; }

.plb-interest-note  { border-color: rgba(91,155,213,.40); background: rgba(91,155,213,.06); }
.plb-interest-badge { background: #3b82c4; color: #fff; }
.plb-contact-note   { border-color: rgba(20,184,166,.38); background: rgba(20,184,166,.06); }
.plb-contact-badge  { background: #0d9488; color: #fff; }

/* ── Section label (with icon) ───────────────────────────── */
.plb-section-label {
  font-size: .78rem;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: var(--plb-accent);
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 20px 0 10px;
}
.plb-section-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(217,164,65,.15);
}

/* ── Form labels & inputs ────────────────────────────────── */
.plb-form-section { margin-bottom: 4px; }
.plb-form-label   { display: block; margin: 14px 0; font-size: .9rem; }

.plb-form label { display: block; margin: 14px 0; font-size: .9rem; }

.plb-form input, .plb-form select, .plb-form textarea,
.plb-manage textarea {
  width: 100%;
  margin-top: 7px;
  padding: 12px 14px;
  border-radius: var(--plb-rad-sm);
  border: 1px solid rgba(217,164,65,.22);
  background: var(--plb-input-bg);
  color: var(--plb-text);
  font-family: inherit;
  font-size: .96rem;
  transition: border-color .18s, box-shadow .18s;
}
.plb-form input:focus, .plb-form select:focus, .plb-form textarea:focus {
  outline: none;
  border-color: var(--plb-accent);
  box-shadow: 0 0 0 3px rgba(217,164,65,.13);
}
.plb-form input::placeholder, .plb-form textarea::placeholder { opacity: .4; }

/* Input with FA icon prefix */
.plb-input-wrap { position: relative; }
.plb-input-wrap .plb-iico {
  position: absolute;
  left: 13px;
  top: calc(50% + 3px);
  transform: translateY(-50%);
  color: var(--plb-accent);
  opacity: .6;
  font-size: .82rem;
  pointer-events: none;
  z-index: 1;
}
.plb-input-wrap input { padding-left: 38px; margin-top: 0; }

.plb-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
@media (max-width: 600px) { .plb-grid-2 { grid-template-columns: 1fr; } }

/* ── Multi-service dropdown picker ───────────────────────── */
.plb-svc-picker-label {
  font-size: .9rem; margin: 18px 0 10px;
  font-weight: 600; display: flex; align-items: center; gap: 8px;
}
.plb-svc-picker-label i { color: var(--plb-accent); font-size: .9em; }

.plb-svc-picker { display: flex; flex-direction: column; gap: 0; }

/* One service row */
.plb-svc-row {
  margin-bottom: 10px;
}
.plb-svc-row-selects {
  display: flex;
  gap: 8px;
  align-items: center;
}
.plb-svc-cat-sel { flex: 0 0 38%; min-width: 0; }
.plb-svc-item-sel { flex: 1; min-width: 0; }
.plb-svc-row-remove {
  flex-shrink: 0;
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255,138,138,.35);
  background: rgba(255,138,138,.08);
  color: #ff8a8a;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: .82rem;
  transition: background .15s, border-color .15s;
}
.plb-svc-row-remove:hover { background: rgba(255,138,138,.2); border-color: #ff8a8a; }

/* Price / tax info line under each row */
.plb-svc-row-info {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 5px 0 2px 2px;
  animation: plb-fadein .18s ease both;
}
.plb-sdrop-price {
  font-weight: 700; color: var(--plb-accent); font-size: .95rem;
}
.plb-sdrop-tag {
  font-size: .72rem; letter-spacing: .03em;
  padding: 2px 9px; border-radius: 99px;
  background: rgba(217,164,65,.12);
  color: var(--plb-muted);
  border: 1px solid rgba(217,164,65,.2);
}
.plb-sdrop-extra {
  background: rgba(255,200,0,.08);
  border-color: rgba(255,200,0,.25);
  color: #f0c040;
}

/* "Προσθήκη υπηρεσίας" button */
.plb-svc-add-row {
  display: inline-flex; align-items: center; gap: 7px;
  margin-top: 4px;
  background: none; border: 1px dashed rgba(217,164,65,.35);
  color: var(--plb-accent); cursor: pointer;
  font-family: inherit; font-size: .88rem;
  padding: 8px 16px; border-radius: var(--plb-rad-sm);
  transition: border-color .15s, background .15s;
  width: 100%;
  justify-content: center;
}
.plb-svc-add-row:hover { border-color: var(--plb-accent); background: rgba(217,164,65,.07); }

.plb-svc-summary {
  display: flex; align-items: center; gap: 10px;
  margin-top: 10px; padding: 11px 16px;
  background: rgba(217,164,65,.08);
  border: 1px solid rgba(217,164,65,.18);
  border-radius: var(--plb-rad-sm);
  font-size: .9rem;
}
.plb-svc-total { color: var(--plb-accent); font-weight: 700; }

/* ── Date/time section ───────────────────────────────────── */
.plb-datetime-section {
  padding: 18px 16px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(217,164,65,.13);
  border-radius: var(--plb-rad-sm);
  margin: 14px 0;
}
.plb-date-label { display: block; margin: 0 0 0; font-size: .9rem; }
.plb-date-hint {
  display: block;
  font-size: .78rem;
  color: var(--plb-accent);
  margin-top: 6px;
  min-height: 1em;
  font-style: italic;
  opacity: .85;
  display: flex;
  align-items: center;
  gap: 5px;
}
.plb-date-hint i { font-size: .9em; }
.plb-date-input { cursor: pointer; }
.plb-date-input:read-only { background: var(--plb-input-bg); }

/* ── Time slots ──────────────────────────────────────────── */
.plb-slots-wrap { margin: 16px 0 0; }
.plb-slots-label {
  font-size: .77rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--plb-accent);
  display: flex;
  align-items: center;
  gap: 7px;
}
.plb-slots { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; min-height: 20px; }
.plb-slot {
  padding: 9px 17px;
  border: 1px solid rgba(217,164,65,.36);
  border-radius: 99px;
  background: transparent;
  color: var(--plb-text);
  cursor: pointer;
  font-family: inherit;
  font-size: .9rem;
  transition: background .15s, border-color .15s, color .15s;
  display: flex;
  align-items: center;
  gap: 6px;
}
.plb-slot i { font-size: .78em; opacity: .65; }
.plb-slot:hover { border-color: var(--plb-accent); background: rgba(217,164,65,.08); }
.plb-slot.is-active {
  background: var(--plb-accent);
  border-color: var(--plb-accent);
  color: #0d0d0d;
  font-weight: 700;
}
.plb-slot.is-active i { opacity: 1; color: #0d0d0d; }

/* Loading spinner */
.plb-slots-loading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  color: var(--plb-muted);
  font-style: italic;
}
.plb-slots-loading::before {
  content: "";
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid rgba(217,164,65,.22);
  border-top-color: var(--plb-accent);
  border-radius: 50%;
  animation: plb-spin .7s linear infinite;
}
@keyframes plb-spin { to { transform: rotate(360deg); } }
.plb-noslots { display: inline-block; color: #ff8a8a; font-size: .88rem; padding: 4px 0; }

/* ── Waitlist box ────────────────────────────────────────── */
.plb-waitlist-box {
  margin-top: 16px;
  padding: 16px;
  border: 1px dashed rgba(91,155,213,.38);
  border-radius: var(--plb-rad-sm);
  background: rgba(91,155,213,.05);
}
.plb-waitlist-intro {
  margin: 0 0 12px;
  font-size: .87rem;
  color: var(--plb-muted);
  line-height: 1.5;
}
.plb-waitlist-msg            { margin: 8px 0 0; font-size: .88rem; }
.plb-waitlist-msg.ok         { color: #7bd88f; }
.plb-waitlist-msg.err        { color: #ff8a8a; }

/* ── Consent & newsletter ────────────────────────────────── */
.plb-consent {
  display: flex;
  gap: 11px;
  align-items: center;
  font-size: .84rem;
  opacity: .85;
  margin: 14px 0;
  cursor: pointer;
}
.plb-consent input[type=checkbox] {
  -webkit-appearance: none;
  appearance: none;
  flex-shrink: 0;
  width: 20px; height: 20px;
  border: 2px solid rgba(217,164,65,.5);
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.plb-consent input[type=checkbox]:checked {
  background: var(--plb-accent);
  border-color: var(--plb-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230d0d0d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='m3 8 3.5 3.5 6.5-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 13px 13px;
}
.plb-consent input[type=checkbox]:focus-visible {
  outline: 2px solid var(--plb-accent);
  outline-offset: 2px;
}

/* ── Required field indicator ────────────────────────────── */
.plb-req       { color: #e05c5c; margin-left: 2px; font-weight: 700; font-style: normal; }
.plb-req-note  { font-size: .75rem; color: var(--plb-muted); margin: 6px 0 0; }

/* ── Submit button ───────────────────────────────────────── */
.plb-submit-wrap { margin-top: 22px; }
.plb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: linear-gradient(135deg, #d9a441 0%, #c09030 60%, #b07a1e 100%);
  color: #0d0d0d;
  border: 0;
  padding: 14px 28px;
  border-radius: var(--plb-rad-sm);
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  font-size: .97rem;
  text-decoration: none;
  margin-top: 8px;
  transition: filter .18s, transform .12s, box-shadow .18s;
  letter-spacing: .02em;
  width: 100%;
  box-shadow: 0 4px 16px rgba(217,164,65,.22);
}
.plb-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(217,164,65,.30);
}
.plb-btn:active  { transform: translateY(0); filter: brightness(.96); }
.plb-btn:disabled {
  opacity: .42;
  cursor: not-allowed;
  transform: none;
  filter: none;
  box-shadow: none;
}
.plb-btn i { font-size: .88em; }

.plb-btn-ghost {
  background: transparent;
  border: 1px solid var(--plb-accent);
  color: var(--plb-accent);
  box-shadow: none;
}
.plb-btn-ghost:hover {
  background: rgba(217,164,65,.10);
  filter: none;
  transform: translateY(-1px);
  box-shadow: none;
}

/* ── Messages ────────────────────────────────────────────── */
.plb-form-msg, .plb-manage-msg { margin-top: 14px; font-size: .9rem; }
.plb-form-msg.ok, .plb-manage-msg.ok { color: #7bd88f; }
.plb-form-msg.err, .plb-manage-msg.err { color: #ff8a8a; }
.plb-notice {
  padding: 14px 16px;
  border: 1px dashed rgba(217,164,65,.32);
  border-radius: var(--plb-rad-sm);
  background: rgba(0,0,0,.2);
  color: var(--plb-text);
}

/* ── Manage page ─────────────────────────────────────────── */
.plb-manage {
  background: var(--plb-surface);
  border: 1px solid var(--plb-border);
  border-top: 2px solid var(--plb-accent);
  border-radius: var(--plb-rad);
  padding: 28px 28px 22px;
  max-width: 520px;
}
@media (max-width: 560px) { .plb-manage { padding: 20px 16px 16px; } }

.plb-manage-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--plb-border);
}
.plb-manage-hero {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: rgba(217,164,65,.12);
  border: 1px solid rgba(217,164,65,.25);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 1.4rem;
  color: var(--plb-accent);
}
.plb-manage-title { margin: 0 0 5px; font-size: 1.1rem; color: var(--plb-text); }
.plb-manage-status {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .82rem; font-weight: 600; letter-spacing: .03em;
  padding: 3px 10px; border-radius: 99px;
  background: rgba(255,255,255,.06);
}
.plb-mstatus-pending  { color: #f0c040; background: rgba(240,192,64,.12); }
.plb-mstatus-accepted { color: #7bd88f; background: rgba(123,216,143,.12); }
.plb-mstatus-cancelled, .plb-mstatus-rejected { color: #ff8a8a; background: rgba(255,138,138,.1); }
.plb-mstatus-completed { color: var(--plb-accent); background: rgba(217,164,65,.12); }

.plb-manage-details {
  display: flex; flex-direction: column; gap: 10px;
  margin-bottom: 22px;
}
.plb-manage-drow {
  display: flex; align-items: center; gap: 12px;
  font-size: .92rem; color: var(--plb-text);
}
.plb-manage-drow i { color: var(--plb-accent); width: 16px; text-align: center; font-size: .85rem; }
.plb-manage-code {
  font-family: monospace; font-size: .82rem;
  color: var(--plb-muted); letter-spacing: .04em;
}

.plb-manage-main-actions {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 8px;
}
.plb-btn-sm { padding: 8px 16px; font-size: .88rem; }
.plb-btn-danger {
  background: rgba(224,82,82,.15);
  border: 1px solid rgba(224,82,82,.4);
  color: #ff8a8a;
}
.plb-btn-danger:hover { background: rgba(224,82,82,.28); border-color: #ff8a8a; }

.plb-reschedule-box, .plb-cancel-confirm {
  margin-top: 16px;
  padding: 18px;
  background: var(--plb-surface2);
  border: 1px solid var(--plb-border);
  border-radius: var(--plb-rad-sm);
  animation: plb-fadein .2s ease both;
}
.plb-panel-title {
  margin: 0 0 8px;
  font-size: .95rem; font-weight: 700; color: var(--plb-accent);
  display: flex; align-items: center; gap: 8px;
}
.plb-danger-title { color: #ff8a8a; }
.plb-panel-hint {
  margin: 0 0 14px; font-size: .88rem;
  color: var(--plb-muted); line-height: 1.5;
}
.plb-panel-btns { display: flex; gap: 10px; flex-wrap: wrap; }

.plb-manage-pay { margin-top: 16px; }

/* Manage lookup (code entry) */
.plb-manage-lookup {
  background: var(--plb-surface);
  border: 1px solid var(--plb-border);
  border-top: 2px solid var(--plb-accent);
  border-radius: var(--plb-rad);
  padding: 36px 28px;
  max-width: 420px;
  text-align: center;
}
.plb-manage-lookup-icon {
  width: 60px; height: 60px; border-radius: 50%;
  background: rgba(217,164,65,.12);
  border: 1px solid rgba(217,164,65,.25);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  font-size: 1.5rem; color: var(--plb-accent);
}
.plb-manage-lookup h3 { margin: 0 0 8px; color: var(--plb-accent); }
.plb-manage-lookup p  { margin: 0 0 20px; font-size: .9rem; color: var(--plb-muted); }
.plb-manage-lookup-err { color: #ff8a8a !important; }
.plb-lookup-form { display: flex; flex-direction: column; gap: 12px; text-align: left; }
.plb-lookup-form .plb-btn { width: 100%; justify-content: center; }

/* ── Thank-you panel ─────────────────────────────────────── */
.plb-thankyou {
  text-align: center;
  padding: 48px 28px 40px;
  border: 1px solid rgba(217,164,65,.32);
  border-radius: var(--plb-rad);
  background: linear-gradient(160deg, rgba(217,164,65,.06) 0%, rgba(0,0,0,.12) 100%);
}
.plb-ty-icon {
  font-size: 56px;
  color: var(--plb-accent);
  margin-bottom: 18px;
  display: block;
  animation: plb-popin .45s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes plb-popin {
  from { transform: scale(0) rotate(-10deg); opacity: 0; }
  to   { transform: scale(1) rotate(0);      opacity: 1; }
}
.plb-ty-title { margin: 0 0 10px; font-size: 1.55rem; color: var(--plb-accent); }
.plb-ty-text  { margin: 0 0 18px; font-size: .97rem; line-height: 1.65; opacity: .85; }
.plb-ty-code  { font-size: .88rem; opacity: .78; }
.plb-ty-code strong {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: .06em;
  color: var(--plb-accent);
}

/* ── Flatpickr dark theme override ──────────────────────── */
.flatpickr-calendar {
  background: #1a1507 !important;
  border: 1px solid rgba(217,164,65,.35) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.60) !important;
  border-radius: 14px !important;
  color: #f2e9d8 !important;
}
.flatpickr-months .flatpickr-month,
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month { color: #f2e9d8 !important; fill: #f2e9d8 !important; }
.flatpickr-current-month .cur-month,
.flatpickr-current-month input.cur-year { color: #d9a441 !important; }
.flatpickr-weekday { color: rgba(242,233,216,.5) !important; }
.flatpickr-day { color: #f2e9d8 !important; border-radius: 8px !important; }
.flatpickr-day:hover { background: rgba(217,164,65,.15) !important; border-color: transparent !important; }
.flatpickr-day.selected, .flatpickr-day.selected:hover {
  background: #d9a441 !important; border-color: #d9a441 !important; color: #0d0d0d !important;
}
.flatpickr-day.today { border-color: rgba(217,164,65,.5) !important; }
.flatpickr-day.flatpickr-disabled, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay {
  opacity: .22 !important;
}

/* ── Honeypot ────────────────────────────────────────────── */
.plb-hp {
  position: absolute !important;
  left: -9999px !important;
  top: auto;
  width: 1px; height: 1px;
  overflow: hidden;
}

/* ================================================================
   Content blocks ([plb_block])
   ================================================================ */
.plb-block {
  --b-accent: #d9a441; --b-bg: #0d0d0d; --b-card: #15120e;
  --b-line: rgba(217,164,65,.22); --b-text: #f2e9d8; --b-muted: #b7ad9b;
  background: var(--b-bg);
  color: var(--b-text);
  padding: 42px clamp(18px,4vw,48px);
  border-radius: 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.plb-block-eyebrow {
  color: var(--b-accent); font-size: .8rem; font-weight: 700;
  letter-spacing: .28em; text-transform: uppercase; margin-bottom: 10px;
}
.plb-block-title {
  font-size: clamp(1.6rem,3.4vw,2.4rem); line-height: 1.15;
  margin: 0 0 28px; font-weight: 700; color: #fff;
}
.plb-block-num {
  color: var(--b-accent); font-weight: 700;
  font-size: .95rem; font-variant-numeric: tabular-nums;
}
.plb-block-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(217,164,65,.12); color: var(--b-accent); font-size: 20px; flex: none;
}
.plb-block-h      { margin: 0 0 6px; font-size: 1.18rem; color: #fff; font-weight: 700; }
.plb-block-lead   { font-style: italic; color: var(--b-muted); margin-bottom: 8px; font-size: .95rem; }
.plb-block-text   { margin: 0; color: var(--b-muted); line-height: 1.6; font-size: .98rem; }
.plb-block-bullets { list-style: none; margin: 6px 0 0; padding: 0; }
.plb-block-bullets li {
  position: relative; padding-left: 26px; margin: 9px 0;
  color: var(--b-text); font-size: .98rem;
}
.plb-block-bullets li::before {
  content: "✓"; position: absolute; left: 0; top: 0;
  color: var(--b-accent); font-weight: 700;
}
.plb-block-foot { margin-top: 24px; color: var(--b-muted); font-size: .85rem; font-style: italic; }

/* List layout */
.plb-block-list .plb-block-body {
  display: flex; flex-direction: column; border-top: 1px solid var(--b-line);
}
.plb-block-list .plb-block-item {
  display: grid; grid-template-columns: auto auto 1fr; gap: 18px;
  align-items: center; padding: 20px 4px; border-bottom: 1px solid var(--b-line);
}
.plb-block-list .plb-block-num { align-self: center; }

/* Grid layout */
.plb-block-grid .plb-block-body {
  display: grid; grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--b-line); border-left: 1px solid var(--b-line);
}
.plb-block-grid .plb-block-item {
  padding: 26px; border-right: 1px solid var(--b-line); border-bottom: 1px solid var(--b-line);
}
.plb-block-grid .plb-block-num  { display: block; margin-bottom: 14px; }
.plb-block-grid .plb-block-icon { display: none; }

/* Cards layout */
.plb-block-cards .plb-block-body {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;
}
.plb-block-cards .plb-block-item {
  position: relative; background: var(--b-card);
  border: 1px solid var(--b-line); border-radius: 14px; padding: 22px; display: block;
}
.plb-block-cards .plb-block-num  { position: absolute; top: 18px; right: 20px; opacity: .45; font-size: 1.4rem; }
.plb-block-cards .plb-block-icon { margin-bottom: 14px; }

@media (max-width: 900px) { .plb-block-cards .plb-block-body { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) {
  .plb-block-grid .plb-block-body  { grid-template-columns: 1fr; }
  .plb-block-cards .plb-block-body { grid-template-columns: 1fr; }
  .plb-block-list .plb-block-item  { grid-template-columns: auto 1fr; gap: 12px; }
  .plb-block-list .plb-block-icon  { display: none; }
}
