/* Sukeyu — make Elementor widgets look like the reference UI */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Syne:wght@600;700;800&display=swap');

body.elementor-page,
body.elementor-editor-active {
  background: #050505 !important;
  color: #f7f7f5;
  font-family: 'Outfit', sans-serif;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1180px;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: 'Syne', sans-serif !important;
  font-weight: 700 !important;
  color: #f7f7f5 !important;
  line-height: 1.15 !important;
}

.elementor-widget-heading .elementor-heading-title span,
.elementor-widget-heading .elementor-heading-title .accent {
  color: #f0c51a !important;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  font-family: 'Outfit', sans-serif !important;
  color: #8a8a86 !important;
  line-height: 1.7 !important;
  font-size: 1.02rem !important;
}

.elementor-button {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  border-radius: 2px !important;
  padding: 14px 28px !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  transition: 0.25s ease !important;
}

.elementor-button.elementor-size-sm,
.elementor-button {
  background-color: #f0c51a !important;
  color: #050505 !important;
  border: 1px solid #f0c51a !important;
  fill: #050505 !important;
}

.elementor-button:hover {
  background-color: #f5d44a !important;
  color: #050505 !important;
}

/* Outline buttons */
.sukeyu-btn-outline .elementor-button,
.elementor-element.sukeyu-btn-outline .elementor-button {
  background: transparent !important;
  color: #f7f7f5 !important;
  border: 1px solid rgba(247, 247, 245, 0.55) !important;
}

.sukeyu-btn-outline .elementor-button:hover {
  border-color: #f0c51a !important;
  color: #f0c51a !important;
}

.sukeyu-btn-link .elementor-button {
  background: transparent !important;
  color: #f0c51a !important;
  border: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-shadow: none !important;
}

/* Hero */
.sukeyu-hero {
  position: relative;
  min-height: 88vh !important;
}

.sukeyu-hero .elementor-background-overlay {
  background: linear-gradient(90deg, rgba(5, 5, 5, 0.82) 10%, rgba(5, 5, 5, 0.35) 70%) !important;
  opacity: 1 !important;
}

.sukeyu-hero .elementor-widget-heading h1.elementor-heading-title {
  font-size: clamp(2.4rem, 5.5vw, 4.4rem) !important;
  max-width: 14ch;
  margin-bottom: 0.4em !important;
}

.sukeyu-hero .sukeyu-eyebrow .elementor-heading-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #f0c51a !important;
}

.sukeyu-hero .elementor-widget-text-editor p {
  color: rgba(247, 247, 245, 0.78) !important;
  max-width: 42rem;
  font-size: 1.08rem !important;
}

/* Feature / card columns */
.sukeyu-features .elementor-column-wrap,
.sukeyu-features .elementor-widget-wrap,
.sukeyu-features .elementor-element-populated {
  background: #161616 !important;
  border: 1px solid rgba(247, 247, 245, 0.1) !important;
  padding: 28px 24px !important;
  height: 100%;
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.sukeyu-features .elementor-column:hover .elementor-element-populated {
  border-color: rgba(240, 197, 26, 0.45) !important;
  transform: translateY(-3px);
}

.sukeyu-features .elementor-widget-heading h3.elementor-heading-title,
.sukeyu-features .elementor-widget-heading h4.elementor-heading-title {
  margin-top: 0.35em !important;
}

/* Dark band sections */
.sukeyu-band {
  background: #0d0d0d !important;
}

.sukeyu-band-2 {
  background: #161616 !important;
}

.sukeyu-marquee .elementor-heading-title {
  color: #f0c51a !important;
  font-size: clamp(1.1rem, 2.4vw, 1.6rem) !important;
  white-space: nowrap;
  letter-spacing: 0.04em;
}

/* Image boxes / cards */
.elementor-widget-image-box .elementor-image-box-title {
  font-family: 'Syne', sans-serif !important;
  color: #f7f7f5 !important;
  font-size: 1.25rem !important;
}

.elementor-widget-image-box .elementor-image-box-description {
  color: #8a8a86 !important;
}

.elementor-widget-image-box .elementor-image-box-img img {
  border-radius: 2px;
  width: 100%;
  object-fit: cover;
}

.elementor-widget-image img {
  border-radius: 2px;
}

/* Tabs */
.elementor-widget-tabs .elementor-tab-title {
  background: transparent !important;
  color: #8a8a86 !important;
  border: 1px solid rgba(247, 247, 245, 0.12) !important;
  font-family: 'Outfit', sans-serif !important;
}

.elementor-widget-tabs .elementor-tab-title.elementor-active {
  color: #050505 !important;
  background: #f0c51a !important;
  border-color: #f0c51a !important;
}

.elementor-widget-tabs .elementor-tab-content {
  color: #8a8a86 !important;
  border-color: rgba(247, 247, 245, 0.1) !important;
}

/* Counters */
.elementor-counter .elementor-counter-number-wrapper {
  color: #f0c51a !important;
  font-family: 'Syne', sans-serif !important;
  font-size: 2.6rem !important;
  font-weight: 700 !important;
}

.elementor-counter .elementor-counter-title {
  color: #8a8a86 !important;
  font-family: 'Outfit', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.82rem !important;
}

/* Testimonials */
.elementor-testimonial-wrapper {
  background: #161616;
  border: 1px solid rgba(247, 247, 245, 0.1);
  padding: 28px 24px;
}

.elementor-testimonial-content {
  color: #cfcfc9 !important;
  font-style: italic;
}

.elementor-testimonial-name {
  color: #f7f7f5 !important;
  font-family: 'Syne', sans-serif !important;
}

.elementor-testimonial-job {
  color: #8a8a86 !important;
}

/* Icon list */
.elementor-icon-list-text {
  color: #cfcfc9 !important;
}

.elementor-icon-list-icon i,
.elementor-icon-list-icon svg {
  color: #f0c51a !important;
  fill: #f0c51a !important;
}

/* Page hero */
.sukeyu-page-hero {
  min-height: 320px !important;
}

.sukeyu-page-hero .elementor-background-overlay {
  background: rgba(5, 5, 5, 0.68) !important;
  opacity: 1 !important;
}

.sukeyu-page-hero .elementor-heading-title {
  text-align: center;
}

/* CTA band */
.sukeyu-cta {
  background: #161616 !important;
  border-top: 1px solid rgba(247, 247, 245, 0.08);
  border-bottom: 1px solid rgba(247, 247, 245, 0.08);
}

/* Contact side card */
.sukeyu-contact-card .elementor-element-populated {
  background: #161616 !important;
  border: 1px solid rgba(247, 247, 245, 0.1);
  padding: 32px 28px !important;
}

/* Reduce Elementor default gaps that break the look */
.sukeyu-tight .elementor-widget:not(:last-child) {
  margin-bottom: 12px !important;
}

.elementor-widget:not(:last-child) {
  margin-bottom: 18px !important;
}

/* Forms (CF7) inside Elementor */
.elementor-page .wpcf7 input,
.elementor-page .wpcf7 textarea,
.elementor-page .wpcf7 select {
  background: #0d0d0d;
  border: 1px solid rgba(247, 247, 245, 0.14);
  color: #f7f7f5;
  padding: 12px 14px;
  width: 100%;
  border-radius: 2px;
}

.elementor-page .wpcf7 input[type="submit"] {
  background: #f0c51a;
  color: #050505;
  border: none;
  font-weight: 600;
  cursor: pointer;
}

@media (max-width: 1024px) {
  .sukeyu-hero {
    min-height: 72vh !important;
  }
  .sukeyu-hero .elementor-widget-heading h1.elementor-heading-title {
    max-width: none;
  }
}
