/* Desi Swag Elementor layout rework — loaded after Elementor and kit styles. */
:root {
  --ds-navy: #06183b;
  --ds-deep: #03102b;
  --ds-pink: #ef355f;
  --ds-teal: #16b8b2;
  --ds-yellow: #ffd246;
  --ds-orange: #f59b24;
  --ds-cream: #fff4d8;
  --ds-purple: #803eb4;
  --ds-lime: #9bc53d;
}

body.elementor-page,
body.elementor-editor-active,
.elementor-location-single {
  background: var(--ds-navy) !important;
  color: #fff !important;
}

.ds-header {
  width: 100% !important;
  min-height: 86px !important;
  padding: 10px 0 !important;
  background: var(--ds-deep) !important;
  border-bottom: 4px solid var(--ds-teal) !important;
}

.ds-header > .e-con-inner {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  min-height: 82px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
}

.ds-header > .e-con-inner > .elementor-widget-image {
  flex: 0 0 180px !important;
  width: 180px !important;
  max-width: 180px !important;
}

.ds-header > .e-con-inner > .ds-nav {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

.ds-nav > .e-con-inner {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.ds-nav .elementor-widget-button {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

.ds-nav .elementor-button {
  color: #fff !important;
  font-family: Arial, sans-serif !important;
  white-space: nowrap !important;
}

.ds-nav-link .elementor-button {
  background: transparent !important;
  box-shadow: none !important;
}

.ds-hero {
  width: 100% !important;
  padding: 68px 0 58px !important;
  background: radial-gradient(circle at 75% 25%, rgba(19,184,178,.18), transparent 28%), radial-gradient(circle at 28% 10%, rgba(239,53,95,.15), transparent 24%), linear-gradient(145deg,#061b42,#03102b 78%) !important;
}

.ds-hero > .e-con-inner {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0,46%) minmax(0,54%) !important;
  align-items: center !important;
  gap: 28px !important;
}

.ds-hero > .e-con-inner > .e-con {
  width: 100% !important;
  min-width: 0 !important;
}

.ds-hero-copy .elementor-heading-title {
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.28 !important;
}

.ds-hero-copy .elementor-widget-text-editor,
.ds-hero-copy .elementor-widget-text-editor p {
  color: #c7d2e6 !important;
}

.ds-hero-copy strong { color: #fff !important; }

.ds-hero-actions > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 18px !important;
}

.ds-hero-actions .elementor-widget-button {
  flex: 0 0 auto !important;
  width: auto !important;
}

.ds-hero-art img {
  display: block !important;
  width: 110% !important;
  max-width: none !important;
  margin-left: -3% !important;
}

.ds-section {
  width: 100% !important;
  padding: 76px 0 !important;
  background: var(--ds-navy) !important;
}

.ds-section > .e-con-inner,
.ds-registration > .e-con-inner {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.ds-section > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
  color: #fff !important;
  font-family: Impact, "Arial Narrow Bold", Arial, sans-serif !important;
  font-size: clamp(42px, 5vw, 64px) !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.ds-about > .e-con-inner > .elementor-widget-text-editor,
.ds-about > .e-con-inner > .elementor-widget-text-editor p {
  color: #c7d2e6 !important;
}

.ds-value-grid > .e-con-inner,
.ds-activity-grid > .e-con-inner {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 20px !important;
}

.ds-value-grid > .e-con-inner > .ds-value-card,
.ds-activity-grid > .e-con-inner > .ds-activity-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.ds-value-card .elementor-widget-text-editor,
.ds-value-card .elementor-widget-text-editor p { color: #fff !important; }
.ds-value-card.ds-teal .elementor-heading-title { color: var(--ds-teal) !important; }
.ds-value-card.ds-pink .elementor-heading-title { color: var(--ds-pink) !important; }
.ds-value-card.ds-orange .elementor-heading-title { color: var(--ds-orange) !important; }
.ds-value-card.ds-lime .elementor-heading-title { color: var(--ds-lime) !important; }

.ds-activities {
  background: linear-gradient(180deg,#041a3d,#061b42 45%,#03102b) !important;
}

.ds-activity-card {
  min-height: 445px !important;
  padding: 24px 20px 28px !important;
  background: var(--ds-cream) !important;
  border: 4px solid var(--ds-pink) !important;
  border-radius: 24px 8px 24px 8px !important;
  box-shadow: inset 0 0 0 5px #fff8e8, 0 20px 50px rgba(0,0,0,.28) !important;
}

.ds-activity-card.ds-teal { border-color: var(--ds-teal) !important; }
.ds-activity-card.ds-orange { border-color: var(--ds-orange) !important; }
.ds-activity-card.ds-purple { border-color: var(--ds-purple) !important; }
.ds-activity-card .elementor-widget-text-editor,
.ds-activity-card .elementor-widget-text-editor p { color: var(--ds-deep) !important; }
.ds-activity-card.ds-pink .elementor-heading-title { color: var(--ds-pink) !important; }
.ds-activity-card.ds-teal .elementor-heading-title { color: var(--ds-teal) !important; }
.ds-activity-card.ds-orange .elementor-heading-title { color: var(--ds-orange) !important; }
.ds-activity-card.ds-purple .elementor-heading-title { color: var(--ds-purple) !important; }

.ds-registration {
  background: radial-gradient(circle at 20% 20%,rgba(239,53,95,.17),transparent 27%),var(--ds-deep) !important;
}

.dsek-form-panel {
  background: var(--ds-cream) !important;
}
.dsek-form-copy h2,
.dsek-form-copy p { color: var(--ds-navy) !important; }
.dsek-form input,
.dsek-form select,
.dsek-form textarea {
  background: #fff !important;
  color: var(--ds-deep) !important;
  border-color: #b8b3a5 !important;
}

.ds-faq .elementor-accordion-title,
.ds-faq .elementor-accordion-icon { color: #fff !important; }
.ds-faq .elementor-tab-content,
.ds-faq .elementor-tab-content p { color: #c7d2e6 !important; }

.ds-footer {
  width: 100% !important;
  padding: 52px 0 !important;
  background: var(--ds-deep) !important;
  border-top: 3px solid var(--ds-teal) !important;
}

.ds-footer > .e-con-inner {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.25fr repeat(3,minmax(0,1fr)) !important;
  align-items: start !important;
  gap: 35px !important;
}

.ds-footer > .e-con-inner > .ds-footer-col {
  width: 100% !important;
  min-width: 0 !important;
}
.ds-footer .elementor-heading-title { color: #fff !important; }
.ds-footer .elementor-widget-text-editor,
.ds-footer .elementor-widget-text-editor p { color: #c7d2e6 !important; }

@media (max-width: 1024px) {
  .ds-header > .e-con-inner { flex-wrap: wrap !important; justify-content: center !important; }
  .ds-header > .e-con-inner > .ds-nav { display: block !important; flex: 1 0 100% !important; }
  .ds-nav > .e-con-inner { justify-content: center !important; flex-wrap: wrap !important; }
  .ds-hero > .e-con-inner { grid-template-columns: 1fr !important; text-align: center !important; }
  .ds-hero-actions > .e-con-inner { justify-content: center !important; }
  .ds-event-meta { grid-template-columns: 1fr !important; text-align: left !important; }
  .ds-value-grid > .e-con-inner,
  .ds-activity-grid > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .ds-footer > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .dsek-form-panel { grid-template-columns: 1fr !important; }
}

@media (max-width: 767px) {
  .ds-header > .e-con-inner,
  .ds-hero > .e-con-inner,
  .ds-section > .e-con-inner,
  .ds-registration > .e-con-inner,
  .ds-footer > .e-con-inner { width: min(100% - 24px,1180px) !important; }
  .ds-nav > .e-con-inner { display: grid !important; grid-template-columns: repeat(2,1fr) !important; }
  .ds-nav .elementor-widget-button,
  .ds-nav .elementor-button { width: 100% !important; }
  .ds-value-grid > .e-con-inner,
  .ds-activity-grid > .e-con-inner,
  .ds-footer > .e-con-inner { grid-template-columns: 1fr !important; }
  .ds-hero-actions > .e-con-inner { flex-direction: column !important; }
  .ds-hero-actions .elementor-widget-button,
  .ds-hero-actions .elementor-button { width: 100% !important; }
  .ds-hero-art img { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; }
}

