/* Ramki Cards: Unified storefront visual language.
   Presentation only; loaded on public storefront through shared header.
   The approved homepage (.rc-new) and admin pages are intentionally excluded. */
:root {
  --rk-unify-cream: #fbf8f2;
  --rk-unify-paper: #fffdf9;
  --rk-unify-ink: #231d1c;
  --rk-unify-maroon: #7f0923;
  --rk-unify-gold: #b78a51;
  --rk-unify-line: #e9ded0;
}
body:has(main:not(.rc-new)) {
  background:var(--rk-unify-cream);
  color:var(--rk-unify-ink);
}
body:has(main:not(.rc-new)) main { background-color:var(--rk-unify-cream); }
body:has(main:not(.rc-new)) main h1,
body:has(main:not(.rc-new)) main h2,
body:has(main:not(.rc-new)) main h3 {
  letter-spacing:-.025em;
}
body:has(main:not(.rc-new)) main .container,
body:has(main:not(.rc-new)) main .page-container {
  max-width:1280px;
}
/* Consistent section accents and understated luxury card surfaces. */
body:has(main:not(.rc-new)) main :is(.product-card,.glass-card,.account-card,.summary-card,.service-card,.category-card,.gallery-card,.cart-item,.checkout-card,.info-card) {
  border-color:var(--rk-unify-line);
  box-shadow:0 8px 28px rgba(55,28,30,.045);
}
body:has(main:not(.rc-new)) main :is(.product-card,.category-card,.gallery-card) img {
  display:block;
}
body:has(main:not(.rc-new)) main :is(.primary-btn,.page-action-primary,.btn-primary,.add-to-cart-btn) {
  background-color:var(--rk-unify-maroon);
  border-color:var(--rk-unify-maroon);
  color:#fff;
}
body:has(main:not(.rc-new)) main :is(.primary-btn,.page-action-primary,.btn-primary,.add-to-cart-btn):hover {
  background-color:#62051a;
  border-color:#62051a;
  color:#fff;
}
body:has(main:not(.rc-new)) main :is(input,select,textarea):focus-visible {
  outline:2px solid #b78a51;
  outline-offset:1px;
}
body:has(main:not(.rc-new)) main :is(.page-eyebrow,.section-eyebrow,.eyebrow) {
  color:#a17842;
}
/* Banner look for internal informational pages; maintain their original imagery/markup. */
body:has(main.store-inner-page) main.store-inner-page .page-hero {
  background-color:#f8f1e7;
  border-bottom:1px solid var(--rk-unify-line);
}
body:has(main.store-inner-page) main.store-inner-page .page-hero h1 {
  color:#321c24;
}
body:has(main.store-inner-page) main.store-inner-page .page-lead {
  color:#655652;
}
/* Product listings: match homepage caption typography without overriding their grid/filter logic. */
body:has(main.rk-royal-catalogue) main.rk-royal-catalogue .product-card {
  background:var(--rk-unify-paper);
  border-radius:3px;
  overflow:hidden;
}
body:has(main.rk-royal-catalogue) main.rk-royal-catalogue .product-card :is(h3,h4,.product-name) {
  font-size:14px;
  font-weight:500;
  line-height:1.45;
}
body:has(main.rk-royal-catalogue) main.rk-royal-catalogue :is(.product-card,.product-card img) {
  transition:box-shadow .2s ease;
}
body:has(main:not(.rc-new)) main a:focus-visible,
body:has(main:not(.rc-new)) main button:focus-visible {
  outline:2px solid var(--rk-unify-gold);
  outline-offset:3px;
}
@media (max-width:767px) {
 body:has(main:not(.rc-new)) main .container {max-width:100%;}
 body:has(main:not(.rc-new)) main :is(.glass-card,.account-card,.checkout-card) {box-shadow:0 4px 18px rgba(55,28,30,.04);}
}


/* Public storefront: replicate approved homepage's porcelain nav and deep-wine footer.
   The homepage uses its own locked theme; admin pages never include this CSS. */
body header {background:#fbf8f2 !important;color:#331c25 !important;border-bottom:1px solid #e8ddd2 !important;box-shadow:0 2px 10px #34132310 !important}
body header .navbar {min-height:58px !important;height:auto !important;gap:14px !important}
body header nav ul {gap:clamp(9px,1.45vw,26px) !important}
body header nav ul li a {color:#56172d !important;font:600 12px/1.25 'Lato','Poppins',Arial,sans-serif !important;letter-spacing:0 !important}
body header nav ul li a:hover {color:#a92c48 !important}
body header .brand-logo {height:46px !important;width:92px !important;max-width:92px !important}
body header .brand-logo img {max-height:46px !important}
body header .ramki-brand-caption strong{color:#751634 !important}
body header .ramki-brand-caption small{color:#ae8659 !important}
body header .store-nav-actions .quote-btn {background:#6c102b !important;color:white !important;border:1px solid #6c102b !important;border-radius:3px !important}
body header .store-nav-actions .quote-btn:hover{background:#851f3f !important;color:#fff !important}
body header .storefront-login-copy small{display:none !important}
body .top-strip{background:#680a24 !important;color:#fff !important;height:27px !important;min-height:27px !important}
body .top-strip-content{height:27px !important}
body .top-strip-content span{color:#fff0da !important;font-size:10px !important}
body footer{background:#510a24 !important;color:#fff3e7 !important;border-top:1px solid #743249 !important}
body footer :is(h2,h3,strong){color:#f6d49b !important}
body footer :is(p,a,li,small){color:#fff4ec !important}
body footer a:hover{color:#f5c787 !important}
body footer .footer-brand-logo img{max-height:48px}
body footer .footer-grid{gap:clamp(20px,3vw,55px)}

/* Catalogue cards: identical clean image-first treatment to locked landing cards.
   Do not change DOM actions, quick-add forms, customer favorites, or filters. */
body .rk-royal-catalogue .catalog-products{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:clamp(14px,2vw,27px) !important;align-items:start !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product{position:relative !important;display:flex !important;flex-direction:column !important;width:100% !important;min-width:0 !important;overflow:visible !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important;padding:0 !important;transform:none !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .rk-landing-product-media{position:relative !important;width:100% !important;aspect-ratio:1.23/1 !important;background:#fffaf4 !important;overflow:hidden !important;border-radius:0 !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .rk-landing-product-media>a{display:block !important;position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;overflow:hidden !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-img{position:absolute !important;inset:0 !important;display:block !important;width:100% !important;height:100% !important;aspect-ratio:auto !important;max-height:none !important;background:transparent !important;padding:0 !important;margin:0 !important;overflow:hidden !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-img img{display:block !important;width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;object-position:center !important;transform:none !important;filter:none !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product>.badge{display:none !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .rk-landing-product-media~.badge{display:none !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .badge{position:absolute !important;z-index:3 !important;top:9px !important;left:9px !important;right:auto !important;border-radius:0 !important;background:#e52c12 !important;color:#fff !important;padding:5px 8px !important;font:600 11px 'Lato',Arial,sans-serif !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .rk-favourite-form{position:absolute !important;z-index:5 !important;right:10px !important;top:10px !important;left:auto !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .rk-favourite-button{width:42px !important;height:42px !important;border:0 !important;border-radius:50% !important;background:#fff !important;color:#870d2c !important;opacity:0;transition:opacity .18s ease !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product:hover .rk-favourite-button,
body .rk-royal-catalogue .catalog-products article.rk-landing-product:focus-within .rk-favourite-button{opacity:1}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-actions{position:absolute !important;z-index:4 !important;bottom:0 !important;left:0 !important;right:0 !important;margin:0 !important;padding:0 !important;display:flex !important;gap:0 !important;opacity:0;visibility:hidden;transition:opacity .18s ease !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product:hover .product-actions,
body .rk-royal-catalogue .catalog-products article.rk-landing-product:focus-within .product-actions{opacity:1;visibility:visible}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-actions>*{flex:1 1 0;min-width:0;margin:0 !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-actions :is(.product-action-btn,button){display:flex !important;justify-content:center !important;align-items:center !important;min-height:42px !important;height:42px !important;width:100% !important;margin:0 !important;padding:8px 6px !important;background:#890000 !important;color:#fff !important;border:0 !important;border-radius:0 !important;font:600 12px 'Lato',Arial,sans-serif !important;white-space:nowrap !important;cursor:pointer}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-actions button:disabled{opacity:.7;cursor:not-allowed}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-body{padding:8px 0 2px !important;background:transparent !important;min-height:0 !important;display:block !important;text-align:left !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-body h3{font:500 14px/1.45 'Lato','Poppins',Arial,sans-serif !important;color:#151515 !important;min-height:0 !important;margin:0 0 5px !important;overflow-wrap:normal !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-body .price{font:700 14px/1.4 'Lato','Poppins',Arial,sans-serif !important;color:#e02413 !important;margin:0 !important}
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-body .price-old{font-size:11px !important;color:#9d9390 !important;text-decoration:line-through !important;margin-left:5px !important}
/* Keep original catalog metadata accessible in the product detail, not repeated beneath the landing-style card. */
body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-name-tamil,
body .rk-royal-catalogue .catalog-products article.rk-landing-product .moq-note{display:none !important}
@media(max-width:900px){body .rk-royal-catalogue .catalog-products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(max-width:780px){body .rk-royal-catalogue .catalog-products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important}body .rk-royal-catalogue .catalog-products article.rk-landing-product .rk-favourite-button,body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-actions{opacity:1;visibility:visible}body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-body h3{font-size:12px !important}body .rk-royal-catalogue .catalog-products article.rk-landing-product .product-actions :is(.product-action-btn,button){font-size:10px !important}}


/* 2026-10-16: match the approved light landing footer across public pages.
   Scoped to the shared footer only; no cart, checkout or admin selectors. */
html body > footer {
  background:#fffdf9 !important;
  color:#422c29 !important;
  border-top:1px solid #e9ddd1 !important;
  box-shadow:none !important;
}
html body > footer .footer-grid,
html body > footer .copyright { background:transparent !important; }
html body > footer .footer-col,
html body > footer .footer-brand,
html body > footer .footer-brand h2,
html body > footer .footer-col h3 { color:#50362f !important; }
html body > footer .footer-col p,
html body > footer .footer-col li,
html body > footer .footer-brand p,
html body > footer .copyright,
html body > footer .copyright p { color:#5c4440 !important; }
html body > footer .footer-col a,
html body > footer .copyright a { color:#552535 !important; }
html body > footer .footer-col a:hover,
html body > footer .copyright a:hover { color:#a31b37 !important; }
html body > footer .copyright {border-color:#e7ded2 !important;}
html body > footer .footer-brand-logo {filter:none !important;}
html body > footer .wa-btn {background:#155f42 !important;color:#fff !important;border-radius:5px !important;}
/* Ensure the shared announcement strip is above navigation and clips correctly. */
html body > .top-strip {height:30px !important;min-height:30px !important;overflow:hidden !important;position:relative !important;}
html body > .top-strip .top-strip-track {display:flex !important;align-items:center !important;width:max-content !important;white-space:nowrap !important;}
html body > .top-strip .top-strip-content {display:flex !important;align-items:center !important;flex:0 0 auto !important;white-space:nowrap !important;min-height:30px !important;}
html body > .top-strip .top-strip-content span {white-space:nowrap !important;}
@media(prefers-reduced-motion:reduce){html body > .top-strip .top-strip-track{animation:none !important;transform:none !important;}}


/* Shared storefront shell, locked landing-page appearance: 2026-10-16. */
html body > .top-strip {display:block !important;position:relative !important;width:100% !important;max-width:none !important;height:30px !important;overflow:hidden !important;background:#460c21 !important;color:#fff !important;z-index:35 !important;}
html body > .top-strip .top-strip-track{display:flex !important;flex-flow:row nowrap !important;width:max-content !important;max-width:none !important;gap:0 !important;white-space:nowrap !important;}
html body > .top-strip .top-strip-content{display:flex !important;flex:0 0 auto !important;gap:0 !important;min-width:max-content !important;white-space:nowrap !important;align-items:center !important;}
html body > .top-strip .top-strip-content span{display:inline-flex !important;flex:0 0 auto !important;align-items:center !important;white-space:nowrap !important;}
html body > header{background:#fff !important;color:#481027 !important;border-bottom:1px solid #f0e9e2 !important;}
html body > header .brand, html body > header nav a{color:#4b1026 !important;}
html body > header .brand .ramki-brand-caption strong{color:#6f1433 !important;}
html body > header .brand .ramki-brand-caption small{color:#a66a20 !important;}
html body > footer{background:#fffcf7 !important;color:#52312d !important;border-top:1px solid #e8dacb !important;}
html body > footer .container,html body > footer .footer-grid,html body > footer .copyright{background:transparent !important;}
html body > footer :is(h2,h3,.footer-brand h2,.footer-col h3){color:#6b1230 !important;}
html body > footer :is(p,li,small,.copyright){color:#543b37 !important;}
html body > footer a:not(.wa-btn){color:#64203b !important;}
html body > footer a:not(.wa-btn):hover{color:#a32236 !important;}
html body > footer .wa-btn{display:inline-flex !important;justify-content:center !important;align-items:center !important;background:#155e42 !important;color:#fff !important;border-radius:5px !important;}
html body > footer .copyright{border-top:1px solid #e5dcd2 !important;}


/* Canonical shared storefront shell. One header/footer for every public page. */
html body > .top-strip {height:30px !important;min-height:30px !important;overflow:hidden !important;background:#450b20 !important;color:#fff !important;position:relative !important;display:block !important;}
html body > .top-strip .top-strip-track {display:flex !important;flex-wrap:nowrap !important;width:max-content !important;max-width:none !important;gap:0 !important;animation:none !important;will-change:transform;}
html body > .top-strip .top-strip-content {display:flex !important;flex:0 0 auto !important;width:max-content !important;align-items:center !important;white-space:nowrap !important;}
html body > .top-strip .top-strip-content span {position:static !important;display:inline-flex !important;align-items:center !important;white-space:nowrap !important;padding:0 15px !important;background:none !important;color:#fff !important;font-size:11px !important;}
html body > header {background:#fff !important;color:#4f1029 !important;box-shadow:0 2px 10px #2110090d !important;border-bottom:1px solid #eee6de !important;}
html body > header > .container.navbar {box-sizing:border-box !important;position:relative !important;max-width:100% !important;width:100% !important;min-height:128px !important;display:grid !important;grid-template-columns:1fr auto 1fr !important;grid-template-rows:76px 52px !important;align-items:center !important;gap:0 !important;padding:0 clamp(18px,3.1vw,50px) !important;}
html body > header .navbar > .brand {grid-column:2 !important;grid-row:1 !important;justify-self:center !important;display:flex !important;align-items:center !important;gap:10px !important;margin:0 !important;min-width:0 !important;}
html body > header .navbar > .brand .brand-logo {display:flex !important;align-items:center !important;justify-content:center !important;}
html body > header .navbar > .brand .brand-logo img {max-height:46px !important;width:auto !important;object-fit:contain !important;}
html body > header .navbar > .brand .ramki-brand-caption strong {color:#6d1832 !important;font-family:Georgia,serif !important;font-size:21px !important;line-height:1.1 !important;}
html body > header .navbar > .brand .ramki-brand-caption small {color:#b47930 !important;}
html body > header .navbar > nav {grid-column:1 / -1 !important;grid-row:2 !important;display:flex !important;justify-self:center !important;align-self:center !important;margin:0 !important;}
html body > header .navbar > nav ul {display:flex !important;gap:clamp(22px,3vw,43px) !important;align-items:center !important;margin:0 !important;padding:0 !important;}
html body > header .navbar > nav a {color:#59152e !important;font-size:12px !important;font-weight:700 !important;letter-spacing:1px !important;text-transform:uppercase !important;}
html body > header .navbar > .store-nav-actions {grid-column:3 !important;grid-row:1 !important;justify-self:end !important;display:flex !important;align-items:center !important;gap:10px !important;}
html body > header .storefront-login-button {background:#670d28 !important;color:white !important;border-radius:3px !important;border-color:#670d28 !important;}
html body > header .storefront-login-button * {color:#fff !important;}
html body > footer {background:#fffcf8 !important;color:#50332f !important;border-top:1px solid #e7dcd1 !important;}
html body > footer .footer-grid,html body > footer .container,html body > footer .copyright {background:transparent !important;}
html body > footer :is(h2,h3,.footer-brand h2) {color:#6a1230 !important;}
html body > footer :is(p,li,small,.copyright) {color:#543b35 !important;}
html body > footer a:not(.wa-btn) {color:#681936 !important;}
html body > footer a:not(.wa-btn):hover {color:#a11e44 !important;}
html body > footer .wa-btn {background:#155d43 !important;color:#fff !important;border-radius:5px !important;}
html body > footer .wa-btn:hover {background:#104d37 !important;color:#fff !important;}
@media(max-width:850px){
 html body > header > .container.navbar {min-height:70px !important;display:flex !important;justify-content:space-between !important;gap:12px !important;flex-wrap:wrap !important;}
 html body > header .navbar > .brand {margin:0 !important;}
 html body > header .navbar > nav {display:none !important;}
 html body > header .navbar > nav.open,html body > header .navbar > nav.active {display:block !important;position:absolute !important;top:100% !important;left:0 !important;right:0 !important;background:white !important;z-index:200 !important;padding:16px !important;box-shadow:0 12px 25px #0002 !important;}
 html body > header .navbar > nav.open ul,html body > header .navbar > nav.active ul {display:flex !important;flex-direction:column !important;align-items:flex-start !important;}
 html body > header .navbar > .store-nav-actions {margin-left:auto !important;}
}


/* Unified storefront: protect the brand logo and centered two-row header from
   older catalogue/page-specific CSS. Public storefront only. */
html body > header > .container.navbar > a.brand {
  grid-column:2 !important; grid-row:1 !important; display:inline-flex !important;
  align-items:center !important; justify-content:center !important;
  justify-self:center !important; gap:10px !important; overflow:visible !important;
  width:max-content !important; max-width:calc(100vw - 185px) !important;
  padding:0 !important; margin:0 !important;
}
html body > header > .container.navbar > a.brand > .brand-logo {
  display:flex !important; visibility:visible !important; opacity:1 !important;
  flex:0 0 126px !important; width:126px !important; max-width:126px !important;
  height:48px !important; align-items:center !important; justify-content:center !important;
  overflow:visible !important; background:transparent !important;
}
html body > header > .container.navbar > a.brand > .brand-logo > img {
  display:block !important; visibility:visible !important; opacity:1 !important;
  width:126px !important; max-width:126px !important; height:46px !important;
  max-height:46px !important; min-width:0 !important;
  object-fit:contain !important; filter:none !important; mix-blend-mode:normal !important;
  transform:none !important; position:static !important;
}
html body > header > .container.navbar > a.brand > .ramki-brand-caption {
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  position:static !important; visibility:visible !important; opacity:1 !important;
}
html body > header > .container.navbar > nav {
  grid-column:1 / -1 !important; grid-row:2 !important; justify-self:center !important;
}
html body > header > .container.navbar > .store-nav-actions {
  grid-column:3 !important; grid-row:1 !important; justify-self:end !important;
}
html body > footer .footer-brand .footer-brand-logo,
html body > footer .footer-brand-logo {
  display:flex !important; visibility:visible !important; opacity:1 !important;
  width:54px !important; min-width:54px !important; height:44px !important;
  align-items:center !important; justify-content:center !important; overflow:visible !important;
  background:transparent !important;
}
html body > footer .footer-brand-logo img {
  display:block !important; visibility:visible !important; opacity:1 !important;
  width:54px !important; height:42px !important; max-width:54px !important;
  max-height:42px !important; object-fit:contain !important;
  filter:none !important; mix-blend-mode:normal !important;
}
@media(max-width:850px){
  html body > header > .container.navbar > a.brand {max-width:calc(100vw - 150px) !important; gap:6px !important;}
  html body > header > .container.navbar > a.brand > .brand-logo {flex-basis:76px !important;width:76px !important;max-width:76px !important;}
  html body > header > .container.navbar > a.brand > .brand-logo > img {width:76px !important;max-width:76px !important;}
  html body > header > .container.navbar > nav.open,
  html body > header > .container.navbar > nav.active {display:block !important;}
}


/* Announcement animation repair. Override old animation:none!important rules.
   Two identical announcement groups make the -50% loop seamless. */
@keyframes ramki-announcement-marquee-20261016 {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}
html body > .top-strip > .top-strip-track {
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 0 !important;
  width: max-content !important;
  max-width: none !important;
  transform: translate3d(0,0,0);
  animation-name: ramki-announcement-marquee-20261016 !important;
  animation-duration: var(--ramki-announcement-duration, 28s) !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-direction: normal !important;
  animation-play-state: running !important;
  will-change: transform;
}
html body > .top-strip:is(:hover,:focus-within) > .top-strip-track {
  animation-play-state: paused !important;
}
html body > .top-strip > .top-strip-track > .top-strip-content {
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: 0 !important;
}
@media (prefers-reduced-motion: reduce) {
  html body > .top-strip > .top-strip-track {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }
}

/* Single-owner ticker motion: JS updates transform; no conflicting CSS animation. */
html body > .top-strip > .top-strip-track {
  animation: none !important;
  transition: none !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: max-content !important;
  max-width: none !important;
}
html body > .top-strip > .top-strip-track > .top-strip-content {
  flex: 0 0 auto !important;
  width: max-content !important;
  white-space: nowrap !important;
}
