/**

 * LoveLens cornerstone pages — centered Montserrat headings + Lato body.

 * Scoped to body.lovelens-editorial (hero sliders unchanged).

 */



/* —— Main copy (text-editor) —— */

.lovelens-editorial .elementor-widget-text-editor,

.lovelens-editorial .elementor-widget-text-editor .elementor-widget-container {

  text-align: center;

}



.lovelens-editorial .elementor-widget-text-editor h1,

.lovelens-editorial .elementor-widget-text-editor h2,

.lovelens-editorial .elementor-widget-text-editor h3,

.lovelens-editorial .elementor-widget-text-editor h4 {

  font-family: "Montserrat", "Lato", sans-serif !important;

  font-weight: 500 !important;

  letter-spacing: 0.12em !important;

  text-transform: uppercase !important;

  text-align: center !important;

  color: #111 !important;

  line-height: 1.35 !important;

}



.lovelens-editorial .elementor-widget-text-editor h1 {

  font-size: 33px !important;

  font-weight: 400 !important;

  letter-spacing: 0.06em !important;

  text-transform: none !important;

  max-width: 900px;

  margin-left: auto;

  margin-right: auto;

}



.lovelens-editorial .elementor-widget-text-editor h2 {

  font-size: 33px !important;

  font-weight: 400 !important;

  margin: 32px auto 16px !important;

}



.lovelens-editorial .elementor-widget-text-editor h3 {

  font-size: clamp(15px, 1.8vw, 18px) !important;

  font-weight: 600 !important;

  margin: 24px auto 12px !important;

  color: #222 !important;

}



.lovelens-editorial .elementor-widget-text-editor p,

.lovelens-editorial .elementor-widget-text-editor li,

.lovelens-editorial .elementor-widget-text-editor blockquote {

  font-family: "Lato", "Montserrat", sans-serif !important;

  font-size: 16px !important;

  line-height: 1.75 !important;

  color: #2d2d2d !important;

  text-align: center !important;

}



.lovelens-editorial .elementor-widget-text-editor ul,

.lovelens-editorial .elementor-widget-text-editor ol {

  max-width: 720px;

  margin: 0 auto 24px !important;

  padding-left: 0 !important;

  list-style-position: inside;

  text-align: center !important;

}



.lovelens-editorial .elementor-widget-text-editor a {

  color: #1a1a1a;

  text-decoration: underline;

  text-underline-offset: 2px;

}



.lovelens-editorial .elementor-widget-text-editor strong {

  font-weight: 700;

}



/* —— Section headings (Elementor heading widget; not hero slides) —— */

.lovelens-editorial .elementor-widget-heading .elementor-heading-title {

  font-family: "Montserrat", "Lato", sans-serif !important;

  font-weight: 500 !important;

  text-align: center !important;

  color: #111 !important;

  line-height: 1.35 !important;

}



.lovelens-editorial .elementor-widget-heading h1.elementor-heading-title {

  font-size: 33px !important;

  font-weight: 400 !important;

  letter-spacing: 0.06em !important;

  text-transform: none !important;

  max-width: 920px;

  margin-left: auto;

  margin-right: auto;

}



/* Service pages — hero H1 matches editorial intro H2 (uppercase Montserrat) */

.lovelens-editorial .elementor-widget-heading.ll-service-hero-h1 h1.elementor-heading-title {

  font-size: 33px !important;

  font-weight: 400 !important;

  letter-spacing: 0.14em !important;

  text-transform: uppercase !important;

  margin: 28px auto 14px !important;

  max-width: 920px;

}



.lovelens-editorial .elementor-widget-heading h2.elementor-heading-title {

  font-size: 33px !important;

  font-weight: 400 !important;

  letter-spacing: 0.14em !important;

  text-transform: uppercase !important;

}



.lovelens-editorial .elementor-widget-heading h3.elementor-heading-title {

  font-size: clamp(15px, 1.8vw, 18px) !important;

  font-weight: 600 !important;

  letter-spacing: 0.12em !important;

  text-transform: uppercase !important;

}



.lovelens-editorial .elementor-widget-heading h4.elementor-heading-title,

.lovelens-editorial .elementor-widget-heading h5.elementor-heading-title,

.lovelens-editorial .elementor-widget-heading h6.elementor-heading-title {

  font-size: clamp(14px, 1.6vw, 16px) !important;

  font-weight: 600 !important;

  letter-spacing: 0.12em !important;

  text-transform: uppercase !important;

}



/* —— Testimonials —— */

.lovelens-editorial .elementor-widget-testimonial-carousel .elementor-testimonial-content,

.lovelens-editorial .elementor-widget-testimonial-carousel .elementor-testimonial-name,

.lovelens-editorial .elementor-widget-testimonial-carousel .elementor-testimonial-job,

.lovelens-editorial .elementor-widget-testimonial-carousel .elementor-testimonial-title {

  font-family: "Lato", "Montserrat", sans-serif !important;

  text-align: center !important;

  color: #2d2d2d !important;

}



.lovelens-editorial .elementor-widget-testimonial-carousel .elementor-testimonial-content {

  font-size: 16px !important;

  line-height: 1.75 !important;

  font-style: italic;

}



.lovelens-editorial .elementor-widget-testimonial-carousel .elementor-testimonial-name {

  font-weight: 700 !important;

  font-style: normal;

  margin-top: 12px;

}



.lovelens-editorial .elementor-widget-testimonial-carousel .elementor-testimonial-job {

  font-size: 14px !important;

  color: #555 !important;

}



/* —— Contact form —— */

.lovelens-editorial .elementor-widget-form .elementor-field-group label,

.lovelens-editorial .elementor-widget-form .elementor-field-label {

  font-family: "Montserrat", "Lato", sans-serif !important;

  font-weight: 500 !important;

  letter-spacing: 0.08em !important;

  text-transform: uppercase !important;

  font-size: 12px !important;

}



.lovelens-editorial .elementor-widget-form input,

.lovelens-editorial .elementor-widget-form textarea,

.lovelens-editorial .elementor-widget-form select {

  font-family: "Lato", "Montserrat", sans-serif !important;

  font-size: 15px !important;

}



.lovelens-editorial .elementor-widget-form .elementor-button {

  font-family: "Montserrat", "Lato", sans-serif !important;

  font-weight: 500 !important;

  letter-spacing: 0.1em !important;

  text-transform: uppercase !important;

}



/* —— FAQ accordion —— */

.lovelens-editorial .lovelens-faq-section .elementor-column {

  display: flex !important;

  flex-direction: column !important;

  align-items: center !important;

}



.lovelens-editorial .lovelens-faq-section .elementor-widget-heading {

  width: 100%;

  text-align: center;

}



.lovelens-editorial .lovelens-faq-section .elementor-widget-heading h2.elementor-heading-title {

  font-size: 33px !important;

  /* Match form CTA title styling */
  font-family: "Montserrat", "Lato", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;

}



.lovelens-editorial .lovelens-faq-section .elementor-widget-accordion,

.lovelens-editorial .elementor-widget-accordion.lovelens-faq-accordion {

  width: 100% !important;

  max-width: min(96vw, 780px) !important;

  margin-left: auto !important;

  margin-right: auto !important;

  box-sizing: border-box !important;

}



.lovelens-editorial .lovelens-faq-section .elementor-widget-accordion .elementor-widget-container,

.lovelens-editorial .elementor-widget-accordion.lovelens-faq-accordion .elementor-widget-container {

  width: 100% !important;

  max-width: 100% !important;

  box-sizing: border-box !important;

}



.lovelens-editorial .lovelens-faq-section .elementor-widget-accordion .elementor-accordion,

.lovelens-editorial .elementor-widget-accordion.lovelens-faq-accordion .elementor-accordion {

  width: 100% !important;

  max-width: 100% !important;

  display: block !important;

  box-sizing: border-box !important;

}



.lovelens-editorial .lovelens-faq-section .elementor-accordion .elementor-accordion-item,

.lovelens-editorial .elementor-widget-accordion.lovelens-faq-accordion .elementor-accordion-item {

  width: 100%;

}



.lovelens-editorial .lovelens-faq-section .elementor-accordion .elementor-accordion-title,

.lovelens-editorial .elementor-widget-accordion.lovelens-faq-accordion .elementor-accordion-title {

  font-family: "Montserrat", "Lato", sans-serif !important;

  font-weight: 500 !important;

  font-size: 14px !important;

  letter-spacing: 0.06em !important;

  text-transform: uppercase !important;

  color: #1a1a1a !important;

  line-height: 1.45 !important;

  white-space: normal !important;

  text-align: left !important;

  overflow-wrap: break-word !important;

  word-wrap: break-word !important;

}



.lovelens-editorial .lovelens-faq-section .elementor-accordion .elementor-tab-content,

.lovelens-editorial .elementor-widget-accordion.lovelens-faq-accordion .elementor-tab-content {

  font-family: "Lato", "Montserrat", sans-serif !important;

  font-size: 15px !important;

  line-height: 1.65 !important;

  color: #333 !important;

  text-align: center !important;

  white-space: normal !important;

  overflow-wrap: break-word !important;

  word-wrap: break-word !important;

  word-break: break-word !important;

  max-width: 100% !important;

  box-sizing: border-box !important;

  overflow-x: hidden !important;

}



.lovelens-editorial .lovelens-faq-section .elementor-accordion .elementor-tab-content p,

.lovelens-editorial .elementor-widget-accordion.lovelens-faq-accordion .elementor-tab-content p {

  font-family: inherit !important;

  font-size: inherit !important;

  line-height: inherit !important;

  text-align: center !important;

  white-space: normal !important;

  overflow-wrap: break-word !important;

  word-wrap: break-word !important;

  max-width: 100% !important;

  margin: 0 auto !important;

}



@media (max-width: 767px) {

  .lovelens-editorial .lovelens-faq-section .elementor-accordion .elementor-accordion-title,

  .lovelens-editorial .elementor-widget-accordion.lovelens-faq-accordion .elementor-accordion-title {

    text-align: center !important;

  }

}



/* —— Homepage intro —— */
.lovelens-editorial .lovelens-home-intro {
  max-width: 920px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.lovelens-editorial.elementor-page-24030 .elementor-widget-heading h1.elementor-heading-title,
.lovelens-editorial.elementor-page-24030 .elementor-element-484f9af8 .elementor-heading-title {
  font-size: 34px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  line-height: 1.35 !important;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

/* Homepage — "Singapore Photography Services" stays below hero H1 */
.lovelens-editorial.elementor-page-24030 .elementor-element-37177d87 .elementor-heading-title {
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.35 !important;
}

.lovelens-editorial .lovelens-home-intro .elementor-widget-text-editor p {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.lovelens-editorial .ll-home-services {
  font-family: "Lato", "Montserrat", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 2 !important;
  color: #333 !important;
  max-width: 900px;
  margin: 8px auto 28px !important;
}

.lovelens-editorial .ll-home-services a {
  color: #1a1a1a !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.2s ease, border-color 0.2s ease;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
}

.lovelens-editorial .ll-home-services a:hover {
  color: #8b7355 !important;
  border-bottom-color: #c4a574;
}

/* Homepage — Instagram + video column titles (match each other, not 33px H2) */
.lovelens-editorial.elementor-page-24030 .ll-home-feature-heading .elementor-heading-title,
.lovelens-editorial.elementor-page-24030 .elementor-element-246d0f2 .elementor-heading-title,
.lovelens-editorial.elementor-page-24030 .elementor-element-f8cfead .elementor-heading-title {
  font-family: "Montserrat", "Lato", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #111 !important;
  line-height: 1.35 !important;
}

/* H1 — site-wide on editorial pages */
.lovelens-editorial h1,
.lovelens-editorial .elementor-widget-text-editor h1,
.lovelens-editorial .elementor-widget-heading h1.elementor-heading-title {
  font-size: 33px !important;
  font-weight: 400 !important;
}

.lovelens-editorial .elementor-widget-heading.ll-service-hero-h1 h1.elementor-heading-title {
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin: 28px auto 14px !important;
}

/* H2 — site-wide on editorial pages (text-editor + heading widgets) */
.lovelens-editorial h2,
.lovelens-editorial .elementor-widget-text-editor h2,
.lovelens-editorial .elementor-widget-heading h2.elementor-heading-title {
  font-size: 33px !important;
  font-weight: 400 !important;
}

/* Social block — "FIND US ON FACEBOOK & INSTAGRAM" (after H2 so it wins) */
.lovelens-editorial .elementor-widget-heading.ll-social-heading .elementor-heading-title,
.lovelens-editorial .elementor-widget-heading:has(+ .elementor-widget-social-icons) .elementor-heading-title,
.lovelens-editorial .elementor-column:has(> .elementor-widget-social-icons) > .elementor-widget-heading .elementor-heading-title {
  font-family: "Montserrat", "Lato", sans-serif !important;
  font-size: 15px !important; /* 5px smaller */
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #111 !important;
  line-height: 1.4 !important;
}

.lovelens-editorial .elementor-widget-heading.ll-social-heading .elementor-heading-title span,
.lovelens-editorial .elementor-widget-heading:has(+ .elementor-widget-social-icons) .elementor-heading-title span {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  color: inherit !important;
}

/* Form CTA — match homepage "Let's capture / check availability" block */
.lovelens-editorial .elementor-widget-heading.ll-form-cta-title .elementor-heading-title,
.lovelens-editorial .elementor-element-768a46c .elementor-heading-title {
  font-family: "Montserrat", "Lato", sans-serif !important;
  font-size: 33px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #111 !important;
  line-height: 1.35 !important;
}

.lovelens-editorial .elementor-widget-heading.ll-form-cta-subtitle .elementor-heading-title,
.lovelens-editorial .elementor-element-0d181d2 .elementor-heading-title {
  font-family: "Montserrat", "Lato", sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  text-align: center !important;
  color: #111 !important;
  line-height: 1.5 !important;
}

.lovelens-editorial .elementor-widget-heading.ll-form-cta-duplicate-hidden {
  display: none !important;
}

@media (max-width: 767px) {
  .lovelens-editorial .elementor-widget-heading.ll-form-cta-title .elementor-heading-title,
  .lovelens-editorial .elementor-element-768a46c .elementor-heading-title {
    font-size: 20px !important;
  }
}

/* Responsive typography — keep desktop 33px, reduce on tablet/mobile */
@media (max-width: 1024px) {
  .lovelens-editorial h1,
  .lovelens-editorial .elementor-widget-text-editor h1,
  .lovelens-editorial .elementor-widget-heading h1.elementor-heading-title,
  .lovelens-editorial .elementor-widget-heading.ll-service-hero-h1 h1.elementor-heading-title,
  .lovelens-editorial h2,
  .lovelens-editorial .elementor-widget-text-editor h2,
  .lovelens-editorial .elementor-widget-heading h2.elementor-heading-title,
  .lovelens-editorial .lovelens-faq-section .elementor-widget-heading h2.elementor-heading-title,
  .lovelens-editorial .elementor-widget-heading.ll-form-cta-title .elementor-heading-title,
  .lovelens-editorial .elementor-element-768a46c .elementor-heading-title {
    font-size: 26px !important;
  }

  .lovelens-editorial.elementor-page-24030 .elementor-element-484f9af8 .elementor-heading-title,
  .lovelens-editorial.elementor-page-24030 .ll-home-hero-h1 .elementor-heading-title {
    font-size: 28px !important;
  }

  .lovelens-editorial.elementor-page-24030 .elementor-element-37177d87 .elementor-heading-title {
    font-size: 22px !important;
  }
}

@media (max-width: 767px) {
  .lovelens-editorial h1,
  .lovelens-editorial .elementor-widget-text-editor h1,
  .lovelens-editorial .elementor-widget-heading h1.elementor-heading-title,
  .lovelens-editorial .elementor-widget-heading.ll-service-hero-h1 h1.elementor-heading-title,
  .lovelens-editorial h2,
  .lovelens-editorial .elementor-widget-text-editor h2,
  .lovelens-editorial .elementor-widget-heading h2.elementor-heading-title,
  .lovelens-editorial .lovelens-faq-section .elementor-widget-heading h2.elementor-heading-title,
  .lovelens-editorial .elementor-widget-heading.ll-form-cta-title .elementor-heading-title,
  .lovelens-editorial .elementor-element-768a46c .elementor-heading-title {
    font-size: 20px !important;
  }

  /* Homepage hero H1 — largest intro line on phone */
  .lovelens-editorial.elementor-page-24030 .elementor-element-484f9af8 .elementor-heading-title,
  .lovelens-editorial.elementor-page-24030 .elementor-element-484f9af8 h1.elementor-heading-title,
  .lovelens-editorial.elementor-page-24030 .ll-home-hero-h1 .elementor-heading-title {
    font-size: 22px !important;
    letter-spacing: 0.08em !important;
    line-height: 1.32 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    max-width: 20em !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Homepage — services H2 below hero */
  .lovelens-editorial.elementor-page-24030 .elementor-element-37177d87 .elementor-heading-title {
    font-size: 17px !important;
    letter-spacing: 0.1em !important;
    line-height: 1.35 !important;
  }

  .lovelens-editorial .elementor-widget-heading.ll-social-heading .elementor-heading-title,
  .lovelens-editorial .elementor-widget-heading:has(+ .elementor-widget-social-icons) .elementor-heading-title,
  .lovelens-editorial .elementor-column:has(> .elementor-widget-social-icons) > .elementor-widget-heading .elementor-heading-title {
    font-size: 13px !important;
  }
}

/* Hero / gallery / sliders: do not override slide typography */
.lovelens-editorial .elementor-widget-slides .elementor-slide-heading,
.lovelens-editorial .elementor-widget-slides .elementor-slide-description {
  /* Elementor controls hero fonts inline */
}

