/* Socialfy integration styling for WP Ultimo 2.3.x and frontend platform components. */
.sf-live-template-grid { grid-template-columns: repeat(var(--sf-template-columns, 3), minmax(0,1fr)); }
.sf-live-template-card .sf-template-shot { padding:0; background:#f4f4f8; }
.sf-live-template-card .sf-template-shot img { width:100%; height:100%; object-fit:cover; display:block; }
.sf-template-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; }
.sf-template-preview { font-weight:800; text-decoration:none; }

/* WP Ultimo checkout wrapper */
.socialfy-wu-checkout .wu-styling,
.socialfy-wp-ultimo-active .wu-styling {
  --sf-pink:#ff0099;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:#17171f;
}
.socialfy-wu-checkout #wu_form,
.socialfy-wp-ultimo-active #wu_form {
  max-width: 960px;
  margin: 28px auto;
  padding: clamp(22px, 4vw, 42px);
  background:#fff;
  border:1px solid #e8e8ef;
  border-radius:28px;
  box-shadow:0 24px 70px rgba(20,20,35,.10);
}
.wu-styling .wu-bg-white { background-color:#fff!important; }
.wu-styling .wu-rounded,
.wu-styling .wu-rounded-lg { border-radius:16px!important; }
.wu-styling .wu-shadow-sm { box-shadow:0 8px 28px rgba(20,20,35,.07)!important; }
.wu-styling .wu-border-gray-300 { border-color:#e8e8ef!important; }
.wu-styling .wu-border-blue-500 { border-color:#ff0099!important; }
.wu-styling .wu-ring-indigo-500 { --tw-ring-color:#ff0099!important; }
.wu-styling .wu-text-blue-500,
.wu-styling .wu-text-blue-600,
.wu-styling a.current { color:#ff0099!important; }
.wu-styling input[type=text],
.wu-styling input[type=email],
.wu-styling input[type=password],
.wu-styling input[type=url],
.wu-styling input[type=number],
.wu-styling select,
.wu-styling textarea {
  min-height:50px!important;
  border:1px solid #dedee7!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:12px 14px!important;
}
.wu-styling input:focus,
.wu-styling select:focus,
.wu-styling textarea:focus { border-color:#ff0099!important; box-shadow:0 0 0 3px rgba(255,0,153,.12)!important; outline:0!important; }
.wu-styling .button,
.wu-styling .button-primary,
.wu-styling .btn,
.wu-styling .btn-primary,
.wu-styling button[type=submit] {
  border:0!important;
  border-radius:999px!important;
  min-height:48px!important;
  padding:12px 22px!important;
  font-weight:800!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.wu-styling .button-primary,
.wu-styling .btn-primary,
.wu-styling button[type=submit] { color:#fff!important; background:#ff0099!important; }
.wu-styling .button-primary:hover,
.wu-styling .btn-primary:hover,
.wu-styling button[type=submit]:hover { background:#d70081!important; }

/* Template chooser: turn Ultimo's native clean template into a marketplace-style grid. */
#wu-site-template-filter {
  border-radius:18px!important;
  padding:12px!important;
  gap:6px;
  overflow-x:auto;
}
#wu-site-template-filter li { flex:0 0 auto; }
#wu-site-template-filter a { display:block; padding:8px 12px; border-radius:999px; text-decoration:none; color:#5e5e6b; }
#wu-site-template-filter a.current { color:#fff!important; background:#111!important; }
#wu-site-template-container-grid { gap:22px!important; }
#wu-site-template-container-grid > div {
  border-radius:22px!important;
  padding:14px!important;
  transition:transform .18s ease, box-shadow .18s ease;
}
#wu-site-template-container-grid > div:hover { transform:translateY(-4px); box-shadow:0 16px 42px rgba(20,20,35,.11)!important; }
.wu-site-template-image { aspect-ratio:4/3; object-fit:cover; border-radius:14px!important; border:0!important; margin-bottom:14px!important; }
.wu-site-template-title { margin:4px 0 8px!important; font-size:20px!important; letter-spacing:-.025em; }
.wu-site-template-description { color:#6b6b78!important; min-height:42px; }

/* Pricing cards */
.wu-styling label[id^="wu-product-"] {
  border-radius:20px!important;
  padding:22px!important;
  border-color:#e8e8ef!important;
  box-shadow:none!important;
  transition:transform .18s ease, box-shadow .18s ease;
}
.wu-styling label[id^="wu-product-"]:hover { transform:translateY(-3px); box-shadow:0 12px 34px rgba(20,20,35,.08)!important; }
.wu-styling label[id^="wu-product-"] .wu-font-semibold { font-weight:800!important; }

/* Step navigation */
.wu-styling [class*="wu-step"] { border-radius:14px; }
.wu-styling .wu-bg-blue-500,
.wu-styling .wu-bg-indigo-500 { background-color:#ff0099!important; }

@media (max-width: 760px) {
  .sf-live-template-grid { grid-template-columns:1fr; }
  .socialfy-wu-checkout #wu_form,
  .socialfy-wp-ultimo-active #wu_form { margin:16px 0; padding:18px; border-radius:20px; }
}
