@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;500;600;700&display=swap");
/* Ramki Cards public storefront typography only. No layout or functional changes. */
:root{--rc-font-heading:'Josefin Sans',sans-serif;--rc-font-body:'Josefin Sans',sans-serif;--font-heading-family:'Josefin Sans',sans-serif;--font-navigation-family:'Josefin Sans',sans-serif}
html body:not(.admin-body),html body:not(.admin-body) input,html body:not(.admin-body) select,html body:not(.admin-body) textarea,html body:not(.admin-body) button{font-family:var(--rc-font-body)!important}
html body:not(.admin-body) h1,html body:not(.admin-body) h2,html body:not(.admin-body) h3,html body:not(.admin-body) h4,html body:not(.admin-body) h5,html body:not(.admin-body) h6{font-family:var(--rc-font-heading)!important}
/* Product names and prices stay crisp and easy to scan. */
html body .rc-product-copy a,html body .rc-product-price,html body .product-card .product-title,html body .product-card .product-name,html body .product-card .price,html body .rc-new .rc-product-copy a{font-family:var(--rc-font-body)!important}
/* Shared brand label, menus, footer and form controls retain original sizes, colours, and spacing. */
html body > header .navbar > .brand .ramki-brand-caption strong,html body header .ramki-brand-caption strong{font-family:var(--rc-font-heading)!important}
html body nav,html body nav a,html body .rc-new .rc-product-copy,html body footer,html body footer a{font-family:var(--rc-font-body)!important}
/* Ensure headings in landing-page components use the premium serif even when older CSS forces Georgia. */
html body .rc-new .rc-heading h2,html body .rc-new .rc-process h2,html body .rc-new .rc-reviews h2,html body .rc-new .rc-wedding-moments h2{font-family:var(--rc-font-heading)!important}
/* Tamil remains legible under its own designed typeface. */
html body :lang(ta),html body [lang="ta"]{font-family:'Noto Sans Tamil',sans-serif!important}


/* Storefront readability increase, October 2026. No component geometry or logic changes. */
html body:not(.admin-body){font-size:17px;line-height:1.58}
html body:not(.admin-body) p,html body:not(.admin-body) li,html body:not(.admin-body) td,html body:not(.admin-body) th,html body:not(.admin-body) details,html body:not(.admin-body) .description{font-size:inherit}
html body:not(.admin-body) h1{font-size:clamp(2.5rem,4.3vw,4.3rem)}
html body:not(.admin-body) h2{font-size:clamp(2.15rem,3.3vw,3.35rem)}
html body:not(.admin-body) h3{font-size:clamp(1.65rem,2.4vw,2.25rem)}
html body:not(.admin-body) h4{font-size:1.45rem}
html body:not(.admin-body) .rc-new .rc-product-copy a,
html body:not(.admin-body) .product-card .product-title,
html body:not(.admin-body) .product-card .product-name,
html body:not(.admin-body) .rc-new .rc-product-copy a{font-size:18px!important;line-height:1.45!important}
html body:not(.admin-body) .rc-product-price,
html body:not(.admin-body) .product-card .price{font-size:16px!important}
html body:not(.admin-body) .rc-new .rc-wedding-moments p,
html body:not(.admin-body) .rc-new .rc-wedding-moments li,
html body:not(.admin-body) .rc-new .rc-wedding-moments a{font-size:18px!important}
html body:not(.admin-body) .rc-new .rc-process p,
html body:not(.admin-body) .rc-new .rc-process li,
html body:not(.admin-body) .rc-new .rc-reviews p{font-size:17px!important}
html body:not(.admin-body) .rc-new .rc-process h2,
html body:not(.admin-body) .rc-new .rc-reviews h2{font-size:clamp(2.4rem,3.5vw,3.4rem)!important}
html body:not(.admin-body) nav a,
html body:not(.admin-body) footer a,
html body:not(.admin-body) footer p{font-size:max(14px,1em)}
html body:not(.admin-body) button,
html body:not(.admin-body) input,
html body:not(.admin-body) select,
html body:not(.admin-body) textarea{font-size:16px}
@media(max-width:767px){html body:not(.admin-body){font-size:16px}html body:not(.admin-body) .rc-new .rc-product-copy a{font-size:16px!important}}

/* STORE-FACING PRIMARY/SECONDARY FONT STACK – October 2026
   Primary: Josefin Sans; secondary fallback: generic sans-serif.
   This file is loaded by the shared CUSTOMER storefront header.
   Do not apply it to /admin/ pages, and preserve symbol/icon fonts. */
html body:not(.admin-body):not(.admin-page) {
  --rc-font-heading: 'Josefin Sans', sans-serif;
  --rc-font-body: 'Josefin Sans', sans-serif;
  --font-heading-family: 'Josefin Sans', sans-serif;
  --font-navigation-family: 'Josefin Sans', sans-serif;
  font-family: 'Josefin Sans', sans-serif !important;
}
html body:not(.admin-body):not(.admin-page) :is(
  h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,figcaption,
  label,input,select,textarea,button,
  .rc-product-copy,.rc-product-copy a,.rc-product-price,
  .product-title,.product-name,.product-price,
  .product-card .price,.rc-heading,.rc-heading a,
  .rc-catalogue-label,.rc-catalogue-label a,
  .rc-editorial,.rc-process,.rc-steps,.rc-reviews,
  .rc-story-hover-details,.rc-story-hover-caption,
  .storefront-header,.storefront-footer,
  .store-nav,.store-nav a,.store-nav-actions,.store-nav-actions a,
  .storefront-nav,.storefront-nav a,.nav-dropdown a,
  .dropdown-menu a,.submenu a,
  .enquiry-drawer,.rc-enquiry-drawer
) {
  font-family: 'Josefin Sans', sans-serif !important;
}
/* Product details and internal storefront link labels */
html body:not(.admin-body):not(.admin-page) main :is(
  .product-detail,.product-detail h1,.product-detail h2,
  .product-info,.product-info h1,.product-info h2,
  .product-title,.product-name,.product-price,
  .rc-product-price,.rc-product-copy a
) {font-family:'Josefin Sans',sans-serif !important;}
/* Retain Tamil glyph support where content explicitly declares Tamil. */
html body:not(.admin-body):not(.admin-page) :lang(ta) {
  font-family:'Noto Sans Tamil',sans-serif !important;
}
/* Do not replace icon-library glyphs with letters. */
html body:not(.admin-body):not(.admin-page) :is(
  .fa,.fas,.far,.fab,.fal,.fa-solid,.fa-regular,.fa-brands,
  .material-icons,.material-symbols-outlined,.material-symbols-rounded,
  .bi,.ti,.lucide,.iconify
) {font-family:revert-layer;}
