/* --- Patch_7 additions --- */
.post-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.post-usercard{display:flex;gap:10px;align-items:center}
.uc-meta{display:flex;flex-direction:column}
.uc-line1{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.post-meta{display:flex;gap:6px;align-items:center}
.post-buttons.gap{margin-top:10px;display:flex;gap:8px}
.post-body{margin:8px 0 6px}

/* Kommentare klarer absetzen */
.comment-compact{padding:10px;border-radius:10px;background:#0b1024;border:1px solid var(--border);margin:8px 0}
.comment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.ch-left{display:flex;gap:8px;align-items:center}
.ch-time{opacity:.8;font-size:.85rem}
.comment-body{line-height:1.35}

/* === Nation Directory – Goa Indigo Edition === */
.nation-page h1{
  font-size:1.7rem;
  margin:20px 0 6px;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:linear-gradient(120deg,#a855f7,#6366f1,#22d3ee);
  -webkit-background-clip:text;
  color:transparent;
}
.nation-subtitle{
  opacity:.9;
  font-size:.92rem;
  margin-bottom:14px;
  color:var(--muted);
}
.nation-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}
.nation-types,
.nation-sort{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.nation-sort-label{
  font-size:.82rem;
  opacity:.85;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.nation-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
}
.nation-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px 12px 11px;
  border-radius:18px;
  background:
    radial-gradient(circle at 0 0, rgba(129,140,248,0.25), transparent 58%),
    radial-gradient(circle at 100% 0, rgba(236,72,153,0.16), transparent 55%),
    rgba(15,23,42,0.98);
  border:1px solid rgba(148,163,184,0.6);
  box-shadow:
    0 14px 40px rgba(15,23,42,0.9),
    0 0 18px rgba(88,28,135,0.65);
  overflow:hidden;
}
.nation-card::before{
  content:"";
  position:absolute;
  inset:-40%;
  opacity:.09;
  background:
    radial-gradient(circle at 10% 0, rgba(14,165,233,0.2), transparent 55%),
    radial-gradient(circle at 90% 20%, rgba(244,114,182,0.18), transparent 55%);
  pointer-events:none;
}
.nation-card-head{
  position:relative;
  z-index:1;
  display:flex;
  gap:12px;
}
.nation-avatar-wrap{
  flex:0 0 auto;
}
.nation-avatar-wrap .avatar-lg{
  width:64px;
  height:64px;
  border-radius:999px;
  border:2px solid rgba(129,140,248,0.9);
  box-shadow:
    0 0 12px rgba(129,140,248,0.8),
    0 0 22px rgba(56,189,248,0.6);
}
.nation-meta{
  flex:1 1 auto;
  min-width:0;
}
.nation-name-line{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  margin-bottom:4px;
}
.nation-name-line .post-username{
  font-size:1.02rem;
}
.nation-label{
  margin-top:2px;
  font-size:.88rem;
  color:var(--muted);
}
.nation-rating-line{
  margin-top:4px;
  font-size:.84rem;
  display:flex;
  align-items:center;
  gap:8px;
  color:#e5e7eb;
}
.nation-stars .star{
  font-size:1rem;
  opacity:.22;
}
.nation-stars .star.is-on{
  opacity:1;
  color:#eab308;
  text-shadow:
    0 0 6px rgba(250,204,21,0.8),
    0 0 14px rgba(234,179,8,0.75);
}
.nation-rating-empty{
  opacity:.75;
  font-size:.84rem;
}
.nation-rating-count{
  opacity:.9;
}
.nation-about{
  position:relative;
  z-index:1;
  margin-top:4px;
  padding:8px 9px;
  border-radius:12px;
  background:rgba(15,23,42,0.95);
  border:1px solid rgba(148,163,184,0.45);
  font-size:.86rem;
  line-height:1.3;
  color:#e5e7eb;
}
.nation-about-empty{
  opacity:.75;
  font-size:.82rem;
}
.nation-actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
}
.nation-actions .btn{
  flex:0 0 auto;
}
.nation-actions .btn.small{
  font-size:.8rem;
  padding:.32rem .7rem;
  border-radius:999px;
}
.nation-rating-form,
.nation-about-form{
  position:relative;
  z-index:1;
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed rgba(148,163,184,0.45);
  font-size:.84rem;
}
.nation-form-label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.85;
}
.nation-stars-input{
  display:flex;
  gap:4px;
  margin:4px 0;
}
.nation-stars-input label{
  cursor:pointer;
}
.nation-stars-input input{
  display:none;
}
.nation-stars-input span{
  font-size:1.1rem;
}
.nation-stars-input input:checked + span{
  color:#eab308;
  text-shadow:
    0 0 6px rgba(250,204,21,0.8),
    0 0 14px rgba(234,179,8,0.7);
}
.nation-rating-form textarea,
.nation-about-form textarea{
  width:100%;
  resize:vertical;
  min-height:52px;
  max-height:140px;
  border-radius:10px;
  border:1px solid rgba(148,163,184,0.6);
  background:rgba(15,23,42,0.92);
  color:var(--text);
  font-size:.84rem;
  padding:6px 8px;
}
.nation-rating-form textarea::placeholder,
.nation-about-form textarea::placeholder{
  color:#6b7280;
}
.nation-rating-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
}
.nation-rating-buttons .btn.xsmall{
  font-size:.76rem;
  padding:.26rem .65rem;
  border-radius:999px;
}
.nation-login-hint{
  margin-top:4px;
  font-size:.82rem;
  opacity:.85;
}
.nation-no-contact{
  font-size:.8rem;
  opacity:.8;
}
@media (max-width:640px){
  .nation-grid{
    grid-template-columns:1fr;
  }
  .nation-card{
    padding:11px 10px 10px;
  }
}

/* Admin page wider layout */
.wrap.admin-page{
  max-width:1200px;
}

/* Admin flags pills */
.admin-wide-card{
  width:100%;
}
.admin-shop-table .admin-flags-cell{
  min-width:220px;
}
.flag-pill{
  display:inline-block;
  margin:2px 3px;
  padding:2px 6px;
  border-radius:999px;
  font-size:.72rem;
  border:1px solid rgba(148,163,184,0.8);
  opacity:.8;
}
.flag-pill.on{
  border-color:rgba(34,197,94,0.95);
  color:#bbf7d0;
  opacity:1;
}
.flag-pill.warn{
  border-color:rgba(248,113,113,0.95);
  color:#fecaca;
  opacity:1;
}
.admin-edit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:6px 14px;
  margin-bottom:8px;
}
.admin-edit-actions{
  margin-top:4px;
}
.shop-role-label input.admin-small-input{
  width:100%;
}

/* Nation-Shop radar stays in center, legend below */
.nation-shop-radar{
  margin:12px 0 18px;
  text-align:center;
}
.radar-circle-wrap{
  display:flex;
  justify-content:center;
  margin-bottom:6px;
}
.radar-circle{
  position:relative;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle at 0 0,rgba(56,189,248,0.28),rgba(15,23,42,0.95));
  overflow:hidden;
  box-shadow:0 0 32px rgba(59,130,246,0.8);
}
.radar-sweep{
  position:absolute;
  inset:0;
  background:conic-gradient(from 0deg,
    rgba(56,189,248,0.3),
    rgba(15,23,42,0.1),
    rgba(15,23,42,0.0),
    rgba(15,23,42,0.0));
  animation:radar-spin 4s linear infinite;
}
.radar-grid{
  position:absolute;
  inset:12px;
  border-radius:50%;
  border:1px solid rgba(148,163,184,0.5);
  box-shadow:0 0 0 1px rgba(30,64,175,0.6) inset;
}
@keyframes radar-spin{
  0%{ transform:rotate(0deg); }
  100%{ transform:rotate(360deg); }
}
.radar-legend{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:6px;
  font-size:.8rem;
}
.radar-legend .dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  margin-right:4px;
}
.dot-dienstleister{ background:#22c55e; }
.dot-musik{ background:#eab308; }
.dot-veranstalter{ background:#f97316; }
.radar-radius-control{
  margin-top:4px;
  font-size:.78rem;
}
.radar-radius-control label{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
}
.radar-radius-control input[type=range]{
  width:220px;
}
.radar-hint{
  margin-top:4px;
  font-size:.78rem;
  opacity:.8;
}

/* Mini Offer Cards */
.nation-shop-grid{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mini-offer-card{
  padding:10px 12px 12px;
}
.mini-offer-inner{
  display:flex;
  gap:10px;
}
.mini-offer-left{
  flex:0 0 auto;
}
.mini-offer-thumb{
  width:90px;
  height:72px;
  border-radius:12px;
  overflow:hidden;
  background:rgba(15,23,42,0.9);
  display:flex;
  align-items:center;
  justify-content:center;
}
.mini-offer-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mini-offer-thumb-placeholder{
  font-size:.75rem;
  opacity:.75;
}
.mini-offer-right{
  flex:1;
  min-width:0;
}
.mini-offer-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:6px;
}
.mini-offer-title{
  font-size:1rem;
  margin:0 0 2px;
}
/* hier war vorher @apply – jetzt echte Styles */
.mini-offer-price-box{
  display:inline-block;
  padding:3px 10px;
  border-radius:999px;
  background:radial-gradient(circle at 0 0,rgba(96,165,250,0.96),rgba(129,140,248,0.98));
  box-shadow:
    0 0 16px rgba(59,130,246,0.9),
    0 0 34px rgba(129,140,248,0.85);
  font-weight:700;
  font-size:.9rem;
}
.mini-offer-meta-line{
  display:flex;
  justify-content:space-between;
  gap:6px;
  align-items:center;
  margin-top:2px;
}
.mini-offer-user{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.85rem;
}
.mini-offer-username{
  font-weight:500;
}
.mini-offer-pills{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.shop-pill{
  padding:2px 7px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.7);
  font-size:.72rem;
}
.shop-pill-role{
  border-color:rgba(56,189,248,0.9);
  color:#e0f2fe;
}
.shop-pill-merchant{
  border-color:rgba(16,185,129,0.9);
  color:#a7f3d0;
}
.shop-pill-cat-technik{
  border-color:#22c55e;
  color:#bbf7d0;
}
.shop-pill-cat-deko{
  border-color:#f97316;
  color:#fed7aa;
}
.shop-pill-cat-tickets{
  border-color:#eab308;
  color:#fef3c7;
}
.shop-pill-cat-apps{
  border-color:#38bdf8;
  color:#e0f2fe;
}
.shop-pill-cat-outdoor{
  border-color:#4ade80;
  color:#dcfce7;
}
.shop-pill-cat-indoor{
  border-color:#a855f7;
  color:#f5d0fe;
}
.shop-rating{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:.78rem;
}
.shop-rating .star{
  font-size:.9rem;
  opacity:.4;
}
.shop-rating .star.is-on{
  opacity:1;
  color:#eab308;
}
.shop-rating-text{
  opacity:.9;
}
.shop-rating-empty{
  opacity:.7;
  font-size:.78rem;
}
.shop-badge-verified{
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(22,163,74,0.95);
  background:radial-gradient(circle at 0 0,rgba(22,163,74,0.9),rgba(6,95,70,0.95));
  box-shadow:0 0 18px rgba(34,197,94,0.9);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#dcfce7;
}
.shop-badge-verified.big{
  font-size:.8rem;
}
.shop-sales-pill{
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid rgba(249,115,22,0.9);
  color:#fed7aa;
  font-size:.75rem;
}
.shop-sales-pill.big{
  box-shadow:0 0 18px rgba(249,115,22,0.8);
}
.shop-orders-pill{
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid rgba(236,72,153,0.9);
  color:#fbcfe8;
  font-size:.75rem;
}
.mini-offer-rating-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-top:4px;
}
.mini-offer-location{
  margin-top:3px;
  font-size:.8rem;
  opacity:.9;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.shop-location{
  padding:1px 6px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.7);
}
.shop-location-label{
  opacity:.85;
}
.mini-offer-desc{
  margin-top:4px;
  font-size:.85rem;
  opacity:.95;
}
.mini-offer-actions{
  margin-top:6px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.btn.primary.strong{
  font-weight:600;
}

/* Offer gallery scaling (contain) */
.offer-gallery-main{
  border-radius:14px;
  overflow:hidden;
  max-height:320px;
  cursor:pointer;
  background:radial-gradient(circle at 0 0,rgba(15,23,42,0.9),rgba(15,23,42,1));
  display:flex;
  align-items:center;
  justify-content:center;
}
.offer-gallery-main img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.offer-gallery-thumb img{
  object-fit:cover;
}

/* Seller info spacing */
.offer-seller-card{
  margin-top:10px;
}
.offer-seller-header{
  gap:14px;
}
.offer-seller-meta{
  gap:6px;
}
.offer-seller-name-line{
  margin-bottom:4px;
}
.offer-detail-subline{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.shop-join-pill{
  padding:2px 7px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.8);
  font-size:.75rem;
}
.offer-seller-actions{
  margin-top:8px;
}
.order-cta-note{
  margin-top:6px;
  font-size:.8rem;
}
.order-cta-note-important{
  font-size:.86rem;
  font-weight:500;
}
.order-cta-profile-link{
  display:inline-block;
  margin-top:2px;
}

/* Order chat support message */
.order-chat-msg.from-support{
  align-self:center;
  background:rgba(129,140,248,0.25);
  border:1px solid rgba(129,140,248,0.9);
}
.order-support-hint{
  margin-top:4px;
  font-size:.78rem;
  opacity:.85;
}

/* Responsive tweaks */
@media (max-width:800px){
  .mini-offer-inner{
    flex-direction:row;
  }
  .mini-offer-thumb{
    width:90px;
    height:72px;
  }
}

/* Verkäuferblock mittig */
.offer-seller-card{
  text-align:center;
}
.offer-seller-header{
  justify-content:center;
}
.offer-seller-meta{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.shop-join-row{
  margin-top:2px;
}
.offer-detail-subline{
  justify-content:center;
}
.offer-sales-summary{
  margin-top:6px;
  font-size:.85rem;
  opacity:.9;
}
.offer-seller-actions{
  margin-top:14px;
  text-align:center;
}

/* Mini-Avatar in Übersicht */
.mini-offer-user .avatar-xs{
  width:26px;
  height:26px;
  border-radius:999px;
}

/* === Nation-Shop App Layout === */
.nation-shop-app-page{
  max-width:1120px;
  margin:0 auto 32px;
}
.shop-app-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;
  margin:10px 0 18px;
}
.shop-app-stats .stat-card{
  padding:10px 12px;
  border-radius:16px;
  background:radial-gradient(circle at 0 0,rgba(59,130,246,0.18),rgba(15,23,42,0.98));
  border:1px solid rgba(129,140,248,0.65);
  box-shadow:0 0 18px rgba(37,99,235,0.6);
}
.stat-card .stat-label{
  font-size:.78rem;
  opacity:.85;
}
.stat-card .stat-value{
  margin-top:4px;
  font-size:1.2rem;
  font-weight:600;
}

.nation-shop-app-layout{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-top:14px;
}
.nation-shop-app-form{
  flex:3;
}
.nation-shop-app-list{
  flex:2;
}

.shop-app-profile-link{
  margin-top:4px;
}

#offer-form .field{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:8px;
}
#offer-form .field span{
  font-size:.82rem;
  opacity:.85;
}
#offer-form input[type=text],
#offer-form input[type=number],
#offer-form textarea,
#offer-form select{
  width:100%;
}

.offer-map{
  width:100%;
  height:260px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(56,189,248,0.6);
  box-shadow:0 0 22px rgba(59,130,246,0.6);
  margin-top:4px;
}

/* Galerie-Preview beim Bearbeiten */
.offer-gallery-preview{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:6px 0 4px;
}
.offer-gallery-thumb.small{
  width:72px;
  height:72px;
  border-radius:10px;
  overflow:hidden;
  background:#020617;
}
.offer-gallery-thumb.small img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Eigene Angebote Liste */
.nation-shop-own-list{
  list-style:none;
  padding:0;
  margin:10px 0 0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.nation-shop-own-item{
  padding:9px 10px;
  border-radius:16px;
  background:rgba(15,23,42,0.96);
  border:1px solid rgba(30,64,175,0.7);
}
.offer-own-thumbs{
  margin-top:4px;
}
.offer-own-thumb{
  width:110px;
  height:72px;
  border-radius:10px;
  overflow:hidden;
  background:#020617;
}
.offer-own-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.offer-own-meta{
  margin-top:4px;
  display:flex;
  justify-content:space-between;
  font-size:.8rem;
}
.offer-own-actions-row{
  margin-top:4px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.offer-actions-inline{
  margin:0;
}
.offer-views{
  opacity:.85;
}

/* Aktiv/Inaktiv & Preis mini */
.shop-pill-active{
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,0.9);
  font-size:.72rem;
}
.shop-pill-inactive{
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.8);
  font-size:.72rem;
  opacity:.7;
}
.shop-price-mini{
  margin-left:6px;
  font-weight:600;
  font-size:.86rem;
}

/* Angebot speichern Button etwas mehr Luft */
#offer-form .nation-rating-buttons{
  margin-top:8px;
}

/* CTA-Block Kaufanfrage */
.offer-order-cta{
  margin-top:14px;
  text-align:center;
}
.order-cta-button{
  display:inline-block;
  padding:.85rem 1.8rem;
  border-radius:999px;
  border:none;
  background:linear-gradient(90deg,rgba(56,189,248,1),rgba(168,85,247,1));
  color:#f9fafb;
  font-weight:600;
  font-size:.96rem;
  text-decoration:none;
  box-shadow:0 0 26px rgba(129,140,248,0.9);
  cursor:pointer;
  position:relative;
}
.order-cta-button.disabled{
  background:linear-gradient(90deg,#0f172a,#020617);
  box-shadow:none;
  opacity:.6;
  cursor:default;
}
.order-cta-warning{
  margin-top:8px;
  font-size:.78rem;
  opacity:.85;
}

@media (max-width:900px){
  .nation-shop-app-layout{
    flex-direction:column;
  }
  .nation-shop-app-list{
    width:100%;
  }
}
