/* Basic style */
.cb-wrap{
  --cb-border:#e5e7eb;
  --cb-bg:#ffffff;
  --cb-muted:#6b7280;
  --cb-chip:#f1f5f9;
  --cb-card:#f9fafb;
  --cb-radius:14px;
  /* Darker shadow */
  --cb-shadow: 0 1px 1px rgba(0,0,0,.12), 0 1px 3px rgba(0,0,0,.08);

  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background: var(--cb-bg);
  border: 1px solid var(--cb-border);
  border-radius: 16px;
  padding: 18px;
  max-width: 560px; /* Inline override */
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
  color: #111827;
}

/* Larger space after headline */
.cb-title{ font-size:24px; line-height:1.25; margin:0 0 16px 0; font-weight:700; }

.cb-tags{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px}
.cb-tag{
  background: var(--cb-chip);
  border:1px solid var(--cb-border);
  border-radius:9999px;
  padding:6px 10px; font-size:13px; line-height:1;
}

.cb-desc{ color:var(--cb-muted); font-size:14.5px; margin:6px 0 14px 0; }

/* Hinta + kesto one over another */
.cb-summary{ display:flex; flex-direction:column; gap:12px; margin:10px 0 6px 0; }
.cb-card{
  display:flex; gap:10px; background:var(--cb-card);
  border:1px solid var(--cb-border); border-radius:var(--cb-radius);
  padding:12px; align-items:flex-start;
  box-shadow: var(--cb-shadow); /* Darker shadow */
}
.cb-icon{ line-height:0; color:#374151; }
.cb-card-label{ font-size:13px; color:#374151; margin-bottom:2px; }
.cb-price-amount{ font-size:22px; font-weight:700; margin-top:2px; }
.cb-note{ font-size:12px; color:var(--cb-muted); margin-top:2px; }
.cb-duration-value{ font-size:20px; font-weight:700; margin-top:4px; }

/* Frames (paketti & lisäpalvelut) */
.cb-box{
  border:1px solid var(--cb-border); border-radius:var(--cb-radius);
  background:var(--cb-bg); padding:14px; margin-top:12px;
  box-shadow: var(--cb-shadow); /* Darker shadow */
}
.cb-section-head{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.cb-section h3, .cb-subtitle, .cb-box h3{ font-size:16px; font-weight:700; margin:0; }
.cb-list{ margin:0; padding-left:18px; color:var(--cb-muted); font-size:14.5px; }
.cb-list li{ margin-bottom:6px; }

/* Lisäpalvelu-rows */
.cb-addons{ display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.cb-addon-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  border:1px solid var(--cb-border); border-radius:var(--cb-radius);
  background:var(--cb-bg); padding:10px 12px;
  box-shadow: 0 1px 1px rgba(0,0,0,.10); /* A bit darker */
}
.cb-addon-name{ font-weight:600; font-size:16px;}
.cb-addon-price{
  font-size:14px; padding:4px 8px; border-radius:9999px;
  background:var(--cb-chip); border:1px solid var(--cb-border);
}

/* Admin styles */
.custom-banneri-admin .cb-admin-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px; margin-top:12px;
}
.custom-banneri-admin .cb-admin-card{
  border:1px solid #e5e7eb; border-radius:12px; padding:14px; background:#fff;
}
.custom-banneri-admin .cb-admin-card h2{ margin:0 0 10px 0; }

/* Admin: repeater */
.cb-repeater-row{
  display:flex; gap:8px; align-items:center; margin-top:8px;
}
.cb-repeater-row input[type="text"]{ width:100%; }
.cb-repeater-row .cb-repeater-price{ max-width:220px; }
.cb-repeater-row .cb-del{ line-height:1; }
