:root {
  --lw-navy: #03182D;
  --lw-navy-aux: #0B2948;
  --lw-orange: #E9691B;
  --lw-orange-hover: #FF7A24;
  --lw-text: #18324A;
  --lw-muted: #64788B;
  --lw-border: #DCE5EC;
  --lw-soft: #F7F8FA;
  --lw-white: #FFFFFF;
}

/* Layout only. Section, text and button colors are stored natively in Elementor. */
body.lakaswire-elementor-page,
.lakaswire-elementor-page .vm-main {
  background: var(--lw-soft);
}

.lakaswire-elementor-page .vm-page-shell {
  overflow: visible;
}

/* Keep editable and dynamic text inside its own column, card or button. */
.lakaswire-elementor-page .elementor-section,
.lakaswire-elementor-page .elementor-container,
.lakaswire-elementor-page .elementor-column,
.lakaswire-elementor-page .elementor-widget-wrap,
.lakaswire-elementor-page .elementor-widget,
.lakaswire-elementor-page .elementor-widget-container,
.lakaswire-elementor-page .vm-sidebar,
.lakaswire-elementor-page .vm-sidebar-card,
.lakaswire-elementor-page .vm-product-card,
.lakaswire-elementor-page .lw-guide-card {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lakaswire-elementor-page :where(h1, h2, h3, h4, h5, h6, p, li, label, a, .elementor-button-text) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.lakaswire-elementor-page :where(input, select, textarea, button, .elementor-button) {
  max-width: 100%;
  box-sizing: border-box;
}

/* Consistent separation for every repeated action group. */
.lakaswire-elementor-page :where(
  .vm-header__actions,
  .vm-hero__actions,
  .vm-cta-panel__actions,
  .vm-product-card__actions,
  .vm-button-group
) {
  gap: 12px;
  row-gap: 12px;
}

.lakaswire-elementor-page :where(
  .vm-header__actions,
  .vm-hero__actions,
  .vm-cta-panel__actions,
  .vm-product-card__actions,
  .vm-button-group
) > .vm-btn {
  margin: 0;
}

.lakaswire-elementor-page .vm-product-filter form > .vm-btn--block + .vm-btn--block,
.lakaswire-elementor-page .vm-sidebar-card > .vm-btn--block + .vm-btn--block {
  margin-top: 12px;
}

.lakaswire-elementor-page .vm-quote-form > .vm-btn + .vm-btn,
.lakaswire-elementor-page .woocommerce div.product .vm-btn + .vm-btn {
  margin-inline-start: 12px;
}

.lakaswire-elementor-page .elementor-section.lw-el-section > .elementor-container {
  max-width: 1180px;
}

.lakaswire-elementor-page .lw-el-section h1,
.lakaswire-elementor-page .lw-el-section h2,
.lakaswire-elementor-page .lw-el-section h3 {
  line-height: 1.15;
}

.lakaswire-elementor-page .lw-el-section h1 {
  max-width: 900px;
  font-size: clamp(2.35rem, 6vw, 4.8rem);
  letter-spacing: -0.04em;
}

.lakaswire-elementor-page .lw-el-section h2 {
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  letter-spacing: -0.025em;
}

.lakaswire-elementor-page .lw-el-section h3 {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.lakaswire-elementor-page .lw-el-section p,
.lakaswire-elementor-page .lw-el-section li {
  font-size: 1.03rem;
  line-height: 1.72;
}

.lakaswire-elementor-page .lw-el-eyebrow p {
  margin: 0;
  font-size: 0.77rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.lakaswire-elementor-page .lw-el-lead p {
  max-width: 780px;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.lakaswire-elementor-page .lw-el-hero {
  position: relative;
  overflow: hidden;
}

.lakaswire-elementor-page .lw-el-hero::after {
  position: absolute;
  right: -90px;
  bottom: -150px;
  width: 430px;
  height: 430px;
  border: 58px solid rgba(255, 255, 255, 0.035);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.lakaswire-elementor-page .lw-el-button {
  display: inline-block;
  width: auto;
  margin: 8px 10px 0 0;
}

.lakaswire-elementor-page .lw-el-button .elementor-button {
  min-height: 48px;
  padding: 14px 24px;
  border-radius: 8px;
  font-weight: 800;
  transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.lakaswire-elementor-page .lw-el-button .elementor-button:hover {
  transform: translateY(-2px);
}

.lakaswire-elementor-page .lw-el-card > .elementor-widget-wrap {
  height: 100%;
  box-shadow: 0 16px 42px rgba(5, 30, 53, 0.07);
}

.lakaswire-elementor-page .lw-el-cta > .elementor-widget-wrap {
  max-width: 880px;
}

.lakaswire-elementor-page .lw-el-dynamic {
  margin-top: 28px;
}

/* Dynamic shortcode cards sit inside much narrower columns than page headings. */
.lakaswire-elementor-page .lw-el-dynamic .vm-sidebar-card h2,
.lakaswire-elementor-page .lw-el-dynamic .vm-product-card h2,
.lakaswire-elementor-page .lw-el-dynamic .lw-guide-card h2 {
  margin-top: 0;
  font-size: clamp(1.2rem, 1.05rem + 0.55vw, 1.65rem);
  line-height: 1.22;
  letter-spacing: -0.015em;
}

.lakaswire-elementor-page .lw-el-dynamic .vm-sidebar-card p,
.lakaswire-elementor-page .lw-el-dynamic .vm-sidebar-card li {
  font-size: 0.98rem;
  line-height: 1.55;
}

.lakaswire-elementor-page .lw-el-dynamic .vm-sidebar-card .vm-btn,
.lakaswire-elementor-page .lw-el-dynamic .vm-sidebar-card .elementor-button {
  width: 100%;
  white-space: normal;
  text-align: center;
}

.lakaswire-elementor-page .lw-el-policy > .elementor-container {
  max-width: 900px;
}

.lakaswire-elementor-page .lw-el-policy-content h2 {
  margin-top: 34px;
  font-size: 1.5rem;
}

/* Dynamic shortcode output is not an Elementor widget, so it keeps lightweight brand styling. */
.lakaswire-elementor-page .lw-guides-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.lakaswire-elementor-page .lw-guide-card {
  overflow: hidden;
  border: 1px solid var(--lw-border);
  border-radius: 12px;
  background: var(--lw-white);
}

.lakaswire-elementor-page .lw-guide-card__image {
  display: block;
  aspect-ratio: 16 / 10;
}

.lakaswire-elementor-page .lw-guide-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lakaswire-elementor-page .lw-guide-card__body {
  padding: 24px;
}

.lakaswire-elementor-page .lw-guide-card__body small {
  color: var(--lw-orange);
  font-weight: 700;
}

.lakaswire-elementor-page .lw-el-empty {
  padding: 34px;
  border: 1px dashed var(--lw-border);
  border-radius: 12px;
  text-align: center;
}

@media (max-width: 1024px) {
  .lakaswire-elementor-page .elementor-section.lw-el-section {
    padding: 58px 18px;
  }

  .lakaswire-elementor-page .lw-guides-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .lakaswire-elementor-page .elementor-section.lw-el-section {
    padding: 44px 14px;
  }

  .lakaswire-elementor-page .lw-el-card {
    margin-bottom: 18px;
  }

  .lakaswire-elementor-page .lw-el-button {
    display: block;
    width: 100%;
    margin-right: 0;
  }

  .lakaswire-elementor-page .lw-el-button .elementor-button {
    width: 100%;
  }

  .lakaswire-elementor-page .lw-guides-grid {
    grid-template-columns: 1fr;
  }

  .lakaswire-elementor-page .vm-quote-form > .vm-btn,
  .lakaswire-elementor-page .woocommerce div.product .vm-btn {
    width: 100%;
  }

  .lakaswire-elementor-page .vm-quote-form > .vm-btn + .vm-btn,
  .lakaswire-elementor-page .woocommerce div.product .vm-btn + .vm-btn {
    margin-top: 12px;
    margin-inline-start: 0;
  }
}
