/* Josefin Sans is loaded in the shared storefront header; keep one font source. */
/* Ramki Cards: reference-style typography and genuinely full-width homepage cards.
   Scope intentionally excludes admin; no layout, JS, or card markup changes. */
/* Match reference's geometric rounded letterforms without altering the Tamil face. */
html body:not(.admin-page) :is(.rc-new, .storefront-header, .storefront-footer, header.storefront-header, footer.storefront-footer) {
  font-family: 'Josefin Sans', 'Lato', 'Noto Sans Tamil', sans-serif;
}
html body main.rc-new :is(.rc-heading h2,.rc-catalogue-label h2,.rc-product-copy a,.rc-product-price,.rc-heading>a) {
  font-family:'Josefin Sans','Lato','Noto Sans Tamil',sans-serif!important;
}
html body main.rc-new .rc-heading h2 {font-weight:500!important;letter-spacing:.015em!important;}
html body main.rc-new .rc-product-row .rc-product-copy > a {font-family:'Josefin Sans','Lato','Noto Sans Tamil',sans-serif!important;font-weight:500!important;font-size:17px!important;line-height:1.35!important;}
html body main.rc-new .rc-scroll-shell .rc-product-price {font-family:'Josefin Sans','Lato',sans-serif!important;font-size:16px!important;}
/* Font family only, leave existing Tamil layout and size untouched. */
html body :lang(ta) {font-family:'Noto Sans Tamil',sans-serif!important;}
/* Use the full available website width, with a small safe gutter at the viewport edge. */
@media(min-width:1100px) {
  html body main.rc-new section.rc-section.rc-wrap {
    box-sizing:border-box!important;
    max-width:none!important;
    width:100%!important;
    padding-left:clamp(18px,2.1vw,34px)!important;
    padding-right:clamp(18px,2.1vw,34px)!important;
  }
  html body main.rc-new .rc-scroll-shell {
    padding-inline:0!important;
  }
  html body main.rc-new .rc-scroll-shell > button.rc-scroll-prev {left:5px!important;}
  html body main.rc-new .rc-scroll-shell > button.rc-scroll-next {right:5px!important;}
}
/* At tablet widths, remove oversized carousel arrow gutters without changing visible card counts. */
@media(min-width:700px) and (max-width:1099px) {
  html body main.rc-new section.rc-section.rc-wrap{max-width:none!important;width:100%!important;padding-inline:20px!important;box-sizing:border-box!important;}
  html body main.rc-new .rc-scroll-shell{padding-inline:0!important;}
  html body main.rc-new .rc-scroll-shell > button.rc-scroll-prev{left:4px!important;}
  html body main.rc-new .rc-scroll-shell > button.rc-scroll-next{right:4px!important;}
}
/* Product images fill the full card media frame; sale badge, heart and enquiry stay layered above. */
html body main.rc-new .rc-scroll-shell > .rc-scroll-track > article.rc-product > .rc-product-media{width:100%!important;}
html body main.rc-new .rc-scroll-shell > .rc-scroll-track > article.rc-product > .rc-product-media > a.rc-product-image > img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;}

/* FIX: retain the ENTIRE full-width carousel track, putting section arrows
   in the existing page-side margins instead of consuming 50px at each side.
   No changes to product-card image gallery arrows, carousel JS, or mobile grids. */
@media (min-width: 700px) {
  html body main.rc-new .rc-scroll-shell {
    padding-inline: 0 !important;
    overflow: visible !important;
  }
  html body main.rc-new .rc-scroll-shell > button.rc-scroll-arrow {
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-family: Arial, sans-serif !important;
    box-shadow: 0 6px 18px rgba(36,15,15,.16) !important;
  }
  html body main.rc-new .rc-scroll-shell > button.rc-scroll-arrow > * {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }
  html body main.rc-new .rc-scroll-shell > button.rc-scroll-prev {
    left: -29px !important;
    right: auto !important;
  }
  html body main.rc-new .rc-scroll-shell > button.rc-scroll-next {
    right: -29px !important;
    left: auto !important;
  }
}
/* Keep only the smallest necessary outer page margin for the controls.
   This is 30px per side, not the old 50px INSIDE the carousel; the visible
   cards use 100% of their section's available width. */
@media (min-width: 700px) and (max-width: 1099px) {
  html body main.rc-new section.rc-section.rc-wrap:has(.rc-scroll-shell),
  html body main.rc-new section.rc-section.rc-wrap#rcLatestStories {
    padding-inline: 30px !important;
  }
}
@media (min-width: 1100px) {
  html body main.rc-new section.rc-section.rc-wrap:has(.rc-scroll-shell),
  html body main.rc-new section.rc-section.rc-wrap#rcLatestStories {
    padding-inline: max(30px, clamp(18px, 2.1vw, 34px)) !important;
  }
}
/* The mobile PRODUCT section remains a two-column grid with NO arrows.
   Only category slider keeps navigation, placed in compact side lanes. */
@media (max-width: 699px) {
  html body main.rc-new .rc-collection-slider.rc-scroll-shell {
    padding-inline: 28px !important;
  }
  html body main.rc-new .rc-collection-slider.rc-scroll-shell > button.rc-scroll-arrow {
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-family: Arial, sans-serif !important;
    box-shadow: 0 5px 15px rgba(36,15,15,.15) !important;
  }
  html body main.rc-new .rc-collection-slider.rc-scroll-shell > button.rc-scroll-arrow > * {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }
  html body main.rc-new .rc-collection-slider.rc-scroll-shell > button.rc-scroll-prev {
    left: 1px !important;
    right: auto !important;
  }
  html body main.rc-new .rc-collection-slider.rc-scroll-shell > button.rc-scroll-next {
    right: 1px !important;
    left: auto !important;
  }
}

/* Reference typography v2 — home/storefront text only.
   Use a single geometric type family, with measured heading/body hierarchy.
   Strictly no new grid, card, arrow, carousel, animation, or image rules.
   The #main-content anchor intentionally takes priority over old global
   typography declarations and over the previous one-off home overrides. */
html body main.rc-new#main-content {
  --rc-reference-type: 'Josefin Sans', 'Noto Sans Tamil', Arial, sans-serif;
  font-family: var(--rc-reference-type) !important;
  font-weight: 400 !important;
  letter-spacing: 0;
}
/* Section labels/links: a unified reference-like typographic rhythm. */
html body main.rc-new#main-content .rc-heading h2,
html body main.rc-new#main-content .rc-catalogue-label h2,
html body main.rc-new#main-content .rc-process > h2,
html body main.rc-new#main-content .rc-reviews > h2,
html body main.rc-new#main-content .rc-home-custom .rc-heading h2 {
  font-family: var(--rc-reference-type) !important;
  font-size: clamp(26px, 2.3vw, 34px) !important;
  font-weight: 600 !important;
  letter-spacing: .005em !important;
  line-height: 1.24 !important;
}
html body main.rc-new#main-content .rc-heading > a,
html body main.rc-new#main-content .rc-catalogue-label > a {
  font-family: var(--rc-reference-type) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
/* Products: keep existing prices, card rows and hover styles. */
html body main.rc-new#main-content .rc-product .rc-product-copy > a {
  font-family: var(--rc-reference-type) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.44 !important;
  letter-spacing: 0 !important;
}
html body main.rc-new#main-content .rc-product .rc-product-price {
  font-family: var(--rc-reference-type) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}
html body main.rc-new#main-content .rc-product .rc-product-price del {
  font-family: var(--rc-reference-type) !important;
  font-size: .87em !important;
  font-weight: 400 !important;
}
/* Collection labels are the same weight and spacing as reference tiles. */
html body main.rc-new#main-content .rc-collection-slider .rc-category span {
  font-family: var(--rc-reference-type) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
/* Wedding Moments and Curated for Grand Celebrations. */
html body main.rc-new#main-content .rc-editorial h2 {
  font-family: var(--rc-reference-type) !important;
  font-size: clamp(29px, 2.75vw, 40px) !important;
  font-weight: 500 !important;
  letter-spacing: -.012em !important;
  line-height: 1.2 !important;
}
html body main.rc-new#main-content .rc-editorial p,
html body main.rc-new#main-content .rc-editorial-links a,
html body main.rc-new#main-content .rc-small-button {
  font-family: var(--rc-reference-type) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}
html body main.rc-new#main-content .rc-overline {
  font-family: var(--rc-reference-type) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  line-height: 1.4 !important;
}
html body main.rc-new#main-content .rc-editorial-pair span,
html body main.rc-new#main-content .rc-editorial-pair .rc-curated-unlinked > span {
  font-family: var(--rc-reference-type) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
html body main.rc-new#main-content .rc-editorial-pair .rc-curated-note {
  font-family: var(--rc-reference-type) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
/* Five Steps, stories and testimonials: preserve their existing layouts. */
html body main.rc-new#main-content .rc-steps strong {
  font-family: var(--rc-reference-type) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
html body main.rc-new#main-content .rc-steps span {
  font-family: var(--rc-reference-type) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
html body main.rc-new#main-content .rc-story-hover-caption strong,
html body main.rc-new#main-content .rc-story-hover-details h3 {
  font-family: var(--rc-reference-type) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
html body main.rc-new#main-content .rc-story-hover-details p,
html body main.rc-new#main-content .rc-story-hover-readmore,
html body main.rc-new#main-content .rc-story-section-subtitle,
html body main.rc-new#main-content .rc-story-section-intro {
  font-family: var(--rc-reference-type) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
html body main.rc-new#main-content .rc-review-row p {
  font-family: var(--rc-reference-type) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}
html body main.rc-new#main-content .rc-review-row b,
html body main.rc-new#main-content .rc-review-row small {
  font-family: var(--rc-reference-type) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}
/* Central hero and editorial banners: override the old inline one-off
   font declarations without changing video position, overlay or heights. */
html body main.rc-new#main-content section.rc-hero .rc-hero-video-copy h1 {
  font-family: var(--rc-reference-type) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -.012em !important;
  line-height: 1.18 !important;
}
html body main.rc-new#main-content section.rc-hero .rc-hero-video-copy p {
  font-family: var(--rc-reference-type) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: .004em !important;
}
html body main.rc-new#main-content > section.rc-edge-banner .rc-edge-banner__content h2 {
  font-family: var(--rc-reference-type) !important;
  font-weight: 500 !important;
  letter-spacing: -.015em !important;
  line-height: 1.19 !important;
}
html body main.rc-new#main-content > section.rc-edge-banner .rc-edge-banner__eyebrow,
html body main.rc-new#main-content > section.rc-edge-banner .rc-edge-banner__content p,
html body main.rc-new#main-content > section.rc-edge-banner .rc-edge-banner__button {
  font-family: var(--rc-reference-type) !important;
  letter-spacing: 0 !important;
}
html body main.rc-new#main-content > section.rc-edge-banner .rc-edge-banner__eyebrow {
  letter-spacing: .16em !important;
  font-weight: 600 !important;
}
/* Existing two-column mobile grid and swipe components are untouched. */
@media (max-width: 699px) {
  html body main.rc-new#main-content .rc-heading h2,
  html body main.rc-new#main-content .rc-catalogue-label h2,
  html body main.rc-new#main-content .rc-process > h2,
  html body main.rc-new#main-content .rc-reviews > h2 {
    font-size: 24px !important;
    line-height: 1.25 !important;
  }
  html body main.rc-new#main-content .rc-heading > a,
  html body main.rc-new#main-content .rc-catalogue-label > a {
    font-size: 12px !important;
  }
  html body main.rc-new#main-content .rc-product .rc-product-copy > a {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  html body main.rc-new#main-content .rc-product .rc-product-price {
    font-size: 13px !important;
  }
  html body main.rc-new#main-content .rc-collection-slider .rc-category span {
    font-size: 13px !important;
  }
  html body main.rc-new#main-content .rc-editorial h2 {
    font-size: clamp(26px, 7vw, 33px) !important;
  }
  html body main.rc-new#main-content .rc-steps strong {font-size: 13px !important;}
  html body main.rc-new#main-content .rc-steps span {font-size: 11px !important;}
  html body main.rc-new#main-content .rc-review-row p {font-size: 14px !important;}
  html body main.rc-new#main-content .rc-editorial-pair span {font-size: 14px !important;}
}

/* 2026-10-21: Reference-matched homepage heading and card-title typography.
   Pure text styling: does not modify card width/height, image aspect ratio,
   carousel track dimensions, arrow positioning, or scrolling behaviour. */
html body main.rc-new#main-content :is(
  .rc-heading h2,
  .rc-catalogue-label h2
) {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: clamp(27px, 2.4vw, 34px) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: .002em !important;
  line-height: 1.23 !important;
}
html body main.rc-new#main-content .rc-product .rc-product-copy > a {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}
html body main.rc-new#main-content .rc-collection-slider .rc-category span {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: .005em !important;
  line-height: 1.3 !important;
}
@media (max-width: 699px) {
  html body main.rc-new#main-content :is(.rc-heading h2, .rc-catalogue-label h2) {
    font-size: 23px !important;
  }
  html body main.rc-new#main-content .rc-product .rc-product-copy > a {
    font-size: 13px !important;
  }
  html body main.rc-new#main-content .rc-collection-slider .rc-category span {
    font-size: 15px !important;
  }
}


/* v35 — Latest Stories / Stories We Love typography ONLY.
   Match v34 lighter Wedding Moments and product names; leave the layout,
   images, carousel, hover reveal, gradients, dimensions and spacing untouched. */
html body main.rc-new#main-content section#rcLatestStories .rc-heading h2 {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 400 !important;
}
html body main.rc-new#main-content > section.rc-story-feature.rc-banner-stories .rc-edge-banner__content h2 {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 400 !important;
}
html body main.rc-new#main-content > section.rc-story-feature.rc-banner-stories .rc-edge-banner__eyebrow,
html body main.rc-new#main-content > section.rc-story-feature.rc-banner-stories .rc-edge-banner__content p {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 400 !important;
}
html body main.rc-new#main-content > section.rc-story-feature.rc-banner-stories .rc-edge-banner__button {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 500 !important;
}


/* v39 — Shop by Collection tile names: exact King of Cards inspector typography.
   Matches the category title (reference .ai-collection-card-title), not the
   section heading.  All existing imagery, tiles, arrows and scrolling untouched. */
html body main.rc-new#main-content .rc-collection-slider.rc-scroll-shell
  .rc-category-scroll.rc-scroll-track > a.rc-category > span {
  font-family: 'Josefin Sans', sans-serif !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 26px !important;
  letter-spacing: 0.6px !important;
}

/* Keep the existing mobile tile proportions while matching family and weight. */
@media (max-width: 699px) {
  html body main.rc-new#main-content .rc-collection-slider.rc-scroll-shell
    .rc-category-scroll.rc-scroll-track > a.rc-category > span {
    font-size: 15px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.45px !important;
  }
}
