/* Ramki Cards - Photography Services typography v34 (from v11/v12), 22 Oct 2026.
   Loaded immediately after ramki-wedding-moments.css.
   Only this section is affected: leave card typography, images, fan animation,
   headings in other sections, and dynamic admin-managed text unchanged. */

html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > .rc-overline {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: .13em !important;
}

html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > h2 {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: clamp(38px, 3vw, 42px) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
}

html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > p {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > a.rc-small-button {
    font-family: 'Josefin Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    padding: 12px 18px !important;
}

/* Responsive text sizes: keep the existing stacked image gallery and columns. */
@media (min-width: 601px) and (max-width: 1050px) {
    html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > h2 {
        font-size: clamp(34px, 3.9vw, 39px) !important;
    }
    html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a {
        font-size: 18px !important;
    }
}

@media (max-width: 600px) {
    html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > .rc-overline {
        font-size: 14px !important;
    }
    html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > h2 {
        font-size: clamp(29px, 7.4vw, 35px) !important;
        line-height: 1.2 !important;
    }
    html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > p {
        font-size: 15px !important;
    }
    html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a {
        font-size: 17px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child > a.rc-small-button {
        font-size: 15px !important;
    }
}

/* v12 – King of Cards reference: aligned two-digit numbered service rows.
   No alterations to PHP-managed service names, URLs, photos or carousel JS.
   Apply counters to the existing links: zero content duplication and no database changes. */
@media (min-width: 1100px) {
  html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child {
    box-sizing: border-box !important;
    padding-left: 39px !important; /* reference desktop text begins ~68px from viewport edge at 1366px */
    min-width: 0 !important;
  }
}
@media (min-width: 601px) and (max-width: 1099px) {
  html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child {
    box-sizing: border-box !important;
    padding-left: clamp(10px, 2vw, 22px) !important;
    min-width: 0 !important;
  }
}
html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links {
  counter-reset: rc-photography-item 0;
  display: grid !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 29px 0 33px !important;
  border-top: 1px solid #dec79f !important;
}
html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a {
  counter-increment: rc-photography-item;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  gap: 0 !important;
  min-height: 67px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #dec79f !important;
  color: #5b000b !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a::before {
  content: counter(rc-photography-item, decimal-leading-zero) !important;
  display: inline-block !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: #b7840c !important;
}
html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a:hover,
html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a:focus-visible {
  color: #8b0924 !important;
}
@media (min-width: 601px) and (max-width: 1099px) {
  html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a {
    font-size: 18px !important;
    min-height: 60px !important;
  }
  html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a::before {
    font-size: 18px !important;
    flex-basis: 33px !important;
    width: 33px !important;
  }
}
@media (max-width: 600px) {
  html body main.rc-new#main-content > section.rc-editorial.rc-photography-services > div:first-child {
    padding-left: 0 !important;
    min-width: 0 !important;
  }
  html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links {
    margin: 19px 0 25px !important;
  }
  html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a {
    min-height: 53px !important;
    font-size: 17px !important;
    padding: 10px 0 !important;
  }
  html body main.rc-new#main-content > section.rc-editorial.rc-photography-services .rc-editorial-links > a::before {
    font-size: 17px !important;
    flex-basis: 32px !important;
    width: 32px !important;
  }
}

/* v34: visible photo-fan captions use the same calm Josefin typography.
   Do not change fan transforms, images, overlays or animation. */
html body main.rc-new#main-content section.rc-photography-services
.rc-wedding-stack .rc-wedding-stack__card figcaption {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 500 !important;
}
