
/* rosaifa-style */
/*
Theme Name: Rosaifa Release 2026-10-11
Author: Rosaifa
Description: Rosaifa Platform presentation theme — templates, layout and visual UX separated from modular catalog, commerce, beauty intelligence and operations logic.
Version: 4.17.22
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rosaifa
Tags: e-commerce, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready
*/

/* WordPress requires this file at the theme root. Core production styles remain in assets/css/theme.css; responsive visual repairs are isolated in assets/css/visual-repair-v4122.css. */


/* rf-pdp-title-visibility-repair */
body.single-product div.product .summary.entry-summary > h1.product_title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
    clip: auto !important;
    clip-path: none !important;
    height: auto !important;
    min-height: 1em !important;
    overflow: visible !important;
    color: #171412 !important;
    content-visibility: visible !important;
}

@media (max-width: 980px) {
    body.single-product div.product .summary.entry-summary {
        display: flex !important;
        flex-direction: column !important;
        min-width: 0 !important;
    }

    body.single-product div.product .summary.entry-summary > h1.product_title {
        order: 20 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 5px 0 10px !important;
    }
}


/* rosaifa-theme */
:root {
  --rf-ink: #171412;
  --rf-ink-soft: #625b56;
  --rf-canvas: #f7f3ef;
  --rf-paper: #fffdfb;
  --rf-logo-paper: #fdfcf7;
  --rf-rose: #955b62;
  --rf-rose-dark: #744a4e;
  --rf-rose-soft: #eadbdd;
  --rf-sage: #dde5db;
  --rf-sand: #eee7df;
  --rf-line: #d7cfc8;
  --rf-control-border: #8e857f;
  --rf-line-soft: rgba(222, 215, 208, .65);
  --rf-shadow: 0 18px 50px rgba(49, 38, 31, .08);
  --rf-shadow-strong: 0 24px 70px rgba(49, 38, 31, .13);
  --rf-radius: 24px;
  --rf-radius-sm: 14px;
  --rf-max: 1240px;
  --rf-serif: "Cormorant Garamond", Georgia, "Times New Roman", ui-serif, serif;
  --rf-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --rf-header-offset: 0px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--rf-ink);
  background: var(--rf-paper);
  font-family: var(--rf-sans);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.rf-menu-open,
body.rf-filter-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--rf-rose-dark); }
img { display: block; max-width: 100%; height: auto; }
button,
input,
select,
textarea { font: inherit; }
button,
a { -webkit-tap-highlight-color: transparent; }

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background: #fff;
  clip: auto !important;
  clip-path: none;
  color: var(--rf-ink);
  display: block;
  font-size: 14px;
  height: auto;
  left: 10px;
  padding: 12px 16px;
  top: 10px;
  width: auto;
  z-index: 100000;
}
:focus-visible { outline: 2px solid var(--rf-rose-dark); outline-offset: 3px; }

.rf-container {
  width: min(var(--rf-max), calc(100% - 40px));
  margin-inline: auto;
}
.rf-narrow-container { width: min(790px, calc(100% - 40px)); }
.rf-content-container { padding-block: 78px 100px; }
.rf-main { min-height: 45vh; }
.rf-display {
  font-family: var(--rf-serif);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.035em;
}
.rf-eyebrow {
  color: var(--rf-rose-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.rf-button,
.wp-element-button,
.wp-block-button__link {
  align-items: center;
  background: var(--rf-ink);
  border: 1px solid var(--rf-ink);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.rf-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 9px 25px rgba(0, 0, 0, .12); }
.rf-button-light { background: transparent; color: var(--rf-ink); }
.rf-button-light:hover { background: #fff; color: var(--rf-ink); }
.rf-button-rose { background: var(--rf-rose-dark); border-color: var(--rf-rose-dark); }
.rf-arrow-link { font-size: 13px; font-weight: 700; }
.rf-arrow-link:hover { color: var(--rf-rose-dark); }

/* Header */
.rf-announcement {
  background: var(--rf-ink);
  color: #fff;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .04em;
  padding: 9px 10px;
  text-align: center;
}
.rf-site-header {
  position: sticky;
  top: var(--rf-header-offset);
  z-index: 100;
  background: rgba(255, 253, 251, .96);
  border-bottom: 1px solid var(--rf-line-soft);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.admin-bar .rf-site-header { --rf-header-offset: 32px; }
.rf-header-main {
  align-items: center;
  display: grid;
  gap: 22px;
  grid-template-columns: 1fr auto 1fr;
  min-height: 94px;
}
.rf-brand { align-items: center; display: flex; justify-self: center; min-width: 0; }
.custom-logo-link,
.rf-fallback-logo { display: block; }
.custom-logo,
.rf-fallback-logo img {
  height: 64px;
  max-width: 300px;
  object-fit: contain;
  width: auto;
}
.rf-fallback-logo img { mix-blend-mode: multiply; }
.rf-product-search {
  align-items: center;
  background: #fff;
  border: 1px solid var(--rf-control-border);
  border-radius: 999px;
  display: flex;
  gap: 8px;
  max-width: 320px;
  padding: 0 14px;
  width: 100%;
}
.rf-product-search svg {
  fill: none;
  flex: 0 0 auto;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.6;
}
.rf-product-search input[type="search"] {
  background: transparent;
  border: 0;
  color: var(--rf-ink);
  min-height: 42px;
  outline: 0;
  padding: 0;
  width: 100%;
}
.rf-product-search input::placeholder { color: #756c66; }
.rf-desktop-search { justify-self: start; }
.rf-header-actions {
  align-items: center;
  display: flex;
  gap: 9px;
  justify-self: end;
}
.rf-icon-button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--rf-line);
  border-radius: 999px;
  color: var(--rf-ink);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  min-width: 42px;
  padding: 0 12px;
  position: relative;
}
.rf-icon-button svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}
.rf-cart-count {
  align-items: center;
  background: var(--rf-rose-dark);
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 9px;
  font-weight: 800;
  height: 18px;
  justify-content: center;
  min-width: 18px;
  padding: 0 4px;
  position: absolute;
  right: -5px;
  top: -5px;
}
.rf-menu-toggle { display: none; }
.rf-menu-lines { display: grid; gap: 5px; width: 18px; }
.rf-menu-lines i { background: currentColor; display: block; height: 1.5px; width: 100%; }
.rf-primary-nav { border-top: 1px solid var(--rf-line-soft); }
.rf-menu {
  align-items: center;
  display: flex;
  gap: 30px;
  justify-content: center;
  list-style: none;
  margin: 0;
  min-height: 48px;
  padding: 0;
}
.rf-menu > li { position: relative; }
.rf-menu > li > a {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .015em;
  padding: 14px 0;
}
.rf-menu .sub-menu {
  background: #fff;
  border: 1px solid var(--rf-line);
  border-radius: 16px;
  box-shadow: var(--rf-shadow);
  left: 50%;
  list-style: none;
  margin: 0;
  min-width: 220px;
  opacity: 0;
  padding: 10px;
  pointer-events: none;
  position: absolute;
  top: calc(100% - 2px);
  transform: translate(-50%, 8px);
  transition: .16s ease;
  visibility: hidden;
}
.rf-menu .sub-menu a { border-radius: 10px; display: block; font-size: 13px; padding: 10px 12px; }
.rf-menu .sub-menu a:hover { background: var(--rf-canvas); }
.rf-menu li:hover > .sub-menu,
.rf-menu li:focus-within > .sub-menu { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); visibility: visible; }

.rf-mobile-drawer,
.rf-drawer-backdrop { display: none; }

/* Hero */
.rf-hero { background: var(--rf-canvas); overflow: hidden; }
.rf-hero-grid {
  align-items: center;
  display: grid;
  gap: 42px;
  grid-template-columns: 1.02fr .98fr;
  min-height: 650px;
}
.rf-hero-copy { padding: 76px 0; }
.rf-hero-copy h1 { font-size: clamp(58px, 7vw, 104px); margin: 12px 0 20px; max-width: 720px; }
.rf-hero-copy p { color: var(--rf-ink-soft); font-size: 18px; margin: 0 0 28px; max-width: 590px; }
.rf-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.rf-hero-visual {
  align-self: stretch;
  min-height: 540px;
  position: relative;
}
.rf-hero-photo {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0 0 0 48px;
  margin-right: calc((100vw - min(var(--rf-max), calc(100vw - 40px))) / -2);
}
.rf-hero-brand-art { isolation: isolate; }
.rf-orb { border-radius: 999px; position: absolute; }
.rf-orb-a { background: var(--rf-rose-soft); height: 440px; right: -30px; top: 70px; width: 440px; }
.rf-orb-b { background: var(--rf-sage); bottom: 45px; height: 220px; left: 12px; width: 220px; }
.rf-hero-wordmark {
  align-items: center;
  background: rgba(253, 252, 247, .9);
  border: 1px solid rgba(116, 74, 78, .12);
  border-radius: 28px;
  box-shadow: var(--rf-shadow-strong);
  display: flex;
  height: 245px;
  justify-content: center;
  padding: 28px 42px;
  position: absolute;
  right: 45px;
  top: 160px;
  transform: rotate(2.5deg);
  width: min(460px, 78%);
  z-index: 2;
}
.rf-hero-wordmark img { mix-blend-mode: multiply; width: 100%; }
.rf-art-note {
  background: rgba(255, 255, 255, .88);
  border: 1px solid var(--rf-line);
  border-radius: 999px;
  bottom: 70px;
  display: flex;
  font-size: 10px;
  font-weight: 800;
  gap: 18px;
  left: 70px;
  letter-spacing: .12em;
  padding: 12px 18px;
  position: absolute;
  text-transform: uppercase;
  z-index: 3;
}

/* Trust */
.rf-trust-strip { background: #fff; border-block: 1px solid var(--rf-line); }
.rf-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.rf-trust-item { border-right: 1px solid var(--rf-line); padding: 22px 18px; text-align: center; }
.rf-trust-item:last-child { border-right: 0; }
.rf-trust-item strong { display: block; font-size: 14px; margin-bottom: 2px; }
.rf-trust-item span { color: var(--rf-ink-soft); font-size: 12px; }

/* Sections */
.rf-section { padding: 86px 0; }
.rf-section-head {
  align-items: end;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  margin-bottom: 30px;
}
.rf-section-head h2 { font-size: clamp(38px, 4vw, 60px); margin: 7px 0 0; }
.rf-section-head > p { color: var(--rf-ink-soft); margin: 0; max-width: 510px; }
.rf-discovery-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.rf-discovery-card {
  border: 1px solid var(--rf-line);
  border-radius: var(--rf-radius);
  box-shadow: var(--rf-shadow);
  min-height: 300px;
  overflow: hidden;
  padding: 32px;
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
}
.rf-discovery-card:hover { color: var(--rf-ink); transform: translateY(-4px); box-shadow: var(--rf-shadow-strong); }
.rf-discovery-card::after {
  border: 1px solid rgba(116, 74, 78, .12);
  border-radius: 50%;
  content: "";
  height: 150px;
  position: absolute;
  right: -25px;
  top: -28px;
  width: 150px;
}
.rf-discovery-card h3 { font-family: var(--rf-serif); font-size: 34px; font-weight: 400; line-height: 1.08; margin: 11px 0 12px; max-width: 320px; }
.rf-discovery-card p { color: var(--rf-ink-soft); max-width: 330px; }
.rf-discovery-card .rf-arrow-link { bottom: 28px; position: absolute; }
.rf-card-rose { background: linear-gradient(140deg, #fff, #f3e6e6); }
.rf-card-sage { background: linear-gradient(140deg, #fff, #e9eee7); }
.rf-card-sand { background: linear-gradient(140deg, #fff, #eee7df); }

/* Homepage product cards */
.rf-product-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.rf-product-card { min-width: 0; }
.rf-product-image {
  align-items: center;
  aspect-ratio: 1 / 1.08;
  background: #f3efeb;
  border: 1px solid var(--rf-line);
  border-radius: 20px;
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.rf-product-image img { height: 100%; object-fit: cover; transition: transform .28s ease; width: 100%; }
.rf-product-image:hover img { transform: scale(1.025); }
.rf-badge {
  background: rgba(255, 255, 255, .94);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  left: 13px;
  letter-spacing: .1em;
  padding: 7px 10px;
  position: absolute;
  text-transform: uppercase;
  top: 13px;
  z-index: 2;
}
.rf-product-meta { padding: 14px 2px 0; }
.rf-product-meta .rf-brand { color: var(--rf-ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.rf-product-name { font-size: 15px; line-height: 1.35; margin: 5px 0 4px; }
.rf-rating { color: var(--rf-rose-dark); font-size: 12px; }
.rf-review-count { color: var(--rf-ink-soft); }
.rf-price { font-size: 14px; font-weight: 800; margin-top: 7px; }
.rf-price del { color: #746b65; font-weight: 500; margin-left: 5px; }
.rf-price ins { text-decoration: none; }
.rf-quick-add,
.rf-product-card .button {
  background: #fff;
  border: 1px solid var(--rf-line);
  border-radius: 999px;
  color: var(--rf-ink);
  display: flex;
  font-size: 13px;
  font-weight: 700;
  justify-content: center;
  margin-top: 12px;
  min-height: 42px;
  padding: 10px 16px;
  text-align: center;
  transition: .18s ease;
  width: 100%;
}
.rf-quick-add:hover { background: var(--rf-ink); border-color: var(--rf-ink); color: #fff; }

/* Concern section */
.rf-concerns { background: var(--rf-ink); color: #fff; }
.rf-concerns .rf-eyebrow { color: #e8cdd0; }
.rf-concerns .rf-section-head > p { color: #c9c1bc; }
.rf-concern-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.rf-concern-card {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 185px;
  padding: 24px;
  transition: background .18s ease, transform .18s ease;
}
.rf-concern-card:hover { background: rgba(255, 255, 255, .08); color: #fff; transform: translateY(-2px); }
.rf-concern-card span { color: #c8beba; font-size: 11px; letter-spacing: .12em; }
.rf-concern-card strong { font-family: var(--rf-serif); font-size: 30px; font-weight: 400; line-height: 1.08; }

/* Routine */
.rf-routine-wrap { background: var(--rf-paper); }
.rf-routine-grid { display: grid; gap: 24px; grid-template-columns: 1fr 1fr; }
.rf-routine-art,
.rf-routine-copy { border-radius: var(--rf-radius); min-height: 570px; }
.rf-routine-art {
  background: linear-gradient(145deg, var(--rf-rose-soft), #f8ece7);
  overflow: hidden;
  padding: 54px;
  position: relative;
}
.rf-routine-orb { background: rgba(255,255,255,.58); border-radius: 50%; height: 390px; position: absolute; right: -70px; top: -55px; width: 390px; }
.rf-routine-card {
  align-items: center;
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(116,74,78,.14);
  border-radius: 18px;
  box-shadow: 0 12px 38px rgba(80,51,55,.08);
  display: flex;
  gap: 18px;
  min-height: 82px;
  padding: 16px 20px;
  position: absolute;
  width: 245px;
}
.rf-routine-card span { align-items: center; border: 1px solid var(--rf-line); border-radius: 50%; display: flex; font-family: var(--rf-serif); height: 42px; justify-content: center; width: 42px; }
.rf-routine-card strong { font-family: var(--rf-serif); font-size: 23px; font-weight: 400; }
.rf-routine-card:nth-of-type(2) { left: 56px; top: 70px; }
.rf-routine-card:nth-of-type(3) { right: 52px; top: 185px; }
.rf-routine-card:nth-of-type(4) { left: 75px; top: 300px; }
.rf-routine-card:nth-of-type(5) { right: 72px; top: 415px; }
.rf-routine-copy { background: var(--rf-canvas); display: flex; flex-direction: column; justify-content: center; padding: 56px; }
.rf-routine-copy h2 { font-size: clamp(44px, 5vw, 72px); margin: 9px 0 18px; }
.rf-routine-copy > p { color: var(--rf-ink-soft); margin: 0; }
.rf-routine-steps { display: grid; gap: 14px; margin: 24px 0 28px; }
.rf-routine-steps > div { align-items: start; display: grid; gap: 12px; grid-template-columns: 42px 1fr; }
.rf-routine-steps span { align-items: center; background: #fff; border: 1px solid var(--rf-line); border-radius: 50%; display: flex; font-family: var(--rf-serif); font-size: 18px; height: 42px; justify-content: center; }
.rf-routine-steps p { color: var(--rf-ink-soft); font-size: 14px; margin: 0; }
.rf-routine-steps strong { color: var(--rf-ink); }
.rf-routine-copy .rf-button { align-self: start; }

/* Makeup */
.rf-makeup-grid { display: grid; gap: 18px; grid-template-columns: 1.2fr .8fr .8fr; }
.rf-makeup-card {
  align-items: end;
  border: 1px solid var(--rf-line);
  border-radius: var(--rf-radius);
  display: flex;
  min-height: 390px;
  overflow: hidden;
  padding: 28px;
  position: relative;
}
.rf-makeup-card::before,
.rf-makeup-card::after { content: ""; position: absolute; }
.rf-makeup-card::before { background: rgba(255,255,255,.88); box-shadow: 0 28px 55px rgba(0,0,0,.12); right: 18%; transform: rotate(16deg); }
.rf-makeup-card::after { border: 1px solid rgba(255,255,255,.65); border-radius: 50%; height: 210px; left: -45px; top: -45px; width: 210px; }
.rf-makeup-card span { color: #fff; font-family: var(--rf-serif); font-size: 42px; position: relative; z-index: 2; }
.rf-makeup-face { background: linear-gradient(145deg, #ecd8d8, #c88f95); }
.rf-makeup-face::before { border-radius: 16px; height: 270px; top: 54px; width: 92px; }
.rf-makeup-eyes { background: linear-gradient(145deg, #f3e5d8, #d6b99f); }
.rf-makeup-eyes::before { border-radius: 50%; height: 140px; top: 90px; width: 140px; }
.rf-makeup-lips { background: linear-gradient(145deg, #e5ded8, #b8a69d); }
.rf-makeup-lips::before { background: #6e4d50; border-radius: 15px; height: 245px; top: 63px; width: 40px; }
.rf-makeup-card:hover { color: inherit; }

/* Brands */
.rf-brands-section { background: var(--rf-canvas); }
.rf-brand-cloud { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); }
.rf-brand-chip { align-items: center; background: #fff; border: 1px solid var(--rf-line); border-radius: 18px; display: flex; font-family: var(--rf-serif); font-size: 22px; justify-content: center; min-height: 110px; padding: 18px; text-align: center; }
.rf-brand-chip:hover { border-color: var(--rf-rose); color: var(--rf-rose-dark); }

/* Journal */
.rf-journal-grid,
.rf-post-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); }
.rf-journal-card h3,
.rf-post-card h2 { font-family: var(--rf-serif); font-size: 28px; font-weight: 400; line-height: 1.12; margin: 10px 0 8px; }
.rf-journal-card p,
.rf-post-card p { color: var(--rf-ink-soft); margin: 0; }
.rf-journal-image,
.rf-post-card-image { aspect-ratio: 4 / 3; background: var(--rf-canvas); border: 1px solid var(--rf-line); border-radius: 20px; display: block; margin-bottom: 18px; overflow: hidden; }
.rf-journal-image img,
.rf-post-card-image img { height: 100%; object-fit: cover; width: 100%; }
.rf-journal-placeholder { background: linear-gradient(145deg, var(--rf-rose-soft), var(--rf-sage)); display: block; height: 100%; width: 100%; }
.rf-post-card { border-bottom: 1px solid var(--rf-line); padding-bottom: 24px; }
.rf-post-card-body .rf-arrow-link { display: inline-block; margin-top: 14px; }
.rf-post-meta { color: var(--rf-ink-soft); font-size: 12px; }
.rf-post-meta .updated:not(.published) { display: none; }

/* Newsletter */
.rf-newsletter { background: var(--rf-rose-dark); color: #fff; padding: 68px 0; }
.rf-newsletter-grid { align-items: center; display: grid; gap: 50px; grid-template-columns: 1fr 1fr; }
.rf-newsletter .rf-eyebrow { color: #f0d8da; }
.rf-newsletter h2 { font-size: clamp(40px, 5vw, 68px); margin: 8px 0 10px; }
.rf-newsletter p { color: #eadbdd; margin: 0; }
.rf-newsletter-form input[type="email"],
.rf-newsletter-form input[type="text"] { background: #fff; border: 0; border-radius: 999px; min-height: 52px; padding: 0 18px; width: 100%; }
.rf-newsletter-form input[type="submit"],
.rf-newsletter-form button { background: var(--rf-ink); border: 0; border-radius: 999px; color: #fff; cursor: pointer; font-weight: 700; min-height: 48px; padding: 0 20px; }

/* Footer */
.rf-site-footer { background: var(--rf-ink); color: #fff; padding: 72px 0 22px; }
.rf-footer-grid { display: grid; gap: 46px; grid-template-columns: 1.7fr 1fr 1fr 1fr; }
.rf-footer-brand .custom-logo,
.rf-footer-brand .rf-fallback-logo img { filter: brightness(0) invert(1); height: 42px; max-width: 210px; opacity: .94; }
.rf-footer-brand p { color: #bdb4ae; font-size: 14px; max-width: 360px; }
.rf-footer-col h3 { font-size: 12px; letter-spacing: .13em; margin: 0 0 15px; text-transform: uppercase; }
.rf-footer-menu { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.rf-footer-menu a { color: #c8beb8; font-size: 14px; }
.rf-footer-menu a:hover { color: #fff; }
.rf-social-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.rf-social-links a { border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #d9d0cb; font-size: 12px; padding: 8px 12px; }
.rf-footer-extra { border-top: 1px solid rgba(255,255,255,.1); margin-top: 45px; padding-top: 30px; }
.rf-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); color: #9e948f; display: flex; font-size: 11px; gap: 20px; justify-content: space-between; margin-top: 48px; padding-top: 20px; }
.rf-mobile-bottom { display: none; }

/* Generic page / article */
.rf-page-header { margin-bottom: 40px; max-width: 850px; }
.rf-page-header h1,
.rf-entry-header h1 { font-size: clamp(48px, 6vw, 80px); margin: 8px 0 0; }
.rf-archive-description { color: var(--rf-ink-soft); max-width: 680px; }
.rf-entry { padding-block: 82px 100px; }
.rf-entry-header { margin-bottom: 34px; }
.rf-entry-featured { border-radius: 24px; margin-bottom: 38px; overflow: hidden; }
.rf-entry-content { color: #3b3633; font-size: 17px; }
.rf-entry-content > * { max-width: 100%; }
.rf-entry-content h2,
.rf-entry-content h3,
.rf-entry-content h4 { color: var(--rf-ink); font-family: var(--rf-serif); font-weight: 400; line-height: 1.15; margin-top: 1.7em; }
.rf-entry-content h2 { font-size: 38px; }
.rf-entry-content h3 { font-size: 30px; }
.rf-entry-content a:not(.wp-element-button) { color: var(--rf-rose-dark); text-decoration: underline; text-underline-offset: 3px; }
.rf-entry-content blockquote { border-left: 3px solid var(--rf-rose); color: var(--rf-ink-soft); font-family: var(--rf-serif); font-size: 24px; margin: 35px 0; padding-left: 22px; }
.rf-entry-content table { border-collapse: collapse; width: 100%; }
.rf-entry-content th,
.rf-entry-content td { border: 1px solid var(--rf-line); padding: 10px 12px; text-align: left; }
.rf-entry-content .alignwide { margin-left: 50%; max-width: var(--rf-max); transform: translateX(-50%); width: calc(100vw - 40px); }
.rf-entry-content .alignfull { margin-left: 50%; max-width: none; transform: translateX(-50%); width: 100vw; }
.rf-builder-content { width: 100%; }
.rf-full-width-title { padding-top: 70px; }
.rf-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.rf-tags a { background: var(--rf-canvas); border-radius: 999px; font-size: 12px; padding: 7px 10px; }

.rf-empty-state { margin: 70px auto; max-width: 760px; text-align: center; }
.rf-empty-state h1 { font-size: clamp(46px, 6vw, 74px); margin: 10px 0 18px; }
.rf-empty-state p { color: var(--rf-ink-soft); margin: 0 auto 25px; max-width: 560px; }
.rf-404-search { margin: 25px auto 18px; max-width: 520px; padding-right: 4px; }
.rf-404-search .rf-button { min-height: 42px; padding-inline: 18px; }

.navigation.pagination { margin-top: 46px; }
.nav-links { display: flex; gap: 8px; }
.page-numbers { align-items: center; border: 1px solid var(--rf-line); border-radius: 999px; display: inline-flex; height: 42px; justify-content: center; min-width: 42px; padding: 0 12px; }
.page-numbers.current { background: var(--rf-ink); border-color: var(--rf-ink); color: #fff; }

/* Comments */
.rf-comments-area { border-top: 1px solid var(--rf-line); margin-top: 55px; padding-top: 35px; }
.rf-comments-area h2 { font-family: var(--rf-serif); font-size: 34px; font-weight: 400; }
.comment-list { list-style: none; padding: 0; }
.comment-body { border-bottom: 1px solid var(--rf-line); padding: 24px 0; }
.comment-author { align-items: center; display: flex; gap: 10px; }
.comment-author img { border-radius: 50%; }
.comment-form input:not([type="submit"]),
.comment-form textarea { border: 1px solid var(--rf-line); border-radius: 12px; padding: 12px; width: 100%; }
.comment-form input[type="submit"] { background: var(--rf-ink); border: 0; border-radius: 999px; color: #fff; cursor: pointer; min-height: 46px; padding: 0 20px; }

/* WordPress core */
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { color: var(--rf-ink-soft); font-size: 12px; }
.gallery-caption { color: var(--rf-ink-soft); }
.bypostauthor { display: block; }

@media (max-width: 1050px) {
  .rf-desktop-search { max-width: 235px; }
  .rf-menu { gap: 20px; }
  .rf-hero-grid { grid-template-columns: 1fr 1fr; min-height: 590px; }
  .rf-hero-copy h1 { font-size: clamp(54px, 7vw, 82px); }
  .rf-hero-visual { min-height: 490px; }
  .rf-hero-wordmark { right: 0; width: 90%; }
  .rf-product-grid { grid-template-columns: repeat(3, 1fr); }
  .rf-product-card:nth-child(n+4) { display: none; }
  .rf-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .rf-footer-col:last-child { grid-column: 2 / 4; }
}

@media (max-width: 820px) {
  .admin-bar .rf-site-header { --rf-header-offset: 46px; }
  .rf-container { width: min(100% - 28px, var(--rf-max)); }
  .rf-announcement { font-size: 11px; padding: 8px 8px; }
  .rf-header-main { grid-template-columns: 44px 1fr auto; min-height: 66px; }
  .rf-menu-toggle { display: inline-flex; }
  .rf-brand { justify-self: center; }
  .custom-logo,
  .rf-fallback-logo img { height: 38px; max-width: 175px; }
  .rf-account-link { display: none; }
  .rf-desktop-search,
  .rf-primary-nav { display: none; }
  .rf-header-actions { gap: 6px; }
  .rf-icon-button { height: 40px; min-width: 40px; padding: 0 10px; }

  .rf-mobile-drawer {
    background: var(--rf-paper);
    display: block;
    height: 100dvh;
    left: 0;
    max-width: 430px;
    overflow-y: auto;
    position: fixed;
    top: 0;
    transform: translateX(-102%);
    transition: transform .25s ease;
    width: min(88vw, 430px);
    z-index: 1002;
  }
  .rf-mobile-drawer-inner { padding: 20px 18px 42px; }
  .rf-mobile-drawer-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 18px; }
  .rf-drawer-title { font-family: var(--rf-serif); font-size: 25px; }
  .rf-mobile-drawer .rf-product-search { max-width: none; }
  .rf-mobile-menu,
  .rf-mobile-menu .sub-menu,
  .rf-mobile-nav .rf-menu { display: grid; gap: 0; list-style: none; margin: 20px 0 0; padding: 0; }
  .rf-mobile-menu > li,
  .rf-mobile-nav .rf-menu > li { border-bottom: 1px solid var(--rf-line); }
  .rf-mobile-menu a,
  .rf-mobile-nav .rf-menu a { display: block; font-size: 18px; font-weight: 650; padding: 15px 2px; }
  .rf-mobile-menu .sub-menu { padding: 0 0 8px 14px; }
  .rf-mobile-menu .sub-menu a { color: var(--rf-ink-soft); font-size: 14px; padding: 7px 0; }
  .rf-mobile-discovery { display: grid; gap: 9px; margin-top: 24px; }
  .rf-mobile-discovery a { align-items: center; background: var(--rf-canvas); border-radius: 14px; display: flex; font-size: 13px; justify-content: space-between; padding: 14px; }
  .rf-drawer-backdrop {
    background: rgba(18, 15, 13, .45);
    border: 0;
    display: block;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .2s ease;
    z-index: 1001;
  }
  body.rf-menu-open .rf-mobile-drawer { transform: translateX(0); }
  body.rf-menu-open .rf-drawer-backdrop { opacity: 1; pointer-events: auto; }

  .rf-hero-grid { display: block; min-height: 0; }
  .rf-hero-copy { padding: 64px 0 38px; }
  .rf-hero-copy h1 { font-size: clamp(54px, 13vw, 78px); }
  .rf-hero-copy p { font-size: 16px; }
  .rf-hero-visual { min-height: 430px; }
  .rf-hero-photo { border-radius: 26px 26px 0 0; margin: 0; }
  .rf-orb-a { height: 330px; right: -10px; top: 55px; width: 330px; }
  .rf-orb-b { bottom: 25px; height: 170px; left: 0; width: 170px; }
  .rf-hero-wordmark { height: 205px; left: 50%; right: auto; top: 120px; transform: translateX(-50%) rotate(2deg); width: 84%; }
  .rf-art-note { bottom: 38px; left: 28px; }

  .rf-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .rf-trust-item:nth-child(2) { border-right: 0; }
  .rf-trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--rf-line); }
  .rf-section { padding: 66px 0; }
  .rf-section-head { align-items: start; display: block; }
  .rf-section-head > p,
  .rf-section-head > .rf-arrow-link { display: inline-block; margin-top: 14px; }
  .rf-discovery-grid { grid-template-columns: 1fr; }
  .rf-discovery-card { min-height: 245px; }
  .rf-product-grid { grid-template-columns: repeat(2, 1fr); }
  .rf-product-card:nth-child(n+3) { display: block; }
  .rf-concern-grid { grid-template-columns: repeat(2, 1fr); }
  .rf-routine-grid { grid-template-columns: 1fr; }
  .rf-routine-art { min-height: 450px; }
  .rf-routine-copy { min-height: 0; padding: 44px 34px; }
  .rf-makeup-grid { grid-template-columns: 1fr 1fr; }
  .rf-makeup-card:first-child { grid-column: 1 / -1; }
  .rf-makeup-card { min-height: 320px; }
  .rf-brand-cloud { grid-template-columns: repeat(2, 1fr); }
  .rf-journal-grid,
  .rf-post-grid { grid-template-columns: 1fr 1fr; }
  .rf-newsletter-grid { grid-template-columns: 1fr; }
  .rf-footer-grid { grid-template-columns: 1fr 1fr; }
  .rf-footer-brand { grid-column: 1 / -1; }
  .rf-footer-col:last-child { grid-column: auto; }
  .rf-mobile-bottom {
    background: rgba(255,253,251,.97);
    border-top: 1px solid var(--rf-line);
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    left: 0;
    min-height: 64px;
    padding-bottom: env(safe-area-inset-bottom);
    position: fixed;
    right: 0;
    z-index: 90;
  }
  .rf-mobile-bottom a { align-items: center; color: var(--rf-ink-soft); display: flex; flex-direction: column; font-size: 10px; gap: 2px; justify-content: center; }
  .rf-mobile-bottom a span { color: var(--rf-ink); font-size: 20px; line-height: 1; }
  .rf-has-woocommerce { padding-bottom: 64px; }
}

@media (max-width: 560px) {
  .rf-container { width: min(100% - 22px, var(--rf-max)); }
  .rf-header-main { gap: 8px; }
  .custom-logo,
  .rf-fallback-logo img { height: 34px; max-width: 150px; }
  .rf-hero-copy { padding-top: 52px; }
  .rf-hero-copy h1 { font-size: clamp(50px, 15vw, 68px); }
  .rf-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .rf-button { min-height: 48px; padding-inline: 15px; }
  .rf-hero-visual { min-height: 360px; }
  .rf-hero-wordmark { height: 175px; padding: 24px; top: 100px; }
  .rf-art-note { gap: 10px; left: 14px; padding: 10px 13px; }
  .rf-trust-item { padding: 17px 8px; }
  .rf-trust-item span { font-size: 10px; }
  .rf-section { padding: 54px 0; }
  .rf-section-head h2 { font-size: 42px; }
  .rf-discovery-card { padding: 25px; }
  .rf-discovery-card h3 { font-size: 30px; }
  .rf-product-grid { gap: 12px; }
  .rf-product-name { font-size: 13px; }
  .rf-product-meta .rf-brand { font-size: 9px; }
  .rf-price { font-size: 13px; }
  .rf-quick-add { font-size: 12px; min-height: 40px; }
  .rf-concern-grid { gap: 10px; }
  .rf-concern-card { min-height: 145px; padding: 18px; }
  .rf-concern-card strong { font-size: 24px; }
  .rf-routine-art { min-height: 390px; padding: 28px; }
  .rf-routine-card { min-height: 67px; width: 195px; }
  .rf-routine-card strong { font-size: 19px; }
  .rf-routine-card:nth-of-type(2) { left: 24px; top: 48px; }
  .rf-routine-card:nth-of-type(3) { right: 20px; top: 137px; }
  .rf-routine-card:nth-of-type(4) { left: 32px; top: 227px; }
  .rf-routine-card:nth-of-type(5) { right: 25px; top: 316px; }
  .rf-routine-copy { padding: 35px 24px; }
  .rf-routine-copy h2 { font-size: 47px; }
  .rf-makeup-grid { grid-template-columns: 1fr; }
  .rf-makeup-card:first-child { grid-column: auto; }
  .rf-makeup-card { min-height: 260px; }
  .rf-brand-chip { font-size: 18px; min-height: 90px; }
  .rf-journal-grid,
  .rf-post-grid { grid-template-columns: 1fr; }
  .rf-newsletter { padding: 54px 0; }
  .rf-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
  .rf-footer-brand { grid-column: 1 / -1; }
  .rf-footer-bottom { display: grid; }
  .rf-entry { padding-top: 54px; }
  .rf-entry-header h1,
  .rf-page-header h1 { font-size: 50px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}

/* =========================================================
   Rosaifa v1.1 — catalog-led homepage
   Based on the current Rosaifa product mix; scalable by taxonomy.
   ========================================================= */
.rf-hero-catalog .rf-hero-grid { min-height: 700px; }
.rf-hero-catalog .rf-hero-copy { padding-block: 92px; }
.rf-hero-catalog .rf-hero-copy h1 { max-width: 760px; }
.rf-hero-product-art {
  background-color: #efe5df;
  background-position: center;
  background-size: min(100%, 900px) auto;
  border-radius: 34px;
  margin: 54px 0;
  min-height: 585px;
}
.rf-hero-microcopy { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.rf-hero-microcopy span { background: rgba(255,255,255,.72); border: 1px solid var(--rf-line); border-radius: 999px; color: var(--rf-ink-soft); font-size: 11px; font-weight: 700; padding: 7px 11px; }
.rf-soft-section { background: var(--rf-canvas); }

.rf-category-section { padding-top: 92px; }
.rf-category-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rf-category-card { background: #fff; border: 1px solid var(--rf-line); border-radius: 22px; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.rf-category-card:hover { border-color: rgba(116,74,78,.42); box-shadow: var(--rf-shadow); color: var(--rf-ink); transform: translateY(-4px); }
.rf-category-image { aspect-ratio: 1.12/1; background: var(--rf-canvas); display: block; overflow: hidden; }
.rf-category-image img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.rf-category-card:hover .rf-category-image img { transform: scale(1.025); }
.rf-category-info { display: grid; padding: 16px 17px 18px; }
.rf-category-info strong { font-family: var(--rf-serif); font-size: 24px; font-weight: 400; letter-spacing: -.02em; line-height: 1.08; }
.rf-category-info small { color: var(--rf-ink-soft); font-size: 12px; margin-top: 6px; }
.rf-category-info em { color: var(--rf-rose-dark); font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .07em; margin-top: 10px; text-transform: uppercase; }

.rf-concern-grid-9 { grid-template-columns: repeat(3, 1fr); }
.rf-ingredient-section { background: #f8f4ef; border-block: 1px solid var(--rf-line-soft); }
.rf-ingredient-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
.rf-ingredient-cloud a { background: #fff; border: 1px solid var(--rf-line); border-radius: 999px; font-size: 13px; font-weight: 700; padding: 11px 16px; transition: .18s ease; }
.rf-ingredient-cloud a:hover { background: var(--rf-ink); border-color: var(--rf-ink); color: #fff; transform: translateY(-1px); }

.rf-spotlight-section { background: #fbf6f1; overflow: hidden; }
.rf-spotlight-grid { align-items: center; display: grid; gap: 64px; grid-template-columns: 1fr 1fr; }
.rf-spotlight-art { border-radius: 30px; display: block; overflow: hidden; position: relative; }
.rf-spotlight-art img { aspect-ratio: 1.16/1; object-fit: cover; width: 100%; }
.rf-spotlight-label { background: rgba(255,253,251,.9); border: 1px solid rgba(255,255,255,.7); border-radius: 999px; bottom: 22px; font-size: 10px; font-weight: 800; left: 22px; letter-spacing: .14em; padding: 9px 13px; position: absolute; }
.rf-spotlight-copy h2 { font-size: clamp(48px,5vw,76px); margin: 10px 0 18px; }
.rf-spotlight-copy p { color: var(--rf-ink-soft); font-size: 16px; margin: 0 0 24px; max-width: 590px; }
.rf-spotlight-products { margin-top: 58px; }

.rf-makeup-feature { background: #fff; }
.rf-makeup-feature-grid { align-items: center; display: grid; gap: 62px; grid-template-columns: .95fr 1.05fr; }
.rf-makeup-feature-art { border-radius: 30px; overflow: hidden; }
.rf-makeup-feature-art img { aspect-ratio: 1.2/1; object-fit: cover; width: 100%; }
.rf-makeup-feature-copy h2 { font-size: clamp(48px,5vw,72px); margin: 10px 0 18px; }
.rf-makeup-feature-copy p { color: var(--rf-ink-soft); max-width: 600px; }
.rf-inline-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 25px; }
.rf-inline-links a { border-bottom: 1px solid var(--rf-ink); font-size: 13px; font-weight: 800; padding-bottom: 3px; }

.rf-brand-led { background: var(--rf-ink); color: #fff; }
.rf-brand-led .rf-eyebrow { color: #e7c9c9; }
.rf-brand-led .rf-section-head p { color: rgba(255,255,255,.65); }
.rf-brand-cloud-large { display: flex; flex-wrap: wrap; gap: 10px; }
.rf-brand-led .rf-brand-chip { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); color: #fff; }
.rf-brand-led .rf-brand-chip:hover { background: #fff; border-color: #fff; color: var(--rf-ink); }

.rf-secondary-category-section { padding-top: 72px; }
.rf-secondary-category-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.rf-secondary-category-card { align-items: center; background: #edf1ea; border: 1px solid var(--rf-line); border-radius: 26px; display: grid; gap: 24px; grid-template-columns: 210px 1fr; min-height: 270px; overflow: hidden; padding-right: 32px; }
.rf-secondary-category-card img { height: 100%; min-height: 270px; object-fit: cover; width: 100%; }
.rf-secondary-category-card > span:not(.rf-supplement-art) { display: grid; }
.rf-secondary-category-card small { color: var(--rf-rose-dark); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.rf-secondary-category-card strong { font-family: var(--rf-serif); font-size: 34px; font-weight: 400; letter-spacing: -.03em; margin-top: 6px; }
.rf-secondary-category-card em { color: var(--rf-ink-soft); font-size: 12px; font-style: normal; margin-top: 7px; }
.rf-secondary-category-card-alt { background: #f1e2e2; padding: 30px; }
.rf-supplement-art { align-items: center; display: grid; gap: 8px; grid-template-columns: 1fr 1fr; height: 150px; justify-items: center; position: relative; width: 190px; }
.rf-supplement-art::before { background: rgba(255,255,255,.55); border-radius: 999px; content: ""; height: 150px; position: absolute; width: 150px; }
.rf-supplement-art i { background: linear-gradient(135deg,#fff9f5,#b97b77); border-radius: 999px; box-shadow: 0 9px 18px rgba(75,52,49,.08); display: block; height: 48px; position: relative; transform: rotate(-20deg); width: 82px; z-index: 2; }
.rf-supplement-art i:nth-child(2n) { transform: rotate(22deg); }

.rf-catalog-note-section { padding: 64px 0 100px; }
.rf-catalog-note { align-items: end; background: var(--rf-canvas); border: 1px solid var(--rf-line); border-radius: 30px; display: grid; gap: 46px; grid-template-columns: 1fr .8fr; padding: 54px; }
.rf-catalog-note h2 { font-size: clamp(42px,4.7vw,68px); margin: 10px 0 0; }
.rf-catalog-note p { color: var(--rf-ink-soft); margin: 0; }

/* Homepage product grid scales to 4 columns even when 8 items are rendered. */
.rf-product-grid { gap: 30px 18px; }

@media (max-width: 1050px) {
  .rf-category-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .rf-secondary-category-card { grid-template-columns: 160px 1fr; }
}
@media (max-width: 820px) {
  .rf-hero-catalog .rf-hero-grid { display: grid; min-height: 0; }
  .rf-hero-catalog .rf-hero-copy { padding: 58px 0 28px; }
  .rf-hero-product-art { border-radius: 25px; margin: 0 0 34px; min-height: 440px; }
  .rf-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rf-concern-grid-9 { grid-template-columns: repeat(2, 1fr); }
  .rf-spotlight-grid, .rf-makeup-feature-grid, .rf-catalog-note { grid-template-columns: 1fr; }
  .rf-spotlight-grid, .rf-makeup-feature-grid { gap: 32px; }
  .rf-secondary-category-grid { grid-template-columns: 1fr; }
  .rf-catalog-note { gap: 20px; padding: 34px; }
}
@media (max-width: 560px) {
  .rf-hero-catalog .rf-hero-copy h1 { font-size: 52px; }
  .rf-hero-product-art { min-height: 340px; }
  .rf-category-grid { gap: 11px; }
  .rf-category-card { border-radius: 17px; }
  .rf-category-info { padding: 12px 12px 14px; }
  .rf-category-info strong { font-size: 20px; }
  .rf-category-info small { font-size: 10px; line-height: 1.4; }
  .rf-concern-grid-9 { grid-template-columns: 1fr; }
  .rf-spotlight-art, .rf-makeup-feature-art { border-radius: 22px; }
  .rf-spotlight-copy h2, .rf-makeup-feature-copy h2 { font-size: 46px; }
  .rf-secondary-category-card { grid-template-columns: 120px 1fr; min-height: 210px; padding-right: 18px; }
  .rf-secondary-category-card img { min-height: 210px; }
  .rf-secondary-category-card strong { font-size: 27px; }
  .rf-secondary-category-card-alt { grid-template-columns: 110px 1fr; padding: 20px 18px; }
  .rf-supplement-art { height: 110px; transform: scale(.72); transform-origin: left center; width: 150px; }
  .rf-catalog-note { padding: 28px 22px; }
}

/* ================================================================
   ROSAIFA 2.0 PREMIUM COMMERCE LAYER
   ================================================================ */
:root {
  --rf-copper: #b97654;
  --rf-copper-deep: #8f5035;
  --rf-blush: #f3e6e4;
  --rf-cream: #f6efe7;
  --rf-ivory: #fffaf6;
  --rf-ink-2: #201915;
  --rf-max: 1320px;
}

body.rf-search-open { overflow: hidden; }
.rf-button-ghost { background: transparent; color: var(--rf-ink); }
.rf-button-ghost:hover { background: #fff; color: var(--rf-ink); }

/* Trust bar + upgraded header */
.rf-trustbar { background: var(--rf-ink-2); color: #fff; font-size: 11px; letter-spacing: .025em; }
.rf-trustbar-inner { align-items: center; display: grid; grid-template-columns: repeat(3, 1fr); min-height: 34px; }
.rf-trustbar-inner span { opacity: .92; text-align: center; }
.rf-trustbar-inner span + span { border-left: 1px solid rgba(255,255,255,.16); }
.rf-site-header { box-shadow: 0 1px 0 rgba(47,36,29,.04); }
.rf-header-main { min-height: 94px; }
.rf-header-main .rf-brand img { height: 64px; max-width: 300px; }
.rf-search-shell { position: relative; width: 100%; }
.rf-desktop-search-shell { justify-self: start; max-width: 360px; }
.rf-desktop-search-shell .rf-product-search { max-width: none; }
.rf-product-search { border-color: rgba(102,82,70,.2); box-shadow: inset 0 0 0 1px rgba(255,255,255,.45); transition: border-color .2s ease, box-shadow .2s ease; }
.rf-product-search:focus-within { border-color: rgba(116,74,78,.65); box-shadow: 0 0 0 4px rgba(168,116,120,.08); }
.rf-search-toggle { display: none; }
.rf-mobile-search-panel { background: var(--rf-paper); border-top: 1px solid var(--rf-line-soft); padding: 12px 0 16px; }

/* Live search */
.rf-search-results { background: #fff; border: 1px solid var(--rf-line); border-radius: 18px; box-shadow: 0 22px 70px rgba(37,27,21,.15); left: 0; margin-top: 8px; max-height: min(70vh, 620px); overflow: auto; padding: 10px; position: absolute; top: 100%; width: min(480px, 92vw); z-index: 1005; }
.rf-search-group { border-bottom: 1px solid var(--rf-line-soft); padding: 4px 0 8px; }
.rf-search-group-title { color: var(--rf-ink-soft); display: block; font-size: 9px; font-weight: 800; letter-spacing: .14em; padding: 7px 9px; text-transform: uppercase; }
.rf-search-product { align-items: center; border-radius: 12px; display: grid; gap: 10px; grid-template-columns: 52px 1fr; padding: 7px; }
.rf-search-product:hover { background: var(--rf-canvas); color: var(--rf-ink); }
.rf-search-product img { aspect-ratio: 1; background: var(--rf-canvas); border-radius: 9px; object-fit: cover; width: 52px; }
.rf-search-product span { display: grid; min-width: 0; }
.rf-search-product small { color: var(--rf-rose-dark); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rf-search-product strong { font-size: 12px; line-height: 1.28; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rf-search-product em { color: var(--rf-ink-soft); font-size: 11px; font-style: normal; margin-top: 2px; }
.rf-search-link-group > a { align-items: center; border-radius: 10px; display: grid; gap: 6px; grid-template-columns: 64px 1fr auto; padding: 8px 9px; }
.rf-search-link-group > a:hover { background: var(--rf-canvas); color: var(--rf-ink); }
.rf-search-link-group small { color: var(--rf-ink-soft); font-size: 9px; text-transform: uppercase; }
.rf-search-link-group strong { font-size: 12px; }
.rf-search-empty { color: var(--rf-ink-soft); font-size: 12px; padding: 18px 12px; }
.rf-search-viewall { display: block; font-size: 11px; font-weight: 800; padding: 11px 9px 7px; text-align: right; }

/* Mega navigation */
.rf-primary-nav { overflow: visible; }
.rf-primary-nav > .rf-container { position: relative; }
.rf-mega-menu { justify-content: center; }
.rf-mega-menu > li { position: static; }
.rf-mega-menu > li > a { padding-inline: 18px; position: relative; }
.rf-mega-menu > li > a::after { background: var(--rf-rose-dark); bottom: 0; content: ""; height: 2px; left: 50%; position: absolute; transform: translateX(-50%) scaleX(0); transition: transform .18s ease; width: calc(100% - 34px); }
.rf-mega-menu > li:hover > a::after { transform: translateX(-50%) scaleX(1); }
.rf-mega-panel { background: var(--rf-paper); border: 1px solid var(--rf-line-soft); border-radius: 0 0 24px 24px; box-shadow: 0 22px 60px rgba(48,34,27,.11); left: 20px; opacity: 0; padding: 24px; pointer-events: none; position: absolute; right: 20px; top: calc(100% + 1px); transform: translateY(8px); transition: opacity .16s ease, transform .16s ease; visibility: hidden; z-index: 104; }
.rf-has-mega:hover > .rf-mega-panel,
.rf-has-mega:focus-within > .rf-mega-panel { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; }
.rf-mega-columns { display: grid; gap: 30px; grid-template-columns: 1.05fr 1fr 1fr 1.35fr; }
.rf-mega-columns > div { display: grid; align-content: start; }
.rf-mega-columns > div a { color: var(--rf-ink-soft); font-size: 12px; padding: 4px 0; }
.rf-mega-columns > div a:hover { color: var(--rf-rose-dark); }
.rf-mega-kicker { color: var(--rf-ink); font-size: 10px; font-weight: 800; letter-spacing: .14em; margin-bottom: 8px; text-transform: uppercase; }
.rf-mega-promo { background: var(--rf-canvas); border-radius: 18px; display: grid; grid-template-columns: 108px 1fr; grid-template-rows: 1fr auto auto 1fr; min-height: 180px; overflow: hidden; padding-right: 18px; }
.rf-mega-promo img { grid-row: 1 / 5; height: 100%; object-fit: cover; width: 108px; }
.rf-mega-promo span { align-self: end; color: var(--rf-rose-dark); font-size: 9px; font-weight: 800; letter-spacing: .11em; padding-left: 14px; text-transform: uppercase; }
.rf-mega-promo strong { font-family: var(--rf-serif); font-size: 22px; font-weight: 400; line-height: 1.05; padding: 3px 0 0 14px; }
.rf-mega-panel-compact { left: 25%; right: 25%; }
.rf-mega-brand-grid { display: grid; gap: 8px 22px; grid-template-columns: repeat(3, 1fr); }
.rf-mega-brand-grid a { border-bottom: 1px solid var(--rf-line-soft); font-family: var(--rf-serif); font-size: 16px; padding: 8px 0; }
.rf-mega-brand-grid .rf-mega-viewall { color: var(--rf-rose-dark); font-family: var(--rf-sans); font-size: 11px; font-weight: 800; grid-column: 1 / -1; text-align: right; }

/* Hero 2.0 */
.rf-hero-v2 { background: linear-gradient(180deg, #fffdfb 0, #faf6f2 100%); padding: 24px 0 0; }
.rf-hero-grid-v2 { display: grid; gap: 20px; grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr); min-height: 650px; }
.rf-hero-copy-v2 { align-self: center; max-width: 600px; padding: 64px 24px 70px 6px; }
.rf-hero-copy-v2 h1 { font-size: clamp(58px, 6vw, 94px); margin: 18px 0 22px; }
.rf-hero-copy-v2 > p { color: var(--rf-ink-soft); font-size: 17px; max-width: 550px; }
.rf-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.rf-hero-microtrust { color: var(--rf-ink-soft); display: flex; flex-wrap: wrap; font-size: 10px; gap: 10px 18px; margin-top: 32px; text-transform: uppercase; }
.rf-hero-microtrust span { align-items: center; display: inline-flex; gap: 7px; }
.rf-hero-microtrust span::before { background: var(--rf-copper); border-radius: 50%; content: ""; height: 5px; width: 5px; }
.rf-hero-art-v2 { align-self: stretch; background: var(--rf-blush); border-radius: 28px; min-height: 630px; overflow: hidden; position: relative; }
.rf-hero-art-v2 > img { height: 100%; object-fit: cover; width: 100%; }
.rf-floating-note { backdrop-filter: blur(8px); background: rgba(255,253,251,.88); border: 1px solid rgba(255,255,255,.6); border-radius: 14px; box-shadow: 0 14px 36px rgba(60,40,31,.1); display: grid; min-width: 150px; padding: 12px 14px; position: absolute; }
.rf-floating-note small { color: var(--rf-rose-dark); font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.rf-floating-note strong { font-family: var(--rf-serif); font-size: 18px; font-weight: 400; }
.rf-floating-note-a { right: 22px; top: 22px; }
.rf-floating-note-b { bottom: 22px; left: 22px; }

/* Trust row */
.rf-home-trust { background: var(--rf-paper); border-bottom: 1px solid var(--rf-line-soft); padding: 22px 0; }
.rf-home-trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.rf-home-trust-grid > div { display: grid; gap: 1px; grid-template-columns: 34px 1fr; padding: 4px 24px; }
.rf-home-trust-grid > div + div { border-left: 1px solid var(--rf-line-soft); }
.rf-home-trust-grid span { color: var(--rf-rose); font-family: var(--rf-serif); font-size: 18px; grid-row: 1 / 3; }
.rf-home-trust-grid strong { font-size: 12px; }
.rf-home-trust-grid small { color: var(--rf-ink-soft); font-size: 10px; }

/* Section system */
.rf-section { padding: 94px 0; }
.rf-section-head-wide { align-items: end; display: grid; grid-template-columns: 1fr minmax(280px, 440px); }
.rf-section-head-wide > p { color: var(--rf-ink-soft); font-size: 13px; margin: 0; }
.rf-section-head .rf-display { font-size: clamp(42px, 4.2vw, 64px); }
.rf-paper-section { background: #fff; }

/* Category grid 2.0 — v4.12.14 P3 flattened category studio */
.rf-category-grid-v2 { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); }
.rf-category-card-v2 { background: #fff; border: 1px solid var(--rf-line); border-radius: 20px; display: grid; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.rf-category-card-v2:hover { border-color: rgba(116,74,78,.36); box-shadow: 0 20px 50px rgba(55,40,32,.08); color: var(--rf-ink); transform: translateY(-3px); }
.rf-category-art-v2 { aspect-ratio: 1.36 / 1; background: #f4e8dc; overflow: hidden; }
.rf-category-art-v2 img { display: block; height: 100%; transition: transform .45s ease; width: 100%; }
.rf-category-photo-v41214 img { object-fit: cover; object-position: center center; }
.rf-category-card-v2:hover .rf-category-photo-v41214 img { transform: scale(1.018); }
.rf-category-card-copy { display: grid; padding: 17px 18px 18px; }
.rf-category-card-copy strong { font-family: var(--rf-serif); font-size: 24px; font-weight: 400; line-height: 1.05; }
.rf-category-card-copy small { color: var(--rf-ink-soft); font-size: 10px; margin-top: 5px; }
.rf-category-card-copy em { color: var(--rf-rose-dark); font-size: 10px; font-style: normal; font-weight: 800; margin-top: 13px; text-transform: uppercase; }

/* Concern grid */
.rf-concern-section-v2 { background: var(--rf-canvas); }
.rf-concern-grid-v2 { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); margin-top: 36px; }
.rf-concern-card-v2 { background: rgba(255,255,255,.72); border: 1px solid rgba(222,215,208,.9); border-radius: 18px; display: grid; min-height: 178px; padding: 18px; position: relative; transition: background .2s ease, transform .2s ease; }
.rf-concern-card-v2:hover { background: #fff; color: var(--rf-ink); transform: translateY(-2px); }
.rf-concern-card-v2 > span { color: var(--rf-rose); font-family: var(--rf-serif); font-size: 22px; }
.rf-concern-card-v2 strong { align-self: end; font-family: var(--rf-serif); font-size: 23px; font-weight: 400; line-height: 1.05; }
.rf-concern-card-v2 small { color: var(--rf-ink-soft); font-size: 10px; margin-top: 6px; max-width: 90%; }
.rf-concern-card-v2 em { bottom: 17px; color: var(--rf-rose-dark); font-style: normal; position: absolute; right: 18px; }

/* Editorial split */
.rf-editorial-split { background: var(--rf-paper); }
.rf-editorial-split-grid { display: grid; gap: 0; grid-template-columns: 1.05fr .95fr; }
.rf-editorial-image { background: var(--rf-cream); border-radius: 26px 0 0 26px; min-height: 560px; overflow: hidden; }
.rf-editorial-image img { height: 100%; object-fit: cover; width: 100%; }
.rf-editorial-copy { align-content: center; background: var(--rf-ink-2); border-radius: 0 26px 26px 0; color: #fff; display: grid; padding: clamp(36px, 5vw, 80px); }
.rf-editorial-copy .rf-eyebrow { color: #d8aaa0; }
.rf-editorial-copy h2 { font-size: clamp(48px, 5vw, 76px); margin: 14px 0 20px; }
.rf-editorial-copy > p { color: rgba(255,255,255,.72); font-size: 14px; max-width: 520px; }
.rf-editorial-points { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 28px; }
.rf-editorial-points span { border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.84); font-size: 10px; padding: 7px 10px; }
.rf-editorial-copy .rf-button { justify-self: start; }
.rf-editorial-products { margin-top: 34px; }

/* Ingredients */
.rf-ingredients-v2 { background: #fff; }
.rf-ingredient-grid-v2 { border-top: 1px solid var(--rf-line); display: grid; grid-template-columns: repeat(5, 1fr); }
.rf-ingredient-grid-v2 a { border-bottom: 1px solid var(--rf-line); border-right: 1px solid var(--rf-line); display: grid; gap: 15px; min-height: 132px; padding: 18px; }
.rf-ingredient-grid-v2 a:nth-child(5n) { border-right: 0; }
.rf-ingredient-grid-v2 span { color: var(--rf-rose); font-family: var(--rf-serif); font-size: 18px; }
.rf-ingredient-grid-v2 strong { align-self: end; font-family: var(--rf-serif); font-size: 21px; font-weight: 400; line-height: 1.05; }
.rf-ingredient-grid-v2 a:hover { background: var(--rf-canvas); color: var(--rf-ink); }

/* Routine discovery */
.rf-routine-discovery { background: linear-gradient(135deg, #f7f3ef, #f2e7e5); }
.rf-routine-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.rf-routine-grid a { background: rgba(255,255,255,.74); border: 1px solid rgba(222,215,208,.8); border-radius: 22px; display: grid; min-height: 250px; padding: 24px; position: relative; }
.rf-routine-grid small { color: var(--rf-rose-dark); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.rf-routine-grid strong { align-self: end; font-family: var(--rf-serif); font-size: 34px; font-weight: 400; line-height: 1.03; }
.rf-routine-grid span { color: var(--rf-ink-soft); font-size: 11px; margin-top: 9px; }
.rf-routine-grid em { bottom: 24px; font-style: normal; position: absolute; right: 24px; }
.rf-routine-grid a:hover { background: #fff; color: var(--rf-ink); }

/* Dual editorial */
.rf-dual-editorial-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.rf-dual-editorial article { background: #fff; border: 1px solid var(--rf-line); border-radius: 24px; overflow: hidden; }
.rf-dual-art { aspect-ratio: 1.9; background: var(--rf-canvas); display: block; overflow: hidden; }
.rf-dual-art img { height: 100%; object-fit: cover; width: 100%; }
.rf-dual-editorial article > div { padding: 24px 26px 28px; }
.rf-dual-editorial article h2 { font-family: var(--rf-serif); font-size: 38px; font-weight: 400; line-height: 1.05; margin: 9px 0 12px; }
.rf-dual-editorial article p { color: var(--rf-ink-soft); font-size: 12px; max-width: 540px; }
.rf-dual-editorial article > div > a { color: var(--rf-rose-dark); font-size: 11px; font-weight: 800; }
.rf-dual-category-products { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; }
.rf-dual-category-product-group { min-width: 0; }
.rf-dual-category-product-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 12px; }
.rf-dual-category-product-head span { color: var(--rf-ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.rf-dual-category-product-head a { color: var(--rf-rose-dark); font-size: 10px; font-weight: 800; }
.rf-dual-category-product-group .rf-product-grid { gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Brands */
.rf-brand-section-v2 { background: var(--rf-paper); }
.rf-brand-grid-v2 { border-left: 1px solid var(--rf-line); border-top: 1px solid var(--rf-line); display: grid; grid-template-columns: repeat(6, 1fr); }
.rf-brand-grid-v2 a { align-items: center; border-bottom: 1px solid var(--rf-line); border-right: 1px solid var(--rf-line); display: flex; font-family: var(--rf-serif); font-size: 18px; justify-content: center; min-height: 84px; padding: 14px; text-align: center; }
.rf-brand-grid-v2 a:hover { background: var(--rf-canvas); color: var(--rf-rose-dark); }

/* Authenticity */
.rf-authenticity-v2 { background: var(--rf-ink-2); color: #fff; }
.rf-authenticity-grid { align-items: end; display: grid; gap: 70px; grid-template-columns: 1.15fr .85fr; }
.rf-authenticity-grid .rf-eyebrow { color: #d8aaa0; }
.rf-authenticity-grid h2 { font-size: clamp(50px, 5vw, 76px); margin: 12px 0 0; }
.rf-authenticity-grid p { color: rgba(255,255,255,.7); font-size: 14px; }
.rf-authenticity-grid .rf-arrow-link { color: #fff; }

/* Product cards on homepage */
.rf-product-card { border-radius: 18px; overflow: hidden; }
.rf-product-card .rf-product-image { background: var(--rf-canvas); border-radius: 18px; overflow: hidden; }
.rf-product-card .rf-product-image img { transition: transform .35s ease; }
.rf-product-card:hover .rf-product-image img { transform: scale(1.018); }
.rf-product-meta { padding-top: 13px; }
.rf-product-name { font-size: 13px; line-height: 1.35; min-height: 2.7em; }
.rf-quick-add { border-radius: 999px !important; font-size: 11px !important; min-height: 42px !important; width: 100%; }

/* Mobile catalog drawer */
.rf-mobile-wordmark .custom-logo,
.rf-mobile-wordmark .rf-fallback-logo img { height: 48px; max-width: 230px; }
.rf-mobile-catalog-nav details { border-bottom: 1px solid var(--rf-line-soft); }
.rf-mobile-catalog-nav summary { cursor: pointer; font-family: var(--rf-serif); font-size: 25px; list-style: none; padding: 14px 0; }
.rf-mobile-catalog-nav summary::-webkit-details-marker { display: none; }
.rf-mobile-catalog-nav summary::after { content: "+"; float: right; font-family: var(--rf-sans); font-size: 20px; }
.rf-mobile-catalog-nav details[open] summary::after { content: "−"; }
.rf-mobile-nav-grid { display: grid; grid-template-columns: 1fr 1fr; padding: 0 0 14px; }
.rf-mobile-nav-grid a { color: var(--rf-ink-soft); font-size: 12px; padding: 6px 0; }
.rf-mobile-nav-row { align-items: center; border-bottom: 1px solid var(--rf-line-soft); display: flex; font-family: var(--rf-serif); font-size: 25px; justify-content: space-between; padding: 14px 0; }
.rf-mobile-drawer-footer { color: var(--rf-ink-soft); display: grid; font-size: 10px; gap: 6px; margin-top: 26px; }
.rf-mobile-drawer-footer a { color: var(--rf-rose-dark); font-weight: 800; }

/* Motion respect */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 1120px) {
  .rf-hero-grid-v2 { grid-template-columns: .95fr 1.05fr; min-height: 580px; }
  .rf-hero-art-v2 { min-height: 560px; }
  .rf-hero-copy-v2 h1 { font-size: 64px; }
  .rf-category-grid-v2 { grid-template-columns: repeat(3, 1fr); }
  .rf-concern-grid-v2 { grid-template-columns: repeat(3, 1fr); }
  .rf-ingredient-grid-v2 { grid-template-columns: repeat(4, 1fr); }
  .rf-ingredient-grid-v2 a:nth-child(5n) { border-right: 1px solid var(--rf-line); }
  .rf-ingredient-grid-v2 a:nth-child(4n) { border-right: 0; }
  .rf-brand-grid-v2 { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 900px) {
  .rf-trustbar-inner { display: flex; overflow-x: auto; padding: 0 20px; scrollbar-width: none; }
  .rf-trustbar-inner::-webkit-scrollbar { display: none; }
  .rf-trustbar-inner span { flex: 0 0 auto; padding: 0 16px; }
  .rf-trustbar-inner span + span { border-left: 1px solid rgba(255,255,255,.16); }
  .rf-header-main { grid-template-columns: auto minmax(0, 1fr) auto; min-height: 80px; }
  .rf-brand { justify-self: center; min-width: 0; }
  .rf-header-main .rf-brand img { height: 54px; max-width: min(230px, 46vw); }
  .rf-search-toggle { display: inline-flex; }
  .rf-account-link { display: none; }
  .rf-desktop-search-shell { display: none; }
  .rf-search-results { position: absolute; width: 100%; }
  .rf-mobile-search-panel .rf-product-search { max-width: none; }
  .rf-mobile-search-panel .rf-search-results { left: 20px; right: 20px; width: auto; }
  .rf-mega-menu { display: none; }
  .rf-hero-v2 { padding-top: 12px; }
  .rf-hero-grid-v2 { display: flex; flex-direction: column; min-height: 0; }
  .rf-hero-copy-v2 { max-width: 720px; padding: 48px 0 16px; }
  .rf-hero-copy-v2 h1 { font-size: clamp(52px, 9vw, 78px); }
  .rf-hero-art-v2 { min-height: 520px; order: -1; }
  .rf-home-trust-grid { grid-template-columns: 1fr; }
  .rf-home-trust-grid > div { padding: 9px 4px; }
  .rf-home-trust-grid > div + div { border-left: 0; border-top: 1px solid var(--rf-line-soft); }
  .rf-section { padding: 72px 0; }
  .rf-section-head-wide { display: block; }
  .rf-section-head-wide > p { margin-top: 14px; max-width: 600px; }
  .rf-category-grid-v2 { grid-template-columns: repeat(2, 1fr); }
  .rf-concern-grid-v2 { grid-template-columns: repeat(2, 1fr); }
  .rf-editorial-split-grid { grid-template-columns: 1fr; }
  .rf-editorial-image { border-radius: 24px 24px 0 0; min-height: 480px; }
  .rf-editorial-copy { border-radius: 0 0 24px 24px; }
  .rf-ingredient-grid-v2 { grid-template-columns: repeat(3, 1fr); }
  .rf-ingredient-grid-v2 a:nth-child(4n) { border-right: 1px solid var(--rf-line); }
  .rf-ingredient-grid-v2 a:nth-child(3n) { border-right: 0; }
  .rf-routine-grid { grid-template-columns: 1fr; }
  .rf-routine-grid a { min-height: 190px; }
  .rf-dual-editorial-grid { grid-template-columns: 1fr; }
  .rf-dual-category-products { grid-template-columns: 1fr; }
  .rf-brand-grid-v2 { grid-template-columns: repeat(3, 1fr); }
  .rf-authenticity-grid { gap: 28px; grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .rf-container { width: min(100% - 28px, var(--rf-max)); }
  .rf-trustbar-inner { min-height: 32px; }
  .rf-header-actions { gap: 5px; }
  .rf-icon-button { height: 40px; min-width: 40px; padding: 0 10px; }
  .rf-hero-copy-v2 { padding-top: 34px; }
  .rf-hero-copy-v2 h1 { font-size: 52px; }
  .rf-hero-copy-v2 > p { font-size: 14px; }
  .rf-hero-actions .rf-button { flex: 1 1 150px; }
  .rf-hero-art-v2 { border-radius: 20px; min-height: 410px; }
  .rf-floating-note { display: none; }
  .rf-section { padding: 58px 0; }
  .rf-section-head .rf-display { font-size: 42px; }
  .rf-category-grid-v2 { gap: 10px; }
  .rf-category-card-copy { padding: 13px 13px 15px; }
  .rf-category-card-copy strong { font-size: 20px; }
  .rf-category-card-copy small { font-size: 9px; }
  .rf-concern-grid-v2 { grid-template-columns: 1fr; }
  .rf-concern-card-v2 { min-height: 150px; }
  .rf-editorial-image { min-height: 360px; }
  .rf-editorial-copy { padding: 34px 24px; }
  .rf-editorial-copy h2 { font-size: 46px; }
  .rf-ingredient-grid-v2 { grid-template-columns: repeat(2, 1fr); }
  .rf-ingredient-grid-v2 a:nth-child(3n) { border-right: 1px solid var(--rf-line); }
  .rf-ingredient-grid-v2 a:nth-child(2n) { border-right: 0; }
  .rf-ingredient-grid-v2 a { min-height: 110px; padding: 14px; }
  .rf-ingredient-grid-v2 strong { font-size: 18px; }
  .rf-routine-grid a { min-height: 176px; padding: 20px; }
  .rf-routine-grid strong { font-size: 29px; }
  .rf-dual-editorial article h2 { font-size: 32px; }
  .rf-brand-grid-v2 { grid-template-columns: repeat(2, 1fr); }
  .rf-brand-grid-v2 a { font-size: 16px; min-height: 72px; }
  .rf-authenticity-grid h2 { font-size: 48px; }
  .rf-search-results-drawer { position: static; width: 100%; }
}

/* ===== Commerce interaction layer (consolidated from v3) ===== */
/* ================================================================
   ROSAIFA 3.0 — BEAUTY COMMERCE SYSTEM
   Progressive commerce, discovery and retention layer.
   ================================================================ */

body.rf-v3-drawer-open { overflow: hidden; }

/* Header utilities */
.rf-icon-button { position: relative; }
.rf-wishlist-count,
.rf-cart-count {
  align-items: center;
  background: var(--rf-ink);
  border: 2px solid var(--rf-paper);
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 8px;
  font-weight: 800;
  height: 18px;
  justify-content: center;
  min-width: 18px;
  padding: 0 4px;
  position: absolute;
  right: -7px;
  top: -6px;
}
.rf-wishlist-trigger svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.45; }

/* Wishlist controls */
.rf-product-card,
.woocommerce ul.products li.product { position: relative; }
.rf-wishlist-button {
  align-items: center;
  background: rgba(255,253,251,.94);
  border: 1px solid rgba(23,20,18,.10);
  border-radius: 999px;
  color: var(--rf-ink);
  cursor: pointer;
  display: inline-flex;
  font-family: Arial, sans-serif;
  font-size: 20px;
  height: 38px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  right: 12px;
  top: 12px;
  transition: transform .18s ease, background .18s ease, color .18s ease;
  width: 38px;
  z-index: 6;
}
.rf-wishlist-button:hover { color: var(--rf-rose-dark); transform: translateY(-1px); }
.rf-wishlist-button.is-saved { background: var(--rf-rose-dark); color: #fff; }
.woocommerce ul.products li.product .rf-wishlist-button { margin: 0; }
.rf-wishlist-single {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--rf-ink-soft);
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 7px;
  margin: 4px 0 14px;
  padding: 0;
}
.rf-wishlist-single span { font-size: 20px; }
.rf-wishlist-single.is-saved { color: var(--rf-rose-dark); }

/* Drawers */
.rf-v3-overlay {
  background: rgba(23,20,18,.34);
  inset: 0;
  position: fixed;
  z-index: 1200;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.rf-v3-drawer {
  background: var(--rf-paper);
  bottom: 0;
  box-shadow: -28px 0 70px rgba(32,23,19,.15);
  display: flex;
  flex-direction: column;
  max-width: 460px;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(105%);
  transition: transform .26s cubic-bezier(.22,.8,.24,1);
  width: min(92vw, 460px);
  z-index: 1210;
}
.admin-bar .rf-v3-drawer { top: 32px; }
.rf-v3-drawer.is-open { transform: translateX(0); }
.rf-v3-drawer-head {
  align-items: center;
  border-bottom: 1px solid var(--rf-line-soft);
  display: flex;
  justify-content: space-between;
  min-height: 94px;
  padding: 22px 26px;
}
.rf-v3-drawer-head h2 { font-family: var(--rf-serif); font-size: 34px; font-weight: 400; line-height: 1; margin: 6px 0 0; }
.rf-v3-drawer-close {
  align-items: center;
  background: transparent;
  border: 1px solid var(--rf-line);
  border-radius: 999px;
  color: var(--rf-ink);
  cursor: pointer;
  display: inline-flex;
  font-size: 23px;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.rf-cart-drawer-body,
.rf-wishlist-drawer-body { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.rf-cart-drawer-items,
.rf-wishlist-drawer-body { overflow-y: auto; padding: 10px 26px 18px; }
.rf-cart-drawer-item {
  align-items: center;
  border-bottom: 1px solid var(--rf-line-soft);
  display: grid;
  gap: 12px;
  grid-template-columns: 74px minmax(0,1fr) 28px;
  padding: 14px 0;
}
.rf-cart-drawer-thumb { background: var(--rf-canvas); border-radius: 12px; display: block; overflow: hidden; }
.rf-cart-drawer-thumb img { aspect-ratio: 1 / 1.12; object-fit: cover; width: 100%; }
.rf-cart-drawer-item > div { display: grid; gap: 3px; min-width: 0; }
.rf-cart-drawer-name { font-size: 12px; font-weight: 700; line-height: 1.35; }
.rf-cart-drawer-item small { color: var(--rf-ink-soft); font-size: 10px; }
.rf-cart-drawer-item strong { font-size: 12px; }
.rf-cart-drawer-remove { color: var(--rf-ink-soft); font-size: 22px; text-align: center; }
.rf-cart-drawer-summary { background: var(--rf-canvas); border-top: 1px solid var(--rf-line); display: grid; gap: 10px; margin-top: auto; padding: 20px 26px 26px; }
.rf-cart-drawer-summary > div { align-items: center; display: flex; justify-content: space-between; }
.rf-cart-drawer-summary > div span { font-size: 12px; }
.rf-cart-drawer-summary > div strong { font-family: var(--rf-serif); font-size: 24px; font-weight: 400; }
.rf-cart-drawer-summary p { color: var(--rf-ink-soft); font-size: 10px; margin: 0 0 4px; }
.rf-button-dark { background: var(--rf-ink); border-color: var(--rf-ink); color: #fff; }
.rf-button-outline { background: transparent; border-color: var(--rf-ink); color: var(--rf-ink); }
.rf-button-outline:hover { background: var(--rf-ink); color: #fff; }
.rf-drawer-empty { margin: auto; max-width: 300px; padding: 36px 20px; text-align: center; }
.rf-drawer-empty > span { display: block; font-family: var(--rf-serif); font-size: 44px; margin-bottom: 10px; }
.rf-drawer-empty h3 { font-family: var(--rf-serif); font-size: 28px; font-weight: 400; margin: 0 0 8px; }
.rf-drawer-empty p { color: var(--rf-ink-soft); font-size: 12px; margin: 0 0 18px; }

/* Mini product lists: wishlist + recents */
.rf-v3-mini-products { display: grid; gap: 0; }
.rf-v3-mini-product {
  align-items: center;
  border-bottom: 1px solid var(--rf-line-soft);
  display: grid;
  gap: 12px;
  grid-template-columns: 76px minmax(0,1fr) 36px;
  padding: 14px 0;
  position: relative;
}
.rf-v3-mini-thumb { background: var(--rf-canvas); border-radius: 12px; overflow: hidden; }
.rf-v3-mini-thumb img { aspect-ratio: 1 / 1.12; object-fit: cover; width: 100%; }
.rf-v3-mini-product > div { display: grid; gap: 3px; min-width: 0; }
.rf-v3-mini-product small { color: var(--rf-rose-dark); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rf-v3-mini-name { font-size: 12px; font-weight: 700; line-height: 1.35; }
.rf-v3-mini-product strong { font-size: 12px; }
.rf-wishlist-mini { position: static; }
.rf-v3-loading { color: var(--rf-ink-soft); font-size: 12px; padding: 30px 0; text-align: center; }

.rf-recently-viewed { background: #fff; border-top: 1px solid var(--rf-line-soft); padding: 66px 0; }
.rf-recently-viewed .rf-v3-mini-products { gap: 16px; grid-template-columns: repeat(6, minmax(0,1fr)); }
.rf-recently-viewed .rf-v3-mini-product { align-items: start; border: 0; display: block; padding: 0; }
.rf-recently-viewed .rf-v3-mini-thumb { display: block; margin-bottom: 10px; }
.rf-recently-viewed .rf-v3-mini-product > div { gap: 4px; }
.rf-recently-viewed .rf-wishlist-mini { position: absolute; right: 8px; top: 8px; }

/* Smart discovery filters */
.rf-v3-discovery-bar {
  background: var(--rf-canvas);
  border: 1px solid var(--rf-line-soft);
  border-radius: 22px;
  clear: both;
  margin: 18px 0 28px;
  padding: 18px;
  width: 100%;
}
.rf-v3-discovery-head { align-items: end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 12px; }
.rf-v3-discovery-head > div { display: grid; gap: 4px; }
.rf-v3-discovery-head strong { font-family: var(--rf-serif); font-size: 22px; font-weight: 400; }
.rf-v3-clear-filters { font-size: 10px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.rf-v3-filter-form { align-items: end; display: grid; gap: 9px; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(120px,.75fr) auto; }
.rf-v3-filter-field { display: grid; gap: 6px; }
.rf-v3-filter-field > span { color: var(--rf-ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rf-v3-filter-field select,
.rf-v3-filter-field input {
  appearance: none;
  background: #fff;
  border: 1px solid var(--rf-line);
  border-radius: 12px;
  color: var(--rf-ink);
  height: 44px;
  min-width: 0;
  padding: 0 12px;
  width: 100%;
}
.rf-v3-filter-field select { background-image: linear-gradient(45deg,transparent 50%,var(--rf-ink-soft) 50%),linear-gradient(135deg,var(--rf-ink-soft) 50%,transparent 50%); background-position: calc(100% - 16px) 19px,calc(100% - 12px) 19px; background-repeat:no-repeat; background-size:4px 4px,4px 4px; padding-right: 28px; }
.rf-v3-filter-submit { background: var(--rf-ink); border: 1px solid var(--rf-ink); border-radius: 12px; color: #fff; cursor: pointer; font-size: 10px; font-weight: 800; height: 44px; padding: 0 18px; text-transform: uppercase; }
.rf-v3-filter-status { color: var(--rf-ink-soft); font-size: 9px; min-height: 14px; padding-top: 7px; }
.rf-shop-updating [data-rf-shop-content] { opacity: .55; pointer-events: none; transition: opacity .16s ease; }
.rf-shop-layout.no-sidebar { display: block; }
.rf-shop-layout.no-sidebar .rf-shop-content { width: 100%; }

/* Routine Finder */
.rf-routine-page { background: linear-gradient(180deg, var(--rf-canvas) 0, var(--rf-paper) 54%); padding: 70px 0 100px; }
.rf-routine-finder { margin-inline: auto; max-width: 1080px; }
.rf-routine-finder-intro { max-width: 780px; text-align: left; }
.rf-routine-finder-intro h1 { font-size: clamp(52px,7vw,92px); margin: 14px 0 20px; }
.rf-routine-finder-intro p { color: var(--rf-ink-soft); font-size: 15px; max-width: 680px; }
.rf-routine-form {
  align-items: end;
  background: #fff;
  border: 1px solid var(--rf-line);
  border-radius: 26px;
  box-shadow: var(--rf-shadow);
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr 1fr .8fr auto;
  margin-top: 36px;
  padding: 24px;
}
.rf-routine-form label { display: grid; gap: 7px; }
.rf-routine-form label > span { color: var(--rf-ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rf-routine-form select,
.rf-routine-form input { background: var(--rf-paper); border: 1px solid var(--rf-line); border-radius: 12px; height: 50px; padding: 0 13px; width: 100%; }
.rf-routine-results { margin-top: 42px; }
.rf-routine-results-head { max-width: 740px; }
.rf-routine-results-head h2 { font-family: var(--rf-serif); font-size: 42px; font-weight: 400; margin: 8px 0; }
.rf-routine-results-head p { color: var(--rf-ink-soft); font-size: 12px; }
.rf-routine-match-grid { display: grid; gap: 18px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 24px; }
.rf-routine-match-card { background: #fff; border: 1px solid var(--rf-line-soft); border-radius: 20px; overflow: hidden; }
.rf-routine-match-image { background: var(--rf-canvas); display: block; }
.rf-routine-match-image img { aspect-ratio: 1 / 1.12; object-fit: cover; width: 100%; }
.rf-routine-match-card > div { display: grid; gap: 5px; padding: 14px; }
.rf-routine-match-card small { color: var(--rf-rose-dark); font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.rf-routine-match-card span { color: var(--rf-ink-soft); font-size: 9px; font-weight: 700; }
.rf-routine-match-card h3 { font-family: var(--rf-sans); font-size: 12px; line-height: 1.4; margin: 0; }
.rf-routine-match-card strong { font-size: 12px; margin-top: 4px; }
.rf-routine-empty { background: #fff; border: 1px solid var(--rf-line); border-radius: 20px; padding: 30px; text-align: center; }
.rf-routine-empty h3 { font-family: var(--rf-serif); font-size: 28px; font-weight: 400; margin: 0 0 8px; }
.rf-routine-empty p { color: var(--rf-ink-soft); font-size: 12px; }

/* Mobile utility nav can include a button now */
.rf-mobile-bottom button {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: none;
  font: inherit;
  padding: 0;
}

@media (max-width: 1100px) {
  .rf-v3-filter-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rf-v3-filter-submit { width: 100%; }
  .rf-routine-form { grid-template-columns: 1fr 1fr; }
  .rf-routine-match-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rf-recently-viewed .rf-v3-mini-products { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .rf-wishlist-trigger { display: none; }
  .rf-v3-filter-form { grid-template-columns: 1fr 1fr; }
  .rf-routine-match-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rf-recently-viewed .rf-v3-mini-products { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rf-mobile-bottom button { align-items: center; display: flex; flex: 1; flex-direction: column; font-size: 9px; gap: 2px; justify-content: center; min-width: 0; }
  .rf-mobile-bottom button span { font-size: 17px; line-height: 1; }
  .rf-mobile-bottom > * { flex: 1; }
}

@media (max-width: 620px) {
  .rf-v3-drawer { width: 100%; }
  .admin-bar .rf-v3-drawer { top: 46px; }
  .rf-v3-drawer-head { padding-inline: 20px; }
  .rf-cart-drawer-items,
  .rf-wishlist-drawer-body { padding-inline: 20px; }
  .rf-cart-drawer-summary { padding-inline: 20px; }
  .rf-v3-discovery-bar { border-radius: 18px; padding: 14px; }
  .rf-v3-discovery-head { align-items: start; }
  .rf-v3-discovery-head strong { font-size: 19px; }
  .rf-v3-filter-form { grid-template-columns: 1fr; }
  .rf-v3-filter-field select,
  .rf-v3-filter-field input,
  .rf-v3-filter-submit { height: 46px; }
  .rf-routine-page { padding: 44px 0 80px; }
  .rf-routine-finder-intro h1 { font-size: 50px; }
  .rf-routine-form { border-radius: 20px; grid-template-columns: 1fr; padding: 18px; }
  .rf-routine-results-head h2 { font-size: 34px; }
  .rf-routine-match-grid { gap: 10px; }
  .rf-routine-match-card { border-radius: 14px; }
  .rf-recently-viewed { padding: 46px 0; }
  .rf-recently-viewed .rf-v3-mini-products { display: flex; margin-inline: -20px; overflow-x: auto; padding: 0 20px 8px; scrollbar-width: none; }
  .rf-recently-viewed .rf-v3-mini-products::-webkit-scrollbar { display: none; }
  .rf-recently-viewed .rf-v3-mini-product { flex: 0 0 150px; }
  .rf-wishlist-button { right: 8px; top: 8px; }
}

/* Homepage routine finder spotlight */
.rf-routine-discovery-v3 { background: #171412; color: #fff; }
.rf-routine-v3-layout { align-items: stretch; display: grid; gap: 42px; grid-template-columns: .82fr 1.18fr; }
.rf-routine-v3-art { background: #f3ebe5; border-radius: 26px; display: block; min-height: 560px; overflow: hidden; position: relative; }
.rf-routine-v3-art img { height: 100%; object-fit: cover; width: 100%; }
.rf-routine-v3-art > span { background: rgba(255,253,251,.92); border-radius: 999px; bottom: 20px; color: var(--rf-ink); font-size: 10px; font-weight: 800; left: 20px; padding: 10px 14px; position: absolute; }
.rf-routine-v3-content { align-self: center; }
.rf-routine-discovery-v3 .rf-eyebrow { color: #d7a99d; }
.rf-routine-discovery-v3 .rf-display { color: #fff; font-size: clamp(46px,5vw,70px); margin: 8px 0 0; }
.rf-routine-v3-copy { color: rgba(255,255,255,.68); font-size: 13px; margin: 0 0 22px; max-width: 680px; }
.rf-routine-discovery-v3 .rf-routine-grid { grid-template-columns: 1fr; margin-bottom: 22px; }
.rf-routine-discovery-v3 .rf-routine-grid a { border-color: rgba(255,255,255,.13); color: #fff; }
.rf-routine-discovery-v3 .rf-routine-grid a span { color: rgba(255,255,255,.58); }
.rf-routine-discovery-v3 .rf-routine-grid a:hover { background: rgba(255,255,255,.06); color: #fff; }
.rf-routine-discovery-v3 .rf-button-dark { background: #fff; border-color: #fff; color: var(--rf-ink); }
.rf-routine-discovery-v3 .rf-button-dark:hover { color: var(--rf-ink); }
@media (max-width: 900px) {
  .rf-routine-v3-layout { grid-template-columns: 1fr; }
  .rf-routine-v3-art { min-height: 420px; }
}
@media (max-width: 620px) {
  .rf-routine-v3-layout { gap: 28px; }
  .rf-routine-v3-art { min-height: 340px; }
  .rf-routine-discovery-v3 .rf-display { font-size: 44px; }
}
@media (max-width: 900px) {
  .rf-mobile-bottom { grid-template-columns: repeat(5, minmax(0,1fr)); }
}

/* Merchant-entered PDP intelligence */
.rf-pdp-benefits { background: #fff; border: 1px solid var(--rf-line); border-radius: 16px; margin: 18px 0 12px; padding: 16px 18px; }
.rf-pdp-benefits ul { display: grid; gap: 7px; list-style: none; margin: 9px 0 0; padding: 0; }
.rf-pdp-benefits li { color: var(--rf-ink-soft); font-size: 12px; padding-left: 18px; position: relative; }
.rf-pdp-benefits li::before { color: var(--rf-rose-dark); content: '✓'; left: 0; position: absolute; top: 0; }
.rf-pdp-detail-panel { max-width: 860px; }
.rf-pdp-detail-panel h3 { font-family: var(--rf-serif); font-size: 25px; font-weight: 400; margin: 20px 0 8px; }
.rf-pdp-detail-chip { background: var(--rf-rose-soft); border-radius: 999px; color: var(--rf-rose-dark); display: inline-flex; font-size: 10px; font-weight: 800; margin-bottom: 12px; padding: 7px 10px; }
.rf-pdp-ingredients { font-size: 12px; line-height: 1.8; }

/* ===== Production Commerce OS layer (consolidated from v4) ===== */
/* Rosaifa 4.0 Production Commerce OS */
:root {
  --rf-v4-copper: #a96f59;
  --rf-v4-copper-dark: #765044;
  --rf-v4-cream: #fbf7f2;
  --rf-v4-green: #405a4a;
}

.rf-v4-discovery-bar {
  background: linear-gradient(135deg,#fffdfb,#f7efe9);
  border: 1px solid var(--rf-line);
  border-radius: 22px;
  margin: 0 0 28px;
  padding: 20px;
}
.rf-v4-discovery-head { align-items: end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 16px; }
.rf-v4-discovery-head > div { display: grid; gap: 3px; }
.rf-v4-discovery-head strong { font-family: var(--rf-serif); font-size: 26px; font-weight: 400; }
.rf-v4-discovery-head small { color: var(--rf-ink-soft); font-size: 10px; max-width: 680px; }
.rf-v4-discovery-head > a { border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.rf-v4-filter-form { display: grid; gap: 10px; grid-template-columns: repeat(5,minmax(0,1fr)); }
.rf-v4-filter-field { display: grid; gap: 6px; }
.rf-v4-filter-field > span { color: var(--rf-ink-soft); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rf-v4-filter-field select,.rf-v4-filter-field input { background: #fff; border: 1px solid var(--rf-line); border-radius: 11px; height: 44px; min-width: 0; padding: 0 11px; width: 100%; }
.rf-v4-filter-submit { align-self: end; background: var(--rf-ink); border: 1px solid var(--rf-ink); border-radius: 11px; color: #fff; cursor: pointer; font-size: 10px; font-weight: 800; height: 44px; letter-spacing: .05em; padding: 0 16px; text-transform: uppercase; }

.rf-v4-live-edits { background: #171412; color: #fff; overflow: hidden; position: relative; }
.rf-v4-live-edits:before { background: radial-gradient(circle,rgba(197,132,106,.23),transparent 64%); content: ""; height: 520px; position: absolute; right: -120px; top: -210px; width: 520px; }
.rf-v4-live-edits .rf-display { color: #fff; }
.rf-v4-live-edits .rf-section-head { position: relative; }
.rf-v4-live-edits .rf-eyebrow { color: #dcb7a7; }
.rf-v4-edit-links { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 30px; position: relative; }
.rf-v4-edit-links a { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; color: #fff; display: grid; gap: 8px; min-height: 148px; padding: 20px; }
.rf-v4-edit-links a:hover { background: rgba(255,255,255,.09); color: #fff; }
.rf-v4-edit-links small { color: rgba(255,255,255,.55); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.rf-v4-edit-links strong { font-family: var(--rf-serif); font-size: 30px; font-weight: 400; line-height: 1.05; }
.rf-v4-edit-links span { color: rgba(255,255,255,.64); font-size: 10px; }
.rf-v4-live-edits .rf-product-card { background: #fff; color: var(--rf-ink); }

.rf-v4-shipping-progress { background: #f5ece7; border-radius: 13px; margin: 10px 0 14px; padding: 11px 12px; }
.rf-v4-shipping-copy { color: var(--rf-ink); font-size: 10px; line-height: 1.45; }
.rf-v4-progress-track { background: rgba(116,74,78,.12); border-radius: 99px; height: 4px; margin-top: 8px; overflow: hidden; }
.rf-v4-progress-track > span { background: var(--rf-rose-dark); display: block; height: 100%; transition: width .25s ease; }

.rf-v4-taxonomy-context { background: var(--rf-v4-cream); border: 1px solid var(--rf-line-soft); border-radius: 18px; margin: 0 0 24px; max-width: 900px; padding: 22px 24px; }
.rf-v4-taxonomy-context h2 { font-family: var(--rf-serif); font-size: 36px; font-weight: 400; margin: 5px 0 7px; }
.rf-v4-taxonomy-context p { color: var(--rf-ink-soft); font-size: 12px; margin: 0; }

.rf-v4-waitlist { background: #fbf7f2; border: 1px solid var(--rf-line); border-radius: 18px; display: grid; gap: 9px; margin-top: 18px; padding: 18px; }
.rf-v4-waitlist h3 { font-family: var(--rf-serif); font-size: 28px; font-weight: 400; margin: 0; }
.rf-v4-waitlist p,.rf-v4-waitlist small,[data-rf-waitlist-status] { color: var(--rf-ink-soft); font-size: 10px; margin: 0; }
.rf-v4-waitlist form { display: grid; gap: 8px; grid-template-columns: 1fr auto; }
.rf-v4-waitlist input[type=email] { background: #fff; border: 1px solid var(--rf-line); border-radius: 10px; min-width: 0; padding: 0 12px; }
.rf-v4-honeypot { left: -99999px!important; opacity: 0!important; position: absolute!important; }

.rf-v4-product-media-note { align-items: center; border-bottom: 1px solid var(--rf-line-soft); border-top: 1px solid var(--rf-line-soft); display: flex; gap: 14px; justify-content: space-between; margin: 13px 0; padding: 12px 0; }
.rf-v4-product-media-note span { display: grid; gap: 2px; }
.rf-v4-product-media-note small { color: var(--rf-ink-soft); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.rf-v4-product-media-note strong { font-size: 11px; }
.rf-v4-product-media-note a { font-size: 10px; font-weight: 800; }
.rf-v4-source-note { background: var(--rf-v4-cream); border-radius: 16px; margin: 24px auto; max-width: 1320px; padding: 22px; }
.rf-v4-source-note h3 { font-family: var(--rf-serif); font-size: 25px; font-weight: 400; margin: 0 0 7px; }

.rf-v4-routine-bundle { align-items: center; background: #f7f0eb; border: 1px solid var(--rf-line); border-radius: 18px; display: grid; gap: 12px; grid-template-columns: 1fr auto; margin-top: 20px; padding: 18px; }
.rf-v4-routine-bundle > div { display: grid; gap: 3px; }
.rf-v4-routine-bundle strong { font-family: var(--rf-serif); font-size: 24px; font-weight: 400; }
.rf-v4-routine-bundle small,.rf-v4-routine-bundle > span { color: var(--rf-ink-soft); font-size: 9px; }
.rf-v4-routine-bundle > span { grid-column: 1 / -1; }

.woocommerce-checkout .rf-site-main:before,.woocommerce-checkout main:before { content: attr(data-checkout-note); }

@media (max-width: 1100px) {
  .rf-v4-filter-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .rf-v4-discovery-head { align-items: start; flex-direction: column; gap: 10px; }
  .rf-v4-filter-form { grid-template-columns: 1fr 1fr; }
  .rf-v4-edit-links { grid-template-columns: 1fr; }
  .rf-v4-waitlist form { grid-template-columns: 1fr; }
  .rf-v4-waitlist input[type=email] { min-height: 46px; }
  .rf-v4-routine-bundle { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .rf-v4-filter-form { grid-template-columns: 1fr; }
}
.rf-v4-checkout-reassurance { background:#f7f0eb; border:1px solid var(--rf-line); border-radius:14px; color:var(--rf-ink-soft); font-size:10px; font-weight: 700; letter-spacing:.02em; margin:0 0 18px; padding:12px 14px; text-align:center; }
/* Rosaifa 4.4+ variable-catalog product safety states */
.rf-loop-stock-unverified,.rf-stock-unverified{color:var(--rf-ink-soft)!important;background:#f6f1ed;border-radius:999px;padding:.18rem .55rem;display:inline-flex;font-size:.78rem;font-weight:600}
.rf-catalog-placeholder{object-fit:cover;width:100%;height:auto}
.rf-single-placeholder img{width:100%;height:auto;display:block;border-radius:18px}
.rf-price-pending{font-size:.88rem;color:var(--rf-ink-soft);font-weight:600}

/* Rosaifa 4.5 skincare education + skin-type guide */
.rf-guide-page { background: linear-gradient(180deg,#fbf7f2 0,#fffdfb 28%,#fff 100%); padding: 64px 0 110px; }
.rf-skincare-guide { margin-inline: auto; max-width: 1180px; }
.rf-guide-hero { align-items: end; display: grid; gap: 40px; grid-template-columns: 1.45fr .55fr; padding: 24px 0 64px; }
.rf-guide-hero > div:first-child { max-width: 820px; }
.rf-guide-hero h1 { font-size: clamp(54px,7vw,92px); line-height: .94; margin: 14px 0 22px; }
.rf-guide-hero p { color: var(--rf-ink-soft); font-size: 15px; line-height: 1.8; max-width: 760px; }
.rf-guide-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.rf-guide-hero-card { background: #171412; border-radius: 24px; color: #fff; display: grid; gap: 10px; min-height: 250px; padding: 28px; place-content: end start; }
.rf-guide-hero-card small { color: #d7a99d; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.rf-guide-hero-card strong { font-family: var(--rf-serif); font-size: 32px; font-weight: 400; line-height: 1.05; }
.rf-guide-hero-card span { color: rgba(255,255,255,.66); font-size: 11px; line-height: 1.65; }

.rf-guide-basic { background: #f6eee8; border-radius: 30px; display: grid; gap: 30px; grid-template-columns: .75fr 1.25fr; margin: 0 0 88px; padding: 34px; scroll-margin-top: 110px; }
.rf-guide-basic-copy { align-self: center; padding: 18px 8px 18px 12px; }
.rf-guide-basic-copy .rf-display { font-size: clamp(42px,5vw,62px); line-height: .98; margin: 10px 0 16px; }
.rf-guide-basic-copy > p { color: var(--rf-ink-soft); font-size: 13px; line-height: 1.75; }
.rf-guide-note { border-top: 1px solid rgba(32,25,21,.12); display: grid; gap: 5px; margin-top: 22px; padding-top: 18px; }
.rf-guide-note strong { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.rf-guide-note span { color: var(--rf-ink-soft); font-size: 11px; line-height: 1.65; }
.rf-guide-routine-columns { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.rf-guide-routine-card { background: #fff; border: 1px solid var(--rf-line-soft); border-radius: 22px; padding: 24px; }
.rf-guide-routine-card > small { color: var(--rf-rose-dark); font-size: 9px; font-weight: 800; letter-spacing: .09em; }
.rf-guide-routine-card ol { counter-reset: guide-step; display: grid; gap: 18px; list-style: none; margin: 22px 0 0; padding: 0; }
.rf-guide-routine-card li { counter-increment: guide-step; display: grid; gap: 4px; padding-left: 34px; position: relative; }
.rf-guide-routine-card li::before { align-items: center; background: var(--rf-canvas); border-radius: 50%; content: counter(guide-step); display: flex; font-size: 9px; font-weight: 800; height: 24px; justify-content: center; left: 0; position: absolute; top: -2px; width: 24px; }
.rf-guide-routine-card li strong { font-size: 11px; }
.rf-guide-routine-card li span { color: var(--rf-ink-soft); font-size: 10px; line-height: 1.6; }
.rf-guide-routine-card-dark { background: #201915; border-color: #201915; color: #fff; }
.rf-guide-routine-card-dark > small { color: #d7a99d; }
.rf-guide-routine-card-dark li::before { background: rgba(255,255,255,.1); color: #fff; }
.rf-guide-routine-card-dark li span { color: rgba(255,255,255,.65); }

.rf-guide-selector { margin: 0 0 78px; scroll-margin-top: 110px; }
.rf-guide-selector .rf-section-head { margin-bottom: 24px; }
.rf-guide-selector-grid { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.rf-guide-selector-grid a { background: #fff; border: 1px solid var(--rf-line); border-radius: 18px; color: var(--rf-ink); display: grid; gap: 7px; min-height: 172px; padding: 20px; position: relative; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.rf-guide-selector-grid a:hover { border-color: #c99c8a; box-shadow: 0 14px 34px rgba(43,30,25,.07); color: var(--rf-ink); transform: translateY(-2px); }
.rf-guide-selector-grid a > span { color: var(--rf-rose-dark); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.rf-guide-selector-grid a strong { font-family: var(--rf-serif); font-size: 28px; font-weight: 400; }
.rf-guide-selector-grid a small { color: var(--rf-ink-soft); font-size: 10px; line-height: 1.55; max-width: 90%; }
.rf-guide-selector-grid a em { bottom: 18px; font-style: normal; position: absolute; right: 18px; }

.rf-guide-sections { display: grid; gap: 30px; }
.rf-guide-skin { background: #fff; border: 1px solid var(--rf-line-soft); border-radius: 28px; padding: 34px; scroll-margin-top: 100px; }
.rf-guide-skin:nth-child(even) { background: #fdf9f5; }
.rf-guide-skin-head { align-items: end; display: grid; gap: 28px; grid-template-columns: 1fr auto; margin-bottom: 26px; }
.rf-guide-skin-head > div { max-width: 760px; }
.rf-guide-number { color: var(--rf-rose-dark); display: block; font-family: var(--rf-serif); font-size: 18px; margin-bottom: 12px; }
.rf-guide-skin-head .rf-display { font-size: clamp(45px,5vw,68px); line-height: 1; margin: 8px 0 10px; }
.rf-guide-skin-head p { color: var(--rf-ink-soft); font-size: 12px; line-height: 1.75; margin: 0; max-width: 700px; }
.rf-guide-info-grid { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.rf-guide-info-grid article { background: var(--rf-canvas); border-radius: 16px; padding: 20px; }
.rf-guide-info-grid small,.rf-guide-day-night small,.rf-guide-look-caution small { color: var(--rf-rose-dark); font-size: 8px; font-weight: 800; letter-spacing: .09em; }
.rf-guide-info-grid p { color: var(--rf-ink-soft); font-size: 11px; line-height: 1.65; margin: 8px 0 0; }
.rf-guide-day-night { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; margin-top: 12px; }
.rf-guide-day-night article { border: 1px solid var(--rf-line); border-radius: 16px; padding: 20px; }
.rf-guide-day-night ol { display: grid; gap: 9px; margin: 12px 0 0; padding-left: 22px; }
.rf-guide-day-night li { color: var(--rf-ink-soft); font-size: 10px; line-height: 1.6; padding-left: 4px; }
.rf-guide-look-caution { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; margin-top: 12px; }
.rf-guide-look-caution > div { background: #f7f0eb; border-radius: 16px; padding: 20px; }
.rf-guide-look-caution p { color: var(--rf-ink-soft); font-size: 10px; line-height: 1.65; margin: 10px 0 0; }
.rf-guide-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.rf-guide-chips span { background: #fff; border: 1px solid var(--rf-line-soft); border-radius: 999px; font-size: 9px; padding: 7px 10px; }
.rf-guide-products { border-top: 1px solid var(--rf-line-soft); margin-top: 28px; padding-top: 28px; }
.rf-guide-products .rf-section-head h3 { font-family: var(--rf-serif); font-size: 32px; font-weight: 400; margin: 5px 0 0; }
.rf-guide-catalog-note { color: var(--rf-ink-soft); font-size: 9px; line-height: 1.6; margin: 16px 0 0; }

.rf-guide-sources { background: #171412; border-radius: 28px; color: #fff; margin-top: 34px; padding: 34px; }
.rf-guide-sources .rf-eyebrow { color: #d7a99d; }
.rf-guide-sources h2 { font-family: var(--rf-serif); font-size: 38px; font-weight: 400; margin: 9px 0 10px; }
.rf-guide-sources > p { color: rgba(255,255,255,.66); font-size: 11px; line-height: 1.7; max-width: 860px; }
.rf-guide-source-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.rf-guide-source-links a { border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #fff; font-size: 9px; padding: 9px 12px; }
.rf-guide-source-links a:hover { background: rgba(255,255,255,.08); color: #fff; }
.rf-guide-medical-note { border-top: 1px solid rgba(255,255,255,.12); margin-top: 24px!important; padding-top: 18px; }
.rf-guide-medical-note strong { color: #fff; }

/* Homepage skin guide entry point */
.rf-home-skin-guide { background: #f8f2ed; }
.rf-home-guide-grid { display: grid; gap: 11px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.rf-home-guide-card { background: #fff; border: 1px solid var(--rf-line-soft); border-radius: 18px; color: var(--rf-ink); display: grid; gap: 7px; min-height: 150px; padding: 18px; position: relative; }
.rf-home-guide-card-featured { background: #201915; color: #fff; grid-column: span 2; }
.rf-home-guide-card:hover { color: inherit; transform: translateY(-1px); }
.rf-home-guide-card > span { color: var(--rf-rose-dark); font-size: 8px; font-weight: 800; letter-spacing: .09em; }
.rf-home-guide-card-featured > span { color: #d7a99d; }
.rf-home-guide-card strong { font-family: var(--rf-serif); font-size: 26px; font-weight: 400; }
.rf-home-guide-card small { color: var(--rf-ink-soft); font-size: 9px; line-height: 1.55; max-width: 84%; }
.rf-home-guide-card-featured small { color: rgba(255,255,255,.65); }
.rf-home-guide-card em { bottom: 16px; font-style: normal; position: absolute; right: 16px; }
.rf-home-guide-actions { align-items: center; display: flex; gap: 18px; margin-top: 22px; }

@media (max-width: 980px) {
  .rf-guide-hero { grid-template-columns: 1fr; }
  .rf-guide-hero-card { min-height: 210px; }
  .rf-guide-basic { grid-template-columns: 1fr; }
  .rf-guide-selector-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rf-home-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .rf-guide-page { padding: 38px 0 80px; }
  .rf-guide-hero { gap: 24px; padding-bottom: 44px; }
  .rf-guide-hero h1 { font-size: 51px; }
  .rf-guide-hero-card { border-radius: 20px; min-height: 180px; padding: 22px; }
  .rf-guide-basic { border-radius: 22px; margin-bottom: 58px; padding: 18px; }
  .rf-guide-basic-copy { padding: 10px 4px; }
  .rf-guide-routine-columns,.rf-guide-info-grid,.rf-guide-day-night,.rf-guide-look-caution { grid-template-columns: 1fr; }
  .rf-guide-routine-card { padding: 20px; }
  .rf-guide-selector { margin-bottom: 48px; }
  .rf-guide-selector-grid { grid-template-columns: 1fr; }
  .rf-guide-selector-grid a { min-height: 142px; }
  .rf-guide-skin { border-radius: 20px; padding: 20px; }
  .rf-guide-skin-head { align-items: start; grid-template-columns: 1fr; }
  .rf-guide-skin-head .rf-display { font-size: 46px; }
  .rf-guide-products .rf-section-head { align-items: start; gap: 12px; }
  .rf-guide-sources { border-radius: 20px; padding: 22px; }
  .rf-guide-sources h2 { font-size: 31px; }
  .rf-home-guide-grid { grid-template-columns: 1fr; }
  .rf-home-guide-card-featured { grid-column: auto; }
  .rf-home-guide-actions { align-items: flex-start; flex-direction: column; }
}

/* v4.6 — common concerns + curated routine sets */
.rf-v46-concerns,.rf-v46-packages{margin:76px 0 0;scroll-margin-top:100px}
.rf-v46-concern-nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 28px}
.rf-v46-concern-nav a{background:#fff;border:1px solid var(--rf-line-soft);border-radius:999px;color:var(--rf-ink);font-size:9px;font-weight: 700;padding:9px 12px}
.rf-v46-concern-nav a:hover{border-color:#c99c8a;color:var(--rf-rose-dark)}
.rf-v46-concern-list{display:grid;gap:20px}
.rf-v46-concern{background:#fff;border:1px solid var(--rf-line-soft);border-radius:26px;padding:30px;scroll-margin-top:100px}
.rf-v46-concern:nth-child(even){background:#fdf9f5}
.rf-v46-concern>header{max-width:820px}
.rf-v46-concern>header h3{font-family:var(--rf-serif);font-size:clamp(36px,4vw,52px);font-weight:400;line-height:1;margin:8px 0 10px}
.rf-v46-concern>header p,.rf-v46-concern-intro p{color:var(--rf-ink-soft);font-size:11px;line-height:1.72}
.rf-v46-concern-intro{background:var(--rf-canvas);border-radius:15px;margin-top:20px;padding:18px 20px}
.rf-v46-concern-intro strong{font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.rf-v46-concern-intro p{margin:7px 0 0}
.rf-v46-escalation{border-left:3px solid #c99c8a;color:var(--rf-ink-soft);font-size:10px;line-height:1.65;margin:16px 0 0;padding:4px 0 4px 14px}
.rf-v46-escalation strong{color:var(--rf-ink)}
.rf-v46-package-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.rf-v46-package{background:#fff;border:1px solid var(--rf-line-soft);border-radius:24px;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:26px;scroll-margin-top:100px}
.rf-v46-package.is-featured{background:linear-gradient(145deg,#201915,#3a2923);border-color:#201915;color:#fff}
.rf-v46-package header small{color:var(--rf-rose-dark);font-size:8px;font-weight: 800;letter-spacing:.1em}
.rf-v46-package.is-featured header small{color:#e1b8a8}
.rf-v46-package header h3{font-family:var(--rf-serif);font-size:38px;font-weight:400;line-height:1.02;margin:7px 0 8px}
.rf-v46-package header>span{display:inline-block;font-size:9px;font-weight: 700;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}
.rf-v46-package header p{color:var(--rf-ink-soft);font-size:10px;line-height:1.65;margin:0}
.rf-v46-package.is-featured header p{color:rgba(255,255,255,.68)}
.rf-v46-package-items{display:grid;gap:8px;list-style:none;margin:22px 0;padding:0}
.rf-v46-package-items li{margin:0}
.rf-v46-package-items a{align-items:center;border-top:1px solid var(--rf-line-soft);color:inherit;display:grid;gap:10px;grid-template-columns:48px 1fr auto;padding:10px 0}
.rf-v46-package.is-featured .rf-v46-package-items a{border-color:rgba(255,255,255,.13)}
.rf-v46-package-items img{aspect-ratio:1/1;border-radius:10px;height:48px;object-fit:cover;width:48px}
.rf-v46-package-items strong{font-size:10px;font-weight:650;line-height:1.35}
.rf-v46-package-items em{font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}
.rf-v46-package footer{align-items:center;border-top:1px solid var(--rf-line-soft);display:flex;gap:16px;justify-content:space-between;margin-top:auto;padding-top:18px}
.rf-v46-package.is-featured footer{border-color:rgba(255,255,255,.13)}
.rf-v46-package footer>div{display:grid;gap:3px}
.rf-v46-package footer small{font-size:7px;font-weight: 800;letter-spacing:.09em}
.rf-v46-package footer strong{font-family:var(--rf-serif);font-size:25px;font-weight:400}
.rf-v46-package form{margin:0}
.rf-v46-package.is-featured .rf-button-dark{background:#fff;color:#201915}
.rf-v46-package-note{color:rgba(255,255,255,.58);font-size:9px;line-height:1.55;margin:14px 0 0}
.rf-home-routine-sets{background:#f8f1ec}
.rf-home-set-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px}
.rf-home-set-grid a{background:#fff;border:1px solid var(--rf-line-soft);border-radius:18px;color:var(--rf-ink);display:grid;gap:7px;min-height:155px;padding:20px;position:relative}
.rf-home-set-grid a:last-child{background:#201915;color:#fff}
.rf-home-set-grid small{color:var(--rf-rose-dark);font-size:8px;font-weight: 800;letter-spacing:.09em}
.rf-home-set-grid a:last-child small{color:#e1b8a8}
.rf-home-set-grid strong{font-family:var(--rf-serif);font-size:26px;font-weight:400;line-height:1.05}
.rf-home-set-grid span{font-size:9px;opacity:.65}
.rf-home-set-grid em{bottom:17px;font-style:normal;position:absolute;right:18px}
@media(max-width:960px){.rf-v46-package-grid{grid-template-columns:1fr}.rf-home-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.rf-v46-concerns,.rf-v46-packages{margin-top:54px}.rf-v46-concern{border-radius:20px;padding:20px}.rf-v46-package{border-radius:20px;padding:20px}.rf-v46-package footer{align-items:flex-start;flex-direction:column}.rf-v46-package footer .rf-button{width:100%}.rf-home-set-grid{grid-template-columns:1fr}.rf-home-set-grid a{min-height:130px}}

/* v4.7 — Smart Skin Consultation */
.rf-home-consultation{background:linear-gradient(135deg,#f4ebe6 0,#fbf8f4 56%,#eee5de 100%)}
.rf-home-consultation-grid{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)}
.rf-home-consultation-copy,.rf-home-consultation-visual{border:1px solid rgba(119,93,78,.13);border-radius:28px;min-height:470px}
.rf-home-consultation-copy{background:rgba(255,255,255,.72);display:flex;flex-direction:column;justify-content:center;padding:52px}
.rf-home-consultation-copy h2{font-size:clamp(44px,5.4vw,72px);line-height:.98;margin:10px 0 20px;max-width:760px}
.rf-home-consultation-copy>p{color:var(--rf-ink-soft);font-size:12px;line-height:1.75;margin:0;max-width:650px}
.rf-home-consultation-points{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}
.rf-home-consultation-points span{background:#fff;border:1px solid var(--rf-line-soft);border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.07em;padding:9px 12px;text-transform:uppercase}
.rf-home-consultation-copy .rf-button{align-self:flex-start}
.rf-home-consultation-visual{background:#201915;color:#fff;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:36px;position:relative;overflow:hidden}
.rf-home-consultation-visual:before{background:radial-gradient(circle,rgba(225,184,168,.34),transparent 66%);content:"";height:360px;position:absolute;right:-90px;top:-90px;width:360px}
.rf-home-consultation-visual>div{align-content:end;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:20px;display:grid;min-height:150px;padding:20px;position:relative;z-index:1}
.rf-home-consultation-visual small{color:#e1b8a8;font-size:9px;font-weight: 800;letter-spacing:.1em}
.rf-home-consultation-visual strong{font-family:var(--rf-serif);font-size:30px;font-weight:400}
.rf-home-consultation-visual>span{bottom:20px;color:rgba(255,255,255,.62);font-size:9px;left:36px;letter-spacing:.06em;position:absolute;text-transform:uppercase;z-index:2}

.rf-v47-consultation-page{background:linear-gradient(180deg,#fbf7f2 0,#f7f0ea 52%,#fff 100%);padding:72px 0 110px}
.rf-v47-consultation{margin:0 auto;max-width:1180px}
.rf-v47-quiz-intro{margin:0 auto 34px;max-width:920px;text-align:center}
.rf-v47-quiz-intro h1{font-size:clamp(54px,7vw,94px);line-height:.94;margin:14px 0 22px}
.rf-v47-quiz-intro>p{color:var(--rf-ink-soft);font-size:13px;line-height:1.75;margin:0 auto;max-width:720px}
.rf-v47-trust-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}
.rf-v47-trust-row span{background:#fff;border:1px solid var(--rf-line-soft);border-radius:999px;color:var(--rf-ink-soft);font-size:8px;font-weight:800;letter-spacing:.06em;padding:8px 11px;text-transform:uppercase}
.rf-v47-quiz{background:#fff;border:1px solid var(--rf-line-soft);border-radius:30px;box-shadow:0 20px 60px rgba(62,44,35,.06);margin:0 auto;max-width:980px;padding:32px}
.rf-v47-progress{background:#eee8e3;border-radius:999px;height:5px;overflow:hidden}
.rf-v47-progress span{background:#a86f59;border-radius:999px;display:block;height:100%;transition:width .3s ease;width:11.111%}
.rf-v47-progress-copy{align-items:center;color:var(--rf-ink-soft);display:flex;font-size:8px;font-weight: 700;justify-content:space-between;letter-spacing:.06em;margin:10px 0 32px;text-transform:uppercase}
.rf-v47-question{border:0;margin:0;min-inline-size:0;padding:0}
.rf-v47-question legend{align-items:flex-start;display:flex;gap:16px;margin:0 0 24px;padding:0;width:100%}
.rf-v47-question legend small{align-items:center;background:#f5ebe5;border-radius:50%;color:var(--rf-rose-dark);display:flex;flex:0 0 42px;font-family:var(--rf-serif);font-size:17px;height:42px;justify-content:center}
.rf-v47-question legend span{font-family:var(--rf-serif);font-size:clamp(30px,4vw,44px);font-weight:400;line-height:1.07;max-width:760px}
.rf-v47-options{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.rf-v47-options-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.rf-v47-options label{cursor:pointer;min-width:0}
.rf-v47-options input{height:1px;opacity:0;position:absolute;width:1px}
.rf-v47-options label>span{background:#fbfaf8;border:1px solid var(--rf-line-soft);border-radius:18px;display:grid;gap:5px;min-height:98px;padding:20px;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.rf-v47-options label:hover>span{border-color:#cba896;transform:translateY(-1px)}
.rf-v47-options input:checked+span{background:#f6ebe5;border-color:#a86f59;box-shadow:inset 0 0 0 1px #a86f59}
.rf-v47-options input:focus-visible+span{outline:2px solid #241b17;outline-offset:3px}
.rf-v47-options strong{font-size:11px;font-weight: 700;line-height:1.35}
.rf-v47-options small{color:var(--rf-ink-soft);font-size:9px;line-height:1.5}
.rf-v47-quiz-message{color:#9a4f42;font-size:10px;min-height:18px;padding-top:13px}
.rf-v47-quiz-nav{align-items:center;border-top:1px solid var(--rf-line-soft);display:flex;gap:10px;justify-content:space-between;margin-top:14px;padding-top:20px}
.rf-v47-quiz-nav .rf-button[disabled]{cursor:not-allowed;opacity:.38}
.rf-v47-results{scroll-margin-top:90px}
.rf-v47-loading,.rf-v47-error{align-items:center;background:#fff;border:1px solid var(--rf-line-soft);border-radius:24px;display:grid;gap:7px;justify-items:center;margin:40px auto 0;max-width:760px;padding:42px;text-align:center}
.rf-v47-loading span{animation:rfv47spin .8s linear infinite;border:2px solid #eaded7;border-radius:50%;border-top-color:#a86f59;height:28px;width:28px}
.rf-v47-loading strong,.rf-v47-error strong{font-family:var(--rf-serif);font-size:28px;font-weight:400}
.rf-v47-loading small,.rf-v47-error p{color:var(--rf-ink-soft);font-size:9px;margin:0}
@keyframes rfv47spin{to{transform:rotate(360deg)}}
.rf-v47-results-shell{display:grid;gap:18px;margin-top:54px}
.rf-v47-profile-card{background:#201915;border-radius:28px;color:#fff;display:grid;gap:18px;padding:34px}
.rf-v47-profile-card h2{font-size:clamp(40px,5vw,64px);line-height:1;margin:8px 0 0}
.rf-v47-profile-card>p{color:rgba(255,255,255,.68);font-size:10px;line-height:1.7;margin:0;max-width:760px}
.rf-v47-profile-pills{display:flex;flex-wrap:wrap;gap:8px}
.rf-v47-profile-pills span{border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:8px;font-weight:800;letter-spacing:.07em;padding:8px 11px;text-transform:uppercase}
.rf-v47-profile-actions{display:flex;flex-wrap:wrap;gap:20px}
.rf-v47-profile-actions .rf-arrow-link{color:#fff;font-size:9px}
.rf-v47-safety-note{background:#fff5ed;border:1px solid #e4c7b7;border-radius:20px;padding:20px 22px}
.rf-v47-safety-note strong{font-family:var(--rf-serif);font-size:24px;font-weight:400}
.rf-v47-safety-note p{color:var(--rf-ink-soft);font-size:10px;line-height:1.7;margin:7px 0 0}
.rf-v47-plan-note{align-items:start;background:#fff;border:1px solid var(--rf-line-soft);border-radius:20px;display:grid;gap:8px;grid-template-columns:210px 1fr;padding:20px 22px}
.rf-v47-plan-note strong{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.rf-v47-plan-note p{color:var(--rf-ink-soft);font-size:10px;line-height:1.7;margin:0}
.rf-v47-tier-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.rf-v47-tier{background:#fff;border:1px solid var(--rf-line-soft);border-radius:24px;display:flex;flex-direction:column;min-width:0;padding:22px;position:relative}
.rf-v47-tier.is-recommended{border-color:#8f6657;box-shadow:0 16px 44px rgba(63,41,31,.09)}
.rf-v47-tier>header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}
.rf-v47-tier>header small{color:var(--rf-rose-dark);display:block;font-size:7px;font-weight: 800;letter-spacing:.1em;margin-top:3px}
.rf-v47-tier>header h3{font-family:var(--rf-serif);font-size:30px;font-weight:400;line-height:1.02;margin:5px 0 0}
.rf-v47-tier>header>strong{font-family:var(--rf-serif);font-size:24px;font-weight:400;white-space:nowrap}
.rf-v47-tier>p{color:var(--rf-ink-soft);font-size:9px;line-height:1.6;margin:13px 0}
.rf-v47-best-fit{background:#201915;border-radius:999px;color:#fff;display:inline-block;font-size:7px;font-weight: 800;letter-spacing:.1em;margin-bottom:8px;padding:6px 8px}
.rf-v47-budget-status{border-radius:10px;font-size:8px;font-weight:700;margin-bottom:12px;padding:8px 10px}
.rf-v47-budget-status.is-within{background:#eef6ef;color:#436146}
.rf-v47-budget-status.is-over{background:#fff3eb;color:#8b5744}
.rf-v47-tier-products{display:grid;gap:0;list-style:none;margin:0 0 18px;padding:0}
.rf-v47-tier-products li{align-items:center;border-top:1px solid var(--rf-line-soft);display:grid;gap:9px;grid-template-columns:25px 44px 1fr;padding:9px 0}
.rf-v47-step-index{color:var(--rf-ink-soft);font-family:var(--rf-serif);font-size:14px}
.rf-v47-product-thumb img{aspect-ratio:1/1;border-radius:9px;height:44px;object-fit:cover;width:44px}
.rf-v47-tier-products li>div{display:grid;gap:2px;min-width:0}
.rf-v47-tier-products small{color:var(--rf-rose-dark);font-size:6px;font-weight: 800;letter-spacing:.08em;text-transform:uppercase}
.rf-v47-tier-products strong{display:block;font-size:8px;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis}
.rf-v47-tier-products span:not(.rf-v47-step-index){font-size:8px;font-weight:800}
.rf-v47-bundle{margin-top:auto}
.rf-v47-bundle .rf-button{width:100%}
.rf-v47-bundle p{color:var(--rf-ink-soft);font-size:8px;line-height:1.4;margin:7px 0 0;min-height:12px;text-align:center}
.rf-v47-result-footnote{color:var(--rf-ink-soft);font-size:8px;line-height:1.6;margin:0;text-align:center}
@media(max-width:1020px){.rf-home-consultation-grid{grid-template-columns:1fr}.rf-home-consultation-copy,.rf-home-consultation-visual{min-height:0}.rf-home-consultation-visual{min-height:390px}.rf-v47-tier-grid{grid-template-columns:1fr}.rf-v47-options-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.rf-home-consultation-copy{padding:30px 24px}.rf-home-consultation-copy h2{font-size:46px}.rf-home-consultation-visual{grid-template-columns:1fr 1fr;min-height:330px;padding:20px}.rf-home-consultation-visual>div{min-height:125px;padding:16px}.rf-home-consultation-visual strong{font-size:23px}.rf-home-consultation-visual>span{bottom:10px;left:20px}.rf-v47-consultation-page{padding:42px 0 80px}.rf-v47-quiz-intro h1{font-size:52px}.rf-v47-quiz{border-radius:22px;padding:20px 16px}.rf-v47-progress-copy{margin-bottom:24px}.rf-v47-question legend{gap:12px}.rf-v47-question legend small{flex-basis:36px;height:36px}.rf-v47-question legend span{font-size:31px}.rf-v47-options,.rf-v47-options-compact{grid-template-columns:1fr}.rf-v47-options label>span{min-height:82px;padding:16px}.rf-v47-quiz-nav .rf-button{padding-inline:18px}.rf-v47-profile-card{border-radius:22px;padding:24px}.rf-v47-profile-actions{align-items:flex-start;flex-direction:column;gap:10px}.rf-v47-plan-note{grid-template-columns:1fr}.rf-v47-tier{border-radius:20px;padding:18px}.rf-v47-tier>header{align-items:flex-start;flex-direction:column}.rf-v47-tier>header>strong{font-size:22px}.rf-v47-loading,.rf-v47-error{padding:30px 20px}}

/* Rosaifa 4.8 Intelligence Commerce */
.rf-v48-intel{margin:0 auto;max-width:1240px;padding:56px 24px 84px}.rf-v48-hero{background:linear-gradient(135deg,#f8f1ec,#fff);border:1px solid var(--rf-line);border-radius:30px;margin-bottom:28px;padding:clamp(28px,5vw,64px)}.rf-v48-hero h1{font-size:clamp(42px,6vw,82px);line-height:.95;margin:12px 0 18px;max-width:900px}.rf-v48-hero p{color:var(--rf-ink-soft);font-size:14px;line-height:1.75;max-width:760px}.rf-v48-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.rf-v48-compat{background:#171412;border-radius:26px;color:#fff;display:grid;gap:22px;grid-template-columns:1fr 1fr;margin-bottom:28px;padding:30px}.rf-v48-compat h2{font-family:var(--rf-serif);font-size:34px;font-weight:400;margin:6px 0}.rf-v48-compat p{color:#cfc6bf;font-size:11px;line-height:1.6}.rf-v48-compat-controls{align-items:center;display:grid;gap:10px;grid-template-columns:1fr auto 1fr}.rf-v48-compat select{appearance:none;background:#fff;border:0;border-radius:12px;color:#171412;min-height:50px;padding:0 14px;width:100%}.rf-v48-compat-result{background:#fff1e8;border-radius:14px;color:#3e2d24;font-size:12px;grid-column:1/-1;line-height:1.6;padding:16px}.rf-v48-ingredient-grid{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.rf-v48-ingredient-card{background:#fff;border:1px solid var(--rf-line);border-radius:22px;display:flex;flex-direction:column;padding:22px}.rf-v48-ingredient-card header small{color:var(--rf-rose-dark);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.rf-v48-ingredient-card h2{font-family:var(--rf-serif);font-size:31px;font-weight:400;margin:6px 0 18px}.rf-v48-ingredient-card dl{display:grid;gap:13px;margin:0 0 20px}.rf-v48-ingredient-card dl div{border-top:1px solid var(--rf-line);padding-top:10px}.rf-v48-ingredient-card dt{font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.rf-v48-ingredient-card dd{color:var(--rf-ink-soft);font-size:10px;line-height:1.55;margin:5px 0 0}.rf-v48-ingredient-card .rf-button{margin-top:auto}.rf-v48-safety{background:#f6f1ec;border-left:4px solid var(--rf-rose-dark);border-radius:14px;margin-top:24px;padding:20px}.rf-v48-safety strong{font-family:var(--rf-serif);font-size:24px;font-weight:400}.rf-v48-safety p{color:var(--rf-ink-soft);font-size:10px;line-height:1.6;margin:6px 0 0}
.rf-v48-compare-button{align-items:center;background:#fff;border:1px solid var(--rf-line);border-radius:999px;color:var(--rf-ink);cursor:pointer;display:inline-flex;font:inherit;gap:6px;justify-content:center;min-height:34px;padding:0 11px}.rf-v48-compare-button em{font-size:8px;font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rf-v48-compare-button.is-selected{background:var(--rf-ink);border-color:var(--rf-ink);color:#fff}.rf-product-card .rf-v48-compare-card{bottom:72px;position:absolute;right:10px;z-index:3}.rf-product-card{position:relative}.rf-v48-compare-loop{margin:8px 0 12px;width:100%}.rf-v48-compare-single{margin:12px 0 0}.rf-v48-compare-tray{align-items:center;background:#171412;border-radius:18px;bottom:24px;box-shadow:0 14px 40px rgba(0,0,0,.22);color:#fff;display:flex;gap:14px;left:50%;max-width:640px;padding:12px 14px;position:fixed;transform:translateX(-50%);width:calc(100% - 32px);z-index:9998}.rf-v48-compare-tray[hidden]{display:none}.rf-v48-compare-tray>div{align-items:center;display:flex;gap:8px;margin-right:auto}.rf-v48-compare-tray strong{font-family:var(--rf-serif);font-size:20px;font-weight:400}.rf-v48-compare-tray span{align-items:center;background:#fff;border-radius:999px;color:#171412;display:inline-flex;font-size:10px;height:22px;justify-content:center;width:22px}.rf-v48-compare-tray small{color:#bbb0a8;font-size:8px}.rf-v48-compare-tray>button{background:none;border:0;color:#d9d0ca;cursor:pointer;font-size:9px;text-decoration:underline}.rf-v48-compare-scroll{overflow-x:auto}.rf-v48-compare-table{border-collapse:separate;border-spacing:0;min-width:760px;width:100%}.rf-v48-compare-table th,.rf-v48-compare-table td{border-bottom:1px solid var(--rf-line);border-right:1px solid var(--rf-line);font-size:10px;line-height:1.5;min-width:190px;padding:16px;text-align:left;vertical-align:top}.rf-v48-compare-table th:first-child,.rf-v48-compare-table td:first-child{background:#f8f3ef;font-weight:700;min-width:135px}.rf-v48-compare-table thead th{background:#fff;vertical-align:bottom}.rf-v48-compare-table thead img{aspect-ratio:1/1;border-radius:14px;display:block;margin-bottom:10px;object-fit:contain;width:110px}.rf-v48-compare-table thead strong{display:block;font-family:var(--rf-serif);font-size:18px;font-weight:400;line-height:1.15}.rf-v48-compare-table thead button{background:none;border:0;color:var(--rf-rose-dark);cursor:pointer;font-size:8px;margin-top:8px;padding:0}.rf-v48-empty{background:#fff;border:1px solid var(--rf-line);border-radius:22px;padding:32px;text-align:center}.rf-v48-empty h2{font-family:var(--rf-serif);font-size:34px;font-weight:400;margin:0}.rf-v48-empty p{color:var(--rf-ink-soft);font-size:11px;line-height:1.6;margin:9px auto 20px;max-width:560px}
.rf-v48-saved-card{display:grid;gap:22px}.rf-v48-saved-card>header{background:#171412;border-radius:24px;color:#fff;padding:28px}.rf-v48-saved-card>header h2{font-family:var(--rf-serif);font-size:38px;font-weight:400;margin:8px 0}.rf-v48-saved-pills{display:flex;flex-wrap:wrap;gap:8px}.rf-v48-saved-pills span{background:#2a2420;border:1px solid #4d443e;border-radius:999px;font-size:9px;padding:8px 11px}.rf-v48-save-routine{margin-top:4px;width:100%}.rf-v47-bundle{grid-template-columns:1fr!important}.rf-v46-package footer del{color:var(--rf-ink-soft);display:block;font-size:10px;margin-top:4px}.rf-v46-package footer strong{display:block}.rf-v48-home-intel{background:#171412;color:#fff}.rf-v48-home-intel-grid{display:grid;gap:14px;grid-template-columns:1.2fr repeat(3,1fr)}.rf-v48-home-intel-intro{padding:28px}.rf-v48-home-intel-intro h2{font-size:clamp(36px,4vw,58px);margin:8px 0 12px}.rf-v48-home-intel-intro p{color:#cfc6bf;font-size:11px;line-height:1.65}.rf-v48-home-intel-card{background:#241f1c;border:1px solid #3b342f;border-radius:20px;color:#fff;display:flex;flex-direction:column;min-height:220px;padding:22px}.rf-v48-home-intel-card small{color:#c9a99a;font-size:8px;letter-spacing:.1em}.rf-v48-home-intel-card strong{font-family:var(--rf-serif);font-size:28px;font-weight:400;line-height:1.05;margin-top:auto}.rf-v48-home-intel-card span{color:#cfc6bf;font-size:9px;margin-top:9px}.rf-v48-home-intel-card:hover{border-color:#b98e79;color:#fff}
@media(max-width:980px){.rf-v48-ingredient-grid{grid-template-columns:repeat(2,1fr)}.rf-v48-home-intel-grid{grid-template-columns:1fr 1fr}.rf-v48-home-intel-intro{grid-column:1/-1}.rf-v48-compat{grid-template-columns:1fr}}
@media(max-width:640px){.rf-v48-intel{padding:30px 14px 80px}.rf-v48-hero{border-radius:22px;padding:24px 18px}.rf-v48-hero h1{font-size:46px}.rf-v48-ingredient-grid{grid-template-columns:1fr}.rf-v48-compat{border-radius:20px;padding:20px 16px}.rf-v48-compat-controls{grid-template-columns:1fr}.rf-v48-compat-controls>span{display:none}.rf-v48-home-intel-grid{grid-template-columns:1fr}.rf-v48-home-intel-intro{grid-column:auto}.rf-v48-compare-tray{bottom:70px}.rf-v48-compare-tray strong{font-size:17px}.rf-v48-compare-tray small{display:none}.rf-product-card .rf-v48-compare-card{bottom:68px}.rf-v48-compare-single{width:100%}}

/* Rosaifa v4.9 Smart Routine Commerce */
.rf-v49-gap,.rf-v49-refill,.rf-v49-page,.rf-v49-complete-routine{margin:clamp(2rem,5vw,4.5rem) 0}.rf-v49-gap-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.rf-v49-gap-step{border:1px solid var(--rf-line,#e8e3dd);border-radius:18px;padding:18px;background:#fff;display:flex;gap:12px;align-items:flex-start}.rf-v49-gap-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f4f0eb;font-weight:700}.rf-v49-gap-step.is-covered>span{background:#e8f2e9}.rf-v49-gap-step small,.rf-v49-gap-step em{display:block;font-style:normal;color:var(--rf-muted,#6d6965);font-size:.76rem}.rf-v49-gap-step strong{display:block;margin:.18rem 0 .35rem}.rf-v49-gap-step a{font-size:.84rem;text-decoration:underline;text-underline-offset:3px}.rf-v49-gap-note{margin-top:14px;color:var(--rf-muted,#6d6965)}
.rf-v49-complete-routine{padding:clamp(1.3rem,3vw,2.4rem);border:1px solid var(--rf-line,#e8e3dd);border-radius:24px;background:#faf8f5}.rf-v49-complete-routine>div:first-child{max-width:720px}.rf-v49-complete-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.rf-v49-next-product{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;padding:12px;border-radius:16px;background:#fff;color:inherit;text-decoration:none}.rf-v49-next-product img{width:82px;height:82px;object-fit:cover;border-radius:12px}.rf-v49-next-product small,.rf-v49-next-product em{display:block;font-style:normal;color:var(--rf-muted,#6d6965)}.rf-v49-next-product strong{display:block;margin:.2rem 0}
.rf-v49-review-profile{padding:16px;border-radius:16px;background:#faf8f5;margin:0 0 18px}.rf-v49-review-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rf-v49-review-fields label{font-size:.82rem}.rf-v49-review-fields select{width:100%;margin-top:6px}.rf-v49-review-chips{display:flex;flex-wrap:wrap;gap:6px;margin:.35rem 0}.rf-v49-review-chips span{font-size:.72rem;padding:5px 8px;border-radius:999px;background:#f1ede8}
.rf-v49-refill-list{display:grid;gap:10px}.rf-v49-refill-list article{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--rf-line,#e8e3dd);border-radius:16px;background:#fff}.rf-v49-refill-list img{width:72px;height:72px;object-fit:cover;border-radius:12px}.rf-v49-refill-list small,.rf-v49-refill-list span{display:block;color:var(--rf-muted,#6d6965);font-size:.78rem}.rf-v49-refill-list span.is-due{color:#9a4a35;font-weight:700}
.rf-v49-trust-grid,.rf-v49-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rf-v49-trust-grid article,.rf-v49-program-grid>article{padding:clamp(1.2rem,2.5vw,2rem);border:1px solid var(--rf-line,#e8e3dd);border-radius:22px;background:#fff}.rf-v49-trust-product dl{display:grid;gap:8px}.rf-v49-trust-product dl div{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--rf-line,#e8e3dd)}.rf-v49-trust-product dt{font-weight:700}.rf-v49-program-grid>article ol{padding-left:1.2rem}.rf-v49-program-set{margin-top:18px;padding-top:16px;border-top:1px solid var(--rf-line,#e8e3dd);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rf-v49-program-set span{font-size:.78rem;color:var(--rf-muted,#6d6965)}.rf-v49-program-set form{margin-left:auto}.rf-v49-program-reco{margin:2rem 0;padding:18px 20px;border-radius:20px;background:#f5f0ea}.rf-v49-program-reco strong{display:block;font-size:1.2rem;margin:.2rem 0}.rf-v49-program-reco p{margin:.35rem 0 .65rem}
@media(max-width:900px){.rf-v49-gap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-v49-complete-grid,.rf-v49-trust-grid,.rf-v49-program-grid{grid-template-columns:1fr}.rf-v49-review-fields{grid-template-columns:1fr}.rf-v49-refill-list article{grid-template-columns:62px 1fr}.rf-v49-refill-list article>.rf-button{grid-column:1/-1;width:100%;text-align:center}.rf-v49-refill-list img{width:62px;height:62px}}
@media(max-width:560px){.rf-v49-gap-grid{grid-template-columns:1fr}.rf-v49-next-product{grid-template-columns:68px 1fr}.rf-v49-next-product img{width:68px;height:68px}.rf-v49-trust-product dl div{grid-template-columns:1fr;gap:3px}}
.rf-v49-review-filter{display:flex;justify-content:flex-end;margin:0 0 14px}.rf-v49-review-filter label{font-size:.78rem;font-weight:700}.rf-v49-review-filter select{margin-left:8px;min-width:180px}.commentlist>li[hidden]{display:none!important}

/* Rosaifa 4.10 — Authenticity & recorded dispatch QC */
.rf-v410-pdp-qc{margin:1rem 0 1.35rem;padding:16px 18px;border:1px solid var(--rf-line,#e8e3dd);border-radius:18px;background:#faf8f5;display:grid;gap:10px}.rf-v410-pdp-qc>div:first-child strong{display:block;font-size:1rem;margin-top:3px}.rf-v410-pdp-qc-list{display:flex;gap:8px;flex-wrap:wrap}.rf-v410-pdp-qc-list span{font-size:.78rem;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid var(--rf-line,#e8e3dd)}.rf-v410-pdp-qc>a{font-size:.84rem;font-weight:700}.rf-v410-qc-tab{display:grid;gap:18px}.rf-v410-qc-notice,.rf-v410-qc-scope,.rf-v410-package-note{padding:16px 18px;border-radius:16px;background:#f7f3ee}.rf-v410-qc-notice strong{font-size:1.08rem}.rf-v410-qc-notice p,.rf-v410-qc-scope{margin:.35rem 0 0}.rf-v410-qc-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rf-v410-qc-checks span{padding:10px 12px;border:1px solid var(--rf-line,#e8e3dd);border-radius:12px}.rf-v410-qc-facts{display:grid;gap:0}.rf-v410-qc-facts div{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--rf-line,#e8e3dd)}.rf-v410-qc-facts dt{font-weight:700}.rf-v410-qc-page,.rf-v410-concern-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:clamp(30px,5vw,72px) 0}.rf-v410-qc-process,.rf-v410-qc-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}.rf-v410-qc-process article,.rf-v410-qc-guide-grid article{padding:clamp(1.2rem,2.5vw,2rem);border:1px solid var(--rf-line,#e8e3dd);border-radius:22px;background:#fff}.rf-v410-qc-process article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#171717;color:#fff;font-size:.76rem;font-weight:800}.rf-v410-qc-process h2,.rf-v410-qc-guide-grid h2{font-size:1.15rem;margin:.85rem 0 .45rem}.rf-v410-qc-guide-grid ul{padding-left:1.15rem}.rf-v410-verify-box{margin:34px 0;padding:clamp(1.2rem,3vw,2.2rem);border-radius:24px;background:#f5f0ea}.rf-v410-verify-box form{margin-top:18px}.rf-v410-verify-box form label{display:block;font-weight:700;margin-bottom:6px}.rf-v410-verify-box form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.rf-v410-verify-box input{width:100%;min-height:48px;border:1px solid #d8d0c7;border-radius:12px;padding:0 14px;font:inherit;background:#fff}.rf-v410-verify-result{margin-top:16px;padding:14px 16px;border-radius:14px;background:#fff}.rf-v410-verify-result.is-valid{border-left:4px solid #2c7354}.rf-v410-verify-result.is-invalid{border-left:4px solid #9b5d49}.rf-v410-verify-result p{margin:.35rem 0}.rf-v410-tamper-note,.rf-v410-guarantee{margin:28px 0;padding:clamp(1.2rem,3vw,2rem);border-radius:22px;background:#171717;color:#fff}.rf-v410-guarantee{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}.rf-v410-guarantee .rf-button{background:#fff;color:#171717}.rf-v410-guarantee p{max-width:820px}.rf-v410-order-qc{margin:26px 0;padding:20px;border:1px solid var(--rf-line,#e8e3dd);border-radius:20px;background:#f8f5f1}.rf-v410-order-qc h2{margin:.2rem 0 .75rem;font-size:1.25rem}.rf-v410-order-qc-ref{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:.5rem 0}.rf-v410-order-qc-ref strong{font-size:1.15rem;letter-spacing:.035em}.rf-v410-order-qc-ref span{font-size:.8rem;color:var(--rf-muted,#6d6965)}.rf-v410-concern-form{max-width:880px;margin:26px auto 0;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--rf-line,#e8e3dd);border-radius:22px;background:#fff;display:grid;gap:16px}.rf-v410-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rf-v410-concern-form label{display:grid;gap:6px;font-weight:700}.rf-v410-concern-form input,.rf-v410-concern-form textarea{width:100%;border:1px solid #d8d0c7;border-radius:12px;padding:11px 12px;font:inherit;background:#fff;box-sizing:border-box}.rf-v410-concern-form small,.rf-v410-form-scope{font-size:.78rem;color:var(--rf-muted,#6d6965);font-weight:400}.rf-v410-form-notice{max-width:880px;margin:22px auto;padding:15px 17px;border-radius:14px}.rf-v410-form-notice.is-success{background:#edf6f0;border-left:4px solid #2c7354}.rf-v410-form-notice.is-error{background:#f8eeee;border-left:4px solid #9b5d49}.rf-v410-form-notice p{margin:.3rem 0 0}.rf-v410-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.rf-v410-qc-process,.rf-v410-qc-guide-grid{grid-template-columns:1fr}.rf-v410-guarantee{grid-template-columns:1fr}.rf-v410-qc-checks{grid-template-columns:1fr}.rf-v410-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.rf-v410-qc-page,.rf-v410-concern-page{width:min(100% - 22px,1180px)}.rf-v410-verify-box form>div{grid-template-columns:1fr}.rf-v410-verify-box .rf-button{width:100%}.rf-v410-qc-facts div{grid-template-columns:1fr;gap:3px}.rf-v410-pdp-qc-list{display:grid}.rf-v410-pdp-qc-list span{border-radius:10px}}

/* Rosaifa 4.12.11 — P0 launch hardening / Shipping & Delivery */
.rf-shipping-page { background: var(--rf-canvas); }
.rf-shipping-entry { margin: 0; }
.rf-shipping-entry .rf-entry-content { max-width: none; }
.rf-policy-hero { max-width: 860px; padding: 14px 0 34px; }
.rf-policy-hero .rf-display { font-size: clamp(46px, 6vw, 82px); margin: 8px 0 12px; }
.rf-policy-hero > p { color: var(--rf-ink-soft); font-size: 15px; margin: 0; max-width: 620px; }
.rf-policy-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rf-policy-grid > article { background: #fff; border: 1px solid var(--rf-line); border-radius: 20px; min-height: 220px; padding: 24px; }
.rf-policy-grid > article > span { color: var(--rf-rose-dark); display: block; font-family: var(--rf-serif); font-size: 28px; margin-bottom: 34px; }
.rf-policy-grid h2 { font-family: var(--rf-serif); font-size: 30px; font-weight: 400; line-height: 1.04; margin: 0 0 10px; }
.rf-policy-grid p { color: var(--rf-ink-soft); font-size: 12px; line-height: 1.7; margin: 0; }
.rf-policy-support { align-items: center; background: var(--rf-ink); border-radius: 22px; color: #fff; display: flex; gap: 28px; justify-content: space-between; margin-top: 18px; padding: 28px 30px; }
.rf-policy-support .rf-eyebrow { color: rgba(255,255,255,.65); }
.rf-policy-support h2 { color: #fff; font-family: var(--rf-serif); font-size: 36px; font-weight: 400; margin: 5px 0 7px; }
.rf-policy-support p { color: rgba(255,255,255,.72); font-size: 11px; margin: 0; }
.rf-policy-support .rf-button { background: #fff; color: var(--rf-ink); flex: 0 0 auto; }
@media (max-width: 820px) {
  .rf-policy-hero { padding: 6px 0 24px; }
  .rf-policy-hero .rf-display { font-size: 44px; }
  .rf-policy-grid { grid-template-columns: 1fr; }
  .rf-policy-grid > article { min-height: 0; padding: 20px; }
  .rf-policy-grid > article > span { margin-bottom: 22px; }
  .rf-policy-grid h2 { font-size: 27px; }
  .rf-policy-support { align-items: stretch; flex-direction: column; padding: 24px 20px; }
  .rf-policy-support h2 { font-size: 31px; }
  .rf-policy-support .rf-button { text-align: center; width: 100%; }
}


/* rosaifa-woocommerce */
/* Rosaifa WooCommerce integration */
.rf-woocommerce-main { padding: 54px 0 95px; }
.woocommerce .woocommerce-breadcrumb { color: var(--rf-ink-soft); font-size: 12px; margin: 0 0 24px; }
.woocommerce .woocommerce-breadcrumb a { color: inherit; }
.woocommerce-products-header { margin: 5px 0 35px; }
.woocommerce-products-header__title.page-title { font-family: var(--rf-serif); font-size: clamp(48px, 6vw, 78px); font-weight: 400; letter-spacing: -.035em; line-height: 1.02; margin: 0 0 10px; }
.term-description { color: var(--rf-ink-soft); max-width: 760px; }
.woocommerce .woocommerce-result-count { color: var(--rf-ink-soft); font-size: 13px; margin: 13px 0; }
.woocommerce .woocommerce-ordering { margin-bottom: 24px; }
.woocommerce .woocommerce-ordering select { background: #fff; border: 1px solid var(--rf-line); border-radius: 999px; min-height: 44px; padding: 0 38px 0 15px; }

/* Archive grid */
.woocommerce ul.products { display: grid; gap: 28px 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { float: none; margin: 0; padding: 0; width: auto; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1.08; background: #f3efeb; border: 1px solid var(--rf-line); border-radius: 20px; margin: 0 0 14px; object-fit: cover; width: 100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--rf-ink); font-size: 15px; font-weight: 700; line-height: 1.35; padding: 0; }
.woocommerce ul.products li.product .star-rating { color: var(--rf-rose-dark); font-size: 11px; margin: 7px 0; }
.woocommerce ul.products li.product .price { color: var(--rf-ink); font-size: 14px; font-weight: 800; margin: 7px 0; }
.woocommerce ul.products li.product .price del { color: #746b65; opacity: 1; }
.woocommerce ul.products li.product .price ins { font-weight: 800; text-decoration: none; }
.woocommerce span.onsale { background: #fff; border: 1px solid var(--rf-line); border-radius: 999px; color: var(--rf-ink); font-size: 9px; font-weight: 800; left: 13px; letter-spacing: .09em; line-height: 1; min-height: 0; min-width: 0; padding: 8px 10px; top: 13px; }
.woocommerce ul.products li.product .button { background: #fff; border: 1px solid var(--rf-line); border-radius: 999px; color: var(--rf-ink); display: block; font-size: 13px; font-weight: 700; margin-top: 12px; min-height: 42px; padding: 11px 14px; text-align: center; transition: .18s ease; }
.woocommerce ul.products li.product .button:hover { background: var(--rf-ink); border-color: var(--rf-ink); color: #fff; }
.woocommerce a.added_to_cart { display: block; font-size: 12px; font-weight: 700; padding: 8px 0 0; text-align: center; }

/* Shop sidebar */
.rf-filter-toggle { display: none; }
.rf-shop-layout { display: grid; gap: 38px; grid-template-columns: minmax(0, 1fr) 250px; }
.rf-shop-content { min-width: 0; }
.rf-shop-sidebar { border-left: 1px solid var(--rf-line); padding-left: 28px; }
.rf-filter-head { display: none; }
.rf-filter-widget { border-bottom: 1px solid var(--rf-line); margin-bottom: 24px; padding-bottom: 24px; }
.rf-filter-widget .widget-title { font-size: 12px; letter-spacing: .1em; margin: 0 0 14px; text-transform: uppercase; }
.rf-filter-widget ul { list-style: none; margin: 0; padding: 0; }
.rf-filter-widget li { font-size: 13px; margin: 8px 0; }
.rf-filter-widget select { border: 1px solid var(--rf-line); border-radius: 12px; min-height: 42px; padding: 0 10px; width: 100%; }
.rf-filter-backdrop { display: none; }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { background: var(--rf-canvas); border: 1px solid var(--rf-line); border-top: 3px solid var(--rf-rose-dark); border-radius: 14px; color: var(--rf-ink); padding: 16px 18px 16px 48px; }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--rf-rose-dark); }
.woocommerce-error { border-top-color: #a33a3a; }

/* Single product */
.woocommerce div.product { margin-top: 12px; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 60px; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { background: #f7f4f1; border: 1px solid var(--rf-line); border-radius: 24px; overflow: hidden; }
.woocommerce div.product div.images img { border-radius: 22px; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; gap: 8px; grid-template-columns: repeat(5, 1fr); margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { float: none; width: auto; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 1px solid var(--rf-line); border-radius: 12px; opacity: .72; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color: var(--rf-rose-dark); opacity: 1; }
.woocommerce div.product .product_title { font-family: var(--rf-serif); font-size: clamp(42px, 5vw, 64px); font-weight: 400; letter-spacing: -.03em; line-height: 1.04; margin: 0 0 12px; }
.woocommerce div.product .woocommerce-product-rating { align-items: center; display: flex; gap: 10px; margin-bottom: 16px; }
.woocommerce .star-rating { color: var(--rf-rose-dark); }
.woocommerce-review-link { color: var(--rf-ink-soft); font-size: 12px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--rf-ink); font-size: 22px; font-weight: 800; }
.woocommerce div.product p.price del { color: #756c66; font-size: .82em; opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce-product-details__short-description { color: var(--rf-ink-soft); font-size: 15px; }
.rf-product-context { display: flex; flex-wrap: wrap; gap: 8px; margin: 17px 0 20px; }
.rf-context-chip { background: var(--rf-canvas); border: 1px solid var(--rf-line); border-radius: 12px; display: grid; font-size: 12px; font-weight: 700; line-height: 1.25; min-width: 110px; padding: 9px 11px; }
.rf-context-chip small { color: var(--rf-ink-soft); font-size: 9px; font-weight: 700; letter-spacing: .08em; margin-bottom: 3px; text-transform: uppercase; }
.woocommerce div.product form.cart { align-items: center; display: flex; gap: 10px; margin: 22px 0; }
.woocommerce .quantity .qty { border: 1px solid var(--rf-line); border-radius: 999px; height: 50px; padding: 0 8px; width: 75px; }
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button { background: var(--rf-ink); border: 1px solid var(--rf-ink); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 700; min-height: 50px; padding: 12px 22px; }
.woocommerce div.product form.cart .button { flex: 1; }
.woocommerce div.product form.cart .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover { background: var(--rf-rose-dark); border-color: var(--rf-rose-dark); color: #fff; }
.rf-purchase-reassurance { border-block: 1px solid var(--rf-line); display: grid; gap: 7px; margin: 22px 0; padding: 16px 0; }
.rf-purchase-reassurance span { color: var(--rf-ink-soft); font-size: 12px; padding-left: 18px; position: relative; }
.rf-purchase-reassurance span::before { color: var(--rf-rose-dark); content: "\2713"; font-weight: 800; left: 0; position: absolute; }
.woocommerce div.product .product_meta { color: var(--rf-ink-soft); font-size: 12px; }
.woocommerce div.product .product_meta > span { display: block; margin: 4px 0; }
.woocommerce div.product .woocommerce-tabs { clear: both; margin-top: 30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--rf-line); display: flex; gap: 24px; margin: 0 0 28px; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0 0 10px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--rf-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 13px; font-weight: 700; padding: 0; }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--rf-ink-soft); max-width: 900px; }
.woocommerce div.product .woocommerce-tabs .panel h2,
.related.products > h2,
.upsells.products > h2 { color: var(--rf-ink); font-family: var(--rf-serif); font-size: 42px; font-weight: 400; letter-spacing: -.025em; }
.related.products,
.upsells.products { clear: both; padding-top: 38px; }
.related.products ul.products,
.upsells.products ul.products { grid-template-columns: repeat(4, 1fr); }

/* Cart / checkout / account */
.woocommerce-cart .rf-woocommerce-main,
.woocommerce-checkout .rf-woocommerce-main,
.woocommerce-account .rf-woocommerce-main { padding-top: 70px; }
.woocommerce table.shop_table { border: 1px solid var(--rf-line); border-collapse: separate; border-radius: 18px; overflow: hidden; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color: var(--rf-line); padding: 14px; }
.woocommerce-cart table.cart img { border-radius: 10px; width: 72px; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review { background: var(--rf-canvas); border: 1px solid var(--rf-line); border-radius: 18px; padding: 22px; }
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account h2 { font-family: var(--rf-serif); font-size: 32px; font-weight: 400; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single { background: #fff; border: 1px solid var(--rf-line); border-radius: 11px; min-height: 45px; padding: 10px 12px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 43px; }
.woocommerce-checkout-payment { border-radius: 18px !important; }
.woocommerce-MyAccount-navigation ul { border: 1px solid var(--rf-line); border-radius: 16px; list-style: none; margin: 0; overflow: hidden; padding: 0; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--rf-line); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 15px; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--rf-canvas); font-weight: 700; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { align-items: center; border: 1px solid var(--rf-line); border-radius: 50%; display: flex; height: 42px; justify-content: center; min-width: 42px; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--rf-ink); color: #fff; }

@media (max-width: 1050px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
  .related.products ul.products,
  .upsells.products ul.products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
  .rf-woocommerce-main { padding: 32px 0 80px; }
  .rf-shop-layout { display: block; }
  .rf-filter-toggle { background: #fff; border: 1px solid var(--rf-line); border-radius: 999px; display: inline-flex; font-size: 13px; font-weight: 700; margin: 0 0 18px; min-height: 42px; padding: 0 16px; }
  .rf-shop-sidebar {
    background: var(--rf-paper);
    border: 0;
    bottom: 0;
    max-width: 390px;
    overflow-y: auto;
    padding: 20px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(103%);
    transition: transform .24s ease;
    width: min(88vw, 390px);
    z-index: 1003;
  }
  .rf-filter-head { align-items: center; border-bottom: 1px solid var(--rf-line); display: flex; justify-content: space-between; margin-bottom: 20px; padding-bottom: 15px; }
  .rf-filter-close { background: #fff; border: 1px solid var(--rf-line); border-radius: 50%; font-size: 24px; height: 40px; line-height: 1; width: 40px; }
  .rf-filter-backdrop { background: rgba(18,15,13,.45); border: 0; display: block; inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .2s ease; z-index: 1002; }
  body.rf-filter-open .rf-shop-sidebar { transform: translateX(0); }
  body.rf-filter-open .rf-filter-backdrop { opacity: 1; pointer-events: auto; }
  .woocommerce ul.products { gap: 22px 12px; grid-template-columns: repeat(2, 1fr); }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary { float: none; width: 100%; }
  .woocommerce div.product div.summary { margin-top: 28px; }
  .related.products ul.products,
  .upsells.products ul.products { grid-template-columns: repeat(2, 1fr); }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 18px; overflow-x: auto; white-space: nowrap; }
}

@media (max-width: 560px) {
  .woocommerce-products-header__title.page-title { font-size: 50px; }
  .woocommerce .woocommerce-result-count { float: none; }
  .woocommerce .woocommerce-ordering { float: none; width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce ul.products li.product a img { border-radius: 15px; }
  .woocommerce ul.products li.product .price { font-size: 13px; }
  .woocommerce ul.products li.product .button { font-size: 11px; min-height: 40px; padding-inline: 7px; }
  .woocommerce div.product .product_title { font-size: 44px; }
  .woocommerce div.product form.cart { align-items: stretch; display: grid; grid-template-columns: 70px 1fr; }
  .woocommerce .quantity .qty { width: 70px; }
  .woocommerce div.product .woocommerce-tabs .panel h2,
  .related.products > h2,
  .upsells.products > h2 { font-size: 36px; }
  .woocommerce table.shop_table_responsive tr td::before { font-size: 11px; }
}

/* Catalog-led archive navigation */
.rf-archive-subcats {
  clear: both;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 8px 0 30px;
  width: 100%;
}
.rf-archive-subcat {
  background: #fff;
  border: 1px solid var(--rf-line);
  border-radius: 16px;
  display: grid;
  grid-template-columns: 76px 1fr;
  grid-template-rows: auto auto;
  min-height: 88px;
  overflow: hidden;
  padding-right: 10px;
}
.rf-archive-subcat > span { grid-row: 1 / 3; height: 100%; overflow: hidden; }
.rf-archive-subcat img { height: 100%; object-fit: cover; width: 100%; }
.rf-archive-subcat strong { align-self: end; font-size: 12px; line-height: 1.2; padding: 10px 0 2px 10px; }
.rf-archive-subcat small { align-self: start; color: var(--rf-ink-soft); font-size: 9px; padding: 0 0 10px 10px; }
.rf-archive-subcat:hover { border-color: rgba(116,74,78,.42); box-shadow: 0 10px 30px rgba(49,38,31,.07); color: var(--rf-ink); }
@media (max-width: 1050px) { .rf-archive-subcats { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 680px) {
  .rf-archive-subcats { display: flex; margin-inline: -20px; overflow-x: auto; padding: 0 20px 8px; scrollbar-width: none; width: calc(100% + 40px); }
  .rf-archive-subcats::-webkit-scrollbar { display: none; }
  .rf-archive-subcat { flex: 0 0 220px; }
}

/* ================================================================
   ROSAIFA 2.0 WOOCOMMERCE LAYER
   ================================================================ */
.woocommerce-products-header { margin-bottom: 20px; }
.woocommerce-products-header__title.page-title { font-size: clamp(50px, 6vw, 82px); letter-spacing: -.04em; }
.woocommerce .woocommerce-breadcrumb { color: var(--rf-ink-soft); font-size: 10px; letter-spacing: .04em; margin-bottom: 22px; text-transform: uppercase; }
.woocommerce .woocommerce-breadcrumb a { color: var(--rf-ink); }
.woocommerce ul.products { gap: 34px 16px; }
.woocommerce ul.products li.product { margin: 0 !important; min-width: 0; }
.woocommerce ul.products li.product a img { background: var(--rf-canvas); border-radius: 18px; margin-bottom: 13px; transition: transform .3s ease; }
.woocommerce ul.products li.product:hover a img { transform: translateY(-2px); }
.rf-loop-brand { color: var(--rf-rose-dark); font-size: 9px; font-weight: 800; letter-spacing: .1em; margin-bottom: 4px; text-transform: uppercase; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--rf-sans); font-size: 13px; font-weight: 650; line-height: 1.35; min-height: 2.7em; padding: 0; }
.woocommerce ul.products li.product .price { color: var(--rf-ink); font-size: 13px; font-weight: 700; margin: 8px 0 0; }
.rf-loop-stock { color: #687968; display: block; font-size: 9px; font-weight: 700; margin-top: 3px; }
.woocommerce ul.products li.product .button { align-items: center; background: transparent; border: 1px solid var(--rf-ink); border-radius: 999px; color: var(--rf-ink); display: flex; font-size: 10px; justify-content: center; margin-top: 12px; min-height: 42px; padding: 7px 10px; width: 100%; }
.woocommerce ul.products li.product .button:hover { background: var(--rf-ink); color: #fff; }
.woocommerce span.onsale { background: var(--rf-rose-dark); border-radius: 999px; font-size: 9px; font-weight: 800; left: 12px; line-height: 1; min-height: 0; min-width: 0; padding: 8px 10px; top: 12px; }

/* Shop controls */
.woocommerce .woocommerce-result-count { color: var(--rf-ink-soft); font-size: 11px; }
.woocommerce .woocommerce-ordering select { background: #fff; border: 1px solid var(--rf-line); border-radius: 999px; font-size: 11px; min-height: 42px; padding: 0 38px 0 14px; }
.rf-shop-sidebar { background: #fff; border: 1px solid var(--rf-line); border-radius: 20px; padding: 18px; }
.rf-filter-widget + .rf-filter-widget { border-top: 1px solid var(--rf-line-soft); margin-top: 18px; padding-top: 18px; }
.rf-filter-widget .widget-title { font-family: var(--rf-serif); font-size: 20px; font-weight: 400; margin: 0 0 12px; }

/* PDP */
.single-product .rf-woocommerce-main { padding-top: 42px; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: 24px; overflow: hidden; }
.woocommerce div.product div.images img { background: var(--rf-canvas); }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { display: grid; gap: 8px; grid-template-columns: repeat(5, 1fr); margin-top: 10px; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { float: none; width: auto; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img { border: 1px solid transparent; border-radius: 10px; opacity: .7; }
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--rf-rose-dark); opacity: 1; }
.rf-single-brand { color: var(--rf-rose-dark); font-size: 10px; font-weight: 800; letter-spacing: .12em; margin-bottom: 8px; text-transform: uppercase; }
.woocommerce div.product .product_title { font-size: clamp(44px, 4.5vw, 68px); line-height: .98; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--rf-ink); font-size: 20px; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 14px; max-width: 610px; }
.rf-product-context { margin-top: 20px; }
.rf-context-chip { background: #fff; border-radius: 14px; }
.woocommerce div.product form.cart { border-top: 1px solid var(--rf-line-soft); padding-top: 20px; }
.woocommerce div.product form.cart .button { background: var(--rf-ink); min-height: 54px; }
.rf-purchase-reassurance { background: var(--rf-canvas); border: 0; border-radius: 16px; padding: 14px 16px; }

.rf-product-facts { border-block: 1px solid var(--rf-line); clear: both; margin: 56px 0 14px; padding: 38px 0; }
.rf-product-facts-head { display: grid; gap: 7px; grid-template-columns: .55fr 1.45fr; margin-bottom: 26px; }
.rf-product-facts-head h2 { font-family: var(--rf-serif); font-size: 38px; font-weight: 400; margin: 0; }
.rf-product-facts-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.rf-product-facts-grid > div { border-left: 1px solid var(--rf-line); display: grid; gap: 7px; min-height: 100px; padding: 10px 22px; }
.rf-product-facts-grid > div:first-child { border-left: 0; padding-left: 0; }
.rf-product-facts-grid small { color: var(--rf-ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rf-product-facts-grid strong { align-self: end; font-family: var(--rf-serif); font-size: 22px; font-weight: 400; line-height: 1.1; }

.rf-complete-routine { clear: both; margin-top: 64px; padding-top: 10px; }
.rf-complete-routine .rf-section-head { margin-bottom: 26px; }

.woocommerce div.product .woocommerce-tabs { margin-top: 54px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { gap: 30px; }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 14px; max-width: 980px; }
.related.products,
.upsells.products { margin-top: 50px; }

/* Checkout */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { margin-top: 18px; }
.woocommerce-checkout #customer_details { display: grid; gap: 24px; grid-template-columns: 1fr 1fr; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; width: auto; }
.woocommerce form .form-row label { font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single { border-radius: 12px; }
.woocommerce #payment #place_order { min-height: 54px; width: 100%; }

/* Mobile sticky purchase bar */
.rf-mobile-purchase { align-items: center; background: rgba(255,253,251,.97); border-top: 1px solid var(--rf-line); bottom: 58px; box-shadow: 0 -12px 34px rgba(45,34,28,.09); display: none; gap: 10px; left: 0; padding: 10px 14px; position: fixed; right: 0; transform: translateY(130%); transition: transform .2s ease; z-index: 1000; }
.rf-mobile-purchase.is-visible { transform: translateY(0); }
.rf-mobile-purchase > div { display: grid; flex: 1; min-width: 0; }
.rf-mobile-purchase small { font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rf-mobile-purchase strong { font-size: 12px; }
.rf-mobile-purchase button { background: var(--rf-ink); border: 0; border-radius: 999px; color: #fff; font-size: 11px; font-weight: 800; min-height: 44px; padding: 0 18px; }

@media (max-width: 900px) {
  .rf-product-facts-head { grid-template-columns: 1fr; }
  .rf-product-facts-grid { grid-template-columns: repeat(2, 1fr); }
  .rf-product-facts-grid > div:nth-child(3) { border-left: 0; }
  .woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
  .rf-mobile-purchase { display: flex; }
}

@media (max-width: 620px) {
  .woocommerce div.product .product_title { font-size: 42px; }
  .rf-product-facts { margin-top: 38px; padding: 30px 0; }
  .rf-product-facts-grid { grid-template-columns: 1fr; }
  .rf-product-facts-grid > div { border-left: 0; border-top: 1px solid var(--rf-line-soft); min-height: 78px; padding: 14px 0; }
  .rf-product-facts-grid > div:first-child { border-top: 0; }
  .rf-product-facts-grid > div:nth-child(3) { border-left: 0; }
  .rf-product-facts-head h2 { font-size: 34px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 18px; }
  .rf-mobile-purchase { bottom: 56px; }
}


/* rosaifa-customer-experience-v411 */
/* Rosaifa 4.11 Customer Experience Edition */
.rf-v411-account-hero{grid-column:1/-1;margin:0 0 32px;padding:clamp(22px,4vw,42px);border:1px solid var(--rf-line);border-radius:28px;background:linear-gradient(135deg,#f7f2ed 0%,#fff 62%);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,1fr);gap:clamp(24px,4vw,54px)}
.rf-v411-account-welcome h1,.rf-v411-login-intro h1,.rf-v411-commerce-head h1{font-family:var(--rf-serif);font-weight:400;letter-spacing:-.035em}.rf-v411-account-welcome h1{font-size:clamp(38px,5vw,64px);margin:.2rem 0 .65rem}.rf-v411-account-welcome>p{max-width:650px;color:var(--rf-ink-soft)}
.rf-v411-customer-id{margin-top:22px;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--rf-line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px}.rf-v411-customer-id>span{grid-column:1/-1;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--rf-rose-dark)}.rf-v411-customer-id strong{font-size:18px;letter-spacing:.06em}.rf-v411-customer-id button{border:1px solid var(--rf-line);background:#fff;border-radius:999px;min-height:36px;padding:0 13px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.rf-v411-customer-id button.is-copied{background:var(--rf-ink);color:#fff}.rf-v411-customer-id small{grid-column:1/-1;color:var(--rf-ink-soft);font-size:10px}
.rf-v411-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rf-v411-account-actions a{position:relative;min-height:108px;padding:15px 16px;border:1px solid var(--rf-line);border-radius:18px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.rf-v411-account-actions a:hover{transform:translateY(-2px);border-color:rgba(116,74,78,.38);box-shadow:0 12px 32px rgba(50,37,31,.06)}.rf-v411-account-actions a>span{position:absolute;top:13px;right:14px;font-size:9px;font-weight:800;color:var(--rf-ink-soft)}.rf-v411-account-actions strong{font-size:13px}.rf-v411-account-actions small{color:var(--rf-ink-soft);font-size:10px;margin-top:3px}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}.woocommerce-account .woocommerce>.woocommerce-notices-wrapper,.woocommerce-account .woocommerce>.rf-v411-account-hero,.woocommerce-account .woocommerce>.rf-v411-login-intro{grid-column:1/-1}.woocommerce-account .woocommerce-MyAccount-navigation{width:auto;float:none;position:sticky;top:132px}.woocommerce-account .woocommerce-MyAccount-content{width:auto;float:none;min-width:0}.woocommerce-account .woocommerce-MyAccount-navigation ul{border-radius:18px;background:#fff;box-shadow:0 10px 34px rgba(40,31,26,.04)}.woocommerce-account .woocommerce-MyAccount-navigation a{padding:14px 16px;font-size:12px;font-weight:700}.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:#f6f1ec;color:var(--rf-rose-dark)}
.rf-v411-login-intro{margin-bottom:26px;padding:clamp(24px,4vw,44px);border-radius:26px;background:#171717;color:#fff}.rf-v411-login-intro h1{font-size:clamp(38px,5vw,62px);margin:.25rem 0 1rem;max-width:800px}.rf-v411-login-intro>div{display:flex;flex-wrap:wrap;gap:8px}.rf-v411-login-intro>div span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 11px;font-size:10px}.woocommerce-account:not(.logged-in) .woocommerce{display:block}.woocommerce-account:not(.logged-in) #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:24px}.woocommerce-account:not(.logged-in) #customer_login>.u-column1,.woocommerce-account:not(.logged-in) #customer_login>.u-column2{float:none;width:auto;padding:clamp(20px,3vw,30px);border:1px solid var(--rf-line);border-radius:22px;background:#fff}
.rf-v411-commerce-head{margin:0 0 28px;padding:22px 24px;border-radius:22px;background:#f7f3ef;display:flex;align-items:flex-end;justify-content:space-between;gap:22px}.rf-v411-commerce-head h1{font-size:clamp(34px,4vw,50px);margin:.15rem 0 .4rem}.rf-v411-commerce-head p{margin:0;color:var(--rf-ink-soft)}
.rf-v411-empty-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 44px}.rf-v411-empty-actions a{min-height:120px;padding:18px;border:1px solid var(--rf-line);border-radius:18px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end}.rf-v411-empty-actions strong{font-size:14px}.rf-v411-empty-actions small{margin-top:4px;color:var(--rf-ink-soft);font-size:10px}
.rf-v411-checkout-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}.rf-v411-checkout-head>div{padding:14px 15px;border:1px solid var(--rf-line);border-radius:15px;background:#fff;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}.rf-v411-checkout-head span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--rf-ink);color:#fff;font-size:9px;font-weight:800}.rf-v411-checkout-head strong{font-size:12px;align-self:end}.rf-v411-checkout-head small{font-size:9px;color:var(--rf-ink-soft);align-self:start}.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields{padding:20px;border:1px solid var(--rf-line);border-radius:20px;background:#fff}.woocommerce-checkout form .form-row label{font-size:11px;font-weight: 700;margin-bottom:5px}.woocommerce-checkout form .form-row .required{color:var(--rf-rose-dark)}
.rf-v411-thankyou-next{margin:28px 0;padding:clamp(22px,4vw,38px);border-radius:24px;background:#f7f3ef}.rf-v411-thankyou-next h2{font-family:var(--rf-serif);font-size:clamp(32px,4vw,48px);font-weight:400;margin:.25rem 0 1.1rem}.rf-v411-thankyou-next>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rf-v411-thankyou-next a{padding:16px;border:1px solid var(--rf-line);border-radius:16px;background:#fff;display:grid;gap:3px}.rf-v411-thankyou-next a strong{font-size:13px}.rf-v411-thankyou-next a small{font-size:10px;color:var(--rf-ink-soft)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:14px!important;border-top:0!important;border-left:4px solid var(--rf-rose-dark)!important;background:#faf7f4!important;box-shadow:none!important}.woocommerce-message:before,.woocommerce-info:before,.woocommerce-error:before{color:var(--rf-rose-dark)!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(116,74,78,.36)!important;outline-offset:3px!important}
.rf-v411-mobile-nav{display:none}
@media(max-width:900px){.rf-v411-account-hero{grid-template-columns:1fr}.woocommerce-account .woocommerce{display:block}.woocommerce-account .woocommerce-MyAccount-navigation{position:static;margin-bottom:18px;overflow-x:auto}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;width:max-content;min-width:100%;border-radius:14px}.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:0;border-right:1px solid var(--rf-line)}.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-right:0}.woocommerce-account .woocommerce-MyAccount-navigation a{white-space:nowrap}.woocommerce-account:not(.logged-in) #customer_login{grid-template-columns:1fr}.rf-v411-empty-actions{grid-template-columns:1fr}.rf-v411-commerce-head{align-items:flex-start;flex-direction:column}.rf-v411-thankyou-next>div{grid-template-columns:1fr}}
@media(max-width:760px){body:not(.woocommerce-checkout){padding-bottom:76px}.rf-v411-mobile-nav{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:1001;min-height:62px;padding:6px;border:1px solid rgba(55,43,36,.12);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 14px 44px rgba(28,21,17,.18);backdrop-filter:blur(14px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));transition:transform .2s ease,opacity .2s ease}.rf-v411-mobile-nav.is-input-hidden{transform:translateY(120%);opacity:0;pointer-events:none}.rf-v411-mobile-nav a{position:relative;display:flex;min-width:0;min-height:50px;align-items:center;justify-content:center;flex-direction:column;gap:3px;border-radius:16px;color:var(--rf-ink-soft);font-size:8px;font-weight:800;line-height:1;text-align:center}.rf-v411-mobile-nav a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.rf-v411-mobile-nav a.is-current{color:var(--rf-rose-dark);background:#f7f1ec}.rf-v411-mobile-nav .rf-v411-nav-feature{margin-top:-18px;background:var(--rf-ink);color:#fff;box-shadow:0 8px 22px rgba(25,20,17,.22)}.rf-v411-mobile-nav .rf-v411-nav-feature svg{width:22px;height:22px}.rf-v411-mobile-nav em{position:absolute;right:11px;top:5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--rf-rose-dark);color:#fff;font-size:8px;font-style:normal;display:grid;place-items:center}.rf-v411-checkout-head{grid-template-columns:1fr}.rf-v411-checkout-head>div{grid-template-columns:30px 1fr}.rf-v411-account-actions{grid-template-columns:1fr 1fr}.rf-v411-customer-id{grid-template-columns:1fr auto}.rf-v411-customer-id>span,.rf-v411-customer-id small{grid-column:1/-1}}
@media(max-width:480px){.rf-v411-account-actions{grid-template-columns:1fr}.rf-v411-account-hero{padding:20px;border-radius:22px}.rf-v411-account-welcome h1{font-size:40px}.rf-v411-login-intro h1{font-size:40px}.rf-v411-customer-id strong{font-size:15px}.rf-v411-mobile-nav{left:7px;right:7px;bottom:max(7px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

.woocommerce-checkout .rf-v411-mobile-nav{display:none!important}


/* rosaifa-visual-repair-v4122 */
/* Rosaifa 4.12.2 - mobile-first visual repair layer.
 * Purpose: correct spacing, typography, card alignment and fixed-nav overlap
 * without changing commerce or catalog behaviour.
 */

/* Product-card compare controls now live in the normal content flow. */
.rf-product-card .rf-v48-compare-card {
  bottom: auto;
  position: static;
  right: auto;
}
.rf-product-card .rf-v48-compare-loop {
  margin: 8px 0 0;
  width: 100%;
}

/* The v4.11 quick navigation supersedes the old footer utility bar. */
.rf-mobile-bottom { display: none !important; }

/* Keep the hero image filled even when a grid/flex item is taller than the
 * intrinsic image ratio. This fixes the large empty block visible on mobile.
 */
.rf-hero-art-v2 > img {
  display: block;
  inset: 0;
  min-height: 100%;
}

/* Tablet: reduce oversized display type and vertical whitespace before the
 * phone-specific rules take over.
 */
@media (max-width: 1024px) {
  .rf-section { padding-block: 64px; }
  .rf-section-head .rf-display { font-size: clamp(38px, 5.5vw, 52px); }
  .rf-home-consultation-copy h2 { font-size: clamp(40px, 5.8vw, 54px); }
  .rf-v48-home-intel-intro h2 { font-size: clamp(36px, 5vw, 48px); }
  .rf-authenticity-grid h2 { font-size: clamp(42px, 5.7vw, 58px); }
}

@media (max-width: 900px) {
  /* Keep the value proposition before the artwork on narrow screens. */
  .rf-hero-grid-v2 { gap: 22px; }
  .rf-hero-copy-v2 { order: 1; padding: 38px 0 4px; }
  .rf-hero-art-v2 { order: 2; }

  .rf-section-head-wide { gap: 12px; }
  .rf-section-head-wide > p { line-height: 1.6; }

  .rf-editorial-image { min-height: 390px; }
  .rf-editorial-copy { padding: 38px 30px; }
  .rf-editorial-copy h2 { font-size: clamp(40px, 6vw, 54px); }
}

@media (max-width: 760px) {
  html { scroll-padding-bottom: 88px; }
  body:not(.woocommerce-checkout) { padding-bottom: 86px; }

  /* Mobile trust strip: one clear message instead of a clipped second item. */
  .rf-trustbar-inner {
    justify-content: center;
    min-height: 34px;
    overflow: hidden;
    padding-inline: 14px;
  }
  .rf-trustbar-inner span { display: none; }
  .rf-trustbar-inner span:first-child {
    display: block;
    flex: 1 1 auto;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Header: preserve the existing Rosaifa artwork, but give it stronger visual presence. */
  .rf-header-main { min-height: 76px; }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img {
    height: 50px;
    max-width: min(220px, 45vw);
    object-fit: contain;
    width: auto;
  }
  .rf-menu-toggle,
  .rf-search-toggle,
  .rf-cart-link { flex: 0 0 auto; }

  /* Hero */
  .rf-hero-v2 { padding-top: 0; }
  .rf-hero-grid-v2 { display: flex; flex-direction: column; gap: 20px; }
  .rf-hero-copy-v2 { max-width: none; padding: 34px 0 0; }
  .rf-hero-copy-v2 h1 {
    font-size: clamp(40px, 11.4vw, 48px);
    letter-spacing: -.04em;
    line-height: .98;
    margin: 13px 0 18px;
    max-width: 12ch;
  }
  .rf-hero-copy-v2 > p {
    font-size: 14px;
    line-height: 1.65;
    max-width: 34rem;
  }
  .rf-hero-actions { gap: 8px; margin-top: 22px; }
  .rf-hero-actions .rf-button {
    flex: 1 1 145px;
    font-size: 12px;
    min-height: 46px;
    padding-inline: 14px;
  }
  .rf-hero-microtrust {
    font-size: 8px;
    gap: 8px 14px;
    letter-spacing: .02em;
    margin-top: 20px;
  }
  .rf-hero-art-v2 {
    aspect-ratio: 4 / 3;
    border-radius: 18px;
    min-height: 0;
    position: relative;
  }
  .rf-hero-art-v2 > img {
    height: 100%;
    object-fit: cover;
    position: absolute;
    width: 100%;
  }

  /* Compact trust row */
  .rf-home-trust { padding: 12px 0; }
  .rf-home-trust-grid > div {
    gap: 2px 8px;
    grid-template-columns: 30px 1fr;
    padding: 10px 0;
  }
  .rf-home-trust-grid span { font-size: 19px; }
  .rf-home-trust-grid strong { font-size: 11px; line-height: 1.35; }
  .rf-home-trust-grid small { font-size: 9px; line-height: 1.45; }

  /* Shared section rhythm */
  .rf-section { padding-block: 46px; }
  .rf-section-head { margin-bottom: 24px; }
  .rf-section-head .rf-display,
  .rf-v4-live-edits .rf-display,
  .rf-routine-discovery-v3 .rf-display,
  .rf-authenticity-grid h2 {
    font-size: clamp(34px, 10vw, 40px);
    line-height: 1;
  }
  .rf-section-head-wide > p,
  .rf-section-head > p {
    font-size: 11px;
    line-height: 1.6;
    margin-top: 12px;
  }
  .rf-eyebrow { font-size: 9px; letter-spacing: .15em; }

  /* Category cards */
  .rf-category-grid-v2 { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rf-category-card-v2 { border-radius: 16px; }
  .rf-category-art-v2 { aspect-ratio: 1.04 / 1; }
  .rf-category-card-copy {
    align-content: start;
    min-height: 126px;
    padding: 12px 12px 14px;
  }
  .rf-category-card-copy strong { font-size: 18px; line-height: 1.06; }
  .rf-category-card-copy small { font-size: 8.5px; line-height: 1.4; }
  .rf-category-card-copy em { font-size: 8.5px; margin-top: auto; padding-top: 12px; }

  /* Product cards: prevent title/price/compare collisions. */
  .rf-product-grid { gap: 24px 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rf-product-card { overflow: visible; }
  .rf-product-image { border-radius: 16px; }
  .rf-product-card .rf-product-image { border-radius: 16px; }
  .rf-badge {
    font-size: 7px;
    left: 9px;
    letter-spacing: .08em;
    padding: 6px 8px;
    top: 9px;
  }
  .rf-product-meta { padding: 10px 2px 0; }
  .rf-product-meta .rf-brand { font-size: 8px; letter-spacing: .1em; }
  .rf-product-name {
    display: -webkit-box;
    font-size: 12.5px;
    line-height: 1.32;
    margin: 5px 0 4px;
    min-height: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .rf-price { font-size: 13px; line-height: 1.3; margin-top: 6px; }
  .rf-v48-compare-loop { margin: 8px 0 0; }
  .rf-v48-compare-button {
    font-size: 9px;
    min-height: 34px;
    padding: 0 10px;
    width: 100%;
  }
  .rf-v48-compare-button em { font-size: 7px; }
  .rf-quick-add,
  .rf-product-card .button {
    font-size: 11px !important;
    margin-top: 8px;
    min-height: 40px !important;
    padding: 9px 10px;
  }

  /* Dark live/trending cards need an inner white rhythm, not floating text. */
  .rf-v4-live-edits .rf-section-head { margin-bottom: 26px; }
  .rf-v4-live-edits .rf-product-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    padding-bottom: 10px;
  }
  .rf-v4-live-edits .rf-product-meta { padding: 11px 10px 0; }
  .rf-v4-live-edits .rf-v48-compare-loop { padding-inline: 10px; }
  .rf-v4-live-edits .rf-quick-add,
  .rf-v4-live-edits .rf-product-card .button {
    margin-inline: 10px;
    width: calc(100% - 20px);
  }

  /* Concern / guide / routine cards */
  .rf-concern-grid-v2 { gap: 9px; margin-top: 24px; }
  .rf-concern-card-v2 { border-radius: 16px; min-height: 142px; padding: 15px; }
  .rf-concern-card-v2 strong { font-size: 21px; }
  .rf-concern-card-v2 small { font-size: 9px; line-height: 1.45; }

  .rf-home-guide-grid { gap: 9px; }
  .rf-home-guide-card { border-radius: 16px; min-height: 132px; padding: 16px; }
  .rf-home-guide-card strong { font-size: 23px; }
  .rf-home-guide-card small { font-size: 8.5px; max-width: 88%; }
  .rf-home-guide-actions { gap: 12px; margin-top: 18px; }

  .rf-home-set-grid { gap: 9px; margin-bottom: 18px; }
  .rf-home-set-grid a { border-radius: 16px; min-height: 122px; padding: 16px; }
  .rf-home-set-grid strong { font-size: 23px; }

  /* Smart consultation */
  .rf-home-consultation-grid { gap: 12px; }
  .rf-home-consultation-copy,
  .rf-home-consultation-visual { border-radius: 20px; }
  .rf-home-consultation-copy { padding: 26px 20px; }
  .rf-home-consultation-copy h2 {
    font-size: clamp(34px, 10vw, 40px);
    line-height: 1;
    margin: 8px 0 14px;
  }
  .rf-home-consultation-copy > p { font-size: 10.5px; line-height: 1.65; }
  .rf-home-consultation-points { gap: 6px; margin: 18px 0 22px; }
  .rf-home-consultation-points span { font-size: 7px; padding: 7px 9px; }
  .rf-home-consultation-visual { gap: 8px; min-height: 270px; padding: 14px; }
  .rf-home-consultation-visual > div { border-radius: 14px; min-height: 105px; padding: 13px; }
  .rf-home-consultation-visual strong { font-size: 20px; }
  .rf-home-consultation-visual > span { bottom: 8px; font-size: 7px; left: 14px; }

  /* Editorial */
  .rf-editorial-image { border-radius: 18px 18px 0 0; min-height: 310px; }
  .rf-editorial-copy { border-radius: 0 0 18px 18px; padding: 30px 22px; }
  .rf-editorial-copy h2 { font-size: clamp(36px, 10vw, 43px); line-height: 1; margin: 10px 0 14px; }
  .rf-editorial-copy > p { font-size: 11px; line-height: 1.6; }
  .rf-editorial-points { gap: 6px; margin: 16px 0 22px; }
  .rf-editorial-points span { font-size: 8px; padding: 6px 8px; }

  /* Ingredient / brand grids */
  .rf-ingredient-grid-v2 a { min-height: 96px; padding: 13px; }
  .rf-ingredient-grid-v2 strong { font-size: 17px; }
  .rf-ingredient-grid-v2 span { font-size: 15px; }
  .rf-brand-grid-v2 a { font-size: 15px; min-height: 64px; padding: 10px; }

  /* Intelligence sections */
  .rf-v48-home-intel-grid { gap: 9px; }
  .rf-v48-home-intel-intro { padding: 12px 0 18px; }
  .rf-v48-home-intel-intro h2 {
    font-size: clamp(34px, 10vw, 40px);
    line-height: 1;
    margin: 7px 0 10px;
  }
  .rf-v48-home-intel-intro p { font-size: 10px; line-height: 1.6; }
  .rf-v48-home-intel-card { border-radius: 16px; min-height: 138px; padding: 16px; }
  .rf-v48-home-intel-card strong { font-size: 23px; }
  .rf-v48-home-intel-card span { font-size: 8.5px; line-height: 1.45; }

  /* Authenticity section */
  .rf-authenticity-grid { gap: 24px; }
  .rf-authenticity-grid p { font-size: 11px; line-height: 1.6; }

  /* Fixed quick bar: smaller and auto-hiding while the user scrolls down. */
  .rf-v411-mobile-nav {
    bottom: max(7px, env(safe-area-inset-bottom));
    left: 8px;
    min-height: 58px;
    padding: 5px;
    right: 8px;
  }
  .rf-v411-mobile-nav a { font-size: 7.5px; min-height: 46px; }
  .rf-v411-mobile-nav a svg { height: 19px; width: 19px; }
  .rf-v411-mobile-nav .rf-v411-nav-feature {
    margin-top: -12px;
    min-height: 52px;
  }
  .rf-v411-mobile-nav.is-scroll-hidden,
  .rf-v411-mobile-nav.is-input-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(100% + 24px));
  }

  /* Floating compare tray must stay above the quick nav when visible. */
  .rf-v48-compare-tray { bottom: 76px; }
}

@media (max-width: 430px) {
  .rf-container { width: min(100% - 24px, var(--rf-max)); }
  .rf-hero-copy-v2 h1 { font-size: 40px; }
  .rf-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .rf-hero-actions .rf-button { min-width: 0; padding-inline: 10px; }
  .rf-category-card-copy strong { font-size: 17px; }
  .rf-product-grid { gap-inline: 9px; }
  .rf-product-name { font-size: 12px; }
  .rf-price { font-size: 12.5px; }
}

@media (max-width: 340px) {
  .rf-hero-actions { grid-template-columns: 1fr; }
  .rf-category-card-copy { padding-inline: 10px; }
  .rf-category-card-copy strong { font-size: 16px; }
  .rf-product-name { font-size: 11.5px; }
}


/* rosaifa-usability-v4123 */
/* Rosaifa 4.12.3 — storefront usability/navigation refinement */

/* Product/category fallback visuals are intentionally clean; the real title lives below. */
.rf-clean-product-fallback,
.rf-single-clean-fallback img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* WooCommerce category tiles should never collapse when no merchant thumbnail exists. */
ul.products li.product-category a img,
.woocommerce ul.products li.product-category a img {
  aspect-ratio: 1.12 / 1;
  background: var(--rf-canvas);
  border-radius: 16px;
  object-fit: cover;
  width: 100%;
}

/* Compact grouped navigation. */
.rf-mobile-catalog-nav .rf-mobile-nav-group { border-bottom: 1px solid var(--rf-line-soft); }
.rf-mobile-catalog-nav .rf-mobile-nav-group > summary {
  align-items: center;
  display: flex;
  font-family: var(--rf-serif);
  font-size: 20px;
  justify-content: space-between;
  padding: 15px 0;
}
.rf-mobile-catalog-nav .rf-mobile-nav-group > summary::after {
  content: "+";
  font-family: var(--rf-sans);
  font-size: 18px;
  line-height: 1;
}
.rf-mobile-catalog-nav .rf-mobile-nav-group[open] > summary::after { content: "−"; }
.rf-mobile-catalog-nav .rf-mobile-nav-grid {
  gap: 2px 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0 0 14px;
}
.rf-mobile-catalog-nav .rf-mobile-nav-grid a {
  align-items: center;
  border-radius: 10px;
  display: flex;
  font-size: 13.5px;
  line-height: 1.35;
  min-height: 42px;
  padding: 9px 8px;
}
.rf-mobile-catalog-nav .rf-mobile-nav-grid a:hover,
.rf-mobile-catalog-nav .rf-mobile-nav-grid a:focus-visible { background: rgba(157, 89, 74, .08); }
.rf-mobile-catalog-nav .rf-mobile-nav-strong { font-weight: 700; }
.rf-mobile-custom-more { border-bottom: 1px solid var(--rf-line-soft); margin-top: 2px; }
.rf-mobile-custom-more > summary { cursor: pointer; font-size: 12px; font-weight: 700; letter-spacing: .08em; padding: 14px 0; text-transform: uppercase; }
.rf-mobile-custom-more .rf-mobile-menu { padding: 0 0 12px; }

/* Footer turns into compact accordions only on handheld screens. */
.rf-footer-accordion-toggle { display: none; }

@media (max-width: 820px) {
  /* The bottom nav already has Bag; remove the duplicated header cart on mobile. */
  .rf-header-actions > .rf-cart-link { display: none !important; }

  /* Product cards: one title, clean image, predictable vertical rhythm. */
  .rf-product-card .rf-product-image { aspect-ratio: 1 / 1; }
  .rf-product-card .rf-product-image img { height: 100%; object-fit: cover; width: 100%; }
  .rf-product-card .rf-product-meta { align-content: start; }

  .rf-site-footer .rf-footer-grid { display: block; }
  .rf-site-footer .rf-footer-brand { margin-bottom: 18px; }
  .rf-site-footer .rf-footer-col {
    border-top: 1px solid rgba(255,255,255,.12);
    margin: 0;
    padding: 0;
  }
  .rf-site-footer .rf-footer-col > h3 {
    cursor: pointer;
    margin: 0;
    padding: 16px 0;
    position: relative;
  }
  .rf-site-footer .rf-footer-col > h3::after {
    content: "+";
    float: right;
    font-size: 17px;
    font-weight: 400;
  }
  .rf-site-footer .rf-footer-col.is-open > h3::after { content: "−"; }
  .rf-site-footer .rf-footer-col > .rf-footer-menu,
  .rf-site-footer .rf-footer-col > .rf-footer-contact-mini { display: none; padding-bottom: 16px; }
  .rf-site-footer .rf-footer-col.is-open > .rf-footer-menu,
  .rf-site-footer .rf-footer-col.is-open > .rf-footer-contact-mini { display: grid; }
  .rf-site-footer .rf-footer-menu { gap: 2px; }
  .rf-site-footer .rf-footer-menu a,
  .rf-site-footer .rf-footer-contact-mini a { display: block; padding: 7px 0; }
}

/* v4.12.4 — concise copy + equal-row alignment */
.rf-product-grid,
.rf-category-grid-v2,
.rf-home-guide-grid,
.rf-home-set-grid,
.rf-concern-grid-v2,
.rf-v4-edit-links,
.rf-dual-editorial-grid {
  align-items: stretch;
}

/* Product rows: image, title, price and actions line up across both columns. */
.rf-product-grid > .rf-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.rf-product-card .rf-product-image { flex: 0 0 auto; }
.rf-product-card .rf-product-meta {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}
.rf-product-card .rf-product-name { overflow-wrap: anywhere; }
.rf-product-card .rf-price { margin-top: auto; }
.rf-product-card .rf-v48-compare-loop { flex: 0 0 auto; }
.rf-product-card .rf-quick-add,
.rf-product-card .button { flex: 0 0 auto; }

/* Category and editorial cards fill their grid row instead of ending at mixed heights. */
.rf-category-grid-v2 > .rf-category-card-v2,
.rf-home-guide-grid > .rf-home-guide-card,
.rf-home-set-grid > a,
.rf-concern-grid-v2 > .rf-concern-card-v2,
.rf-v4-edit-links > a,
.rf-dual-editorial-grid > article {
  height: 100%;
}
.rf-category-card-v2 { display: flex; flex-direction: column; }
.rf-category-card-copy { display: flex; flex: 1 1 auto; flex-direction: column; }
.rf-category-card-copy em { margin-top: auto; }
.rf-dual-editorial-grid > article { display: flex; flex-direction: column; }
.rf-dual-editorial-grid > article > div { display: flex; flex: 1 1 auto; flex-direction: column; }
.rf-dual-editorial-grid > article > div > a:last-child { margin-top: auto; }

/* Native content should stay concise on the home page. */
.rf-v4-edit-links > a,
.rf-v48-home-intel-card { justify-content: space-between; }

@media (max-width: 820px) {
  /* Reserve the same title area for every side-by-side product. */
  .rf-product-card .rf-product-name {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    min-height: calc(1.32em * 3);
  }
  .rf-product-card .rf-price {
    align-items: center;
    display: flex;
    min-height: 1.6em;
  }
  .rf-product-card .rf-v48-compare-loop { margin-top: 9px; }
  .rf-product-card .rf-quick-add,
  .rf-product-card .button { margin-top: 8px; }

  /* Cleaner category cards after removing redundant descriptive text. */
  .rf-category-card-copy { min-height: 92px; }
  .rf-category-card-copy strong { min-height: 2.12em; }

  /* Guide/concern cards no longer need oversized empty height. */
  .rf-concern-card-v2,
  .rf-home-guide-card,
  .rf-home-set-grid a,
  .rf-v48-home-intel-card { min-height: 112px; }

  /* Footer: compact by default and reveal one group at a time. */
  .rf-site-footer .rf-footer-brand p { max-width: 30ch; }
  .rf-site-footer .rf-footer-col > .rf-footer-menu,
  .rf-site-footer .rf-footer-col > .rf-footer-contact-mini { display: none !important; }
  .rf-site-footer .rf-footer-col.is-open > .rf-footer-menu,
  .rf-site-footer .rf-footer-col.is-open > .rf-footer-contact-mini { display: grid !important; }
  .rf-site-footer .rf-footer-bottom { gap: 0; }

  /* Less visual noise in compact home cards. */
  .rf-v4-edit-links > a span,
  .rf-v48-home-intel-card span { display: none; }
}

/* Equal-height WooCommerce archive/search rows as well as custom home grids. */
.woocommerce ul.products { align-items: stretch; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a.woocommerce-loop-product__link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
.woocommerce ul.products li.product .price { margin-top: auto; }
.woocommerce ul.products li.product .button { flex: 0 0 auto; }

@media (max-width: 820px) {
  .rf-home-trust-grid small { display: none; }
  .rf-home-trust-grid > div { align-items: center; min-height: 42px; }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    min-height: calc(1.35em * 3);
    overflow: hidden;
  }
  .woocommerce ul.products li.product .price {
    align-items: center;
    display: flex;
    min-height: 1.6em;
  }
}


/* rosaifa-product-p6-v41217 */
/* Rosaifa 4.12.17 — P6 product page conversion layer. */
.single-product .rf-woocommerce-main { padding-top: 34px; }
.single-product div.product { align-items: start; }
@media (min-width: 981px) {
  .single-product div.product .summary { position: sticky; top: calc(var(--rf-sticky-top, 0px) + 108px); }
}

.rf-p6-decision { border-block: 1px solid var(--rf-line-soft); margin: 18px 0 16px; padding: 18px 0; }
.rf-p6-why .rf-eyebrow { display: block; margin-bottom: 8px; }
.rf-p6-why ul { display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; }
.rf-p6-why li { color: var(--rf-ink); font-size: 12px; line-height: 1.45; padding-left: 18px; position: relative; }
.rf-p6-why li::before { color: var(--rf-rose-dark); content: "✓"; font-weight: 800; left: 0; position: absolute; top: 0; }
.rf-p6-fit-grid { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 14px 0 0; }
.rf-p6-fit-grid > div { background: var(--rf-canvas); border-radius: 12px; display: grid; gap: 4px; min-width: 0; padding: 10px 11px; }
.rf-p6-fit-grid dt { color: var(--rf-ink-soft); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rf-p6-fit-grid dd { font-size: 11px; font-weight: 700; line-height: 1.35; margin: 0; overflow-wrap: anywhere; }

.rf-p6-purchase-status { align-items: center; display: grid; gap: 2px 8px; grid-template-columns: 9px auto; margin: 4px 0 12px; }
.rf-p6-purchase-status > span { background: #6f8a70; border-radius: 999px; height: 8px; width: 8px; }
.rf-p6-purchase-status strong { font-size: 11px; line-height: 1.2; }
.rf-p6-purchase-status small { color: var(--rf-ink-soft); font-size: 9px; grid-column: 2; line-height: 1.35; }
.rf-p6-purchase-status.is-pending > span { background: #b48a46; }
.rf-p6-purchase-status.is-out-of-stock > span { background: #9a5d5d; }

.single-product .summary form.cart { background: #fff; border: 1px solid var(--rf-line); border-radius: 18px; margin: 0 0 12px; padding: 14px; }
.single-product .summary form.cart.variations_form { display: block; }
.single-product .summary table.variations { margin-bottom: 12px; }
.single-product .summary table.variations th,
.single-product .summary table.variations td { display: block; padding: 0; width: 100%; }
.single-product .summary table.variations label { display: block; font-size: 10px; font-weight: 800; letter-spacing: .04em; margin: 0 0 6px; text-transform: uppercase; }
.single-product .summary table.variations select { background: #fff; border: 1px solid var(--rf-line); border-radius: 12px; min-height: 48px; padding: 0 38px 0 12px; width: 100%; }
.single-product .summary .single_variation_wrap { margin-top: 10px; }
.single-product .summary .single_variation .woocommerce-variation-price { margin-bottom: 9px; }
.single-product .summary form.cart .single_add_to_cart_button { border-radius: 999px; font-size: 11px; font-weight: 800; min-height: 52px; }
.single-product .summary form.cart:not(.variations_form) { align-items: center; grid-template-columns: 68px minmax(0,1fr); }
.single-product .summary .quantity .qty { border-radius: 999px; min-height: 52px; }

.rf-p6-trust { border: 1px solid var(--rf-line); border-radius: 16px; display: grid; grid-template-columns: 1fr 1fr; margin: 12px 0 0; overflow: hidden; }
.rf-p6-trust > a,
.rf-p6-trust > div { align-items: start; background: rgba(255,255,255,.88); display: grid; gap: 8px; grid-template-columns: 24px 1fr; min-height: 92px; padding: 12px; }
.rf-p6-trust > *:nth-child(odd) { border-right: 1px solid var(--rf-line-soft); }
.rf-p6-trust > *:nth-child(-n+2) { border-bottom: 1px solid var(--rf-line-soft); }
.rf-p6-trust > * > span { color: var(--rf-rose-dark); font-family: var(--rf-serif); font-size: 14px; }
.rf-p6-trust strong { display: block; font-size: 10px; margin-bottom: 4px; }
.rf-p6-trust small { color: var(--rf-ink-soft); display: block; font-size: 8.5px; line-height: 1.42; }
.rf-p6-trust a:hover { background: var(--rf-canvas); color: var(--rf-ink); }

.single-product .woocommerce-tabs { border-top: 1px solid var(--rf-line); padding-top: 28px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: nowrap; gap: 8px !important; overflow-x: auto; padding: 0 0 8px !important; scrollbar-width: none; }
.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.single-product .woocommerce-tabs ul.tabs::before { display: none; }
.single-product .woocommerce-tabs ul.tabs li { background: #fff !important; border: 1px solid var(--rf-line) !important; border-radius: 999px !important; flex: 0 0 auto; margin: 0 !important; padding: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { font-size: 10px; font-weight: 700; padding: 9px 13px !important; }
.single-product .woocommerce-tabs ul.tabs li.active { background: var(--rf-ink) !important; border-color: var(--rf-ink) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.single-product .woocommerce-tabs .panel { max-width: 900px; }
.single-product .woocommerce-tabs .panel > h2:first-child { font-size: clamp(28px,3vw,40px); }

.single-product .related.products ul.products,
.single-product .upsells.products ul.products { grid-template-columns: repeat(4,minmax(0,1fr)); }

.rf-p6-mobile-purchase { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.rf-p6-mobile-purchase button[disabled] { cursor: not-allowed; opacity: .55; }
.rf-p6-mobile-purchase .rf-p6-mobile-price strong { line-height: 1.2; }

/* Keep recommendation sections useful without turning the PDP into another archive page. */
.single-product .rf-v49-complete-routine,
.single-product .rf-complete-routine { margin-top: 44px; }
.single-product .rf-v49-complete-routine > div:first-child p { max-width: 680px; }

@media (max-width: 980px) {
  .single-product div.product .summary { position: static; }
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .single-product .rf-woocommerce-main { padding-top: 20px; }
  .single-product div.product .product_title { font-size: 36px; line-height: 1.02; }
  .single-product div.product p.price,
  .single-product div.product span.price { font-size: 18px; }
  .single-product .woocommerce-product-details__short-description { font-size: 12px; line-height: 1.5; }
  .rf-p6-decision { margin-top: 14px; padding-block: 14px; }
  .rf-p6-fit-grid { grid-template-columns: 1fr 1fr; }
  .rf-p6-trust { grid-template-columns: 1fr; }
  .rf-p6-trust > * { border-bottom: 1px solid var(--rf-line-soft) !important; border-right: 0 !important; min-height: 0; padding: 11px 12px; }
  .rf-p6-trust > *:last-child { border-bottom: 0 !important; }
  .single-product .summary form.cart { border-radius: 16px; padding: 12px; }
  .single-product .summary form.cart:not(.variations_form) { grid-template-columns: 62px minmax(0,1fr); }
  .single-product .summary .quantity .qty,
  .single-product .summary form.cart .single_add_to_cart_button { min-height: 48px; }
  .single-product .woocommerce-tabs { margin-top: 36px; padding-top: 20px; }
  .single-product .woocommerce-tabs ul.tabs { margin-inline: -20px !important; padding-inline: 20px !important; width: calc(100% + 40px); }
  .single-product .woocommerce-tabs .panel { font-size: 13px; }
  .single-product .related.products,
  .single-product .upsells.products { margin-top: 38px; }
  .single-product .related.products > h2,
  .single-product .upsells.products > h2 { font-size: 32px; }
  .rf-mobile-purchase { bottom: calc(56px + env(safe-area-inset-bottom)); padding-bottom: max(10px,env(safe-area-inset-bottom)); }
}


/* rosaifa-contextual-v41229 */
/* Rosaifa 4.12.29 — Contextual Experience Edition */

/* Progressive disclosure controls: all content remains in the DOM and accessible. */
.rf-context-reveal {
  align-items: center;
  background: transparent;
  border: 1px solid var(--rf-control-border, var(--rf-line));
  border-radius: 999px;
  color: var(--rf-ink);
  cursor: pointer;
  display: none;
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  margin: 18px auto 0;
  min-height: 42px;
  padding: 0 16px;
}
.rf-context-reveal:hover,
.rf-context-reveal:focus-visible { border-color: var(--rf-rose-dark); color: var(--rf-rose-dark); }

/* Secondary discovery tools become an intentional disclosure instead of permanent pills. */
.rf-context-more-tools { margin-top: 14px; }
.rf-context-more-tools > summary {
  align-items: center;
  color: var(--rf-ink-soft);
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 7px;
  list-style: none;
  min-height: 38px;
}
.rf-context-more-tools > summary::-webkit-details-marker { display: none; }
.rf-context-more-tools > summary::after { content: "+"; font-size: 15px; line-height: 1; }
.rf-context-more-tools[open] > summary::after { content: "−"; }
.rf-context-more-tools .rf-p4-utility-links { margin-top: 8px; }

/* Archive filters are available on demand on every viewport instead of occupying a full row by default. */
.rf-p5-discovery { padding: 16px 18px; }
.rf-p5-discovery-head { align-items: center; }
.rf-p5-discovery-head .rf-eyebrow { display: none; }
.rf-p5-discovery[data-rf-p5-discovery] .rf-p5-discovery-head strong { font-family: inherit; font-size: 16px; font-weight: 700; letter-spacing: 0; line-height: 1.25; }
.rf-p5-discovery[data-rf-p5-discovery] .rf-p5-discovery-head small { font-size: 12px; margin-top: 1px; }
.rf-p5-filter-open {
  align-items: center;
  background: var(--rf-ink);
  border: 1px solid var(--rf-ink);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 7px;
  min-height: 42px;
  padding: 0 16px;
  text-transform: none;
}
.rf-p5-filter-open span {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  color: var(--rf-ink);
  display: inline-flex;
  font-size: 10px;
  height: 19px;
  justify-content: center;
  min-width: 19px;
  padding: 0 5px;
}
.rf-p5-filter-panel { display: none; }
body.rf-p5-filter-open .rf-p5-filter-panel { display: block; }
@media (min-width: 821px) {
  body.rf-p5-filter-open { overflow: auto; }
  .rf-p5-filter-panel {
    background: var(--rf-paper);
    border: 1px solid var(--rf-line);
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(45,34,28,.08);
    margin-top: 14px;
    padding: 16px;
  }
}

/* Contextual mobile nav action matches the existing five-item system. */
.rf-context-mobile-nav button.rf-context-nav-action {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 14px;
  color: var(--rf-ink-soft);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  gap: 4px;
  justify-content: center;
  line-height: 1;
  min-height: 48px;
  min-width: 0;
  padding: 0;
  text-align: center;
}
.rf-context-mobile-nav button.rf-context-nav-action svg {
  fill: none;
  height: 19px;
  stroke: currentColor;
  stroke-width: 1.6;
  width: 19px;
}
.rf-context-mobile-nav button.rf-context-nav-action:hover,
.rf-context-mobile-nav button.rf-context-nav-action:focus-visible,
body.rf-p5-filter-open .rf-context-mobile-nav button.rf-context-nav-action { background: #f7f1ec; color: var(--rf-rose-dark); }

/* When the PDP purchase bar appears, it becomes the mobile priority instead of stacking two nav bars. */
@media (max-width: 760px) {
  body.rf-context-purchase-visible .rf-v411-mobile-nav { opacity: 0; pointer-events: none; transform: translateY(120%); }
  body.rf-context-purchase-visible .rf-mobile-purchase { bottom: 0; }
}

/* Purchase reassurance stays close to the buy form without four always-open cards. */
.rf-context-purchase-trust {
  border: 1px solid var(--rf-line);
  border-radius: 16px;
  margin-top: 16px;
  overflow: hidden;
}
.rf-context-purchase-trust > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 2px;
  list-style: none;
  min-height: 58px;
  padding: 12px 44px 12px 14px;
  position: relative;
}
.rf-context-purchase-trust > summary::-webkit-details-marker { display: none; }
.rf-context-purchase-trust > summary::after {
  content: "+";
  font-size: 18px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}
.rf-context-purchase-trust[open] > summary::after { content: "−"; }
.rf-context-purchase-trust > summary > span { font-size: 13px; font-weight: 800; }
.rf-context-purchase-trust > summary > small { color: var(--rf-ink-soft); font-size: 11px; line-height: 1.35; }
.rf-context-purchase-trust-grid {
  border-top: 1px solid var(--rf-line-soft);
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.rf-context-purchase-trust-grid > * {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 13px 14px;
}
.rf-context-purchase-trust-grid > *:nth-child(odd) { border-right: 1px solid var(--rf-line-soft); }
.rf-context-purchase-trust-grid > *:nth-child(n+3) { border-top: 1px solid var(--rf-line-soft); }
.rf-context-purchase-trust-grid strong { font-size: 12px; }
.rf-context-purchase-trust-grid span { color: var(--rf-ink-soft); font-size: 11px; line-height: 1.45; }

/* Footer: full navigation remains available, but mobile starts calm. */
.rf-footer-disclosure > summary { list-style: none; }
.rf-footer-disclosure > summary::-webkit-details-marker { display: none; }
@media (min-width: 761px) {
  .rf-footer-disclosure > summary { cursor: default; pointer-events: none; }
  .rf-footer-disclosure > summary::after { display: none; }
}

@media (max-width: 760px) {
  .rf-context-reveal { display: inline-flex; }
  .rf-context-categories:not(.is-expanded) > :nth-child(n+7),
  .rf-context-concerns:not(.is-expanded) > :nth-child(n+5),
  .rf-context-brands:not(.is-expanded) > :nth-child(n+9) { display: none; }

  .rf-context-more-tools { margin-top: 8px; }
  .rf-context-more-tools .rf-p4-utility-links { padding-bottom: 4px; }

  .rf-p5-discovery { border-radius: 16px; margin-bottom: 14px; padding: 13px 14px; }
  .rf-p5-discovery-head { gap: 12px; }
  .rf-p5-discovery[data-rf-p5-discovery] .rf-p5-discovery-head strong { font-size: 15px; }
  .rf-p5-discovery[data-rf-p5-discovery] .rf-p5-discovery-head small { font-size: 11px; max-width: 220px; }
  .rf-p5-filter-open { font-size: 11px; min-height: 40px; padding-inline: 13px; }
  .rf-p5-filter-panel { display: block; }

  .rf-context-purchase-trust-grid { grid-template-columns: 1fr; }
  .rf-context-purchase-trust-grid > * { border-right: 0 !important; }
  .rf-context-purchase-trust-grid > * + * { border-top: 1px solid var(--rf-line-soft); }

  .rf-site-footer .rf-footer-grid { display: block; }
  .rf-site-footer .rf-footer-brand { margin-bottom: 16px; }
  .rf-footer-disclosure {
    border-top: 1px solid rgba(255,255,255,.14);
    margin: 0;
  }
  .rf-footer-disclosure:last-of-type { border-bottom: 1px solid rgba(255,255,255,.14); }
  .rf-footer-disclosure > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    min-height: 50px;
  }
  .rf-footer-disclosure > summary::after { content: "+"; font-size: 18px; font-weight: 400; }
  .rf-footer-disclosure[open] > summary::after { content: "−"; }
  .rf-footer-disclosure > summary h3 { margin: 0; }
  .rf-footer-disclosure .rf-footer-menu { padding-bottom: 12px; }
  .rf-footer-disclosure .rf-footer-contact-mini { padding-bottom: 14px; }
}


/* 4.12.30 — Decision support: surface the few tools that remove shopping uncertainty. */
.rf-decision-support {
  background: var(--rf-paper);
  border-bottom: 1px solid var(--rf-line-soft);
  padding: 18px 0 20px;
}
.rf-decision-support-head {
  align-items: baseline;
  display: flex;
  gap: 9px;
  margin-bottom: 11px;
}
.rf-decision-support-head h2 {
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0;
}
.rf-decision-support-head > span { color: var(--rf-ink-soft); font-size: 12px; }
.rf-decision-support-grid { display: grid; gap: 8px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.rf-decision-tool {
  background: #fff;
  border: 1px solid var(--rf-line);
  border-radius: 14px;
  display: grid;
  gap: 3px;
  min-height: 92px;
  min-width: 0;
  padding: 13px 36px 12px 14px;
  position: relative;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.rf-decision-tool::after {
  background: currentColor;
  content: "";
  height: 13px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13.5 6.5 19 12l-5.5 5.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13.5 6.5 19 12l-5.5 5.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: .72;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  width: 13px;
}
.rf-decision-tool:hover,
.rf-decision-tool:focus-visible { border-color: var(--rf-rose); box-shadow: 0 10px 24px rgba(45,34,28,.06); color: var(--rf-ink); transform: translateY(-1px); }
.rf-decision-tool small { color: var(--rf-rose-dark); font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.rf-decision-tool strong { font-size: 14px; line-height: 1.2; }
.rf-decision-tool > span { color: var(--rf-ink-soft); font-size: 11px; line-height: 1.3; }

.rf-p5-assist-links {
  align-items: center;
  border-top: 1px solid var(--rf-line-soft);
  display: flex;
  flex-wrap: wrap;
  gap: 5px 14px;
  margin-top: 12px;
  padding-top: 10px;
}
.rf-p5-assist-links > span { color: var(--rf-ink-soft); font-size: 11px; font-weight: 700; }
.rf-p5-assist-links a { color: var(--rf-rose-dark); font-size: 11px; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(149,91,98,.32); text-underline-offset: 3px; }
.rf-p5-assist-links a:hover,
.rf-p5-assist-links a:focus-visible { color: var(--rf-ink); text-decoration-color: currentColor; }

#ingredient-pairing { scroll-margin-top: 110px; }

@media (max-width: 820px) {
  .rf-decision-support { padding: 14px 0 16px; }
  .rf-decision-support-head { margin-bottom: 9px; }
  .rf-decision-support-head h2 { font-size: 13px; }
  .rf-decision-support-head > span { font-size: 11px; }
  .rf-decision-support-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rf-decision-tool { min-height: 82px; padding: 11px 30px 10px 12px; }
  .rf-decision-tool small { font-size: 9.5px; }
  .rf-decision-tool strong { font-size: 13px; }
  .rf-decision-tool > span { font-size: 10.5px; }
  .rf-p5-assist-links { gap: 6px 12px; }
}

@media (max-width: 380px) {
  .rf-decision-support-head > span { display: none; }
  .rf-decision-tool { min-height: 78px; }
}

/* Rosaifa 4.17.3 — desktop filter state containment, 2026-09-23. */
body.rf-p5-filter-open {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  align-items: normal !important;
  gap: normal !important;
  background: var(--rf-paper, #fffdfb) !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--rf-ink, #201915) !important;
  cursor: auto !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  overflow-x: hidden !important;
}


/* rosaifa-responsive-v41220 */
/* Rosaifa 4.12.20 — P9 responsive and functional QA layer.
 * Loaded last. It fixes cross-page breakpoint/overflow issues without changing
 * WooCommerce data, purchase logic, catalog truth or P2/P3 imagery.
 */

/* Cross-page containment and resilient text wrapping. */
.rf-site,
.rf-main,
.rf-container,
.rf-woocommerce-main,
.woocommerce,
.woocommerce-page,
.rf-entry-content,
.rf-site-footer { min-width: 0; }

.rf-category-grid-v2 > *,
.rf-product-grid > *,
.woocommerce ul.products > *,
.rf-p5-filter-form > *,
.rf-p6-fit-grid > *,
.rf-p6-trust > *,
.rf-p7-cart-trust > *,
.rf-p7-order-facts > *,
.rf-footer-grid > * { min-width: 0; }

.rf-display,
.rf-product-name,
.woocommerce-loop-product__title,
.single-product .product_title,
.rf-page-header h1,
.rf-entry-header h1,
.rf-empty-state h1,
.rf-footer-menu a,
.rf-p7-order-facts strong { overflow-wrap: anywhere; }

img, video, iframe { max-width: 100%; }
.rf-entry-content table { max-width: 100%; }

/* Keyboard focus should remain visible after visual refinements. */
:where(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--rf-rose-dark);
  outline-offset: 3px;
}

/* Prevent anchor targets from disappearing beneath the sticky header. */
:where([id]) { scroll-margin-top: calc(var(--rf-sticky-top, 0px) + 124px); }

/* Tablet: keep grid children from becoming too narrow and keep commerce forms usable. */
@media (max-width: 1024px) {
  .rf-container { max-width: 100%; }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { min-width: 0; }
  .woocommerce table.shop_table { max-width: 100%; }
}

@media (max-width: 820px) {
  /* Header: preserve the enlarged logo while guaranteeing room for controls. */
  .rf-header-main {
    gap: clamp(6px,2vw,10px);
    grid-template-columns: 42px minmax(0,1fr) auto;
    min-height: 76px;
  }
  .rf-header-main .rf-brand { min-width: 0; overflow: hidden; }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img {
    height: 50px;
    max-width: min(210px,48vw);
    object-fit: contain;
    width: auto;
  }
  .rf-header-actions { gap: 5px; }
  .rf-header-actions .rf-icon-button,
  .rf-menu-toggle { height: 40px; min-width: 40px; padding-inline: 9px; }
  .rf-mobile-search-panel .rf-container { width: min(100% - 22px,var(--rf-max)); }
  .rf-mobile-search-panel .rf-search-results { left: 0; right: 0; width: 100%; }

  /* Every mobile overlay stays inside the visual viewport and safe area. */
  .rf-mobile-drawer { height: 100dvh; max-width: min(430px,92vw); }
  .rf-mobile-drawer-inner { padding-bottom: max(42px,calc(20px + env(safe-area-inset-bottom))); }
  .rf-p5-filter-panel { max-height: 88dvh; overscroll-behavior: contain; }

  /* Horizontal utility rows scroll instead of forcing page-level overflow. */
  .single-product .woocommerce-tabs ul.tabs,
  .woocommerce-checkout .rf-v411-checkout-head,
  .rf-p5-active-filters,
  .woocommerce-account .woocommerce-MyAccount-navigation {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }

  /* Two-column product/category cards remain viable down to normal phone widths. */
  .rf-category-grid-v2,
  .rf-product-grid,
  .woocommerce ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .rf-category-card-copy { min-height: 104px; }
  .rf-category-card-copy strong { font-size: clamp(16px,4.8vw,19px); }

  .rf-product-card .rf-product-image,
  .woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: contain; }
  .rf-product-card .rf-product-name,
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: clamp(11.5px,3.3vw,13px); }

  /* P5 filter drawer: allow all controls to shrink correctly. */
  .rf-p5-filter-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rf-p5-field select,
  .rf-p5-field input { max-width: 100%; }
  .rf-p5-form-actions { z-index: 2; }

  /* P6: ensure the real buy form and sticky mobile action never overflow. */
  .single-product .summary form.cart,
  .single-product .summary form.cart.variations_form { max-width: 100%; }
  .single-product .summary form.cart:not(.variations_form) { grid-template-columns: 62px minmax(0,1fr); }
  .single-product .summary form.cart .single_add_to_cart_button { min-width: 0; white-space: normal; }
  .single-product .summary table.variations select { max-width: 100%; }
  .rf-mobile-purchase { gap: 8px; padding-inline: 11px; }
  .rf-mobile-purchase > div { min-width: 0; }
  .rf-mobile-purchase button { flex: 0 0 auto; max-width: 48%; padding-inline: 14px; white-space: normal; }

  /* Cart/checkout: long labels, coupons and order rows should wrap, not widen the viewport. */
  .woocommerce-cart .coupon,
  .woocommerce-cart .actions,
  .woocommerce-checkout .form-row,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout table.shop_table,
  .woocommerce-checkout .woocommerce-checkout-payment { max-width: 100%; min-width: 0; }
  .woocommerce-cart .coupon { display: grid; gap: 8px; grid-template-columns: minmax(0,1fr) auto; }
  .woocommerce-cart .coupon input { min-width: 0; width: 100% !important; }
  .woocommerce-checkout table.shop_table td,
  .woocommerce-checkout table.shop_table th { overflow-wrap: anywhere; }

  /* Generic pages/search/404/account/footer. */
  .rf-entry-content pre,
  .rf-entry-content code { max-width: 100%; overflow-x: auto; }
  .rf-entry-content table { display: block; overflow-x: auto; width: 100%; }
  .navigation.pagination .nav-links { flex-wrap: wrap; }
  .woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
  .woocommerce-account .woocommerce-MyAccount-content table { display: block; max-width: 100%; overflow-x: auto; }
  .rf-footer-bottom { align-items: flex-start; flex-direction: column; }
  .rf-site-footer { padding-bottom: calc(94px + env(safe-area-inset-bottom)); }

  /* Checkout deliberately has no mobile bottom navigation; do not reserve its space. */
  body.woocommerce-checkout .rf-site-footer { padding-bottom: 22px; }
}

@media (max-width: 480px) {
  .rf-container { width: min(100% - 22px,var(--rf-max)); }
  .rf-header-main { grid-template-columns: 40px minmax(0,1fr) auto; }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img { height: 48px; max-width: min(190px,46vw); }
  .rf-header-actions .rf-icon-button,
  .rf-menu-toggle { height: 38px; min-width: 38px; padding-inline: 8px; }

  .rf-hero-actions { grid-template-columns: 1fr; }
  .rf-hero-actions .rf-button { width: 100%; }

  .rf-p5-discovery-head { align-items: flex-start; gap: 10px; }
  .rf-p5-discovery-head > div:first-child { flex: 1; }
  .rf-p5-discovery-head small { max-width: none; }

  .rf-p6-fit-grid { grid-template-columns: 1fr; }
  .single-product div.product .product_title { font-size: clamp(31px,9.4vw,36px); }

  .rf-p7-checkout-trust nav { gap: 8px 12px; }
  .rf-p7-checkout-trust nav a { white-space: normal; }
  .woocommerce-cart .coupon { grid-template-columns: 1fr; }
  .woocommerce-cart .coupon .button { width: 100%; }
}

@media (max-width: 390px) {
  /* 360/375/390px QA band. */
  .rf-header-main { gap: 5px; }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img { height: 46px; max-width: 44vw; }
  .rf-header-actions { gap: 3px; }
  .rf-header-actions .rf-icon-button,
  .rf-menu-toggle { height: 36px; min-width: 36px; padding-inline: 7px; }

  .rf-category-grid-v2,
  .rf-product-grid,
  .woocommerce ul.products { gap: 16px 8px; }
  .rf-category-card-copy { padding-inline: 10px; }
  .rf-product-card .rf-product-meta { padding-inline: 0; }
  .rf-product-card .rf-quick-add,
  .rf-product-card .button { padding-inline: 7px; }

  .rf-p5-filter-panel { padding-inline: 12px; }
  .rf-p5-filter-form { gap: 8px; }
  .rf-p5-field select,
  .rf-p5-field input { padding-inline: 9px; }

  .rf-mobile-purchase small { max-width: 42vw; }
  .rf-mobile-purchase button { font-size: 10px; max-width: 46%; }

  .rf-v411-mobile-nav { left: 5px; right: 5px; }
  .rf-v411-mobile-nav a { font-size: 7.5px; }
}

@media (max-width: 350px) {
  /* Defensive small-device mode without collapsing the user's two-column catalog. */
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img { height: 43px; max-width: 40vw; }
  .rf-header-actions .rf-wishlist-trigger { display: none; }
  .rf-category-card-copy strong { font-size: 15px; }
  .rf-product-card .rf-product-name,
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 11px; }
  .rf-p5-filter-form { grid-template-columns: 1fr; }
  .rf-p5-price-field { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}


/* ================================================================
   ROSAIFA 4.12.25 — VISUAL REFINEMENT 01: TYPOGRAPHY HIERARCHY
   Final customer-facing type normalization. The P9 stylesheet remains
   the last stylesheet in the dependency chain so this pass does not add
   another override layer or change commerce behavior.
   ================================================================ */
:root {
  --rf-type-hero: clamp(64px, 5.3vw, 82px);
  --rf-type-section: clamp(44px, 3.8vw, 54px);
  --rf-type-page: clamp(44px, 4.6vw, 62px);
  --rf-type-card: clamp(20px, 2vw, 26px);
}

/* Global hierarchy and readable microcopy. */
.rf-display { letter-spacing: -.03em; }
.rf-eyebrow {
  font-size: 12px;
  letter-spacing: .12em;
  line-height: 1.3;
}
.rf-button,
.wp-element-button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button { font-size: 14px; }
.rf-arrow-link { font-size: 13px; line-height: 1.35; }
.rf-announcement { font-size: 12px; }

/* Homepage / editorial hierarchy. */
.rf-hero-copy-v2 h1 {
  font-size: var(--rf-type-hero);
  line-height: .98;
  letter-spacing: -.038em;
}
.rf-hero-copy-v2 > p {
  font-size: 16px;
  line-height: 1.58;
}
.rf-section-head .rf-display { font-size: var(--rf-type-section); line-height: 1; }
.rf-category-card-copy strong { font-size: 22px; line-height: 1.08; }
.rf-category-card-copy em { font-size: 11px; letter-spacing: .06em; }
.rf-concern-card-v2 strong { font-size: 22px; line-height: 1.12; }
.rf-p4-guidance-card small,
.rf-p4-guidance-card > span { font-size: 11px; }
.rf-p4-guidance-card strong { font-size: clamp(30px, 2.8vw, 42px); line-height: 1.05; }
.rf-p4-guidance-card p { font-size: 15px; line-height: 1.58; }
.rf-p4-utility-links a { font-size: 13px; }
.rf-editorial-copy p,
.rf-authenticity-grid p { font-size: 15px; line-height: 1.6; }
.rf-brand-grid-v2 a,
.rf-brand-chip { font-size: 18px; }

/* Catalog cards: readable brand, title and price without overpowering imagery. */
.rf-product-meta .rf-brand,
.woocommerce ul.products li.product .rf-brand {
  font-size: 11px;
  letter-spacing: .09em;
  line-height: 1.3;
}
.rf-product-name,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 15px;
  line-height: 1.38;
}
.rf-price,
.woocommerce ul.products li.product .price {
  font-size: 17px;
  line-height: 1.3;
}
.rf-quick-add,
.woocommerce ul.products li.product .button { font-size: 13px; }

/* Page/archive/content hierarchy. */
.rf-page-header h1,
.rf-entry-header h1,
.rf-empty-state h1,
.rf-v411-commerce-head h1,
.rf-v411-account-welcome h1,
.rf-v411-login-intro h1 {
  font-size: var(--rf-type-page);
  line-height: 1;
}
.rf-entry-content { font-size: 16px; line-height: 1.7; }
.rf-entry-content h2 { font-size: clamp(30px, 3vw, 38px); }
.rf-entry-content h3 { font-size: clamp(24px, 2.3vw, 30px); }

/* P5 category filters: remove 7–10px customer-facing labels. */
.rf-p5-discovery-head strong { font-size: 28px; }
.rf-p5-discovery-head small { font-size: 13px; line-height: 1.5; }
.rf-p5-clear-all,
.rf-p5-active-filters a,
.rf-p5-active-filters a small,
.rf-p5-field > span:first-child,
.rf-p5-price-inputs i,
.rf-p5-form-actions > a,
.rf-p5-apply,
.rf-p5-filter-open,
.rf-p5-filter-open span,
.rf-p5-mobile-head small { font-size: 11px; }
.rf-p5-field input,
.rf-p5-field select { font-size: 14px; }

/* P6 product page: transactional information must be easier to scan. */
.single-product div.product .product_title {
  font-size: clamp(42px, 4vw, 56px);
  line-height: 1.01;
}
.rf-p6-why li { font-size: 14px; line-height: 1.5; }
.rf-p6-fit-grid dt { font-size: 11px; }
.rf-p6-fit-grid dd { font-size: 13px; }
.rf-p6-purchase-status strong { font-size: 13px; }
.rf-p6-purchase-status small { font-size: 12px; }
.single-product .summary table.variations label { font-size: 12px; }
.single-product .summary form.cart .single_add_to_cart_button { font-size: 14px; }
.rf-p6-trust strong { font-size: 12px; }
.rf-p6-trust small { font-size: 11.5px; line-height: 1.48; }
.single-product .woocommerce-tabs ul.tabs li a { font-size: 12px; }

/* P7 cart / checkout: clear form and trust hierarchy. */
.rf-p7-cart-trust strong,
.rf-p7-checkout-trust strong,
.rf-p7-payment-context strong,
.rf-p7-order-facts strong,
.rf-p7-next-grid strong { font-size: 13px; }
.rf-p7-cart-trust small,
.rf-p7-cart-cta-note small,
.rf-p7-cart-cta-note a,
.rf-p7-checkout-trust small,
.rf-p7-checkout-trust nav a,
.rf-p7-payment-context p,
.rf-p7-payment-context a,
.rf-p7-order-facts small,
.rf-p7-next-grid p { font-size: 11.5px; }
.woocommerce-checkout form .form-row label { font-size: 12px; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { font-size: 13px; }
.woocommerce-checkout #payment #place_order { font-size: 14px; }
.rf-v411-checkout-head strong { font-size: 12px; }
.rf-v411-checkout-head small { font-size: 11px; }

/* Account / footer readability. */
.rf-v411-customer-id > span,
.rf-v411-customer-id small,
.rf-v411-account-actions small,
.rf-v411-empty-actions small,
.rf-v411-thankyou-next a small { font-size: 11px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { font-size: 13px; }
.rf-footer-col h3 { font-size: 12px; letter-spacing: .11em; }
.rf-footer-menu a { font-size: 15px; }
.rf-footer-brand p { font-size: 15px; }
.rf-footer-bottom { font-size: 12px; }

@media (max-width: 820px) {
  :root {
    --rf-type-hero: clamp(46px, 11vw, 58px);
    --rf-type-section: clamp(32px, 8.7vw, 38px);
    --rf-type-page: clamp(36px, 9.5vw, 44px);
  }
  .rf-hero-copy-v2 h1 { line-height: 1; }
  .rf-hero-copy-v2 > p { font-size: 15px; }
  .rf-home-p4 .rf-section-head .rf-display { font-size: var(--rf-type-section); }
  .rf-section-head .rf-arrow-link { font-size: 12px; }
  .rf-category-card-copy strong { font-size: clamp(17px, 4.8vw, 20px); }
  .rf-category-card-copy em { font-size: 11px; }
  .rf-product-card .rf-product-name,
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
  .rf-product-meta .rf-brand,
  .woocommerce ul.products li.product .rf-brand { font-size: 10.5px; }
  .rf-price,
  .woocommerce ul.products li.product .price { font-size: 16px; }
  .rf-p4-guidance-card strong { font-size: 32px; }
  .rf-p4-guidance-card p { font-size: 14px; }
  .single-product div.product .product_title { font-size: clamp(32px, 8.8vw, 38px); }
  .rf-v411-mobile-nav a { font-size: 9.5px; }
  .rf-v411-mobile-nav em { font-size: 9px; }
}

@media (max-width: 480px) {
  :root {
    --rf-type-hero: clamp(44px, 11.5vw, 50px);
    --rf-type-section: clamp(30px, 8.2vw, 35px);
    --rf-type-page: clamp(34px, 9vw, 40px);
  }
  .rf-eyebrow { font-size: 11px; letter-spacing: .105em; }
  .rf-product-card .rf-product-name,
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
  .rf-price,
  .woocommerce ul.products li.product .price { font-size: 16px; }
  .rf-p5-field > span:first-child { font-size: 11px; }
  .rf-mobile-purchase button { font-size: 12px; }
}

@media (max-width: 390px) {
  .rf-product-card .rf-product-name,
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13.5px; }
  .rf-v411-mobile-nav a { font-size: 9px; }
}


/* ================================================================
   ROSAIFA 4.12.26 — VISUAL REFINEMENT 02: MOBILE ABOVE-THE-FOLD
   Keep this inside the existing last-loaded responsive stylesheet.
   Only the homepage hero is changed; header, commerce and later sections
   retain their existing behavior.
   ================================================================ */
@media (max-width: 820px) {
  .rf-home-p4 .rf-p4-hero { padding-top: 0; }
  .rf-home-p4 .rf-p4-hero .rf-hero-grid-v2 {
    gap: 16px;
    min-height: 0;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 {
    max-width: none;
    padding: 24px 0 0;
  }
  .rf-home-p4 .rf-p4-hero .rf-eyebrow {
    font-size: 11px;
    letter-spacing: .105em;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 h1 {
    font-size: clamp(42px, 10.6vw, 50px);
    line-height: .98;
    margin: 10px 0 12px;
    max-width: 10.5ch;
    overflow-wrap: normal;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 > p {
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
    max-width: 31rem;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) max-content;
    margin-top: 18px;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-button:first-child {
    min-height: 48px;
    width: 100%;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-hero-secondary {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--rf-ink);
    justify-self: end;
    min-height: 40px;
    padding: 6px 2px;
    width: auto;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-hero-secondary:hover,
  .rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-hero-secondary:focus-visible {
    background: transparent;
    color: var(--rf-rose-dark);
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-art-v2 {
    aspect-ratio: 8 / 5;
    border-radius: 18px;
    margin-bottom: 18px;
    min-height: 0;
    order: 2;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-art-v2 > img {
    object-position: 68% 50%;
  }
}

@media (max-width: 480px) {
  .rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 { padding-top: 20px; }
  .rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 h1 {
    font-size: clamp(40px, 10.8vw, 45px);
    margin-bottom: 10px;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 > p { font-size: 14.5px; }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions { gap: 10px; margin-top: 16px; }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-button:first-child { min-height: 46px; }
  .rf-home-p4 .rf-p4-hero .rf-hero-art-v2 { border-radius: 16px; margin-bottom: 14px; }
}

@media (max-width: 350px) {
  .rf-home-p4 .rf-p4-hero .rf-hero-actions {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-hero-secondary {
    justify-self: start;
  }
}


/* ================================================================
   ROSAIFA 4.12.27 — VISUAL REFINEMENT 03
   Header balance + homepage rhythm + one consistent action-arrow language.
   This remains inside the last-loaded responsive stylesheet.
   ================================================================ */

/* One restrained arrow language across customer-facing actions. */
:where(
  .rf-arrow-link,
  .rf-arrow-action,
  .rf-hero-secondary,
  .rf-category-card-copy em,
  .rf-concern-card-v2 em,
  .rf-p4-guidance-card > span,
  .rf-p4-utility-links a,
  .rf-guide-selector-grid em,
  .rf-mega-viewall,
  .rf-mobile-nav-strong
) {
  align-items: center;
  display: inline-flex;
  gap: 7px;
}

:where(
  .rf-arrow-link,
  .rf-arrow-action,
  .rf-hero-secondary,
  .rf-category-card-copy em,
  .rf-concern-card-v2 em,
  .rf-p4-guidance-card > span,
  .rf-p4-utility-links a,
  .rf-guide-selector-grid em,
  .rf-mega-viewall,
  .rf-mobile-nav-strong
)::after {
  background: currentColor;
  content: "";
  flex: 0 0 auto;
  height: 13px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13.5 6.5 19 12l-5.5 5.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13.5 6.5 19 12l-5.5 5.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .18s ease;
  width: 13px;
}
:where(
  .rf-arrow-link,
  .rf-arrow-action,
  .rf-hero-secondary,
  .rf-category-card-v2,
  .rf-concern-card-v2,
  .rf-p4-guidance-card,
  .rf-p4-utility-links a,
  .rf-mega-viewall,
  .rf-mobile-nav-strong
):hover :where(.rf-category-card-copy em,.rf-concern-card-v2 em,.rf-p4-guidance-card > span)::after,
:where(.rf-arrow-link,.rf-arrow-action,.rf-hero-secondary,.rf-p4-utility-links a,.rf-mega-viewall,.rf-mobile-nav-strong):hover::after {
  transform: translateX(2px);
}

/* External sources use a distinct, restrained north-east indicator. */
.rf-external-link { align-items: center; display: inline-flex; gap: 6px; }
.rf-external-link::after {
  background: currentColor;
  content: "";
  flex: 0 0 auto;
  height: 12px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 16 16.5 7.5M10 7h7v7' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 16 16.5 7.5M10 7h7v7' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  width: 12px;
}

/* Header: keep the approved logo prominent while reducing surrounding chrome. */
.rf-trustbar-inner { min-height: 30px; }
.rf-site-header { box-shadow: 0 1px 0 rgba(47,36,29,.035); }
.rf-header-main {
  gap: 18px;
  min-height: 84px;
}
.rf-header-main .rf-brand img,
.rf-header-main .custom-logo,
.rf-header-main .rf-fallback-logo img {
  height: 60px;
  max-width: 290px;
}
.rf-header-actions { gap: 7px; }
.rf-icon-button {
  background: rgba(255,255,255,.72);
  border-color: rgba(208,197,188,.78);
  height: 40px;
  min-width: 40px;
  padding-inline: 10px;
  transition: background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.rf-icon-button:hover,
.rf-icon-button:focus-visible {
  background: #fff;
  border-color: rgba(116,74,78,.35);
  color: var(--rf-rose-dark);
}
.rf-icon-button svg { stroke-width: 1.55; }
.rf-menu-lines { gap: 5px; width: 17px; }
.rf-primary-nav .rf-menu { min-height: 44px; }

/* Homepage rhythm: close the gap between discovery steps without crowding them. */
.rf-home-p4 .rf-p4-trust { margin-top: 0; }
.rf-home-p4 .rf-p4-trust + .rf-p4-section { padding-top: clamp(42px,4.7vw,68px); }
.rf-home-p4 .rf-p4-authenticity { padding-block: clamp(48px,5.2vw,76px); }
.rf-home-p4 .rf-section-head-wide > p { max-width: 540px; }

@media (max-width: 820px) {
  .rf-trustbar { font-size: 10.5px; }
  .rf-trustbar-inner { min-height: 28px; padding-inline: 12px; }
  .rf-trustbar-inner span { padding-inline: 12px; }
  .rf-header-main {
    gap: 7px;
    grid-template-columns: 40px minmax(0,1fr) auto;
    min-height: 70px;
  }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img {
    height: 50px;
    max-width: min(210px,48vw);
  }
  .rf-header-actions { gap: 4px; }
  .rf-header-actions .rf-icon-button,
  .rf-menu-toggle {
    background: transparent;
    border-color: rgba(116,74,78,.20);
    height: 38px;
    min-width: 38px;
    padding-inline: 8px;
  }
  .rf-home-p4 .rf-p4-trust + .rf-p4-section { padding-top: 36px; }
  .rf-home-p4 .rf-p4-authenticity { padding-block: 42px; }
  .rf-home-p4 .rf-section-head-wide > p { margin-top: 10px; }
}

@media (max-width: 480px) {
  .rf-header-main { min-height: 68px; }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img {
    height: 48px;
    max-width: min(190px,47vw);
  }
  .rf-header-actions .rf-icon-button,
  .rf-menu-toggle { height: 36px; min-width: 36px; padding-inline: 7px; }
  .rf-home-p4 .rf-p4-trust + .rf-p4-section { padding-top: 32px; }
  .rf-home-p4 .rf-p4-authenticity { padding-block: 38px; }
  :where(
    .rf-arrow-link,
    .rf-arrow-action,
    .rf-hero-secondary,
    .rf-category-card-copy em,
    .rf-concern-card-v2 em,
    .rf-p4-guidance-card > span,
    .rf-p4-utility-links a
  ) { gap: 6px; }
}

@media (max-width: 390px) {
  .rf-header-main { gap: 4px; }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img { height: 46px; max-width: 45vw; }
  .rf-header-actions .rf-icon-button,
  .rf-menu-toggle { height: 35px; min-width: 35px; }
}

/* ================================================================
   ROSAIFA 4.12.28 — CUSTOMER EXPERIENCE & CONTRAST PASS
   Progressive disclosure keeps every capability available while
   reducing simultaneous visual choices. This remains the final CSS layer.
   ================================================================ */

/* Stronger, consistent control boundaries without darkening the brand palette. */
:where(
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select,
  .rf-filter-field select,
  .rf-filter-field input,
  .rf-v411-account-shell input,
  .rf-v411-account-shell select,
  .rf-v411-account-shell textarea
) {
  border-color: var(--rf-control-border);
}

/* Search UI: readable supporting text and a clear interactive boundary. */
.rf-search-group-title,
.rf-search-product small,
.rf-search-link-group small { font-size: 11px; }
.rf-search-product strong,
.rf-search-link-group strong { font-size: 13px; }
.rf-search-viewall { font-size: 12px; }
.rf-product-search { border-color: var(--rf-control-border); }

/* Desktop navigation: fewer top-level decisions, everything else lives in grouped panels. */
.rf-progressive-nav > li > a { padding-inline: 22px; }
.rf-mega-columns-discover { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rf-mega-columns-discover > div { min-width: 0; }
.rf-mega-columns-discover a { line-height: 1.35; }

/* Homepage trust is useful, but it should not read like another full section. */
.rf-home-p4 .rf-p4-trust { padding-block: 16px; }
.rf-home-p4 .rf-p4-trust .rf-home-trust-grid > div { padding-block: 2px; }
.rf-home-p4 .rf-p4-trust .rf-home-trust-grid strong { font-size: 12.5px; }
.rf-home-p4 .rf-p4-trust .rf-home-trust-grid small { font-size: 11px; line-height: 1.4; }

/* Guidance remains feature-rich, but copy and card mass are reduced. */
.rf-home-p4 .rf-p4-guidance-card { min-height: 230px; padding: 24px; }
.rf-home-p4 .rf-p4-guidance-card strong { margin-top: 14px; }
.rf-home-p4 .rf-p4-guidance-card p { margin: 10px 0 16px; max-width: 42ch; }
.rf-home-p4 .rf-p4-utility-links { gap: 8px; }
.rf-home-p4 .rf-p4-utility-links a {
  background: rgba(255,255,255,.7);
  border: 1px solid var(--rf-line);
  border-radius: 999px;
  padding: 8px 12px;
}

/* Bottom navigation: five equal-frequency actions, no oversized central interruption. */
@media (max-width: 760px) {
  .rf-v411-mobile-nav {
    min-height: 60px;
    padding: 5px;
    border-radius: 20px;
  }
  .rf-v411-mobile-nav a {
    min-height: 48px;
    border-radius: 14px;
    font-size: 10px;
    gap: 4px;
  }
  .rf-v411-mobile-nav a svg { height: 19px; width: 19px; }
  .rf-v411-mobile-nav .rf-v411-nav-feature {
    margin-top: 0;
    background: transparent;
    box-shadow: none;
    color: var(--rf-ink-soft);
  }
  .rf-v411-mobile-nav .rf-v411-nav-feature svg { height: 19px; width: 19px; }
  .rf-v411-mobile-nav .rf-v411-nav-feature.is-current,
  .rf-v411-mobile-nav .rf-v411-nav-feature:focus-visible,
  .rf-v411-mobile-nav .rf-v411-nav-feature:hover {
    background: #f7f1ec;
    color: var(--rf-rose-dark);
  }

  /* Account already lives in the bottom navigation; avoid duplicating it in the header. */
  .rf-header-actions > .rf-account-link { display: none !important; }

  /* The drawer opens cleanly: categories and tools are progressively disclosed. */
  .rf-mobile-catalog-nav .rf-mobile-nav-group > summary {
    color: var(--rf-ink);
    font-size: 19px;
    min-height: 50px;
  }
  .rf-mobile-catalog-nav .rf-mobile-nav-grid {
    gap: 2px 8px;
    padding-bottom: 12px;
  }
  .rf-mobile-catalog-nav .rf-mobile-nav-grid a {
    color: var(--rf-ink-soft);
    font-size: 13.5px;
    min-height: 42px;
  }
  .rf-mobile-catalog-nav .rf-mobile-nav-grid a.rf-mobile-nav-strong { color: var(--rf-ink); }

  /* Turn three stacked trust rows into one compact, scannable strip. */
  .rf-home-p4 .rf-p4-trust { padding-block: 10px; }
  .rf-home-p4 .rf-p4-trust .rf-home-trust-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rf-home-p4 .rf-p4-trust .rf-home-trust-grid > div {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 52px;
    padding: 7px 6px;
    text-align: center;
  }
  .rf-home-p4 .rf-p4-trust .rf-home-trust-grid > div + div {
    border-left: 1px solid var(--rf-line-soft);
    border-top: 0;
  }
  .rf-home-p4 .rf-p4-trust .rf-home-trust-grid span,
  .rf-home-p4 .rf-p4-trust .rf-home-trust-grid small { display: none; }
  .rf-home-p4 .rf-p4-trust .rf-home-trust-grid strong {
    font-size: 11.5px;
    line-height: 1.28;
  }

  .rf-home-p4 .rf-p4-guidance-card {
    min-height: 170px;
    padding: 18px;
  }
  .rf-home-p4 .rf-p4-guidance-card strong {
    font-size: 28px;
    margin-top: 10px;
  }
  .rf-home-p4 .rf-p4-guidance-card p {
    font-size: 14px;
    line-height: 1.5;
    margin: 8px 0 14px;
  }
  .rf-home-p4 .rf-p4-utility-links {
    display: flex;
    flex-wrap: wrap;
  }
  .rf-home-p4 .rf-p4-utility-links a { font-size: 12px; }
}

@media (max-width: 480px) {
  .rf-v411-mobile-nav { left: 8px; right: 8px; }
  .rf-v411-mobile-nav a { font-size: 9.5px; }
  .rf-home-p4 .rf-p4-trust .rf-home-trust-grid strong { font-size: 10.5px; }
  .rf-mobile-catalog-nav .rf-mobile-nav-group > summary { font-size: 18px; }
}

/* Secondary product actions should remain available without competing with purchase. */
.rf-v48-compare-button.rf-v48-compare-loop {
  align-self: flex-start;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--rf-ink-soft);
  justify-content: flex-start;
  min-height: 28px;
  padding: 0;
  width: auto;
}
.rf-v48-compare-button.rf-v48-compare-loop:hover,
.rf-v48-compare-button.rf-v48-compare-loop:focus-visible {
  background: transparent;
  color: var(--rf-rose-dark);
}
.rf-v48-compare-button.rf-v48-compare-loop > span { font-size: 14px; }
.rf-v48-compare-button.rf-v48-compare-loop em {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

/* Custom merchant menus also get progressive disclosure instead of wrapping into clutter. */
@media (min-width: 901px) {
  .rf-primary-nav .rf-custom-menu { align-items: stretch; justify-content: center; }
  .rf-custom-menu-more { position: relative; }
  .rf-custom-menu-more > details { height: 100%; }
  .rf-custom-menu-more > details > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    height: 100%;
    list-style: none;
    padding: 0 18px;
  }
  .rf-custom-menu-more > details > summary::-webkit-details-marker { display: none; }
  .rf-custom-menu-more > details > summary::after {
    content: "+";
    font-size: 14px;
    margin-left: 6px;
  }
  .rf-custom-menu-more > details[open] > summary::after { content: "−"; }
  .rf-custom-menu-overflow {
    background: var(--rf-paper);
    border: 1px solid var(--rf-line);
    border-radius: 16px;
    box-shadow: var(--rf-shadow);
    display: grid;
    gap: 2px;
    list-style: none;
    margin: 8px 0 0;
    min-width: 230px;
    padding: 10px;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 110;
  }
  .rf-custom-menu-overflow > li { margin: 0; }
  .rf-custom-menu-overflow a {
    border-radius: 10px;
    display: block;
    font-size: 13px;
    padding: 9px 10px;
  }
  .rf-custom-menu-overflow a:hover,
  .rf-custom-menu-overflow a:focus-visible { background: var(--rf-canvas); }
}


/* ================================================================
   ROSAIFA 4.12.31 — PREMIUM HERO + DISTINCT MOBILE SHOP ICON
   Keeps the last-loaded responsive layer authoritative.
   ================================================================ */
.rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 h1 {
  font-weight: 400;
  letter-spacing: -.035em;
}
.rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 > p {
  color: #68574e;
  max-width: 34ch;
}
.rf-home-p4 .rf-p4-hero .rf-eyebrow {
  color: var(--rf-rose-dark);
  font-weight: 700;
  letter-spacing: .16em;
}
.rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-button:first-child {
  letter-spacing: .005em;
}
.rf-v411-mobile-nav .rf-nav-storefront-icon {
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 820px) {
  .rf-home-p4 .rf-p4-hero .rf-eyebrow {
    font-size: 10.5px;
    letter-spacing: .17em;
    margin-bottom: 2px;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 h1 {
    font-size: clamp(41px, 10.4vw, 48px);
    line-height: .96;
    margin: 12px 0 14px;
    max-width: 11.2ch;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-copy-v2 > p {
    font-size: 14.5px;
    line-height: 1.55;
    max-width: 29ch;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions {
    margin-top: 20px;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-button:first-child {
    min-height: 48px;
    padding-inline: 22px;
  }
  .rf-home-p4 .rf-p4-hero .rf-hero-actions .rf-hero-secondary {
    font-weight: 700;
  }
}

/* ================================================================
   ROSAIFA 4.12.32 — STRONGER WORDMARK + RELIABLE STICKY HEADER
   Display-only refinement: approved logo artwork is not replaced.
   ================================================================ */
.rf-site-header {
  position: sticky;
  top: var(--rf-header-offset, 0px);
  z-index: 1000;
  background: rgba(255,253,251,.985);
  isolation: isolate;
}
.rf-header-main .rf-brand img,
.rf-header-main .custom-logo,
.rf-header-main .rf-fallback-logo img,
.rf-mobile-wordmark img {
  filter:
    contrast(1.10)
    saturate(1.04)
    drop-shadow(.32px 0 0 rgba(105,65,48,.48))
    drop-shadow(-.32px 0 0 rgba(105,65,48,.48))
    drop-shadow(0 .24px 0 rgba(105,65,48,.34));
}

@media (max-width: 820px) {
  .rf-site-header {
    top: var(--rf-header-offset, 0px);
  }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img {
    filter:
      contrast(1.12)
      saturate(1.04)
      drop-shadow(.36px 0 0 rgba(100,61,45,.52))
      drop-shadow(-.36px 0 0 rgba(100,61,45,.52))
      drop-shadow(0 .28px 0 rgba(100,61,45,.36));
  }
}


/* ================================================================
   ROSAIFA 4.12.34 — ELEGANT WORDFMARK SPACING
   Display-only refinement: the approved logo artwork is preserved.
   ================================================================ */
.rf-header-main .rf-brand,
.rf-mobile-wordmark {
  overflow: visible;
}
.rf-header-main .rf-brand {
  padding-inline: 10px;
}
.rf-header-main .rf-brand img,
.rf-header-main .custom-logo,
.rf-header-main .rf-fallback-logo img,
.rf-mobile-wordmark img,
.rf-mobile-wordmark .custom-logo,
.rf-mobile-wordmark .rf-fallback-logo img {
  transform: scaleX(1.065);
  transform-origin: center center;
  filter:
    contrast(1.09)
    saturate(1.03)
    drop-shadow(.26px 0 0 rgba(105,65,48,.42))
    drop-shadow(-.26px 0 0 rgba(105,65,48,.42))
    drop-shadow(0 .20px 0 rgba(105,65,48,.28));
}
.rf-header-main .rf-brand img,
.rf-header-main .custom-logo,
.rf-header-main .rf-fallback-logo img {
  height: 66px;
  max-width: 326px;
}
.rf-mobile-wordmark {
  padding-inline: 6px;
}
.rf-mobile-wordmark .custom-logo,
.rf-mobile-wordmark .rf-fallback-logo img,
.rf-mobile-wordmark img {
  height: 54px;
  max-width: 254px;
}

@media (max-width: 820px) {
  .rf-header-main .rf-brand { padding-inline: 7px; }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img {
    height: 56px;
    max-width: min(234px, 53vw);
  }
  .rf-mobile-wordmark .custom-logo,
  .rf-mobile-wordmark .rf-fallback-logo img,
  .rf-mobile-wordmark img {
    height: 52px;
    max-width: min(244px, 60vw);
  }
}

@media (max-width: 480px) {
  .rf-header-main .rf-brand { padding-inline: 5px; }
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img {
    height: 54px;
    max-width: min(218px, 52vw);
  }
  .rf-mobile-wordmark .custom-logo,
  .rf-mobile-wordmark .rf-fallback-logo img,
  .rf-mobile-wordmark img {
    height: 50px;
    max-width: min(228px, 60vw);
  }
}

@media (max-width: 390px) {
  .rf-header-main .rf-brand img,
  .rf-header-main .custom-logo,
  .rf-header-main .rf-fallback-logo img {
    height: 52px;
    max-width: 50vw;
  }
}

/* Rosaifa 4.12.35 Studio icon compatibility */
.rf-header-custom-icon,.rf-v411-mobile-nav .rf-studio-icon,.rf-context-mobile-nav .rf-studio-icon{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}.rf-header-custom-icon{width:20px;height:20px}.rf-v411-mobile-nav .rf-studio-icon,.rf-context-mobile-nav .rf-studio-icon{width:20px;height:20px}


/* ================================================================
   ROSAIFA 4.12.36 — FILTER ORIENTATION REFINEMENT
   Visual alignment only; filtering logic and query behavior are unchanged.
   ================================================================ */
.rf-p5-discovery-head {
  align-items: center;
  display: grid;
  gap: 14px 22px;
  grid-template-columns: minmax(0,1fr) auto;
}
.rf-p5-discovery-head > div:first-child {
  align-content: center;
  min-width: 0;
}
.rf-p5-head-actions {
  align-items: center;
  align-self: center;
  justify-self: end;
}
.rf-p5-assist-links {
  align-items: center;
  display: flex;
  gap: 8px 14px;
  justify-content: flex-start;
}
.rf-p5-filter-panel {
  clear: both;
}
.rf-p5-filter-form {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
}
.rf-p5-field {
  align-content: start;
  display: grid;
  gap: 7px;
  min-width: 0;
}
.rf-p5-field > span:first-child {
  min-height: 1.35em;
}
.rf-p5-field select,
.rf-p5-field input {
  min-height: 46px;
}
.rf-p5-price-field {
  grid-column: span 2;
}
.rf-p5-price-inputs {
  height: 46px;
}
.rf-p5-price-inputs input {
  height: 46px;
}
.rf-p5-form-actions {
  align-items: center;
  display: flex;
  gap: 12px;
  grid-column: 1 / -1;
  justify-content: flex-end;
  margin-top: 2px;
  width: 100%;
}
.rf-p5-form-actions > a:first-child { margin-right: auto; }
.rf-p5-apply { min-width: 150px; }

@media (max-width: 820px) {
  .rf-p5-discovery-head {
    align-items: center;
    gap: 10px 12px;
    grid-template-columns: minmax(0,1fr) auto;
  }
  .rf-p5-discovery-head > div:first-child { min-width: 0; }
  .rf-p5-discovery[data-rf-p5-discovery] .rf-p5-discovery-head small {
    display: block;
    max-width: none;
  }
  .rf-p5-head-actions { justify-self: end; }
  .rf-p5-filter-open {
    justify-content: center;
    white-space: nowrap;
  }
  .rf-p5-assist-links {
    display: grid;
    gap: 7px 8px;
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .rf-p5-assist-links > span {
    grid-column: 1 / -1;
  }
  .rf-p5-assist-links a {
    align-items: center;
    background: rgba(255,255,255,.68);
    border: 1px solid var(--rf-line-soft);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    min-height: 38px;
    padding: 7px 8px;
    text-align: center;
    text-decoration: none;
  }
  .rf-p5-filter-form {
    gap: 12px;
    grid-template-columns: 1fr;
  }
  .rf-p5-price-field { grid-column: auto; }
  .rf-p5-field > span:first-child { min-height: 0; }
  .rf-p5-field select,
  .rf-p5-field input { width: 100%; }
  .rf-p5-mobile-head {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0,1fr) auto;
  }
  .rf-p5-mobile-head button { justify-self: end; }
  .rf-p5-form-actions {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: auto minmax(0,1fr);
  }
  .rf-p5-form-actions > a {
    margin: 0;
    white-space: nowrap;
  }
  .rf-p5-apply {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 430px) {
  .rf-p5-discovery-head {
    align-items: stretch;
    grid-template-columns: 1fr;
  }
  .rf-p5-head-actions {
    justify-self: stretch;
    width: 100%;
  }
  .rf-p5-filter-open { width: 100%; }
  .rf-p5-assist-links { grid-template-columns: 1fr; }
  .rf-p5-assist-links > span { grid-column: auto; }
  .rf-p5-form-actions { grid-template-columns: 1fr; }
  .rf-p5-form-actions > a {
    justify-self: start;
    order: 2;
  }
  .rf-p5-apply { order: 1; }
}


/* rosaifa-ultimate-v4130 */
/* Rosaifa 4.13.0 — final storefront UX, accessibility and resilience layer. */
:root{--rf-focus-ring:0 0 0 3px color-mix(in srgb,var(--rf-rose-dark,#744a4e) 32%,transparent);--rf-touch:44px}
html{scroll-padding-top:clamp(78px,8vw,118px)}
:where(h1,h2,h3,[id]){scroll-margin-top:clamp(86px,9vw,126px)}
:where(.rf-display,.woocommerce-products-header__title,.product_title){text-wrap:balance}
:where(p,.woocommerce-product-details__short-description){text-wrap:pretty}
:where(a,button,input,select,textarea,summary,[role="button"]):focus-visible{outline:2px solid var(--rf-rose-dark,#744a4e)!important;outline-offset:3px!important;box-shadow:var(--rf-focus-ring)}
:where(button,.button,input[type="submit"],input[type="button"],input[type="reset"]){touch-action:manipulation}
.rf-mobile-drawer,.rf-v3-drawer,.rf-p5-filter-sheet{overscroll-behavior:contain}
.rf-search-results[aria-busy="true"]{cursor:progress}.rf-search-results[aria-busy="true"]:empty::before{content:"Searching…";display:block;padding:14px;color:var(--rf-ink-soft,#625b56);font-size:12px}
.rf-search-results a:focus-visible{position:relative;z-index:1;background:var(--rf-canvas,#f7f3ef)}
.woocommerce form .form-row.woocommerce-invalid :where(input,select,textarea){border-color:#9c3939!important;box-shadow:0 0 0 1px #9c393933}.woocommerce form .form-row.woocommerce-validated :where(input,select,textarea){border-color:#5d765d}
.woocommerce-error,.woocommerce-message,.woocommerce-info{scroll-margin-top:110px}
.rf-icon-button[aria-expanded="true"],.rf-menu-toggle[aria-expanded="true"]{background:color-mix(in srgb,var(--rf-rose,#955b62) 9%,transparent)}
@supports(height:100dvh){.rf-mobile-drawer-inner,.rf-v3-drawer{max-height:100dvh}.rf-preview-frame iframe{min-height:100dvh}}
@media(max-width:760px){
  :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
  :where(.rf-icon-button,.rf-menu-toggle,.rf-context-reveal,.rf-p5-filter-toggle,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button){min-height:var(--rf-touch)}
  .rf-site-footer{padding-bottom:max(104px,calc(92px + env(safe-area-inset-bottom)))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.rf-preview-frame,.rf-preview-frame iframe{transition:none!important}}
@media(forced-colors:active){:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid CanvasText!important;box-shadow:none!important}.rf-pm-image,.rf-studio-save-state{border:1px solid CanvasText}}
.rf-qty-stepper{display:inline-grid!important;grid-template-columns:38px minmax(48px,62px) 38px;align-items:center;border:1px solid var(--rf-line,#d7cfc8);border-radius:999px;overflow:hidden;background:var(--rf-paper,#fffdfb)}
.rf-qty-stepper .qty{width:100%!important;min-width:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-align:center;padding-inline:2px!important;background:transparent!important;-moz-appearance:textfield}.rf-qty-stepper .qty::-webkit-outer-spin-button,.rf-qty-stepper .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rf-qty-button{min-width:38px;min-height:42px;border:0;background:transparent;color:var(--rf-ink,#171412);font-size:18px;line-height:1;cursor:pointer}.rf-qty-button:hover{background:var(--rf-canvas,#f7f3ef)}.rf-qty-button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:760px){.rf-qty-stepper{grid-template-columns:42px minmax(48px,60px) 42px}.rf-qty-button{min-width:42px;min-height:46px}}

/* Rosaifa 4.13.2 — image-first homepage hero slider */
.rf-hero-slider-section{background:linear-gradient(180deg,#fbf4ed 0%,#f6ede4 100%);padding:12px 0 26px}
.rf-hero-slider{display:grid;gap:18px}
.rf-hero-slider-viewport{overflow:hidden}
.rf-hero-slider-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.rf-hero-slide{flex:0 0 100%;min-width:100%}
.rf-hero-slide-card{display:grid;gap:0;text-decoration:none;color:inherit}
.rf-hero-slide-media{background:linear-gradient(135deg,#f3e7dc,#fcf7f2);border-radius:30px;overflow:hidden;position:relative;box-shadow:0 18px 50px rgba(75,40,23,.08)}
.rf-hero-slide-media::after{content:"";position:absolute;inset:auto 0 0 0;height:22%;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,248,241,.34) 100%);pointer-events:none}
.rf-hero-slide-media img{display:block;width:100%;aspect-ratio:1.12 / 1;object-fit:cover;transform:scale(1.01)}
.rf-hero-slide-content{display:grid;gap:10px;padding:18px 6px 0;max-width:720px}
.rf-hero-slide-content .rf-eyebrow{color:var(--rf-rose-dark,#82545a);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.rf-hero-slide-content .rf-display{font-size:clamp(40px,5.4vw,74px);line-height:.94;margin:0;color:var(--rf-ink,#171412)}
.rf-hero-slide-content p{margin:0;color:var(--rf-ink-soft,#625b56);font-size:15px;line-height:1.7;max-width:560px}
.rf-hero-slider-dots{display:flex;align-items:center;justify-content:center;gap:10px;padding-bottom:2px}
.rf-hero-dot{appearance:none;border:0;border-radius:999px;background:rgba(65,37,20,.18);width:10px;height:10px;padding:0;cursor:pointer;transition:transform .2s ease,background-color .2s ease,width .2s ease;box-shadow:none}
.rf-hero-dot.is-active{background:var(--rf-ink,#2b170c);width:28px}
.rf-hero-dot:focus-visible{outline:2px solid var(--rf-rose-dark,#744a4e);outline-offset:3px}
@media(min-width:781px){
  .rf-hero-slider-section{padding:18px 0 34px}
  .rf-hero-slide-card{gap:16px}
  .rf-hero-slide-media{border-radius:34px}
  .rf-hero-slide-media img{aspect-ratio:1.8 / 1}
  .rf-hero-slide-content{padding:0 8px 0}
}
@media(max-width:780px){
  .rf-hero-slider-section{padding-top:8px}
  .rf-hero-slider{gap:14px}
  .rf-hero-slide-media{border-radius:26px}
  .rf-hero-slide-media img{aspect-ratio:1 / 1.04}
  .rf-hero-slide-content{padding:16px 2px 0}
  .rf-hero-slide-content .rf-display{font-size:clamp(32px,10vw,58px)}
  .rf-hero-slide-content p{font-size:14px}
}

/* Rosaifa 4.13.3 — search focus polish */
.rf-product-search .rf-live-search-input:focus,
.rf-product-search .rf-live-search-input:focus-visible{
  outline:0!important;
  box-shadow:none!important;
}
.rf-product-search:focus-within{
  border-color:rgba(116,74,78,.62);
  box-shadow:0 0 0 3px rgba(116,74,78,.12),inset 0 0 0 1px rgba(255,255,255,.5);
}
@media(max-width:820px){
  .rf-mobile-search-panel .rf-product-search:focus-within{
    border-color:rgba(116,74,78,.58);
    box-shadow:0 0 0 2px rgba(116,74,78,.10),inset 0 0 0 1px rgba(255,255,255,.5);
  }
}


/* rosaifa-runtime-v4170 */
/* Rosaifa 4.17.0 — production runtime hardening.
   Shared fixed-header geometry, global footer signature, compact mobile nav,
   accessibility preferences and layout-stability primitives. */

/* Single authoritative fixed-header presentation. Geometry is measured by runtime-v4170.js. */
body.rf-v4136-fixed-header .rf-site-header {
  position: fixed !important;
  top: var(--rf-v4136-header-top, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1500 !important;
  transform: none !important;
  box-shadow: 0 8px 28px rgba(55,34,22,.065), 0 1px 0 rgba(47,36,29,.055);
}
.rf-v4136-header-spacer {
  display: block;
  height: var(--rf-v4136-header-height, 0px);
  pointer-events: none;
}
body.rf-v4136-fixed-header .rf-sticky-header-spacer { display: none !important; }

/* Keep anchor/focus landings clear of the measured fixed header. */
html { scroll-padding-top: calc(var(--rf-v4136-header-height, 0px) + 16px); }
:target { scroll-margin-top: calc(var(--rf-v4136-header-height, 0px) + 16px); }

/* Footer uses the approved Rosaifa logo source and established copper rendering. */
.rf-footer-wordmark-image {
  display: block;
  line-height: 1;
  max-width: min(100%, 430px);
}
.rf-footer-wordmark-image .custom-logo-link,
.rf-footer-wordmark-image .rf-fallback-logo {
  align-items: center;
  display: inline-flex;
  max-width: 100%;
  text-decoration: none;
}
.rf-footer-wordmark-image .custom-logo,
.rf-footer-wordmark-image .rf-fallback-logo img {
  display: block;
  width: min(100%, 390px);
  height: auto;
  max-height: 112px;
  max-width: 390px;
  object-fit: contain;
  object-position: left center;
  mix-blend-mode: multiply;
  transform: scaleX(1.065);
  transform-origin: left center;
  filter: contrast(1.09) saturate(1.03)
    drop-shadow(.26px 0 0 rgba(105,65,48,.42))
    drop-shadow(-.26px 0 0 rgba(105,65,48,.42))
    drop-shadow(0 .20px 0 rgba(105,65,48,.28));
}

/* Preserve the approved compact global mobile quick-nav footprint. */
@media (max-width: 760px) {
  .rf-v411-mobile-nav {
    min-height: 56px !important;
    padding: 4px !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(28,21,17,.14) !important;
  }
  .rf-v411-mobile-nav a { min-height: 46px !important; }
  .rf-v411-mobile-nav a svg { height: 19px !important; width: 19px !important; }
  .rf-v411-mobile-nav .rf-v411-nav-feature { margin-top: -11px !important; min-height: 50px !important; }
  body:not(.woocommerce-checkout) { padding-bottom: 70px !important; }

  .rf-footer-wordmark-image { max-width: 310px; }
  .rf-footer-wordmark-image .custom-logo,
  .rf-footer-wordmark-image .rf-fallback-logo img {
    width: min(100%, 300px);
    max-height: 88px;
  }
}

/* Interaction and number rendering hardening. */
:where(a, button, [role="button"], input, select, textarea, summary) { touch-action: manipulation; }
:where(.woocommerce-Price-amount, .amount, .rf-price, .rf-cart-count, [data-rf-cart-qty-value]) {
  font-variant-numeric: tabular-nums lining-nums;
}
.rf-mobile-drawer,
.rf-v3-drawer { overscroll-behavior: contain; }

@supports (scrollbar-gutter: stable) {
  html { scrollbar-gutter: stable; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body.rf-v4136-fixed-header .rf-site-header { transition: none !important; }
  .rf-trustbar-track { animation: none !important; transform: none !important; }
  .rf-hero-slider-track { transition: none !important; }
}

/* Preserve complete product packaging in catalog cards. */
.rf-product-card .rf-product-image img, .woocommerce ul.products li.product a img { object-fit: contain !important; object-position: center !important; }
.rf-has-mega-kbeauty .rf-mega-promo img { object-fit: contain; background: #fff; }

.rf-category-photo-v41214 img { object-fit: contain !important; object-position: center !important; background: #fff; }


/* rosaifa-interface-v4139 */
/* Rosaifa 4.13.9 — global Wishlist mobile nav + full-height Refine reset. */
@media(max-width:760px){
  .rf-context-mobile-nav button.rf-v4139-wishlist-nav{position:relative;min-height:46px!important;border-radius:16px!important}
  .rf-context-mobile-nav button.rf-v4139-wishlist-nav:hover,
  .rf-context-mobile-nav button.rf-v4139-wishlist-nav:focus-visible{background:#f7f1ec;color:var(--rf-rose-dark)}
  .rf-context-mobile-nav .rf-v4139-wishlist-nav .rf-wishlist-count{right:calc(50% - 22px);top:3px}
  body.rf-v3-drawer-open .rf-v411-mobile-nav{opacity:0;pointer-events:none;transform:translateY(120%)}
  body.rf-p5-filter-open .rf-context-mobile-nav button.rf-v4139-wishlist-nav{background:transparent;color:var(--rf-ink-soft)}
}
@media(max-width:820px){
  body > .rf-p5-filter-panel{height:90dvh!important;max-height:90dvh!important}
  body > .rf-p5-filter-panel .rf-p5-mobile-head{position:relative;z-index:4;min-height:78px!important}
  body > .rf-p5-filter-panel .rf-p5-filter-form{scroll-behavior:auto!important;scroll-padding-top:12px;scroll-padding-bottom:92px}
}
@media(max-width:380px){body > .rf-p5-filter-panel{height:92dvh!important;max-height:92dvh!important}}


/* rosaifa-product-detail-v4139 */
/* Rosaifa 4.13.9 — premium beauty-retail PDP hierarchy. */
.single-product .rf-woocommerce-main{padding-top:24px}
.single-product div.product{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);gap:clamp(34px,5vw,72px);align-items:start;margin-top:0}
.single-product div.product div.images,.single-product div.product div.summary{float:none!important;width:auto!important;margin:0!important;min-width:0}
.single-product div.product div.images{align-self:start;position:sticky;top:calc(var(--rf-sticky-top,0px) + 96px)}
.single-product div.product .summary{position:static!important;padding-top:6px}
.single-product .woocommerce-product-gallery__wrapper{background:linear-gradient(145deg,#fbf7f2,#f3e8dd)!important;border:1px solid rgba(67,43,29,.13)!important;border-radius:30px!important;box-shadow:0 18px 54px rgba(55,33,20,.06);overflow:hidden!important}
.single-product .woocommerce-product-gallery__image img{aspect-ratio:1/1;object-fit:contain!important;padding:clamp(12px,2vw,24px);width:100%!important}
.single-product .woocommerce-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;margin:12px 0 0!important;padding:0!important}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{float:none!important;width:auto!important}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{aspect-ratio:1/1;object-fit:contain;background:#fbf6f0;border:1px solid var(--rf-line)!important;border-radius:13px!important;opacity:.7!important;padding:3px}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{border-color:var(--rf-rose-dark)!important;opacity:1!important}
.single-product .rf-single-brand{font-size:11px;margin-bottom:8px}
.single-product div.product .product_title{font-size:clamp(40px,4.3vw,62px);line-height:.98;margin:0 0 10px;max-width:720px;text-wrap:balance}
.rf-v4139-orientation{align-items:center;color:var(--rf-ink-soft);display:flex;flex-wrap:wrap;font-size:11px;gap:7px 10px;line-height:1.45;margin:0 0 10px}
.rf-v4139-orientation span+span{position:relative;padding-left:12px}.rf-v4139-orientation span+span:before{background:currentColor;border-radius:50%;content:"";height:3px;left:0;opacity:.45;position:absolute;top:50%;transform:translateY(-50%);width:3px}
.rf-v4139-product-actions{align-items:center;border-block:1px solid var(--rf-line-soft);display:flex;gap:3px;margin:11px 0 16px;padding:8px 0}
.rf-v4139-product-actions button{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--rf-ink-soft);cursor:pointer;display:inline-flex;font:inherit;font-size:11px;font-weight: 700;gap:6px;min-height:38px;padding:0 11px}
.rf-v4139-product-actions button:hover,.rf-v4139-product-actions button:focus-visible,.rf-v4139-product-actions button[aria-pressed="true"]{background:var(--rf-canvas);color:var(--rf-rose-dark)}
.rf-v4139-product-actions button>span{font-size:17px;line-height:1}.rf-v4139-product-actions em{font-style:normal}
.single-product div.product p.price,.single-product div.product span.price{align-items:baseline;color:var(--rf-ink);display:flex;flex-wrap:wrap;font-size:27px;font-weight: 800;gap:8px;margin:6px 0 4px}
.single-product div.product p.price del{font-size:16px;font-weight:600;opacity:.58}.single-product div.product p.price ins{text-decoration:none}
.rf-v4139-saving{align-items:center;background:#f2dfd6;border-radius:999px;color:#7b4439;display:inline-flex;font-size:10px;font-weight: 700;gap:5px;margin:4px 0 10px;padding:6px 10px}.rf-v4139-saving strong{font-size:inherit}
.single-product .woocommerce-product-details__short-description{color:var(--rf-ink-soft);font-size:14px;line-height:1.72;margin:0 0 15px;max-width:660px}
.rf-v4139-fit{border-block:1px solid var(--rf-line-soft);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 15px;padding:3px 0}
.rf-v4139-fit>div{min-width:0;padding:12px 12px 12px 0}.rf-v4139-fit>div:nth-child(even){border-left:1px solid var(--rf-line-soft);padding-left:12px}
.rf-v4139-fit dt{color:var(--rf-ink-soft);font-size:8.5px;font-weight: 800;letter-spacing:.08em;margin-bottom:5px;text-transform:uppercase}.rf-v4139-fit dd{font-size:11px;font-weight: 700;line-height:1.45;margin:0;overflow-wrap:anywhere}
.single-product .rf-p6-purchase-status{margin:8px 0 12px}
.single-product .summary form.cart{background:#fffaf5!important;border:1px solid var(--rf-line)!important;border-radius:20px!important;box-shadow:0 12px 34px rgba(55,33,20,.04);gap:10px!important;margin:0 0 12px!important;padding:13px!important}
.single-product .summary form.cart:not(.variations_form){align-items:center;display:grid!important;grid-template-columns:minmax(96px,118px) minmax(0,1fr) minmax(0,1fr)!important}
.single-product .summary .woocommerce-variation-add-to-cart{align-items:center;display:grid!important;gap:10px!important;grid-template-columns:minmax(96px,118px) minmax(0,1fr) minmax(0,1fr)!important}
.single-product .summary form.cart .quantity{margin:0!important;width:100%}
.single-product .summary form.cart .single_add_to_cart_button,.single-product .summary form.cart .rf-v4139-buy-now{border:1px solid var(--rf-ink)!important;border-radius:999px!important;font-size:11px!important;font-weight: 800!important;margin:0!important;min-height:52px!important;min-width:0!important;padding:0 14px!important;width:100%}
.single-product .summary form.cart .single_add_to_cart_button{background:var(--rf-ink)!important;color:#fff!important}.single-product .summary form.cart .rf-v4139-buy-now{background:transparent!important;color:var(--rf-ink)!important}.single-product .summary form.cart .rf-v4139-buy-now:hover{background:var(--rf-ink)!important;color:#fff!important}.single-product .summary form.cart .rf-v4139-buy-now:disabled{cursor:not-allowed;opacity:.45}
.single-product .summary table.variations{border-bottom:1px solid var(--rf-line-soft);margin-bottom:12px;padding-bottom:10px}.single-product .summary table.variations select{background-color:#fffaf5!important}
.rf-v4139-trust{border:1px solid var(--rf-line);border-radius:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0 0;overflow:hidden}
.rf-v4139-trust>a{align-items:start;background:rgba(255,255,255,.54);color:inherit;display:grid;gap:9px;grid-template-columns:25px minmax(0,1fr);min-width:0;padding:13px;text-decoration:none}.rf-v4139-trust>a+a{border-left:1px solid var(--rf-line-soft)}
.rf-v4139-trust>a>span{align-items:center;background:var(--rf-canvas);border-radius:999px;color:var(--rf-rose-dark);display:flex;font-size:13px;height:25px;justify-content:center;width:25px}.rf-v4139-trust strong{display:block;font-size:10px;line-height:1.25;margin-bottom:3px}.rf-v4139-trust small{color:var(--rf-ink-soft);display:block;font-size:8.5px;line-height:1.4}.rf-v4139-trust>a:hover{background:var(--rf-canvas)}
.rf-v4139-product-ref{align-items:center;color:var(--rf-ink-soft);display:flex;font-size:9px;gap:8px;margin:10px 2px 0}.rf-v4139-product-ref strong{color:var(--rf-ink);font-size:9px}
.single-product .woocommerce-tabs{grid-column:1/-1;margin-top:54px!important;padding-top:26px!important}.single-product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--rf-line-soft)!important;gap:6px!important;margin:0 0 26px!important;padding:0 0 12px!important}.single-product .woocommerce-tabs ul.tabs li{background:transparent!important;border:0!important;border-radius:999px!important}.single-product .woocommerce-tabs ul.tabs li a{border-radius:999px;color:var(--rf-ink-soft);font-size:10px;font-weight:800;padding:10px 14px!important}.single-product .woocommerce-tabs ul.tabs li.active a{background:var(--rf-ink);color:#fff!important}.single-product .woocommerce-tabs .panel{color:var(--rf-ink-soft);font-size:14px;line-height:1.75;max-width:960px}.single-product .woocommerce-tabs .panel>h2:first-child{color:var(--rf-ink);font-size:clamp(28px,3vw,42px);margin-bottom:16px}
.rf-v4139-qa p{max-width:720px}.rf-v4139-qa-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.single-product .related.products,.single-product .upsells.products,.single-product .rf-v49-complete-routine,.single-product .rf-complete-routine{grid-column:1/-1}
@media(max-width:980px){.single-product div.product{grid-template-columns:1fr;gap:24px}.single-product div.product div.images{position:static}.single-product div.product .summary{padding-top:0}.single-product .woocommerce-tabs,.single-product .related.products,.single-product .upsells.products{grid-column:auto}}
@media(max-width:620px){
 .single-product .rf-woocommerce-main{padding-top:12px}.single-product div.product{gap:20px}.single-product .woocommerce-product-gallery__wrapper{border-radius:22px!important}.single-product .woocommerce-product-gallery__image img{padding:10px}.single-product .woocommerce-product-gallery .flex-control-thumbs{display:flex!important;gap:7px!important;overflow-x:auto!important;padding-bottom:3px!important;scrollbar-width:none}.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{display:none}.single-product .woocommerce-product-gallery .flex-control-thumbs li{flex:0 0 68px!important}
 .single-product div.product .product_title{font-size:36px!important;line-height:1.02;margin-bottom:9px}.single-product div.product p.price,.single-product div.product span.price{font-size:24px!important}.rf-v4139-product-actions{margin-block:10px 14px}.rf-v4139-product-actions button{font-size:10px;padding-inline:9px}.single-product .woocommerce-product-details__short-description{font-size:12px;line-height:1.6}.rf-v4139-fit{grid-template-columns:1fr 1fr}.rf-v4139-fit>div{padding-block:10px}
 .single-product .summary form.cart{border-radius:18px!important;padding:11px!important}.single-product .summary form.cart:not(.variations_form),.single-product .summary .woocommerce-variation-add-to-cart{grid-template-columns:72px minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important}.single-product .summary form.cart .single_add_to_cart_button,.single-product .summary form.cart .rf-v4139-buy-now{font-size:10px!important;min-height:48px!important;padding-inline:7px!important}
 .rf-v4139-trust{grid-template-columns:1fr}.rf-v4139-trust>a{grid-template-columns:25px 1fr;min-height:0;padding:11px 12px}.rf-v4139-trust>a+a{border-left:0;border-top:1px solid var(--rf-line-soft)}.single-product .woocommerce-tabs{margin-top:38px!important;padding-top:20px!important}.single-product .woocommerce-tabs ul.tabs{margin-inline:-20px!important;padding-inline:20px!important;width:calc(100% + 40px)}.single-product .woocommerce-tabs .panel{font-size:13px}
}
@media(max-width:390px){.single-product .summary form.cart:not(.variations_form),.single-product .summary .woocommerce-variation-add-to-cart{grid-template-columns:82px minmax(0,1fr)!important}.single-product .summary form.cart .rf-v4139-buy-now{grid-column:1/-1}}


/* rosaifa-typography-v4140 */
/* Rosaifa 4.14.1 — premium beauty typography with legible commerce microcopy. */
:root{
  --rf-type-body:16px;
  --rf-type-small:13px;
  --rf-type-micro:12px;
  --rf-type-button:14px;
  --rf-type-card-title:15px;
  --rf-type-card-price:17px;
  --rf-type-page:clamp(52px,5vw,64px);
  --rf-type-section:clamp(38px,3.5vw,46px);
  --rf-type-hero:clamp(48px,5.5vw,66px);
}
body{font-size:var(--rf-type-body);line-height:1.55;letter-spacing:-.005em}
.rf-display{
  font-family:var(--rf-serif);
  font-weight:500;
  letter-spacing:-.026em;
}
.woocommerce-products-header__title.page-title,
.rf-page-header h1,
.rf-entry-header h1{
  font-family:var(--rf-sans);
  font-weight:600;
  letter-spacing:-.035em;
}
.rf-eyebrow,
.rf-loop-brand,
.rf-single-brand,
.rf-p5-field>span:first-child,
.rf-v4139-fit dt{
  font-family:var(--rf-sans);
  font-weight:700;
  letter-spacing:.09em;
}

/* Premium editorial scale: restrained rather than oversized. */
.rf-hero-slide-content .rf-display{font-size:var(--rf-type-hero);line-height:.98;max-width:14ch}
.rf-section-head .rf-display{font-size:var(--rf-type-section);line-height:1.02}
.woocommerce-products-header__title.page-title{font-size:var(--rf-type-page);line-height:.98;letter-spacing:-.03em}
.rf-page-header h1,.rf-entry-header h1{font-size:var(--rf-type-page);line-height:1}
.rf-entry-content{font-size:16px;line-height:1.68}
.rf-entry-content h2{font-family:var(--rf-serif);font-size:clamp(30px,3vw,38px);font-weight:500;line-height:1.08}
.rf-entry-content h3{font-family:var(--rf-sans);font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.2}

/* UI and action typography. */
.rf-button,.wp-element-button,.wp-block-button__link,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
button.single_add_to_cart_button{
  font-family:var(--rf-sans);
  font-size:var(--rf-type-button);
  font-weight:600;
  letter-spacing:-.01em;
}
.rf-arrow-link,.rf-announcement{font-family:var(--rf-sans);font-size:13px;font-weight:500}

/* Shop/product cards: modern retail proportions. */
.woocommerce ul.products li.product .rf-loop-brand,
.rf-product-meta .rf-brand,.woocommerce ul.products li.product .rf-brand{
  font-size:var(--rf-type-micro)!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.rf-product-name,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--rf-sans)!important;
  font-size:var(--rf-type-card-title)!important;
  font-weight:600!important;
  line-height:1.34!important;
  letter-spacing:-.012em!important;
}
.rf-price,.woocommerce ul.products li.product .price{
  font-family:var(--rf-sans)!important;
  font-size:var(--rf-type-card-price)!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
}
.rf-loop-stock{font-size:var(--rf-type-micro)!important;font-weight:500!important;line-height:1.35!important}
.woocommerce ul.products li.product .button{font-size:13px!important;font-weight:600!important}
.woocommerce ul.products li.product .rf-v48-compare-loop{font-size:var(--rf-type-micro)!important;font-weight:500!important}

/* Filter sheet: readable, calm and dense. */
.rf-p5-filter-sheet h2,
.rf-p5-filter-sheet .rf-p5-mobile-head strong{
  font-family:var(--rf-sans)!important;
  font-size:28px!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}
.rf-p5-filter-sheet .rf-p5-mobile-head small{font-size:13px!important;line-height:1.45!important;font-weight:500!important}
.rf-p5-filter-sheet .rf-p5-field>span:first-child{font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important}
.rf-p5-filter-sheet input,.rf-p5-filter-sheet select{font-size:16px!important;font-weight:500!important}
.rf-p5-filter-sheet .rf-p5-apply{font-size:14px!important;font-weight:600!important}

/* Product detail: clean commerce typography, not oversized editorial text. */
.single-product div.product .product_title{
  font-family:var(--rf-sans)!important;
  font-size:clamp(36px,3.6vw,48px)!important;
  font-weight:600!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
}
.single-product div.product p.price,
.single-product div.product span.price{font-family:var(--rf-sans);font-size:24px!important;font-weight:700;letter-spacing:-.02em}
.single-product .woocommerce-product-details__short-description{font-size:15px!important;line-height:1.65!important;font-weight:400}
.rf-v4139-orientation{font-size:12px;line-height:1.45}
.rf-v4139-product-actions button{font-size:12px;font-weight:600}
.rf-v4139-fit dt{font-size:11px!important;font-weight:700!important}
.rf-v4139-fit dd{font-size:13px!important;font-weight:600!important;line-height:1.4!important}
.single-product .summary form.cart .single_add_to_cart_button,
.single-product .summary form.cart .rf-v4139-buy-now{font-size:14px!important;font-weight:600!important}
.rf-v4139-trust strong{font-size:12px}.rf-v4139-trust small{font-size:12px;line-height:1.45}
.single-product .woocommerce-tabs .panel{font-size:15px;line-height:1.68}
.single-product .woocommerce-tabs ul.tabs li a{font-size:13px;font-weight:600}

/* Category and helper cards. */
.rf-category-card-copy strong{font-family:var(--rf-sans);font-size:19px;line-height:1.15;font-weight:600;letter-spacing:-.012em}
.rf-concern-card-v2 strong{font-family:var(--rf-sans);font-size:19px;line-height:1.2;font-weight:600}
.rf-p4-guidance-card strong{font-family:var(--rf-serif);font-weight:500}

/* Mobile navigation must stay legible. */
@media(max-width:760px){
  :root{
    --rf-type-body:16px;
    --rf-type-card-title:14px;
    --rf-type-card-price:16px;
    --rf-type-page:44px;
    --rf-type-section:32px;
    --rf-type-hero:42px;
    --rf-type-button:14px;
  }
  body{font-size:16px;line-height:1.52}
  .rf-hero-slide-content .rf-display{font-size:42px;line-height:.98;max-width:12ch}
  .woocommerce-products-header__title.page-title{font-size:44px!important;line-height:.98!important}
  .rf-section-head .rf-display{font-size:32px;line-height:1.04}
  .rf-category-card-copy strong{font-size:16px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;line-height:1.36!important}
  .woocommerce ul.products li.product .price{font-size:16px!important}
  .woocommerce ul.products li.product .button{font-size:13px!important}
  .woocommerce ul.products li.product .rf-v48-compare-loop{font-size:12px!important}
  .single-product div.product .product_title{font-size:30px!important;line-height:1.1!important}
  .single-product div.product p.price,.single-product div.product span.price{font-size:22px!important}
  .single-product .woocommerce-product-details__short-description{font-size:15px!important}
  .rf-p5-filter-sheet h2,.rf-p5-filter-sheet .rf-p5-mobile-head strong{font-size:27px!important}
  .rf-v411-mobile-nav a,.rf-context-mobile-nav a,.rf-context-mobile-nav button{font-size:12px!important;font-weight:600!important;line-height:1.15!important}
}
@media(max-width:390px){
  :root{--rf-type-page:40px;--rf-type-hero:38px}
  .rf-hero-slide-content .rf-display{font-size:38px}
  .woocommerce-products-header__title.page-title{font-size:40px!important}
  .single-product div.product .product_title{font-size:28px!important}
}

/* Forms, account, cart and footer: remove undersized legacy text. */
.woocommerce form .form-row label,.rf-field label{font-size:12px!important;font-weight:600!important;letter-spacing:.01em!important}
.woocommerce input,.woocommerce select,.woocommerce textarea,.rf-live-search-input{font-family:var(--rf-sans);font-size:16px}
.woocommerce .woocommerce-breadcrumb{font-size:12px;letter-spacing:.055em}
.rf-site-footer{font-family:var(--rf-sans);font-size:15px;line-height:1.6}
.rf-site-footer :is(h2,h3,.widget-title){font-family:var(--rf-sans);font-weight:600;letter-spacing:.04em}
.rf-site-footer small,.rf-site-footer .rf-footer-meta{font-size:12px}
.rf-filter-widget .widget-title{font-family:var(--rf-serif);font-size:24px;font-weight:500;line-height:1.05}
.rf-search-shell input[type="search"],.rf-search-shell .rf-live-search-input{font-size:16px;font-weight:400;letter-spacing:-.01em}


/* rosaifa-layout-v4142 */
/* Rosaifa 4.14.2 — section-by-section layout harmony. */

/* Shared section heading rhythm and safe alignment. */
.rf-home-p4 .rf-section-head,
.rf-home-p4 .rf-section-head-wide{
  align-items:end;
  column-gap:24px;
}
.rf-home-p4 .rf-section-head .rf-display{margin-block:0;min-width:0}
.rf-home-p4 .rf-section-head>.rf-arrow-link{
  align-self:end;
  justify-self:end;
  margin-bottom:4px;
  white-space:nowrap;
}

/* Ten homepage categories become two balanced rows on wide screens. */
@media(min-width:1181px){
  .rf-front-page .rf-category-grid-v2{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .rf-front-page .rf-category-art-v2{aspect-ratio:1.22/1}
  .rf-front-page .rf-category-card-copy{padding:15px 15px 17px}
}

/* Keep category cards and their content aligned within every row. */
.rf-category-grid-v2{align-items:stretch}
.rf-category-grid-v2>.rf-category-card-v2{height:100%;grid-template-rows:auto 1fr}
.rf-category-card-copy{align-content:start}
.rf-category-card-copy em{align-self:end}

/* Homepage product cards keep image, title, price and actions on common rows. */
.rf-products-section .rf-product-grid{align-items:stretch}
.rf-products-section .rf-product-card{display:flex;flex-direction:column;height:100%;min-width:0}
.rf-products-section .rf-product-card>.rf-product-meta{display:flex;flex:1 1 auto;flex-direction:column}
.rf-products-section .rf-product-card .rf-price{margin-top:auto}
.rf-products-section .rf-product-card .rf-quick-add,
.rf-products-section .rf-product-card .button{margin-top:12px}

/* Top-level Shop discovery has exactly five cards: one calm, complete row. */
@media(min-width:1101px){
  .woocommerce-shop .rf-archive-subcats{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
.rf-archive-subcats{align-items:stretch}
.rf-archive-subcat{height:100%;min-width:0}

/* Archive cards remain vertically aligned even with long product names. */
.post-type-archive-product .woocommerce ul.products li.product,
.tax-product_cat .woocommerce ul.products li.product,
.tax-product_tag .woocommerce ul.products li.product{height:100%}
.post-type-archive-product .woocommerce ul.products li.product>.button,
.tax-product_cat .woocommerce ul.products li.product>.button,
.tax-product_tag .woocommerce ul.products li.product>.button{width:100%}

/* PDP: stable gallery plane and balanced commerce column. */
.single-product .woocommerce-product-gallery__wrapper{min-height:clamp(420px,48vw,660px)}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image>a{display:block;height:100%;min-height:inherit}
.single-product .woocommerce-product-gallery__image img{display:block;margin:auto;min-height:inherit}
.single-product div.product .summary{align-self:start}
.single-product .summary form.cart{width:100%}

/* Cart, checkout and account headings share the storefront content edge. */
.woocommerce-cart .rf-woocommerce-main,
.woocommerce-checkout .rf-woocommerce-main,
.woocommerce-account .rf-woocommerce-main{min-width:0}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{min-width:0}

/* Footer columns align from the same top line without changing disclosure logic. */
.rf-site-footer .rf-footer-grid{align-items:start}
.rf-site-footer .rf-footer-col,
.rf-site-footer .rf-footer-brand{min-width:0}

@media(max-width:1180px) and (min-width:821px){
  .rf-front-page .rf-category-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))}
  .woocommerce-shop .rf-archive-subcats{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:820px){
  .rf-home-p4 .rf-p4-section{padding-block:36px}
  .rf-home-p4 .rf-section-head,
  .rf-home-p4 .rf-section-head-wide{
    align-items:end;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .rf-home-p4 .rf-section-head>.rf-arrow-link{font-size:12px;margin-bottom:3px}
  .rf-front-page .rf-category-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-p4-campaign .rf-editorial-split-grid{grid-template-columns:1fr}
  .rf-p4-campaign .rf-editorial-image{border-radius:22px 22px 0 0;min-height:300px}
  .rf-p4-campaign .rf-editorial-copy{border-radius:0 0 22px 22px;padding:30px 24px}
  .rf-authenticity-grid{align-items:start}
  .single-product .woocommerce-product-gallery__wrapper{min-height:auto}
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image>a,
  .single-product .woocommerce-product-gallery__image img{min-height:0}
}

@media(max-width:520px){
  .rf-home-p4 .rf-section-head .rf-display{font-size:32px;line-height:1.04}
  .rf-home-p4 .rf-section-head>.rf-arrow-link{font-size:11px;white-space:normal;text-align:right}
  .rf-category-card-copy strong{font-size:16px;overflow-wrap:anywhere}
  .rf-category-card-copy em{font-size:10px;margin-top:10px}
  .rf-products-section .rf-product-card .rf-quick-add,
  .rf-products-section .rf-product-card .button{min-height:42px}
  .rf-p4-concern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-p4-campaign .rf-editorial-image{min-height:250px}
  .rf-p4-campaign .rf-editorial-copy{padding:26px 20px}
  .rf-p4-campaign .rf-editorial-copy h2{font-size:40px;line-height:1.02}
  .single-product .summary form.cart:not(.variations_form),
  .single-product .summary .woocommerce-variation-add-to-cart{
    grid-template-columns:76px minmax(0,1fr)!important;
  }
  .single-product .summary form.cart .rf-v4139-buy-now{grid-column:1/-1}
  .rf-site-footer .rf-footer-signature{padding-block:34px 28px}
}

@media(max-width:370px){
  .rf-home-p4 .rf-section-head,
  .rf-home-p4 .rf-section-head-wide{display:block}
  .rf-home-p4 .rf-section-head>.rf-arrow-link{display:inline-flex;margin-top:10px;text-align:left}
}


/* rosaifa-mobile-v4143 */
/* Rosaifa 4.14.3 — storefront-wide mobile layout polish. */

@media (max-width: 760px) {
  html { overflow-x: hidden; }
  body { overflow-x: clip; }
  body:not(.woocommerce-checkout) { padding-bottom: max(82px, calc(72px + env(safe-area-inset-bottom))) !important; }

  .rf-container,
  .woocommerce .rf-container,
  .rf-content-container,
  .rf-narrow-container { width: 100%; max-width: 100%; padding-inline: 18px; }

  .rf-main,
  .rf-content-area { min-width: 0; }

  .rf-main img,
  .rf-entry-content img { height: auto; max-width: 100%; }

  .rf-entry-content,
  .rf-builder-content,
  .woocommerce { overflow-wrap: anywhere; }

  .rf-button,
  button,
  input,
  select,
  textarea { max-width: 100%; }

  .rf-button { min-height: 46px; white-space: normal; }

  /* Header and fixed quick navigation. */
  .rf-trustbar-inner { min-height: 34px; padding-block: 6px; }
  .rf-site-header .rf-header-main { grid-template-columns: 48px minmax(0, 1fr) 48px; min-height: 78px; padding-inline: 18px; }
  .rf-site-header .rf-brand { min-width: 0; justify-self: center; }
  .rf-site-header .rf-brand img,
  .rf-site-header .custom-logo,
  .rf-site-header .rf-fallback-logo img { height: auto !important; max-height: 54px; max-width: min(210px, 54vw) !important; }
  .rf-site-header .rf-icon-button,
  .rf-site-header .rf-menu-toggle { height: 48px; min-width: 48px; }
  .rf-v411-mobile-nav { z-index: 1002; }

  /* Shared page hierarchy and content rhythm. */
  .rf-page-header,
  .rf-entry-header { margin-bottom: 24px; }
  .rf-page-header .rf-display,
  .rf-entry-header .rf-display,
  .rf-policy-hero .rf-display,
  .rf-v48-hero .rf-display { font-size: clamp(36px, 10.8vw, 46px) !important; line-height: 1.02 !important; text-wrap: balance; }
  .rf-entry-content { font-size: 16px; line-height: 1.72; }
  .rf-entry-content > * { max-width: 100%; }
  .rf-entry-content table,
  .rf-product-table-wrap,
  .rf-v48-compare-scroll { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Homepage: consistent two-column discovery and one-column editorial blocks. */
  .rf-home-p4 .rf-p4-section { padding-block: 34px; }
  .rf-hero-slide-card,
  .rf-editorial-split-grid,
  .rf-dual-editorial-grid,
  .rf-home-guide-grid,
  .rf-newsletter-grid { grid-template-columns: 1fr !important; }
  .rf-hero-slide-content { padding: 24px 20px 26px; }
  .rf-hero-slide-content .rf-display { font-size: clamp(34px, 10vw, 43px) !important; line-height: 1.02 !important; }
  .rf-decision-support-grid,
  .rf-category-grid-v2,
  .rf-p4-concern-grid,
  .rf-brand-grid-v2 { gap: 12px; }
  .rf-category-card-v2,
  .rf-concern-card-v2 { min-width: 0; }
  .rf-section-head,
  .rf-section-head-wide { column-gap: 14px !important; margin-bottom: 20px; }
  .rf-section-head .rf-display,
  .rf-section-head-wide .rf-display { overflow-wrap: normal; text-wrap: balance; }

  /* Shop, archives and search: stable two-column catalogue. */
  .woocommerce-page .rf-woocommerce-main { padding-inline: 18px; }
  .woocommerce-products-header { margin-bottom: 20px; }
  .woocommerce-products-header__title { font-size: clamp(38px, 11vw, 48px) !important; line-height: 1 !important; }
  .rf-p5-shop-toolbar { align-items: stretch; gap: 9px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rf-p5-shop-toolbar > * { min-width: 0; width: 100%; }
  .woocommerce ul.products,
  .rf-product-grid { align-items: stretch; column-gap: 12px !important; row-gap: 24px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .woocommerce ul.products li.product,
  .rf-product-card { display: flex; flex-direction: column; height: 100%; min-width: 0; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .rf-product-card-title { min-height: 0; overflow-wrap: anywhere; }
  .woocommerce ul.products li.product .button,
  .rf-product-card .button,
  .rf-product-card .rf-quick-add { margin-top: auto; width: 100%; }
  .rf-archive-subcats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* PDP: clean hierarchy, balanced purchase controls and compact trust. */
  .single-product .rf-woocommerce-main { padding-top: 10px; }
  .single-product div.product { gap: 16px !important; }
  .single-product div.product div.images { margin-bottom: 0 !important; }
  .single-product .woocommerce-product-gallery__wrapper { border-radius: 20px !important; min-height: 0 !important; }
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image > a { min-height: 0 !important; }
  .single-product .woocommerce-product-gallery__image img { aspect-ratio: 1 / 1; max-height: 92vw; min-height: 0 !important; object-fit: contain !important; padding: 10px; }
  .single-product div.product .summary { min-width: 0; padding-top: 2px !important; position: relative; z-index: 1; }
  .single-product div.product .product_title { margin: 0 0 8px !important; overflow: visible; text-wrap: pretty; }
  .rf-v4139-orientation { margin-bottom: 8px; }
  .rf-v4139-product-actions { margin-block: 8px 12px !important; padding-block: 8px; }
  .single-product .woocommerce-product-details__short-description { margin-bottom: 12px; }
  .rf-v4139-fit { margin-block: 12px; }
  .single-product .rf-p6-purchase-status { margin-block: 8px 12px; }
  .single-product .summary form.cart { gap: 9px !important; margin-bottom: 10px !important; padding: 12px !important; }
  .single-product .summary form.cart:not(.variations_form),
  .single-product .summary .woocommerce-variation-add-to-cart { align-items: stretch; grid-template-columns: 94px minmax(0, 1fr) !important; }
  .single-product .summary form.cart .quantity { grid-column: 1; width: 100%; }
  .single-product .summary form.cart .single_add_to_cart_button { grid-column: 2; }
  .single-product .summary form.cart .rf-v4139-buy-now { grid-column: 1 / -1; }
  .single-product .summary form.cart .single_add_to_cart_button,
  .single-product .summary form.cart .rf-v4139-buy-now { font-size: 14px !important; min-height: 50px !important; padding-inline: 12px !important; }
  .rf-v4139-trust { margin-top: 10px; }
  .rf-v4139-trust > a { padding: 12px !important; }
  .rf-purchase-reassurance { display: none !important; }
  .single-product .woocommerce-tabs { margin-top: 28px !important; padding-top: 18px !important; }
  .single-product .woocommerce-tabs ul.tabs { gap: 6px !important; margin: 0 0 22px !important; margin-inline: 0 !important; padding: 0 0 10px !important; scroll-padding-inline: 8px; width: 100% !important; }
  .single-product .woocommerce-tabs ul.tabs li a { padding: 10px 13px !important; }
  .single-product .woocommerce-tabs .panel { font-size: 15px; line-height: 1.7; }
  .single-product .woocommerce-tabs .panel > h2:first-child { font-size: clamp(32px, 9vw, 38px); }

  /* The sticky purchase bar replaces, rather than overlaps, quick navigation. */
  .single-product .rf-mobile-purchase { border: 1px solid var(--rf-line); border-radius: 20px; bottom: max(8px, env(safe-area-inset-bottom)) !important; left: 8px; padding: 9px 10px; right: 8px; z-index: 1003; }
  body.rf-context-purchase-visible .rf-v411-mobile-nav,
  body.single-product:has(.rf-mobile-purchase.is-visible) .rf-v411-mobile-nav { opacity: 0; pointer-events: none; transform: translateY(120%); }

  /* Cart, checkout and account: single readable column without squeezed fields. */
  .woocommerce-cart .rf-v411-commerce-head,
  .woocommerce-checkout .rf-v411-checkout-head,
  .woocommerce-account .rf-v411-account-hero { gap: 18px; grid-template-columns: 1fr !important; }
  .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals,
  .woocommerce-checkout form.checkout,
  .woocommerce-checkout .col2-set,
  .woocommerce-account .woocommerce { min-width: 0; }
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout .rf-p7-checkout-grid,
  .woocommerce-account .woocommerce { grid-template-columns: 1fr !important; }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { float: none; width: 100%; }
  .woocommerce form input.input-text,
  .woocommerce form textarea,
  .woocommerce form select,
  .select2-container { width: 100% !important; }
  .woocommerce-cart table.shop_table_responsive tr,
  .woocommerce-account table.shop_table_responsive tr { padding-block: 12px; }
  .woocommerce-cart .coupon { display: grid; gap: 8px; grid-template-columns: 1fr; width: 100%; }
  .woocommerce-cart .coupon .input-text,
  .woocommerce-cart .coupon .button,
  .woocommerce-cart .actions > .button { float: none !important; width: 100% !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; }

  /* Journal, policy, guide and utility pages. */
  .rf-post-grid,
  .rf-policy-grid,
  .rf-guide-info-grid,
  .rf-guide-routine-columns,
  .rf-guide-selector-grid,
  .rf-routine-grid,
  .rf-routine-match-grid,
  .rf-v410-qc-process,
  .rf-v410-qc-guide-grid,
  .rf-v410-form-grid,
  .rf-v412-contact-grid,
  .rf-v412-eligibility-grid,
  .rf-v46-package-grid,
  .rf-v47-tier-grid,
  .rf-v48-home-intel-grid,
  .rf-v48-ingredient-grid,
  .rf-v49-complete-grid,
  .rf-v49-gap-grid,
  .rf-v49-program-grid,
  .rf-v49-trust-grid { grid-template-columns: 1fr !important; }
  .rf-v48-compat-controls { align-items: stretch; display: grid; gap: 8px; grid-template-columns: 1fr; }
  .rf-v48-compat-controls > span { display: none; }
  .rf-v48-hero-actions,
  .rf-guide-hero-actions,
  .rf-v4139-qa-actions,
  .rf-v411-empty-actions,
  .rf-p7-thankyou-actions { align-items: stretch; display: grid; gap: 10px; grid-template-columns: 1fr; }
  .rf-v48-hero-actions .rf-button,
  .rf-guide-hero-actions .rf-button,
  .rf-v4139-qa-actions .rf-button { width: 100%; }

  /* Footer: clean accordions and enough clearance for fixed controls. */
  .rf-site-footer { padding-bottom: max(96px, calc(86px + env(safe-area-inset-bottom))) !important; }
  .rf-footer-grid { gap: 0; grid-template-columns: 1fr !important; }
  .rf-footer-brand { padding-bottom: 22px; }
}

@media (max-width: 420px) {
  .rf-container,
  .woocommerce .rf-container,
  .rf-content-container,
  .rf-narrow-container,
  .woocommerce-page .rf-woocommerce-main { padding-inline: 16px; }
  .rf-site-header .rf-header-main { padding-inline: 14px; }
  .rf-home-p4 .rf-section-head .rf-display { font-size: 30px; }
  .woocommerce ul.products,
  .rf-product-grid { column-gap: 10px !important; }
  .single-product .summary form.cart:not(.variations_form),
  .single-product .summary .woocommerce-variation-add-to-cart { grid-template-columns: 88px minmax(0, 1fr) !important; }
  .single-product .rf-mobile-purchase small { max-width: 47vw; }
  .single-product .rf-mobile-purchase button { max-width: 44%; }
}

@media (max-width: 340px) {
  .rf-decision-support-grid,
  .rf-category-grid-v2,
  .rf-p4-concern-grid,
  .rf-brand-grid-v2,
  .rf-archive-subcats,
  .woocommerce ul.products,
  .rf-product-grid { grid-template-columns: 1fr !important; }
  .rf-p5-shop-toolbar { grid-template-columns: 1fr; }
}


/* rosaifa-mobile-hotfix-v4144 */
/* Rosaifa 4.14.4 — mobile PDP gallery flow hotfix. */

@media (max-width: 760px) {
  /* Breadcrumb consumed valuable space and amplified the gallery offset. */
  .single-product .woocommerce-breadcrumb { display: none !important; }
  .single-product .rf-woocommerce-main { padding-top: 16px !important; }
  .single-product div.product { margin-top: 0 !important; }

  /*
   * FlexSlider calculates its viewport from the source image ratio. The prior
   * mobile rule then made the image square, so the image could become taller
   * than that calculated viewport and the summary entered the same visual row.
   * Give the viewport/slide the square plane instead; the image only fills it.
   */
  .single-product div.product div.images {
    clear: both;
    display: block !important;
    min-height: 0;
    overflow: visible;
  }
  .single-product div.product div.images::after {
    clear: both;
    content: "";
    display: table;
  }
  .single-product .woocommerce-product-gallery > .flex-viewport,
  .single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    width: 100%;
  }
  .single-product .woocommerce-product-gallery > .flex-viewport {
    background: linear-gradient(145deg, #fbf7f2, #f3e8dd);
    border: 1px solid rgba(67, 43, 29, .13);
    border-radius: 20px;
    box-shadow: 0 18px 54px rgba(55, 33, 20, .06);
  }
  .single-product .woocommerce-product-gallery > .flex-viewport > .woocommerce-product-gallery__wrapper {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 100% !important;
    min-height: 0 !important;
  }
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image > a {
    box-sizing: border-box;
    height: 100% !important;
    min-height: 0 !important;
  }
  .single-product .woocommerce-product-gallery__image img {
    aspect-ratio: auto !important;
    box-sizing: border-box;
    display: block;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    width: 100% !important;
  }
  .single-product div.product .summary {
    clear: both;
    margin-top: 0 !important;
    position: static !important;
  }
}


/* rosaifa-mobile-home-footer-v4145 */
/* Rosaifa 4.14.5 — compact centered mobile hero and premium mobile footer. */

@media (max-width: 760px) {
  /* Hero: balanced, centered copy with less space below the image. */
  .rf-front-page .rf-hero-slider-section { padding: 8px 0 18px; }
  .rf-front-page .rf-hero-slider { gap: 9px; }
  .rf-front-page .rf-hero-slider-viewport {
    transition: height .28s ease;
    will-change: height;
  }
  .rf-front-page .rf-hero-slider-track { align-items: flex-start; }
  .rf-front-page .rf-hero-slide { align-self: flex-start; }
  .rf-front-page .rf-hero-slide-card { align-content: start; }
  .rf-front-page .rf-hero-slide-media { border-radius: 22px; }
  .rf-front-page .rf-hero-slide-media img { aspect-ratio: 1.16 / 1; }
  .rf-front-page .rf-hero-slide-content {
    align-content: start;
    justify-items: center;
    max-width: 100%;
    padding: 18px 16px 5px;
    text-align: center;
  }
  .rf-front-page .rf-hero-slide-content .rf-eyebrow {
    font-size: 10px;
    letter-spacing: .17em;
  }
  .rf-front-page .rf-hero-slide-content .rf-display {
    font-size: clamp(34px, 9.4vw, 40px) !important;
    line-height: .98 !important;
    max-width: 13ch;
    text-wrap: balance;
  }
  .rf-front-page .rf-hero-slide-content p {
    font-size: 14px;
    line-height: 1.5;
    max-width: 34ch;
  }
  .rf-front-page .rf-hero-slider-dots { gap: 8px; padding: 5px 0 1px; }
  .rf-front-page .rf-hero-dot { height: 9px; width: 9px; }
  .rf-front-page .rf-hero-dot.is-active { width: 28px; }

  /* Footer: compact dark-luxury treatment and clearer hierarchy. */
  .rf-site-footer {
    --rf-footer-bg: #241814;
    --rf-footer-surface: #30201a;
    --rf-footer-ink: #fff8f2;
    --rf-footer-muted: #cdbeb5;
    --rf-footer-line: rgba(255, 244, 235, .14);
    --rf-footer-copper: #cf8b68;
    --rf-footer-copper-deep: #e4a17d;
    background:
      radial-gradient(circle at 85% 4%, rgba(185, 105, 70, .17), transparent 34%),
      linear-gradient(155deg, #2a1b16 0%, #1d1411 100%);
    border-top-color: rgba(228, 161, 125, .28);
    color: var(--rf-footer-ink);
    padding-bottom: max(94px, calc(84px + env(safe-area-inset-bottom))) !important;
  }
  .rf-site-footer::before {
    background: linear-gradient(90deg, transparent, rgba(228, 161, 125, .72), transparent);
    left: 12%;
    right: 12%;
  }
  .rf-site-footer > .rf-container { padding-inline: 20px; }
  .rf-footer-signature {
    border-bottom-color: var(--rf-footer-line);
    gap: 18px !important;
    padding: 30px 0 24px !important;
    text-align: center;
  }
  .rf-footer-signature-copy { display: grid; justify-items: center; }
  .rf-footer-wordmark-image { max-width: min(64vw, 248px) !important; }
  .rf-footer-wordmark-image .custom-logo,
  .rf-footer-wordmark-image .rf-fallback-logo img {
    max-height: 68px !important;
    width: min(64vw, 242px) !important;
  }
  .rf-footer-signature-copy > p {
    color: var(--rf-footer-muted) !important;
    font-size: 13px !important;
    line-height: 1.52;
    margin-top: 11px !important;
    max-width: 33ch;
  }
  .rf-footer-proof {
    display: grid !important;
    gap: 7px 12px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px !important;
    width: 100%;
  }
  .rf-footer-proof a {
    color: #f3e5dc;
    font-size: 10px !important;
    justify-content: center;
    line-height: 1.35;
  }
  .rf-footer-proof a::before { background: var(--rf-footer-copper); flex: 0 0 auto; }
  .rf-footer-install-wrap { max-width: 100%; }
  .rf-install-app {
    background: rgba(255, 255, 255, .075);
    border-color: rgba(255, 244, 235, .17);
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .16);
    color: var(--rf-footer-ink);
    min-height: 66px !important;
    padding: 10px 12px !important;
    text-align: left;
  }
  .rf-install-app:hover { background: rgba(255, 255, 255, .11); border-color: rgba(228, 161, 125, .46); }
  .rf-install-app-icon { background: #b86e4e; color: #fff; height: 42px; width: 42px; }
  .rf-install-app-copy small { color: #bfaea4; }
  .rf-install-app-copy strong { color: #fff8f2; }
  .rf-install-app-arrow { color: var(--rf-footer-copper-deep); }
  .rf-install-help { color: var(--rf-footer-muted); }
  .rf-site-footer .rf-footer-grid { padding-top: 22px !important; }
  .rf-site-footer .rf-footer-brand {
    display: grid;
    justify-items: center;
    margin-bottom: 17px !important;
    padding-bottom: 17px;
    text-align: center;
  }
  .rf-footer-kicker { color: var(--rf-footer-copper-deep); margin-bottom: 7px; }
  .rf-site-footer .rf-footer-brand p {
    color: var(--rf-footer-muted);
    font-size: 13px;
    line-height: 1.55;
    max-width: 34ch;
  }
  .rf-site-footer .rf-social-links { justify-content: center; margin-top: 13px; }
  .rf-site-footer .rf-social-links a {
    background: rgba(255, 255, 255, .07);
    border-color: var(--rf-footer-line);
    color: #f3e5dc;
  }
  .rf-site-footer .rf-footer-disclosure,
  .rf-site-footer .rf-footer-disclosure:last-of-type { border-color: var(--rf-footer-line); }
  .rf-site-footer .rf-footer-disclosure > summary {
    color: var(--rf-footer-ink);
    min-height: 50px !important;
  }
  .rf-site-footer .rf-footer-disclosure > summary h3 { color: var(--rf-footer-ink); }
  .rf-site-footer .rf-footer-disclosure > summary::after { color: var(--rf-footer-copper-deep); }
  .rf-site-footer .rf-footer-menu a,
  .rf-site-footer .rf-footer-contact-mini a { color: var(--rf-footer-muted); }
  .rf-site-footer .rf-footer-menu a:hover,
  .rf-site-footer .rf-footer-contact-mini a:hover { color: #fff; }
  .rf-site-footer .rf-footer-bottom {
    border-top-color: var(--rf-footer-line);
    color: #a99990;
    justify-content: center;
    margin-top: 24px !important;
    padding-top: 17px;
    text-align: center;
  }
}

@media (max-width: 380px) {
  .rf-footer-proof { grid-template-columns: 1fr; }
  .rf-footer-proof a { justify-content: flex-start; }
  .rf-front-page .rf-hero-slide-content { padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .rf-front-page .rf-hero-slider-viewport { transition: none; }
}


/* rosaifa-mobile-consistency-v4146 */
/* Rosaifa 4.14.6 — customer-facing mobile consistency hardening. */

@media (max-width: 760px) {
  /* Shared page frame and headings. */
  .rf-content-area,
  .rf-full-width-page,
  .rf-routine-page,
  .rf-guide-page { min-width: 0; }
  .rf-content-area { padding-block: 36px 54px; }
  .rf-content-area .rf-content-container,
  .rf-content-area .rf-narrow-container { min-width: 0; }
  .rf-page-header .rf-display,
  .rf-entry-header .rf-display,
  .rf-empty-state .rf-display,
  .rf-routine-finder-intro .rf-display,
  .rf-guide-hero .rf-display,
  .rf-v47-quiz-intro .rf-display,
  .rf-v48-hero .rf-display,
/* Rosaifa 4.14.6 — customer-facing mobile consistency hardening. */

@media (max-width: 760px) {
  /* Shared page frame and headings. */
  .rf-content-area,
  .rf-full-width-page,
  .rf-routine-page,
  .rf-guide-page { min-width: 0; }
  .rf-content-area { padding-block: 36px 54px; }
  .rf-content-area .rf-content-container,
  .rf-content-area .rf-narrow-container { min-width: 0; }
  .rf-page-header .rf-display,
  .rf-entry-header .rf-display,
  .rf-empty-state .rf-display,
  .rf-routine-finder-intro .rf-display,
  .rf-guide-hero .rf-display,
  .rf-v47-quiz-intro .rf-display,
  .rf-v48-hero .rf-display,
  .rf-v412-policy-hero .rf-display {
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  .rf-page-header,
  .rf-entry-header { margin-bottom: 22px; }
  .rf-page-header .rf-display,
  .rf-entry-header .rf-display { margin-bottom: 0; }
  .rf-entry-featured { border-radius: 18px; margin-bottom: 24px; overflow: hidden; }
  .rf-entry-content > :first-child { margin-top: 0; }
  .rf-entry-content blockquote { font-size: 21px; margin-block: 26px; padding-left: 17px; }
  .rf-entry-content .alignwide,
  .rf-entry-content .alignfull { margin-left: 0; transform: none; width: 100%; }

  /* Forms: consistent touch sizes and no iOS/Android text zoom surprises. */
  .rf-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .rf-main select,
  .rf-main textarea,
  .woocommerce input.input-text,
  .woocommerce select,
  .woocommerce textarea {
    box-sizing: border-box;
    font-size: 16px !important;
    max-width: 100%;
  }
  .rf-main textarea { resize: vertical; }
  .rf-main form { min-width: 0; }

  /* Search, empty states and pagination. */
  .rf-empty-state { margin-block: 42px; }
  .rf-empty-state h1 { font-size: clamp(38px, 11vw, 48px); }
  .rf-404-search {
    display: grid;
    gap: 9px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-right: 0;
    width: 100%;
  }
  .navigation.pagination { margin-top: 34px; max-width: 100%; }
  .navigation.pagination .nav-links {
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Shop/archive controls stay readable at every narrow width. */
  .rf-p5-help-disclosure .rf-p5-assist-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .rf-p5-help-disclosure .rf-p5-assist-links a {
    align-items: center;
    display: flex;
    justify-content: center;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: center;
  }
  .rf-p5-active-filters { max-width: 100%; overflow-x: auto; padding-bottom: 3px; }

  /* Cart, checkout and account: reduce card bulk without hiding information. */
  .rf-v411-commerce-head h1,
  .rf-v411-account-welcome h1,
  .rf-v411-login-intro h1 { overflow-wrap: anywhere; text-wrap: balance; }
  .rf-p7-cart-trust > a,
  .rf-p7-cart-trust > div { min-height: 0 !important; padding: 14px; }
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #order_review,
  .woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-inline: -2px;
    padding-inline: 2px;
    scrollbar-width: none;
  }

  /* Guide, consultation, routine and intelligence pages. */
  .rf-routine-page { padding-block: 36px 72px !important; }
  .rf-routine-finder-intro h1,
  .rf-v47-quiz-intro h1 { font-size: clamp(38px, 11vw, 46px) !important; line-height: 1.02; }
  .rf-routine-form,
  .rf-v47-quiz,
  .rf-v47-profile-card { padding: 18px 16px; }
  .rf-guide-page { padding-block: 34px 72px !important; }
  .rf-guide-hero { gap: 18px !important; padding-block: 8px 34px !important; }
  .rf-guide-hero h1 { font-size: clamp(38px, 11vw, 46px) !important; line-height: 1.02; }
  .rf-guide-hero-card { min-height: 0 !important; padding: 20px !important; }
  .rf-guide-basic { margin-bottom: 42px !important; }
  .rf-guide-skin { padding: 18px !important; }
  .rf-guide-skin-head .rf-display { font-size: clamp(36px, 10vw, 43px) !important; }
  .rf-v48-intel { padding: 30px 16px 72px !important; }
  .rf-v48-hero { margin-bottom: 20px; padding: 22px 17px !important; }
  .rf-v48-hero h1 { font-size: clamp(36px, 10.5vw, 44px) !important; line-height: 1.01; }
  .rf-v48-compat,
  .rf-v48-ingredient-card,
  .rf-v48-saved-card > header { padding: 18px 16px; }

  /* Comparison tray remains separate from the fixed quick navigation. */
  .rf-v48-compare-tray {
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    gap: 8px;
    left: 8px;
    padding: 10px 11px;
    right: 8px;
    transform: none;
    width: auto;
  }
  .rf-v48-compare-tray > div { min-width: 0; }
  .rf-v48-compare-tray strong {
    font-size: 16px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rf-v48-compare-tray .rf-button { flex: 0 0 auto; min-height: 42px; padding-inline: 13px; }

  /* Policy, QC and contact pages. */
  .rf-v412-policy-page,
  .rf-v412-contact-page { padding-block: 34px 68px !important; }
  .rf-v412-policy-highlight { margin-block: 22px 36px; padding: 20px 16px; }
  .rf-v412-policy-highlight article,
  .rf-v412-eligibility-grid article,
  .rf-v412-contact-grid > a { padding: 18px 16px; }
  .rf-v412-policy-section { margin-block: 38px; }
  .rf-v412-contact-strip { gap: 20px; margin-top: 38px; padding-top: 26px; }
  .rf-v410-qc-page,
  .rf-v410-concern-page { padding-block: 34px 68px !important; }
  .rf-v410-verify-box,
  .rf-v410-tamper-note,
  .rf-v410-guarantee,
  .rf-v410-concern-form { border-radius: 18px; }

  /* Reviews and long fact rows. */
  .rf-v49-review-filter { justify-content: stretch; }
  .rf-v49-review-filter label { display: grid; gap: 7px; width: 100%; }
  .rf-v49-review-filter select { margin-left: 0; min-width: 0; width: 100%; }
  .rf-v49-complete-routine,
  .rf-v49-program-reco { border-radius: 18px; }

  /* Drawers and fixed surfaces respect the dynamic viewport. */
  .rf-mobile-drawer,
  .rf-mobile-drawer-inner,
  .rf-v3-drawer,
  .rf-cart-drawer { max-height: 100dvh; }
  .rf-mobile-search-panel,
  .rf-search-results-drawer { max-width: 100%; }
}

@media (max-width: 420px) {
  .rf-404-search { grid-template-columns: 1fr; }
  .rf-404-search .rf-button { width: 100%; }
  .rf-p5-help-disclosure .rf-p5-assist-links { grid-template-columns: 1fr !important; }
  .rf-v48-compare-tray strong { max-width: 30vw; }
  .rf-v48-compare-tray > button { padding-inline: 4px; }
}


/* Rosaifa 4.17.3 — mobile production remediation, 2026-09-22. */
@media (max-width: 760px) {
  /* Keep one authoritative quick navigation: Home / Shop / Wishlist / Account / Bag. */
  .rf-v411-mobile-nav:not(.rf-context-mobile-nav) {
    display: none !important;
  }

  /* WooCommerce Blocks cart: prevent the line-item grid from exceeding 320px. */
  .woocommerce-cart .wc-block-cart-items {
    overflow-x: hidden;
    width: 100%;
  }
  .woocommerce-cart .wc-block-cart-items__row {
    column-gap: 12px !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    width: 100% !important;
  }
  .woocommerce-cart .wc-block-cart-item__image {
    align-self: start;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 64px !important;
  }
  .woocommerce-cart .wc-block-cart-item__image img {
    height: 64px !important;
    object-fit: cover;
    width: 64px !important;
  }
  .woocommerce-cart .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
    width: auto !important;
  }
  .woocommerce-cart .wc-block-cart-item__total {
    align-items: flex-start;
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-content: flex-start !important;
    min-width: 0;
    width: auto !important;
  }
  .woocommerce-cart .wc-block-components-product-metadata__description p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
  }
}



/* Rosaifa 4.17.4 — checkout starts with customer details. */
body.woocommerce-checkout .rf-v411-checkout-head,
body.woocommerce-checkout .rf-p7-checkout-trust,
body.woocommerce-checkout .rf-commerce-v220-checkout-context,
body.woocommerce-checkout .rf-v41419-checkout-mode{display:none!important}
body.woocommerce-checkout .rf-v411-checkout-help{display:none!important}
body.woocommerce-checkout .woocommerce form.checkout{margin-top:10px!important}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout #order_review_heading{font-size:clamp(24px,4vw,32px)!important;line-height:1.2!important}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper label,
body.woocommerce-checkout .woocommerce-additional-fields label{font-size:15px!important;line-height:1.45!important}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select,
body.woocommerce-checkout .woocommerce-additional-fields textarea{font-size:16px!important;line-height:1.45!important;min-height:48px!important}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{margin-bottom:14px!important}
@media(max-width:760px){
  body.woocommerce-checkout .rf-main{padding-top:24px!important}
  body.woocommerce-checkout .woocommerce form.checkout{margin-top:0!important}
  body.woocommerce-checkout .woocommerce-billing-fields h3,
  body.woocommerce-checkout #order_review_heading{font-size:26px!important}
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper label,
  body.woocommerce-checkout .woocommerce-additional-fields label{font-size:15px!important}
}
  .rf-v412-policy-hero .rf-display {
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  .rf-page-header,
  .rf-entry-header { margin-bottom: 22px; }
  .rf-page-header .rf-display,
  .rf-entry-header .rf-display { margin-bottom: 0; }
  .rf-entry-featured { border-radius: 18px; margin-bottom: 24px; overflow: hidden; }
  .rf-entry-content > :first-child { margin-top: 0; }
  .rf-entry-content blockquote { font-size: 21px; margin-block: 26px; padding-left: 17px; }
  .rf-entry-content .alignwide,
  .rf-entry-content .alignfull { margin-left: 0; transform: none; width: 100%; }

  /* Forms: consistent touch sizes and no iOS/Android text zoom surprises. */
  .rf-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .rf-main select,
  .rf-main textarea,
  .woocommerce input.input-text,
  .woocommerce select,
  .woocommerce textarea {
    box-sizing: border-box;
    font-size: 16px !important;
    max-width: 100%;
  }
  .rf-main textarea { resize: vertical; }
  .rf-main form { min-width: 0; }

  /* Search, empty states and pagination. */
  .rf-empty-state { margin-block: 42px; }
  .rf-empty-state h1 { font-size: clamp(38px, 11vw, 48px); }
  .rf-404-search {
    display: grid;
    gap: 9px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-right: 0;
    width: 100%;
  }
  .navigation.pagination { margin-top: 34px; max-width: 100%; }
  .navigation.pagination .nav-links {
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Shop/archive controls stay readable at every narrow width. */
  .rf-p5-help-disclosure .rf-p5-assist-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .rf-p5-help-disclosure .rf-p5-assist-links a {
    align-items: center;
    display: flex;
    justify-content: center;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: center;
  }
  .rf-p5-active-filters { max-width: 100%; overflow-x: auto; padding-bottom: 3px; }

  /* Cart, checkout and account: reduce card bulk without hiding information. */
  .rf-v411-commerce-head h1,
  .rf-v411-account-welcome h1,
  .rf-v411-login-intro h1 { overflow-wrap: anywhere; text-wrap: balance; }
  .rf-p7-cart-trust > a,
  .rf-p7-cart-trust > div { min-height: 0 !important; padding: 14px; }
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #order_review,
  .woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-inline: -2px;
    padding-inline: 2px;
    scrollbar-width: none;
  }

  /* Guide, consultation, routine and intelligence pages. */
  .rf-routine-page { padding-block: 36px 72px !important; }
  .rf-routine-finder-intro h1,
  .rf-v47-quiz-intro h1 { font-size: clamp(38px, 11vw, 46px) !important; line-height: 1.02; }
  .rf-routine-form,
  .rf-v47-quiz,
  .rf-v47-profile-card { padding: 18px 16px; }
  .rf-guide-page { padding-block: 34px 72px !important; }
  .rf-guide-hero { gap: 18px !important; padding-block: 8px 34px !important; }
  .rf-guide-hero h1 { font-size: clamp(38px, 11vw, 46px) !important; line-height: 1.02; }
  .rf-guide-hero-card { min-height: 0 !important; padding: 20px !important; }
  .rf-guide-basic { margin-bottom: 42px !important; }
  .rf-guide-skin { padding: 18px !important; }
  .rf-guide-skin-head .rf-display { font-size: clamp(36px, 10vw, 43px) !important; }
  .rf-v48-intel { padding: 30px 16px 72px !important; }
  .rf-v48-hero { margin-bottom: 20px; padding: 22px 17px !important; }
  .rf-v48-hero h1 { font-size: clamp(36px, 10.5vw, 44px) !important; line-height: 1.01; }
  .rf-v48-compat,
  .rf-v48-ingredient-card,
  .rf-v48-saved-card > header { padding: 18px 16px; }

  /* Comparison tray remains separate from the fixed quick navigation. */
  .rf-v48-compare-tray {
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    gap: 8px;
    left: 8px;
    padding: 10px 11px;
    right: 8px;
    transform: none;
    width: auto;
  }
  .rf-v48-compare-tray > div { min-width: 0; }
  .rf-v48-compare-tray strong {
    font-size: 16px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .rf-v48-compare-tray .rf-button { flex: 0 0 auto; min-height: 42px; padding-inline: 13px; }

  /* Policy, QC and contact pages. */
  .rf-v412-policy-page,
  .rf-v412-contact-page { padding-block: 34px 68px !important; }
  .rf-v412-policy-highlight { margin-block: 22px 36px; padding: 20px 16px; }
  .rf-v412-policy-highlight article,
  .rf-v412-eligibility-grid article,
  .rf-v412-contact-grid > a { padding: 18px 16px; }
  .rf-v412-policy-section { margin-block: 38px; }
  .rf-v412-contact-strip { gap: 20px; margin-top: 38px; padding-top: 26px; }
  .rf-v410-qc-page,
  .rf-v410-concern-page { padding-block: 34px 68px !important; }
  .rf-v410-verify-box,
  .rf-v410-tamper-note,
  .rf-v410-guarantee,
  .rf-v410-concern-form { border-radius: 18px; }

  /* Reviews and long fact rows. */
  .rf-v49-review-filter { justify-content: stretch; }
  .rf-v49-review-filter label { display: grid; gap: 7px; width: 100%; }
  .rf-v49-review-filter select { margin-left: 0; min-width: 0; width: 100%; }
  .rf-v49-complete-routine,
  .rf-v49-program-reco { border-radius: 18px; }

  /* Drawers and fixed surfaces respect the dynamic viewport. */
  .rf-mobile-drawer,
  .rf-mobile-drawer-inner,
  .rf-v3-drawer,
  .rf-cart-drawer { max-height: 100dvh; }
  .rf-mobile-search-panel,
  .rf-search-results-drawer { max-width: 100%; }
}

@media (max-width: 420px) {
  .rf-404-search { grid-template-columns: 1fr; }
  .rf-404-search .rf-button { width: 100%; }
  .rf-p5-help-disclosure .rf-p5-assist-links { grid-template-columns: 1fr !important; }
  .rf-v48-compare-tray strong { max-width: 30vw; }
  .rf-v48-compare-tray > button { padding-inline: 4px; }
}


/* Rosaifa 4.17.3 — mobile production remediation, 2026-09-22. */
@media (max-width: 760px) {
  /* Keep one authoritative quick navigation: Home / Shop / Wishlist / Account / Bag. */
  .rf-v411-mobile-nav:not(.rf-context-mobile-nav) {
    display: none !important;
  }

  /* WooCommerce Blocks cart: prevent the line-item grid from exceeding 320px. */
  .woocommerce-cart .wc-block-cart-items {
    overflow-x: hidden;
    width: 100%;
  }
  .woocommerce-cart .wc-block-cart-items__row {
    column-gap: 12px !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    width: 100% !important;
  }
  .woocommerce-cart .wc-block-cart-item__image {
    align-self: start;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 64px !important;
  }
  .woocommerce-cart .wc-block-cart-item__image img {
    height: 64px !important;
    object-fit: cover;
    width: 64px !important;
  }
  .woocommerce-cart .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
    width: auto !important;
  }
  .woocommerce-cart .wc-block-cart-item__total {
    align-items: flex-start;
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-content: flex-start !important;
    min-width: 0;
    width: auto !important;
  }
  .woocommerce-cart .wc-block-components-product-metadata__description p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
  }
}


/* rosaifa-mobile-hero-v4147 */
/* Rosaifa 4.14.7 — mobile hero copy uses the available width instead of a narrow centered column. */

@media (max-width: 760px) {
  .rf-front-page .rf-hero-slide-content {
    box-sizing: border-box;
    justify-items: start;
    width: 100%;
    max-width: none;
    padding: 18px 2px 5px;
    text-align: left;
  }

  .rf-front-page .rf-hero-slide-content .rf-display {
    width: 100%;
    max-width: none;
    text-wrap: balance;
  }

  .rf-front-page .rf-hero-slide-content p {
    width: 100%;
    max-width: none;
  }
}


/* rosaifa-mobile-footer-contrast-v4149 */
/* Rosaifa 4.14.9 — mobile footer contrast refinement. */

@media (max-width: 760px) {
  .rf-site-footer {
    --rf-footer-bg: #241713;
    --rf-footer-surface: #35231c;
    --rf-footer-ink: #fffaf6;
    --rf-footer-muted: #e2d3ca;
    --rf-footer-line: rgba(255, 248, 242, .22);
    --rf-footer-copper: #df9671;
    --rf-footer-copper-deep: #efac88;
    background:
      radial-gradient(circle at 85% 4%, rgba(211, 125, 88, .20), transparent 34%),
      linear-gradient(155deg, #2d1d18 0%, #211512 100%);
    border-top-color: rgba(239, 172, 136, .40);
  }

  .rf-site-footer::before {
    background: linear-gradient(90deg, transparent, rgba(239, 172, 136, .88), transparent);
  }

  /* The header wordmark uses multiply on light surfaces. Disable that blend mode
     on the dark footer so the original rose-gold artwork stays visible. */
  .rf-site-footer .rf-footer-wordmark-image .custom-logo,
  .rf-site-footer .rf-footer-wordmark-image .rf-fallback-logo img {
    mix-blend-mode: normal;
    opacity: 1;
    filter: contrast(1.04) saturate(1.04)
      drop-shadow(0 1px 0 rgba(255, 226, 209, .18))
      drop-shadow(0 5px 14px rgba(0, 0, 0, .16));
  }

  .rf-footer-signature-copy > p,
  .rf-site-footer .rf-footer-brand p,
  .rf-install-help {
    color: var(--rf-footer-muted) !important;
  }

  .rf-footer-proof a {
    color: #fff6f0;
  }

  .rf-footer-proof a::before {
    background: #e9a07b;
  }

  .rf-install-app {
    background: rgba(255, 248, 242, .115);
    border-color: rgba(255, 248, 242, .26);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .035);
  }

  .rf-install-app:hover,
  .rf-install-app:focus-visible {
    background: rgba(255, 248, 242, .16);
    border-color: rgba(239, 172, 136, .64);
  }

  .rf-install-app-icon {
    background: #c97f5f;
    color: #fffaf6;
  }

  .rf-install-app-copy small {
    color: #e5d6ce;
  }

  .rf-install-app-copy strong {
    color: #fffaf6;
  }

  .rf-install-app-arrow,
  .rf-footer-kicker,
  .rf-site-footer .rf-footer-disclosure > summary::after {
    color: var(--rf-footer-copper-deep);
  }

  .rf-site-footer .rf-social-links a,
  .rf-site-footer .rf-footer-menu a,
  .rf-site-footer .rf-footer-contact-mini a {
    color: #e2d3ca;
  }

  .rf-site-footer .rf-social-links a {
    background: rgba(255, 248, 242, .09);
    border-color: rgba(255, 248, 242, .22);
  }

  .rf-site-footer .rf-footer-disclosure,
  .rf-site-footer .rf-footer-disclosure:last-of-type,
  .rf-site-footer .rf-footer-bottom,
  .rf-footer-signature {
    border-color: var(--rf-footer-line);
  }

  .rf-site-footer .rf-footer-bottom {
    color: #cdbeb5;
  }
}


/* rosaifa-mobile-home-category-spacing-v41413 */
/* Rosaifa 4.14.13 — compact homepage category-card copy spacing.
 * Scope: homepage category cards on phones only. Keeps category imagery,
 * destinations and reveal behavior intact while bringing the SHOP action
 * closer to the category name.
 */
@media (max-width: 760px) {
  .rf-front-page .rf-category-card-copy {
    flex: 0 0 auto;
    min-height: 0;
    padding: 14px 14px 16px;
  }

  .rf-front-page .rf-category-card-copy strong {
    min-height: 2.12em;
  }

  .rf-front-page .rf-category-card-copy em {
    align-self: flex-start;
    margin-top: 10px;
    padding-top: 0;
  }
}


/* rosaifa-cart-drawer-v41412 */
/* Rosaifa 4.14.12 - Premium side cart drawer. */
.rf-cart-drawer {
  border-radius: 28px 0 0 28px;
  box-shadow: -24px 0 64px rgba(23,20,18,.18);
  overflow: hidden;
  width: min(92vw, 440px);
}

.rf-cart-drawer .rf-v3-drawer-head {
  background: var(--rf-paper);
  min-height: 86px;
  padding: 20px 24px 18px;
}

.rf-cart-drawer .rf-v3-drawer-head .rf-eyebrow {
  color: var(--rf-rose-dark);
  font-size: 9px;
  letter-spacing: .17em;
}

.rf-cart-drawer .rf-v3-drawer-head h2 {
  font-size: 31px;
  margin-top: 4px;
}

.rf-cart-drawer .rf-v3-drawer-close {
  background: var(--rf-canvas);
  border-color: var(--rf-line-soft);
  font-size: 21px;
  height: 40px;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
  width: 40px;
}

.rf-cart-drawer .rf-v3-drawer-close:hover {
  background: var(--rf-sand);
  border-color: var(--rf-line);
  transform: rotate(2deg);
}

.rf-cart-drawer-body {
  background: var(--rf-paper);
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.rf-cart-drawer-status {
  color: var(--rf-rose-dark);
  font-size: 11px;
  left: 24px;
  margin: 0;
  min-height: 0;
  position: absolute;
  right: 24px;
  text-align: center;
  top: 4px;
  z-index: 2;
}

.rf-cart-drawer-status:empty {
  display: none;
}

.rf-cart-drawer-body.is-updating::after {
  background: rgba(255,253,251,.52);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

.rf-cart-drawer-items {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px 24px 18px;
  -webkit-overflow-scrolling: touch;
}

.rf-cart-drawer-item {
  align-items: start;
  gap: 14px;
  grid-template-columns: 86px minmax(0,1fr) 32px;
  padding: 18px 0;
}

.rf-cart-drawer-thumb {
  border: 1px solid var(--rf-line-soft);
  border-radius: 16px;
}

.rf-cart-drawer-thumb img {
  aspect-ratio: 1 / 1.08;
  object-fit: cover;
}

.rf-cart-drawer-copy {
  align-self: stretch;
  display: flex !important;
  flex-direction: column;
  gap: 6px !important;
  min-width: 0;
}

.rf-cart-drawer-brand {
  color: var(--rf-rose-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .10em;
  line-height: 1.2;
  text-transform: uppercase;
}

.rf-cart-drawer-name {
  color: var(--rf-ink);
  display: -webkit-box;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.38;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rf-cart-drawer-variation {
  color: var(--rf-ink-soft);
  font-size: 12px;
  line-height: 1.45;
}

.rf-cart-drawer-variation dl,
.rf-cart-drawer-variation p {
  margin: 0;
}

.rf-cart-drawer-variation dt,
.rf-cart-drawer-variation dd {
  display: inline;
  float: none;
  margin: 0 4px 0 0;
}

.rf-cart-drawer-line-footer {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 5px;
}

.rf-cart-drawer-line-footer > strong {
  color: var(--rf-ink);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.rf-cart-qty {
  align-items: center;
  background: var(--rf-canvas);
  border: 1px solid var(--rf-line);
  border-radius: 999px;
  display: inline-flex;
  height: 34px;
  overflow: hidden;
}

.rf-cart-qty button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--rf-ink);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--rf-sans);
  font-size: 17px;
  height: 32px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 33px;
}

.rf-cart-qty button:hover:not(:disabled) {
  background: var(--rf-sand);
}

.rf-cart-qty button:disabled {
  cursor: not-allowed;
  opacity: .35;
}

.rf-cart-qty span {
  color: var(--rf-ink);
  font-size: 12px;
  font-weight: 700;
  min-width: 24px;
  text-align: center;
}

.rf-cart-drawer-remove {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--rf-ink-soft);
  cursor: pointer;
  display: inline-flex;
  font-size: 21px;
  height: 32px;
  justify-content: center;
  padding: 0;
  width: 32px;
}

.rf-cart-drawer-remove:hover {
  background: var(--rf-canvas);
  color: var(--rf-ink);
}

.rf-cart-drawer-summary {
  background: var(--rf-canvas);
  flex: 0 0 auto;
  border-top: 1px solid var(--rf-line-soft);
  gap: 12px;
  padding: 18px 24px calc(22px + env(safe-area-inset-bottom));
}

.rf-cart-drawer-summary .rf-cart-drawer-subtotal {
  align-items: end;
}

.rf-cart-drawer-summary .rf-cart-drawer-subtotal span {
  color: var(--rf-ink-soft);
  font-size: 12px;
  font-weight: 650;
}

.rf-cart-drawer .amount,
.rf-cart-drawer-line-footer > strong,
.rf-cart-qty,
.rf-cart-drawer-summary .rf-cart-drawer-subtotal strong {
  font-family: var(--rf-sans);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

.rf-cart-drawer-summary .rf-cart-drawer-subtotal strong {
  color: var(--rf-ink);
  font-family: var(--rf-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}

.rf-cart-drawer-summary p {
  font-size: 10px;
  line-height: 1.45;
  margin: -2px 0 2px;
}

.rf-cart-drawer-actions {
  display: grid !important;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}

.rf-cart-drawer-actions .rf-button {
  align-items: center;
  display: inline-flex;
  font-size: 11px;
  justify-content: center;
  min-height: 48px;
  padding: 11px 14px;
  text-align: center;
}

.rf-cart-empty {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.rf-cart-empty .rf-button {
  margin-inline: auto;
  min-width: 190px;
}

@media (max-width: 620px) {
  .rf-cart-drawer {
    border-radius: 24px 0 0 24px;
    max-width: calc(100vw - 18px);
    width: min(94vw, 430px);
  }

  .rf-cart-drawer .rf-v3-drawer-head {
    padding-inline: 20px;
  }

  .rf-cart-drawer-items,
  .rf-cart-drawer-summary {
    padding-inline: 20px;
  }

  .rf-cart-drawer-item {
    gap: 12px;
    grid-template-columns: 78px minmax(0,1fr) 30px;
  }

  .rf-cart-drawer-actions {
    grid-template-columns: 1fr 1.05fr;
  }
}

@media (max-width: 360px) {
  .rf-cart-drawer-item {
    grid-template-columns: 70px minmax(0,1fr) 28px;
  }

  .rf-cart-drawer-actions {
    grid-template-columns: 1fr;
  }
}


/* rosaifa-commerce-polish-v41419 */
/* Rosaifa 4.14.19 — unified premium cart drawer, checkout, tracking and thank-you polish. */

/* Premium cart drawer on every storefront surface. */
.rf-cart-drawer {
  background: linear-gradient(180deg, #fffdfb 0%, #faf5f0 100%);
  border-left: 1px solid rgba(142, 105, 86, .18);
  box-shadow: -32px 0 90px rgba(39, 24, 17, .22);
}

.rf-cart-drawer .rf-v3-drawer-head {
  background: rgba(255,253,251,.92);
  backdrop-filter: blur(14px);
  border-bottom-color: rgba(142,105,86,.14);
}

.rf-cart-drawer .rf-v3-drawer-head::after {
  content: "Checked before dispatch";
  display: block;
  position: absolute;
  left: 24px;
  bottom: 9px;
  color: var(--rf-ink-soft);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.rf-cart-drawer .rf-v3-drawer-head {
  position: relative;
  padding-bottom: 28px;
}

.rf-cart-drawer-item {
  border-bottom-color: rgba(142,105,86,.12);
}

.rf-cart-drawer-thumb {
  background: #fff;
  border-color: rgba(142,105,86,.15);
  box-shadow: 0 8px 22px rgba(39,24,17,.05);
}

.rf-cart-drawer-name {
  font-weight: 700;
  letter-spacing: -.01em;
}

.rf-cart-qty {
  background: #fff;
  border-color: rgba(142,105,86,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.rf-cart-drawer-summary {
  background: linear-gradient(180deg, rgba(248,242,237,.94) 0%, #f6eee8 100%);
  border-top-color: rgba(142,105,86,.15);
}

.rf-cart-drawer-summary .rf-cart-drawer-subtotal strong {
  font-family: var(--rf-sans);
  font-size: 25px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.015em;
}

.rf-cart-drawer-actions .rf-button {
  border-radius: 999px;
  min-height: 50px;
  font-weight: 800;
}

.rf-cart-drawer-actions .rf-button-dark {
  box-shadow: 0 14px 28px rgba(42,27,18,.16);
}

/* Checkout mode: guest first, account optional. */
.rf-v41419-checkout-mode {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin: 0 0 18px;
}

.rf-v41419-checkout-mode > div {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 11px;
  align-items: start;
  padding: 14px 15px;
  border: 1px solid rgba(142,105,86,.16);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 28px rgba(42,27,18,.035);
}

.rf-v41419-checkout-mode > div > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f4e9e2;
  color: var(--rf-rose-dark);
  font-size: 15px;
  font-weight: 800;
}

.rf-v41419-checkout-mode p {
  margin: 0;
}

.rf-v41419-checkout-mode strong,
.rf-v41419-checkout-mode small {
  display: block;
}

.rf-v41419-checkout-mode strong {
  font-size: 12px;
  margin-bottom: 3px;
}

.rf-v41419-checkout-mode small {
  color: var(--rf-ink-soft);
  font-size: 10px;
  line-height: 1.5;
}

/* A calmer, luxury checkout rhythm layered over 4.14.17. */
.woocommerce-checkout:not(.woocommerce-order-received) .rf-woocommerce-main {
  position: relative;
}

.woocommerce-checkout:not(.woocommerce-order-received) .rf-woocommerce-main::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 320px;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 16%, rgba(204,156,127,.12), transparent 34%),
    radial-gradient(circle at 86% 10%, rgba(116,74,78,.08), transparent 32%);
}

.woocommerce-checkout:not(.woocommerce-order-received) .rf-woocommerce-main > .rf-container {
  position: relative;
  z-index: 1;
}

.woocommerce-checkout .rf-v411-checkout-head {
  overflow: hidden;
}

.woocommerce-checkout .rf-v411-checkout-head > div {
  position: relative;
}

.woocommerce-checkout .rf-v411-checkout-head > div:not(:last-child)::after {
  content: "";
  position: absolute;
  height: 1px;
  width: 20px;
  top: 50%;
  right: -14px;
  background: rgba(142,105,86,.22);
}

.woocommerce-checkout #customer_details > .col-1,
.woocommerce-checkout #customer_details > .col-2,
.woocommerce-checkout form.checkout #order_review {
  backdrop-filter: blur(8px);
}

.woocommerce-checkout #payment #place_order {
  background: linear-gradient(135deg, #211713 0%, #4d3329 100%) !important;
  border: 0 !important;
}

.woocommerce-checkout #payment #place_order:focus-visible {
  outline-offset: 4px;
}

/* Thank-you page: premium status surface without inventing order state. */
.woocommerce-order-received .rf-p7-thankyou {
  position: relative;
  overflow: hidden;
  border-color: rgba(142,105,86,.16);
  background:
    radial-gradient(circle at 90% 8%, rgba(196,145,116,.14), transparent 30%),
    linear-gradient(135deg, #fbf6f1 0%, #fff 72%);
  box-shadow: 0 24px 64px rgba(42,27,18,.075);
}

.woocommerce-order-received .rf-p7-thankyou header {
  max-width: 780px;
}

.woocommerce-order-received .rf-p7-order-facts,
.woocommerce-order-received .rf-p7-next-grid article {
  border-color: rgba(142,105,86,.16);
  box-shadow: 0 10px 26px rgba(42,27,18,.035);
}

.woocommerce-order-received .rf-p7-next-grid article > span {
  background: linear-gradient(135deg, #2b1b14 0%, #5b3a2d 100%);
}

.woocommerce-order-received .rf-p7-thankyou-actions .rf-button {
  border-radius: 999px;
}

/* Order tracking refinement. */
.rf-order-tracking-shell {
  position: relative;
}

.rf-order-tracking-intro::before {
  content: "R";
  float: right;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-left: 18px;
  border: 1px solid rgba(142,105,86,.18);
  border-radius: 50%;
  background: linear-gradient(145deg, #fff, #f1e3d9);
  color: var(--rf-rose-dark);
  font-family: var(--rf-serif);
  font-size: 28px;
  box-shadow: 0 10px 26px rgba(42,27,18,.05);
}

.rf-order-tracking-card:focus-within {
  border-color: rgba(116,74,78,.30);
  box-shadow: 0 24px 60px rgba(42,27,18,.075);
}

.rf-order-tracking-card input:focus {
  outline: 0;
  border-color: rgba(116,74,78,.42);
  box-shadow: 0 0 0 4px rgba(116,74,78,.09);
}

.rf-order-tracking-side > div {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(142,105,86,.12);
}

.rf-order-tracking-side > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.rf-order-tracking-result {
  background:
    radial-gradient(circle at 92% 4%, rgba(196,145,116,.11), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,242,238,.98));
}

/* Missing-image surfaces remain deliberate while verified web sync runs in background. */
.rf-clean-product-fallback,
.rf-single-clean-fallback img,
.woocommerce ul.products li.product img[src*="woocommerce-placeholder"] {
  background: linear-gradient(145deg, #fbf7f3 0%, #f0e4db 100%);
  border: 1px solid rgba(142,105,86,.12);
}

@media (max-width: 760px) {
  .rf-cart-drawer .rf-v3-drawer-head::after {
    left: 20px;
  }

  .rf-v41419-checkout-mode {
    grid-template-columns: 1fr;
  }

  .woocommerce-checkout .rf-v411-checkout-head > div:not(:last-child)::after {
    display: none;
  }

  .rf-order-tracking-intro::before {
    width: 46px;
    height: 46px;
    font-size: 24px;
  }
}


/* rosaifa-premium-ui-v41420 */
/* Rosaifa 4.14.20 — premium global links, sliding announcement and dynamic account. */

/* User preference: no text underlines anywhere, including hover/focus states. */
a,
a:link,
a:visited,
a:hover,
a:focus,
a:active,
.rf-arrow-link,
.rf-arrow-action,
.woocommerce a,
.woocommerce a:hover,
.woocommerce a:focus {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Premium continuously sliding announcement bar. */
.rf-trustbar {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 0%, rgba(201,139,109,.20), transparent 36%),
    linear-gradient(90deg, #1a110d 0%, #2b1a14 48%, #1b120e 100%) !important;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 -1px rgba(0,0,0,.18);
}
.rf-trustbar::before,
.rf-trustbar::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: clamp(26px, 6vw, 86px);
  pointer-events: none;
}
.rf-trustbar::before { left: 0; background: linear-gradient(90deg, #1a110d 12%, transparent 100%); }
.rf-trustbar::after { right: 0; background: linear-gradient(270deg, #1b120e 12%, transparent 100%); }
.rf-trustbar-viewport {
  width: 100%;
  overflow: hidden;
}
.rf-trustbar-track {
  width: max-content;
  display: flex;
  align-items: center;
  animation: rf-v41420-marquee 28s linear infinite;
  will-change: transform;
}
.rf-trustbar:hover .rf-trustbar-track { animation-play-state: paused; }
.rf-trustbar-group {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto;
  min-height: 38px;
}
.rf-trustbar-group span,
.rf-trustbar-inner span {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
  padding: 0 clamp(22px, 4vw, 54px) !important;
  border-left: 0 !important;
  color: rgba(255,255,255,.92);
  font-family: var(--rf-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .055em;
  line-height: 1;
  white-space: nowrap;
}
.rf-trustbar-group span i {
  display: block;
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e0a07d, #b86d55);
  box-shadow: 0 0 0 4px rgba(224,160,125,.09);
}
@keyframes rf-v41420-marquee {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}

/* My Account — richer editorial shell. */
.woocommerce-account .rf-woocommerce-main {
  background:
    radial-gradient(circle at 7% 4%, rgba(226,199,183,.24), transparent 28%),
    radial-gradient(circle at 92% 16%, rgba(182,111,83,.08), transparent 26%),
    linear-gradient(180deg, #fbf8f5 0%, #fff 44%);
}
.woocommerce-account .rf-woocommerce-main > .rf-container {
  width: min(100% - 32px, 1280px);
}
.woocommerce-account .woocommerce {
  gap: 24px;
}
.woocommerce-account .rf-v411-account-hero {
  position: relative;
  overflow: hidden;
  border-color: rgba(117,78,61,.14);
  background:
    radial-gradient(circle at 82% 15%, rgba(214,157,126,.18), transparent 28%),
    linear-gradient(135deg, #f5ece6 0%, #fff 58%, #fbf7f3 100%);
  box-shadow: 0 28px 70px rgba(55,33,20,.07);
}
.woocommerce-account .rf-v411-account-hero::after {
  content: "R";
  position: absolute;
  right: -18px;
  bottom: -92px;
  color: rgba(133,75,58,.045);
  font-family: var(--rf-serif);
  font-size: clamp(240px, 28vw, 420px);
  line-height: .8;
  pointer-events: none;
}
.woocommerce-account .rf-v411-account-welcome,
.woocommerce-account .rf-v411-account-actions {
  position: relative;
  z-index: 1;
}
.woocommerce-account .rf-v411-account-welcome h1 {
  max-width: 760px;
  font-size: clamp(42px, 5.2vw, 68px);
}
.woocommerce-account .rf-v411-customer-id {
  border-color: rgba(117,78,61,.15);
  background: rgba(255,255,255,.78);
  box-shadow: 0 12px 30px rgba(55,33,20,.045);
  backdrop-filter: blur(10px);
}
.woocommerce-account .rf-v411-account-actions {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.woocommerce-account .rf-v411-account-actions a {
  min-height: 112px;
  border-color: rgba(117,78,61,.14);
  background: rgba(255,255,255,.80);
  box-shadow: 0 10px 30px rgba(55,33,20,.035);
  backdrop-filter: blur(8px);
}
.woocommerce-account .rf-v411-account-actions a:first-child {
  background: linear-gradient(135deg, #211511 0%, #442b21 100%);
  border-color: transparent;
  color: #fff;
}
.woocommerce-account .rf-v411-account-actions a:first-child small,
.woocommerce-account .rf-v411-account-actions a:first-child > span { color: rgba(255,255,255,.68); }
.woocommerce-account .rf-v411-account-actions a:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(55,33,20,.08);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  top: calc(var(--rf-sticky-top, 0px) + 28px);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  padding: 8px !important;
  border: 1px solid rgba(117,78,61,.12) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 18px 46px rgba(55,33,20,.055) !important;
  backdrop-filter: blur(12px);
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  position: relative;
  border-radius: 14px;
  padding: 13px 14px 13px 18px !important;
  color: var(--rf-ink-soft);
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation a::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: .35;
  transform: translateY(-50%);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: linear-gradient(135deg, #f7eee8, #fbf8f5) !important;
  color: var(--rf-rose-dark) !important;
  transform: translateX(2px);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
  width: 5px;
  height: 18px;
  border-radius: 999px;
  opacity: 1;
}
.woocommerce-account .woocommerce-MyAccount-content {
  border-color: rgba(117,78,61,.12) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 18px 48px rgba(55,33,20,.05) !important;
}

.rf-v41420-account-dashboard {
  display: grid;
  gap: 18px;
  margin-top: 8px;
}
.rf-v41420-account-stats {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
}
.rf-v41420-account-stats article {
  position: relative;
  min-width: 0;
  min-height: 132px;
  padding: 16px;
  border: 1px solid rgba(117,78,61,.12);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(255,255,255,.98), rgba(249,244,240,.78));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 12px 30px rgba(55,33,20,.035);
}
.rf-v41420-account-stats small {
  color: var(--rf-ink-soft);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.rf-v41420-account-stats strong {
  display: block;
  color: var(--rf-ink);
  font-family: var(--rf-serif);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
}
.rf-v41420-account-stats strong.is-date { font-size: 25px; }
.rf-v41420-account-stats a,
.rf-v41420-account-stats span {
  color: var(--rf-ink-soft);
  font-size: 10px;
  font-weight: 700;
}
.rf-v41420-account-focus {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
  gap: 12px;
}
.rf-v41420-recent-order,
.rf-v41420-account-assist {
  border: 1px solid rgba(117,78,61,.13);
  border-radius: 22px;
  box-shadow: 0 14px 36px rgba(55,33,20,.045);
}
.rf-v41420-recent-order {
  padding: 20px;
  background: linear-gradient(150deg, #fff 0%, #faf5f1 100%);
}
.rf-v41420-recent-order.is-empty {
  display: grid;
  align-content: center;
  min-height: 230px;
}
.rf-v41420-recent-order h2 {
  font-family: var(--rf-serif);
  font-size: clamp(28px,3.2vw,42px);
  font-weight: 400;
  letter-spacing: -.025em;
  margin: 5px 0 0;
}
.rf-v41420-recent-order.is-empty p { color: var(--rf-ink-soft); max-width: 620px; }
.rf-v41420-focus-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.rf-v41420-order-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #efe2da;
  color: #744a4e;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.rf-v41420-order-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 0 0 18px;
  border-block: 1px solid rgba(117,78,61,.10);
}
.rf-v41420-order-facts > div {
  padding: 14px 12px;
  min-width: 0;
}
.rf-v41420-order-facts > div + div { border-left: 1px solid rgba(117,78,61,.10); }
.rf-v41420-order-facts small {
  display: block;
  margin-bottom: 5px;
  color: var(--rf-ink-soft);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.rf-v41420-order-facts strong { font-size: 13px; overflow-wrap: anywhere; }
.rf-v41420-focus-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rf-v41420-account-assist {
  padding: 20px;
  background: linear-gradient(150deg, #211511 0%, #432a21 100%);
  color: #fff;
}
.rf-v41420-account-assist .rf-eyebrow { color: #e3ae92; }
.rf-v41420-account-assist h3 {
  margin: 7px 0 18px;
  font-family: var(--rf-serif);
  font-size: 29px;
  font-weight: 400;
  line-height: 1.05;
}
.rf-v41420-account-assist a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 0;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.90);
}
.rf-v41420-account-assist a strong { font-size: 11px; }
.rf-v41420-account-assist a span { color: #d69472; }

/* Make login/register surfaces match the richer signed-in account experience. */
.woocommerce-account:not(.logged-in) .rf-v411-login-intro {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #1b110e 0%, #3c261e 100%);
  box-shadow: 0 24px 58px rgba(42,27,18,.14);
}
.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
  border-color: rgba(117,78,61,.14);
  border-radius: 24px;
  box-shadow: 0 18px 48px rgba(55,33,20,.05);
}

@media (max-width: 1000px) {
  .rf-v41420-account-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rf-v41420-account-focus { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .woocommerce-account .rf-woocommerce-main > .rf-container { width: min(100% - 22px, var(--rf-max)); }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    gap: 6px !important;
    padding: 6px !important;
    border-radius: 18px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation a {
    padding: 11px 14px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation a::before { display: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
  .woocommerce-account .woocommerce-MyAccount-navigation a:hover { transform: none; }
}
@media (max-width: 760px) {
  .rf-trustbar-group { min-height: 34px; }
  .rf-trustbar-group span,
  .rf-trustbar-inner span {
    padding-inline: 22px !important;
    font-size: 10px;
    letter-spacing: .045em;
  }
  .rf-trustbar-track { animation-duration: 22s; }
  .woocommerce-account .rf-v411-account-hero { padding: 20px; }
  .rf-v41420-account-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rf-v41420-account-stats article { min-height: 116px; padding: 14px; }
  .rf-v41420-account-stats strong { font-size: 32px; }
  .rf-v41420-order-facts { grid-template-columns: 1fr; }
  .rf-v41420-order-facts > div + div { border-left: 0; border-top: 1px solid rgba(117,78,61,.10); }
  .rf-v41420-focus-head { flex-direction: column; }
  .rf-v41420-focus-actions { display: grid; grid-template-columns: 1fr; }
  .rf-v41420-focus-actions .rf-button { justify-content: center; width: 100%; }
}
@media (max-width: 420px) {
  .woocommerce-account .rf-woocommerce-main > .rf-container { width: min(100% - 16px, var(--rf-max)); }
  .rf-v41420-account-stats { gap: 8px; }
  .rf-v41420-account-stats article:last-child { grid-column: 1 / -1; min-height: 96px; }
}
@media (prefers-reduced-motion: reduce) {
  .rf-trustbar-track { animation: none; transform: none; }
  .rf-trustbar-group[aria-hidden="true"] { display: none !important; }
}


/* rosaifa-footer-palette-v41421 */
/* Rosaifa 4.14.21 — unified premium footer palette.
   Replaces conflicting mobile/dark footer palettes with one warm porcelain system. */

.rf-site-footer {
  --rf-footer-bg: #f3e9e2;
  --rf-footer-bg-soft: #faf6f2;
  --rf-footer-surface: rgba(255, 253, 251, .76);
  --rf-footer-surface-strong: #fffdfb;
  --rf-footer-ink: #251a16;
  --rf-footer-muted: #6e5f58;
  --rf-footer-line: rgba(61, 42, 34, .14);
  --rf-footer-accent: #a9654c;
  --rf-footer-accent-deep: #7b4635;
  --rf-footer-accent-soft: #e7c7b8;
  background:
    radial-gradient(circle at 13% 0%, rgba(207, 151, 124, .18), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(230, 202, 186, .24), transparent 28%),
    linear-gradient(155deg, var(--rf-footer-bg-soft) 0%, var(--rf-footer-bg) 58%, #eee0d7 100%) !important;
/* Rosaifa 4.14.21 — unified premium footer palette.
   Replaces conflicting mobile/dark footer palettes with one warm porcelain system. */

.rf-site-footer {
  --rf-footer-bg: #f3e9e2;
  --rf-footer-bg-soft: #faf6f2;
  --rf-footer-surface: rgba(255, 253, 251, .76);
  --rf-footer-surface-strong: #fffdfb;
  --rf-footer-ink: #251a16;
  --rf-footer-muted: #6e5f58;
  --rf-footer-line: rgba(61, 42, 34, .14);
  --rf-footer-accent: #a9654c;
  --rf-footer-accent-deep: #7b4635;
  --rf-footer-accent-soft: #e7c7b8;
  background:
    radial-gradient(circle at 13% 0%, rgba(207, 151, 124, .18), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(230, 202, 186, .24), transparent 28%),
    linear-gradient(155deg, var(--rf-footer-bg-soft) 0%, var(--rf-footer-bg) 58%, #eee0d7 100%) !important;
  border-top: 1px solid rgba(169, 101, 76, .22) !important;
  color: var(--rf-footer-ink) !important;
  position: relative;
}

.rf-site-footer::before {
  background: linear-gradient(90deg, transparent, rgba(169, 101, 76, .54), transparent) !important;
  height: 1px !important;
  opacity: 1 !important;
}

.rf-site-footer .rf-footer-wordmark-image .custom-logo,
.rf-site-footer .rf-footer-wordmark-image .rf-fallback-logo img {
  filter: contrast(1.04) saturate(1.06) drop-shadow(0 7px 18px rgba(91, 52, 38, .08)) !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

.rf-footer-signature {
  border-color: var(--rf-footer-line) !important;
}

.rf-footer-signature-copy > p,
.rf-site-footer .rf-footer-brand p,
.rf-install-help,
.rf-site-footer .rf-footer-bottom,
.rf-site-footer .rf-footer-menu a,
.rf-site-footer .rf-footer-contact-mini a {
  color: var(--rf-footer-muted) !important;
}

.rf-site-footer .rf-footer-col h3,
.rf-site-footer .rf-footer-disclosure > summary,
.rf-site-footer .rf-footer-disclosure > summary h3,
.rf-footer-proof a,
.rf-install-app-copy strong {
  color: var(--rf-footer-ink) !important;
}

.rf-footer-kicker,
.rf-install-app-copy small,
.rf-install-app-arrow,
.rf-site-footer .rf-footer-disclosure > summary::after {
  color: var(--rf-footer-accent-deep) !important;
}

.rf-footer-proof {
  gap: 10px 12px !important;
}

.rf-footer-proof a {
  background: rgba(255, 253, 251, .58);
  border: 1px solid rgba(169, 101, 76, .15);
  border-radius: 999px;
  padding: 8px 11px;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.rf-footer-proof a::before {
  background: var(--rf-footer-accent) !important;
}

.rf-footer-proof a:hover,
.rf-footer-proof a:focus-visible {
  background: rgba(255, 253, 251, .95);
  border-color: rgba(169, 101, 76, .38);
  color: var(--rf-footer-accent-deep) !important;
  transform: translateY(-1px);
}

.rf-install-app {
  background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(249,241,235,.92)) !important;
  border: 1px solid rgba(113, 75, 59, .17) !important;
  box-shadow: 0 16px 38px rgba(63, 40, 29, .08), inset 0 1px 0 rgba(255,255,255,.9) !important;
  color: var(--rf-footer-ink) !important;
}

.rf-install-app:hover,
.rf-install-app:focus-visible {
  background: #fffdfb !important;
  border-color: rgba(169, 101, 76, .38) !important;
  box-shadow: 0 18px 44px rgba(63, 40, 29, .11), inset 0 1px 0 #fff !important;
}

.rf-install-app-icon {
  background: linear-gradient(145deg, #3b2820, #201713) !important;
  color: #fff9f5 !important;
  box-shadow: 0 8px 18px rgba(45, 28, 21, .16);
}

.rf-site-footer .rf-social-links a {
  background: rgba(255, 253, 251, .66) !important;
  border: 1px solid rgba(61, 42, 34, .14) !important;
  color: var(--rf-footer-ink) !important;
}

.rf-site-footer .rf-social-links a:hover,
.rf-site-footer .rf-social-links a:focus-visible {
  background: #fffdfb !important;
  border-color: rgba(169, 101, 76, .34) !important;
  color: var(--rf-footer-accent-deep) !important;
}

.rf-site-footer .rf-footer-menu a:hover,
.rf-site-footer .rf-footer-menu a:focus-visible,
.rf-site-footer .rf-footer-contact-mini a:hover,
.rf-site-footer .rf-footer-contact-mini a:focus-visible {
  color: var(--rf-footer-accent-deep) !important;
}

.rf-site-footer .rf-footer-disclosure,
.rf-site-footer .rf-footer-disclosure:last-of-type,
.rf-site-footer .rf-footer-bottom,
.rf-site-footer .rf-footer-extra {
  border-color: var(--rf-footer-line) !important;
}

.rf-site-footer .rf-footer-bottom-note {
  color: #806b61 !important;
}

@media (max-width: 760px) {
  .rf-site-footer {
    background:
      radial-gradient(circle at 84% 4%, rgba(207, 151, 124, .18), transparent 31%),
      linear-gradient(155deg, #faf6f2 0%, #f0e3da 100%) !important;
    border-top-color: rgba(169, 101, 76, .24) !important;
  }

  .rf-site-footer > .rf-container {
    padding-inline: 20px;
  }

  .rf-footer-wordmark-image {
    max-width: min(64vw, 248px) !important;
  }

  .rf-footer-proof {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
    width: 100%;
  }

  .rf-footer-proof a {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 48px;
    padding: 7px 8px;
    text-align: center;
  }

  .rf-install-app {
    border-radius: 22px !important;
  }

  .rf-site-footer .rf-footer-disclosure > summary {
    color: var(--rf-footer-ink) !important;
  }
}

@media (max-width: 390px) {
  .rf-footer-proof {
    grid-template-columns: 1fr;
  }

  .rf-footer-proof a {
    justify-content: flex-start;
    min-height: 42px;
  }
}



/* Rosaifa 4.17.4 — footer/logo/readability refinement. */
.rf-site-footer .rf-footer-wordmark-image{
  display:inline-flex;align-items:center;justify-content:center;
  max-width:320px!important;overflow:hidden;
  padding:10px 16px!important;border:1px solid rgba(169,101,76,.20);
  border-radius:14px;background:#fffdfb;
  box-shadow:0 10px 26px rgba(63,40,29,.08);
}
.rf-site-footer .rf-footer-wordmark-image .custom-logo,
.rf-site-footer .rf-footer-wordmark-image .rf-fallback-logo img{
  display:block;width:280px!important;height:auto!important;max-height:74px!important;
  object-fit:contain;filter:contrast(1.08) saturate(1.12)!important;
}
.rf-site-footer .rf-footer-signature{align-items:center!important}
.rf-site-footer .rf-footer-signature-copy>p,
.rf-site-footer .rf-footer-brand p{font-size:15px!important;line-height:1.65!important}
.rf-site-footer .rf-footer-menu a{font-size:16px!important;line-height:1.55!important}
.rf-site-footer .rf-footer-contact-mini a{font-size:14px!important;line-height:1.55!important}
@media(max-width:760px){
  .rf-site-footer{padding-top:44px!important;padding-bottom:max(92px,calc(82px + env(safe-area-inset-bottom)))!important}
  .rf-site-footer .rf-footer-wordmark-image{max-width:260px!important;padding:8px 12px!important;border-radius:12px}
  .rf-site-footer .rf-footer-wordmark-image .custom-logo,
  .rf-site-footer .rf-footer-wordmark-image .rf-fallback-logo img{width:min(220px,62vw)!important;max-height:58px!important}
  .rf-site-footer .rf-footer-signature-copy>p,
  .rf-site-footer .rf-footer-brand p{font-size:14px!important;line-height:1.6!important}
  .rf-site-footer .rf-footer-proof a{font-size:12px!important;line-height:1.35!important;min-height:44px}
  .rf-site-footer .rf-footer-menu a{font-size:15px!important;line-height:1.55!important}
  .rf-site-footer .rf-footer-contact-mini a{font-size:14px!important}
  .rf-site-footer .rf-footer-bottom{font-size:13px!important;line-height:1.5!important}
}
  border-top: 1px solid rgba(169, 101, 76, .22) !important;
  color: var(--rf-footer-ink) !important;
  position: relative;
}

.rf-site-footer::before {
  background: linear-gradient(90deg, transparent, rgba(169, 101, 76, .54), transparent) !important;
  height: 1px !important;
  opacity: 1 !important;
}

.rf-site-footer .rf-footer-wordmark-image .custom-logo,
.rf-site-footer .rf-footer-wordmark-image .rf-fallback-logo img {
  filter: contrast(1.04) saturate(1.06) drop-shadow(0 7px 18px rgba(91, 52, 38, .08)) !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

.rf-footer-signature {
  border-color: var(--rf-footer-line) !important;
}

.rf-footer-signature-copy > p,
.rf-site-footer .rf-footer-brand p,
.rf-install-help,
.rf-site-footer .rf-footer-bottom,
.rf-site-footer .rf-footer-menu a,
.rf-site-footer .rf-footer-contact-mini a {
  color: var(--rf-footer-muted) !important;
}

.rf-site-footer .rf-footer-col h3,
.rf-site-footer .rf-footer-disclosure > summary,
.rf-site-footer .rf-footer-disclosure > summary h3,
.rf-footer-proof a,
.rf-install-app-copy strong {
  color: var(--rf-footer-ink) !important;
}

.rf-footer-kicker,
.rf-install-app-copy small,
.rf-install-app-arrow,
.rf-site-footer .rf-footer-disclosure > summary::after {
  color: var(--rf-footer-accent-deep) !important;
}

.rf-footer-proof {
  gap: 10px 12px !important;
}

.rf-footer-proof a {
  background: rgba(255, 253, 251, .58);
  border: 1px solid rgba(169, 101, 76, .15);
  border-radius: 999px;
  padding: 8px 11px;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.rf-footer-proof a::before {
  background: var(--rf-footer-accent) !important;
}

.rf-footer-proof a:hover,
.rf-footer-proof a:focus-visible {
  background: rgba(255, 253, 251, .95);
  border-color: rgba(169, 101, 76, .38);
  color: var(--rf-footer-accent-deep) !important;
  transform: translateY(-1px);
}

.rf-install-app {
  background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(249,241,235,.92)) !important;
  border: 1px solid rgba(113, 75, 59, .17) !important;
  box-shadow: 0 16px 38px rgba(63, 40, 29, .08), inset 0 1px 0 rgba(255,255,255,.9) !important;
  color: var(--rf-footer-ink) !important;
}

.rf-install-app:hover,
.rf-install-app:focus-visible {
  background: #fffdfb !important;
  border-color: rgba(169, 101, 76, .38) !important;
  box-shadow: 0 18px 44px rgba(63, 40, 29, .11), inset 0 1px 0 #fff !important;
}

.rf-install-app-icon {
  background: linear-gradient(145deg, #3b2820, #201713) !important;
  color: #fff9f5 !important;
  box-shadow: 0 8px 18px rgba(45, 28, 21, .16);
}

.rf-site-footer .rf-social-links a {
  background: rgba(255, 253, 251, .66) !important;
  border: 1px solid rgba(61, 42, 34, .14) !important;
  color: var(--rf-footer-ink) !important;
}

.rf-site-footer .rf-social-links a:hover,
.rf-site-footer .rf-social-links a:focus-visible {
  background: #fffdfb !important;
  border-color: rgba(169, 101, 76, .34) !important;
  color: var(--rf-footer-accent-deep) !important;
}

.rf-site-footer .rf-footer-menu a:hover,
.rf-site-footer .rf-footer-menu a:focus-visible,
.rf-site-footer .rf-footer-contact-mini a:hover,
.rf-site-footer .rf-footer-contact-mini a:focus-visible {
  color: var(--rf-footer-accent-deep) !important;
}

.rf-site-footer .rf-footer-disclosure,
.rf-site-footer .rf-footer-disclosure:last-of-type,
.rf-site-footer .rf-footer-bottom,
.rf-site-footer .rf-footer-extra {
  border-color: var(--rf-footer-line) !important;
}

.rf-site-footer .rf-footer-bottom-note {
  color: #806b61 !important;
}

@media (max-width: 760px) {
  .rf-site-footer {
    background:
      radial-gradient(circle at 84% 4%, rgba(207, 151, 124, .18), transparent 31%),
      linear-gradient(155deg, #faf6f2 0%, #f0e3da 100%) !important;
    border-top-color: rgba(169, 101, 76, .24) !important;
  }

  .rf-site-footer > .rf-container {
    padding-inline: 20px;
  }

  .rf-footer-wordmark-image {
    max-width: min(64vw, 248px) !important;
  }

  .rf-footer-proof {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
    width: 100%;
  }

  .rf-footer-proof a {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 48px;
    padding: 7px 8px;
    text-align: center;
  }

  .rf-install-app {
    border-radius: 22px !important;
  }

  .rf-site-footer .rf-footer-disclosure > summary {
    color: var(--rf-footer-ink) !important;
  }
}

@media (max-width: 390px) {
  .rf-footer-proof {
    grid-template-columns: 1fr;
  }

  .rf-footer-proof a {
    justify-content: flex-start;
    min-height: 42px;
  }
}


/* rosaifa-compact-footer-v41422 */
/* Rosaifa 4.14.22 — compact premium footer.
   Keeps the v4.14.21 palette while reducing mobile vertical footprint. */

@media (max-width: 760px) {
  .rf-site-footer {
    padding-bottom: max(86px, calc(76px + env(safe-area-inset-bottom))) !important;
  }

  .rf-site-footer > .rf-container {
    padding-inline: 16px !important;
  }

  .rf-footer-signature {
    gap: 12px !important;
    padding: 18px 0 14px !important;
    text-align: center;
  }

  .rf-footer-signature-copy {
    display: grid;
    justify-items: center;
  }

  .rf-footer-wordmark-image {
    max-width: min(48vw, 184px) !important;
  }

  .rf-footer-wordmark-image .custom-logo,
  .rf-footer-wordmark-image .rf-fallback-logo img {
    max-height: 48px !important;
    width: min(48vw, 184px) !important;
  }

  .rf-footer-signature-copy > p {
    font-size: 12px !important;
    line-height: 1.42 !important;
    margin-top: 7px !important;
    max-width: 31ch !important;
  }

  .rf-footer-proof {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 10px !important;
    width: 100%;
  }

  .rf-footer-proof a {
    border-radius: 14px !important;
    font-size: 8.5px !important;
    gap: 5px !important;
    justify-content: center !important;
    line-height: 1.25 !important;
    min-height: 38px !important;
    padding: 6px 5px !important;
  }

  .rf-footer-proof a::before {
    height: 4px !important;
    width: 4px !important;
  }

  .rf-footer-install-wrap {
    margin-top: 0 !important;
    max-width: none !important;
    width: 100%;
  }

  .rf-install-app {
    border-radius: 17px !important;
    gap: 10px !important;
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    min-height: 56px !important;
    padding: 8px 10px !important;
  }

  .rf-install-app-icon {
    border-radius: 11px !important;
    height: 38px !important;
    width: 38px !important;
  }

  .rf-install-app-copy {
    gap: 1px !important;
  }

  .rf-install-app-copy small {
    font-size: 7.5px !important;
    letter-spacing: .12em !important;
  }

  .rf-install-app-copy strong {
    font-size: 13px !important;
  }

  .rf-install-help {
    font-size: 10px !important;
    margin: 6px 4px 0 !important;
  }

  /* The brand-value block duplicates the signature above on small screens.
     Removing it cuts substantial height while keeping all navigation intact. */
  .rf-site-footer .rf-footer-brand {
    display: none !important;
  }

  .rf-site-footer .rf-footer-grid {
    padding-top: 8px !important;
  }

  .rf-site-footer .rf-footer-col {
    margin: 0 !important;
  }

  .rf-site-footer .rf-footer-disclosure,
  .rf-site-footer .rf-footer-disclosure:last-of-type {
    margin: 0 !important;
  }

  .rf-site-footer .rf-footer-disclosure > summary {
    min-height: 42px !important;
    padding: 0 2px !important;
  }

  .rf-site-footer .rf-footer-disclosure > summary h3 {
    font-size: 10px !important;
    letter-spacing: .13em !important;
  }

  .rf-site-footer .rf-footer-disclosure > summary::after {
    font-size: 16px !important;
  }

  .rf-site-footer .rf-footer-disclosure .rf-footer-menu {
    gap: 2px !important;
    padding-bottom: 8px !important;
  }

  .rf-site-footer .rf-footer-menu a,
  .rf-site-footer .rf-footer-contact-mini a {
    font-size: 12px !important;
    line-height: 1.35 !important;
    padding-block: 4px !important;
  }

  .rf-site-footer .rf-footer-contact-mini {
    gap: 3px !important;
    padding-bottom: 9px !important;
  }

  .rf-site-footer .rf-footer-extra {
    margin-top: 14px !important;
    padding-top: 12px !important;
  }

  .rf-site-footer .rf-footer-bottom {
    font-size: 10px !important;
    gap: 4px !important;
    margin-top: 12px !important;
    padding-top: 11px !important;
  }
}

@media (max-width: 390px) {
  .rf-footer-proof {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .rf-footer-proof a {
    min-height: 40px !important;
    padding-inline: 4px !important;
  }
}


/* rosaifa-beauty-intelligence-v41423 */
/* Rosaifa 4.14.23 — premium beauty intelligence hub. */

body.page-id-0 {}

.rf-v41423-toolkit {
  width: min(100% - 32px, 1240px);
  margin: 26px auto 16px;
  padding: 16px;
  border: 1px solid rgba(117,78,61,.13);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(247,239,233,.92));
  box-shadow: 0 18px 50px rgba(55,33,20,.055);
}
.rf-v41423-toolkit-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.rf-v41423-toolkit-head strong { font-size:14px; }
.rf-v41423-toolkit-track {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}
.rf-v41423-toolkit-track a {
  min-width:0;
  min-height:72px;
  padding:12px 13px;
  border:1px solid rgba(117,78,61,.11);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.rf-v41423-toolkit-track a span { color:var(--rf-ink);font-size:12px;font-weight:800; }
.rf-v41423-toolkit-track a small { color:var(--rf-ink-soft);font-size:9px;line-height:1.35; }
.rf-v41423-toolkit-track a:hover { transform:translateY(-2px);box-shadow:0 12px 26px rgba(55,33,20,.06); }
.rf-v41423-toolkit-track a.is-active { background:linear-gradient(135deg,#211511,#4b3026);border-color:transparent; }
.rf-v41423-toolkit-track a.is-active span { color:#fff; }
.rf-v41423-toolkit-track a.is-active small { color:rgba(255,255,255,.66); }

.rf-v47-consultation,
.rf-routine-finder,
.rf-v48-intel,
.rf-guide-page {
  position:relative;
}
.rf-v47-consultation::before,
.rf-routine-finder::before,
.rf-v48-intel::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:340px;
  z-index:-1;
  background:radial-gradient(circle at 16% 10%, rgba(224,183,157,.18), transparent 38%);
  pointer-events:none;
}
.rf-v47-quiz-intro,
.rf-routine-finder-intro,
.rf-v48-hero {
  border:1px solid rgba(117,78,61,.13)!important;
  background:linear-gradient(135deg,#f7eee8 0%,#fff 58%,#fbf7f3 100%)!important;
  box-shadow:0 24px 62px rgba(55,33,20,.065)!important;
}
.rf-v47-quiz-intro,
.rf-routine-finder-intro { border-radius:26px;padding:clamp(24px,4vw,42px); }
.rf-v47-quiz-intro h1,
.rf-routine-finder-intro h1,
.rf-v48-hero h1 { max-width:900px; }
.rf-v47-trust-row span {
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(117,78,61,.12)!important;
  border-radius:999px!important;
  padding:8px 11px!important;
}

.rf-v47-progress { overflow:hidden;border-radius:999px;background:#eadfd8!important; }
.rf-v47-progress > span { background:linear-gradient(90deg,#9a5c48,#d79b78)!important; }
.rf-v47-progress-label { color:var(--rf-ink-soft)!important;font-weight:700; }
.rf-v47-quiz {
  border:1px solid rgba(117,78,61,.13)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 20px 55px rgba(55,33,20,.055)!important;
}
.rf-v47-question legend { font-family:var(--rf-serif);font-size:clamp(26px,3vw,38px)!important;line-height:1.08!important; }
.rf-v47-options label { border-radius:18px!important;border-color:rgba(117,78,61,.12)!important;background:linear-gradient(150deg,#fff,#fbf6f2)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.rf-v47-options label:hover { transform:translateY(-2px);box-shadow:0 12px 28px rgba(55,33,20,.055); }
.rf-v47-options label:has(input:checked) { border-color:rgba(116,74,78,.52)!important;background:linear-gradient(145deg,#f8eee8,#fff)!important;box-shadow:0 0 0 3px rgba(116,74,78,.08); }
.rf-v47-options input:checked + span strong { color:var(--rf-rose-dark); }
.rf-v47-quiz-nav { border-top:1px solid rgba(117,78,61,.10);padding-top:16px; }

.rf-routine-form {
  border:1px solid rgba(117,78,61,.13)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 20px 55px rgba(55,33,20,.05)!important;
}
.rf-routine-form label>span { font-size:10px!important;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--rf-ink-soft); }
.rf-routine-form select,.rf-routine-form input { min-height:52px!important;border-radius:15px!important;border-color:rgba(117,78,61,.15)!important;background:#fff!important; }
.rf-routine-match-card { border-radius:20px!important;box-shadow:0 12px 30px rgba(55,33,20,.04); }

.rf-v41423-ingredient-tools {
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:12px;
  align-items:center;
  margin:0 0 18px;
  padding:14px;
  border:1px solid rgba(117,78,61,.12);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 34px rgba(55,33,20,.04);
}
.rf-v41423-ingredient-search { position:relative; }
.rf-v41423-ingredient-search input { width:100%;min-height:48px;border:1px solid rgba(117,78,61,.15);border-radius:999px;background:#fff;padding:0 18px;font-size:14px; }
.rf-v41423-ingredient-filters { display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end; }
.rf-v41423-ingredient-filters button { min-height:40px;border:1px solid rgba(117,78,61,.13);border-radius:999px;background:#fff;padding:0 12px;color:var(--rf-ink-soft);font-size:10px;font-weight:800;cursor:pointer; }
.rf-v41423-ingredient-filters button.is-active { background:#211511;color:#fff;border-color:#211511; }
.rf-v48-ingredient-card { position:relative;overflow:hidden;box-shadow:0 14px 38px rgba(55,33,20,.045); }
.rf-v48-ingredient-card[hidden] { display:none!important; }
.rf-v41423-save-ingredient { position:absolute;right:14px;top:14px;min-height:34px;border:1px solid rgba(117,78,61,.13);border-radius:999px;background:#fff;padding:0 10px;color:var(--rf-ink-soft);font-size:9px;font-weight:800;cursor:pointer; }
.rf-v41423-save-ingredient.is-saved { background:#2b1b14;color:#fff;border-color:#2b1b14; }
.rf-v41423-ingredient-count { margin:0 0 14px;color:var(--rf-ink-soft);font-size:11px; }

.rf-v48-compat { background:linear-gradient(135deg,#1b120e,#352118)!important;box-shadow:0 22px 56px rgba(31,18,12,.16); }
.rf-v48-compat select { box-shadow:0 8px 20px rgba(0,0,0,.10); }
.rf-v48-compat-result { border:1px solid rgba(154,92,72,.13); }
.rf-v48-saved-card>header { background:linear-gradient(135deg,#211511,#4a3025)!important;box-shadow:0 18px 46px rgba(31,18,12,.14); }
.rf-v48-compare-table { border-radius:20px;overflow:hidden;box-shadow:0 18px 44px rgba(55,33,20,.055); }

.woocommerce-account .woocommerce-MyAccount-navigation-link--beauty-profile a::after { content:"NEW";float:right;margin-left:8px;padding:3px 6px;border-radius:999px;background:#ead8cc;color:#744a4e;font-size:7px;font-weight:900;letter-spacing:.08em; }
.rf-v41423-dashboard-beauty {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr) auto;
  gap:16px;
  align-items:center;
  margin-top:4px;
  padding:22px;
  border:1px solid rgba(117,78,61,.13);
  border-radius:24px;
  background:linear-gradient(135deg,#f5ece6,#fff 62%);
  box-shadow:0 18px 48px rgba(55,33,20,.055);
}
.rf-v41423-dashboard-beauty h2 { font-family:var(--rf-serif);font-size:clamp(27px,3vw,38px);font-weight:400;line-height:1.05;margin:5px 0 8px; }
.rf-v41423-dashboard-beauty p { margin:0;color:var(--rf-ink-soft);font-size:11px;line-height:1.6; }
.rf-v41423-dashboard-beauty-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px; }
.rf-v41423-dashboard-beauty-facts span { min-width:0;padding:11px;border:1px solid rgba(117,78,61,.11);border-radius:14px;background:rgba(255,255,255,.72); }
.rf-v41423-dashboard-beauty-facts small { display:block;color:var(--rf-ink-soft);font-size:8px;text-transform:uppercase;letter-spacing:.08em; }
.rf-v41423-dashboard-beauty-facts strong { display:block;margin-top:4px;font-size:11px;overflow-wrap:anywhere; }

.rf-v41423-beauty-profile { display:grid;gap:18px; }
.rf-v41423-profile-hero { display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px;border:1px solid rgba(117,78,61,.13);border-radius:24px;background:linear-gradient(135deg,#f5ece6,#fff 64%);box-shadow:0 18px 48px rgba(55,33,20,.055); }
.rf-v41423-profile-hero h2 { font-family:var(--rf-serif);font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.02;margin:6px 0 10px; }
.rf-v41423-profile-hero p { max-width:700px;color:var(--rf-ink-soft);font-size:12px;line-height:1.65;margin:0; }
.rf-v41423-profile-stats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.rf-v41423-profile-stats article { min-width:0;min-height:132px;padding:16px;border:1px solid rgba(117,78,61,.12);border-radius:18px;background:linear-gradient(150deg,#fff,#faf5f1);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 30px rgba(55,33,20,.035); }
.rf-v41423-profile-stats small { color:var(--rf-ink-soft);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.rf-v41423-profile-stats strong { font-family:var(--rf-serif);font-size:27px;font-weight:500;line-height:1.05;overflow-wrap:anywhere; }
.rf-v41423-profile-stats span { color:var(--rf-ink-soft);font-size:9px;line-height:1.4; }
.rf-v41423-profile-grid { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:12px; }
.rf-v41423-profile-panel { min-width:0;padding:20px;border:1px solid rgba(117,78,61,.12);border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(55,33,20,.045); }
.rf-v41423-panel-head { display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:15px; }
.rf-v41423-panel-head h3 { font-family:var(--rf-serif);font-size:28px;font-weight:400;line-height:1.06;margin:5px 0 0; }
.rf-v41423-panel-head>a { flex:0 0 auto;color:var(--rf-rose-dark);font-size:9px;font-weight:800; }
.rf-v41423-routine-preview .rf-v48-saved-card>header { padding:18px!important;border-radius:18px!important; }
.rf-v41423-routine-preview .rf-product-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
.rf-v41423-saved-date { display:block;margin-top:10px;color:var(--rf-ink-soft); }
.rf-v41423-empty-panel { padding:18px;border-radius:16px;background:#faf5f1;color:var(--rf-ink-soft);font-size:11px;line-height:1.6; }
.rf-v41423-saved-ingredients { display:grid;gap:8px; }
.rf-v41423-saved-ingredients a { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border:1px solid rgba(117,78,61,.11);border-radius:14px;background:#fcfaf8; }
.rf-v41423-saved-ingredients span { color:var(--rf-ink);font-size:12px;font-weight:800; }
.rf-v41423-saved-ingredients small { color:var(--rf-ink-soft);font-size:8px;text-transform:uppercase;letter-spacing:.07em; }
.rf-v41423-account-tools { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.rf-v41423-account-tools a { min-height:150px;padding:16px;border:1px solid rgba(117,78,61,.12);border-radius:18px;background:linear-gradient(150deg,#fff,#faf5f1);display:flex;flex-direction:column;box-shadow:0 10px 28px rgba(55,33,20,.035); }
.rf-v41423-account-tools small { color:var(--rf-rose-dark);font-size:9px;font-weight:900; }
.rf-v41423-account-tools strong { margin-top:auto;font-family:var(--rf-serif);font-size:24px;font-weight:500;line-height:1.05; }
.rf-v41423-account-tools span { margin-top:7px;color:var(--rf-ink-soft);font-size:9px;line-height:1.5; }

@media (max-width:980px) {
  .rf-v41423-toolkit-track { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .rf-v41423-dashboard-beauty { grid-template-columns:1fr; }
  .rf-v41423-profile-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rf-v41423-profile-grid { grid-template-columns:1fr; }
  .rf-v41423-account-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .rf-v41423-toolkit { width:min(100% - 16px,1240px);margin-top:16px;padding:12px;border-radius:20px; }
  .rf-v41423-toolkit-head { align-items:start;flex-direction:column;gap:4px; }
  .rf-v41423-toolkit-track { display:flex;overflow-x:auto;scrollbar-width:none;padding-bottom:2px; }
  .rf-v41423-toolkit-track::-webkit-scrollbar { display:none; }
  .rf-v41423-toolkit-track a { flex:0 0 148px;min-height:64px;padding:10px 11px;border-radius:14px; }
  .rf-v47-quiz-intro,.rf-routine-finder-intro { border-radius:20px;padding:20px 16px; }
  .rf-v47-quiz { border-radius:20px!important; }
  .rf-v41423-ingredient-tools { grid-template-columns:1fr;padding:10px;border-radius:16px; }
  .rf-v41423-ingredient-filters { justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none; }
  .rf-v41423-ingredient-filters button { flex:0 0 auto; }
  .rf-v41423-dashboard-beauty { padding:17px;border-radius:20px; }
  .rf-v41423-dashboard-beauty-facts { grid-template-columns:1fr; }
  .rf-v41423-profile-hero { align-items:flex-start;flex-direction:column;padding:18px;border-radius:20px; }
  .rf-v41423-profile-stats { grid-template-columns:1fr 1fr;gap:8px; }
  .rf-v41423-profile-stats article { min-height:116px;padding:13px; }
  .rf-v41423-profile-stats strong { font-size:22px; }
  .rf-v41423-profile-panel { padding:16px;border-radius:18px; }
  .rf-v41423-panel-head { flex-direction:column; }
  .rf-v41423-routine-preview .rf-product-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .rf-v41423-account-tools { grid-template-columns:1fr 1fr;gap:8px; }
  .rf-v41423-account-tools a { min-height:128px;padding:13px; }
}


/* rosaifa-beauty-workspace-v41424 */
/* Rosaifa 4.14.24 — premium Beauty Workspace, My Cabinet and next-action system. */

.woocommerce-account .woocommerce-MyAccount-navigation-link--my-cabinet a::after {
  content: "NEW";
  float: right;
  margin-left: 8px;
  padding: 3px 6px;
  border-radius: 999px;
  background: #ead8cc;
  color: #744a4e;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .08em;
}

.rf-v41424-dashboard {
  display: grid;
  gap: 14px;
  margin: 0 0 22px;
}

.rf-v41424-next-action {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 24px;
  padding: clamp(20px,3vw,30px);
  border: 1px solid rgba(117,78,61,.13);
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 15%, rgba(207,149,115,.18), transparent 30%),
    linear-gradient(140deg,#fff 0%,#fbf4ef 100%);
  box-shadow: 0 18px 50px rgba(55,33,20,.055);
}
.rf-v41424-next-action h2 { margin: 7px 0 8px; font-family: var(--rf-serif); font-size: clamp(30px,3.4vw,46px); font-weight: 500; line-height: 1; letter-spacing: -.03em; }
.rf-v41424-next-action p { margin: 0; max-width: 720px; color: var(--rf-ink-soft); line-height: 1.65; }

.rf-v41424-dashboard-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.rf-v41424-dashboard-metrics a { min-height:118px; padding:15px; border:1px solid rgba(117,78,61,.11); border-radius:18px; background:rgba(255,255,255,.84); display:flex; flex-direction:column; color:inherit; box-shadow:0 10px 28px rgba(55,33,20,.03); }
.rf-v41424-dashboard-metrics small { color:var(--rf-ink-soft); font-size:9px; font-weight: 800; letter-spacing:.08em; text-transform:uppercase; }
.rf-v41424-dashboard-metrics strong { margin-top:auto; font-family:var(--rf-serif); font-size:32px; font-weight:500; line-height:1; }
.rf-v41424-dashboard-metrics span { margin-top:5px; color:var(--rf-ink-soft); font-size:9px; }

.rf-v41424-ritual-strip { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:9px; padding:12px 14px; border:1px solid rgba(117,78,61,.12); border-radius:18px; background:#fff; }
.rf-v41424-ritual-strip>div { display:grid; gap:2px; }
.rf-v41424-ritual-strip>div strong { font-size:13px; }
.rf-v41424-ritual-strip button { min-width:96px; min-height:46px; border:1px solid var(--rf-line); border-radius:999px; background:#faf5f1; color:var(--rf-ink); display:flex; align-items:center; justify-content:center; gap:7px; font:inherit; cursor:pointer; }
.rf-v41424-ritual-strip button span { font-weight: 800; }
.rf-v41424-ritual-strip button small { font-size:9px; color:var(--rf-ink-soft); }
.rf-v41424-ritual-strip button.is-done { background:var(--rf-ink); color:#fff; border-color:var(--rf-ink); }
.rf-v41424-ritual-strip button.is-done small { color:rgba(255,255,255,.72); }
.rf-v41424-ritual-strip>a { font-size:10px; font-weight:800; white-space:nowrap; }

.rf-v41424-routine-workspace { margin-top:22px; padding-top:22px; border-top:1px solid var(--rf-line-soft); }
.rf-v41424-workspace-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:20px; margin-bottom:16px; }
.rf-v41424-workspace-head h2 { margin:6px 0 8px; font-family:var(--rf-serif); font-size:clamp(30px,3.5vw,44px); font-weight:500; line-height:1; }
.rf-v41424-workspace-head p { max-width:780px; margin:0; color:var(--rf-ink-soft); line-height:1.65; }

.rf-v41424-checkin-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:9px; padding:12px; border:1px solid rgba(117,78,61,.12); border-radius:18px; background:linear-gradient(135deg,#fff,#faf5f1); margin-bottom:14px; }
.rf-v41424-checkin-row>div { display:grid; gap:2px; }
.rf-v41424-checkin-row>div small { color:var(--rf-ink-soft); font-size:9px; }
.rf-v41424-checkin-row button { min-height:44px; min-width:120px; border:1px solid var(--rf-line); border-radius:999px; background:#fff; font:inherit; font-weight: 800; cursor:pointer; }
.rf-v41424-checkin-row button span { margin-left:5px; color:var(--rf-ink-soft); font-size:9px; font-weight:650; }
.rf-v41424-checkin-row button.is-done { background:var(--rf-ink); color:#fff; border-color:var(--rf-ink); }
.rf-v41424-checkin-row button.is-done span { color:rgba(255,255,255,.7); }

.rf-v41424-workspace-shelf { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:14px; }
.rf-v41424-shelf-card { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px; border:1px solid rgba(117,78,61,.11); border-radius:16px; background:#fff; min-width:0; }
.rf-v41424-shelf-card img { width:64px; height:64px; object-fit:contain; border-radius:12px; background:#faf6f2; }
.rf-v41424-shelf-card>div { min-width:0; display:grid; gap:3px; }
.rf-v41424-shelf-card>div small { color:var(--rf-rose-dark); font-size:8px; font-weight: 800; text-transform:uppercase; }
.rf-v41424-shelf-card>div strong { font-size:11px; line-height:1.35; overflow-wrap:anywhere; }
.rf-v41424-shelf-card nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; max-width:156px; }
.rf-v41424-shelf-card nav button { border:1px solid var(--rf-line); border-radius:999px; background:#fff; min-height:32px; padding:0 9px; font:inherit; font-size:8px; font-weight: 800; cursor:pointer; }
.rf-v41424-shelf-card nav button.is-active { background:var(--rf-ink); color:#fff; border-color:var(--rf-ink); }

.rf-v41424-workspace-lanes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.rf-v41424-workspace-lanes>section { min-width:0; border:1px solid rgba(117,78,61,.12); border-radius:18px; background:linear-gradient(180deg,#fff,#fcf8f5); overflow:hidden; }
.rf-v41424-workspace-lanes>section>header { display:flex; align-items:center; gap:9px; padding:12px; border-bottom:1px solid var(--rf-line-soft); }
.rf-v41424-workspace-lanes>section>header span { width:32px; height:32px; border-radius:50%; background:#efe3dc; color:var(--rf-rose-dark); display:grid; place-items:center; font-size:9px; font-weight:900; }
.rf-v41424-workspace-lanes>section>header strong { font-size:12px; }
.rf-v41424-workspace-lanes>section>div { display:grid; gap:7px; padding:9px; }
.rf-v41424-lane-item { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:8px; padding:7px; border:1px solid rgba(117,78,61,.10); border-radius:13px; background:#fff; }
.rf-v41424-lane-item img { width:48px; height:48px; object-fit:contain; border-radius:10px; background:#faf6f2; }
.rf-v41424-lane-item>div { min-width:0; display:grid; gap:2px; }
.rf-v41424-lane-item small { color:var(--rf-rose-dark); font-size:7.5px; font-weight: 800; }
.rf-v41424-lane-item strong { font-size:9px; line-height:1.3; overflow-wrap:anywhere; }
.rf-v41424-lane-item nav { display:flex; gap:3px; }
.rf-v41424-lane-item nav button { width:28px; height:28px; border:1px solid var(--rf-line); border-radius:50%; background:#fff; cursor:pointer; }
.rf-v41424-lane-item nav button:disabled { opacity:.3; cursor:default; }
.rf-v41424-lane-empty { min-height:76px; display:grid; place-items:center; color:var(--rf-ink-soft); font-size:9px; text-align:center; }
.rf-v41424-workspace-save { display:flex; align-items:center; gap:12px; margin-top:12px; }
.rf-v41424-workspace-save span { color:var(--rf-ink-soft); font-size:10px; }

.rf-v41424-cabinet { display:grid; gap:16px; }
.rf-v41424-cabinet-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:20px; padding:clamp(20px,3vw,30px); border:1px solid rgba(117,78,61,.13); border-radius:26px; background:radial-gradient(circle at 90% 12%,rgba(207,149,115,.16),transparent 32%),linear-gradient(140deg,#fff,#faf4ef); box-shadow:0 18px 50px rgba(55,33,20,.05); }
.rf-v41424-cabinet-hero h2 { margin:7px 0 8px; font-family:var(--rf-serif); font-size:clamp(32px,4vw,48px); font-weight:500; line-height:1; }
.rf-v41424-cabinet-hero p { margin:0; max-width:720px; color:var(--rf-ink-soft); line-height:1.65; }
.rf-v41424-cabinet-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.rf-v41424-cabinet-stats>span { padding:14px; border:1px solid rgba(117,78,61,.11); border-radius:16px; background:#fff; display:grid; gap:5px; }
.rf-v41424-cabinet-stats small { color:var(--rf-ink-soft); font-size:8px; font-weight: 800; text-transform:uppercase; letter-spacing:.08em; }
.rf-v41424-cabinet-stats strong { font-family:var(--rf-serif); font-size:28px; font-weight:500; }
.rf-v41424-cabinet-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.rf-v41424-cabinet-card { display:grid; grid-template-columns:132px minmax(0,1fr); min-width:0; overflow:hidden; border:1px solid rgba(117,78,61,.11); border-radius:20px; background:#fff; }
.rf-v41424-cabinet-image { display:grid; place-items:center; min-height:160px; background:#faf6f2; }
.rf-v41424-cabinet-image img { width:100%; height:100%; max-height:190px; object-fit:contain; padding:8px; }
.rf-v41424-cabinet-copy { min-width:0; display:flex; flex-direction:column; padding:14px; }
.rf-v41424-cabinet-badges { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
.rf-v41424-cabinet-badges span { padding:5px 7px; border-radius:999px; background:#f4e9e2; color:var(--rf-rose-dark); font-size:7px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.rf-v41424-cabinet-copy>a>strong { display:block; font-size:13px; line-height:1.4; }
.rf-v41424-cabinet-price { margin-top:6px; font-weight: 800; }
.rf-v41424-cabinet-copy>small { margin-top:8px; color:var(--rf-ink-soft); font-size:9px; line-height:1.45; }
.rf-v41424-cabinet-copy>small.is-due { color:var(--rf-rose-dark); font-weight:800; }
.rf-v41424-cabinet-actions { margin-top:auto; padding-top:10px; display:flex; flex-wrap:wrap; gap:6px; }
.rf-v41424-cabinet-actions a,.rf-v41424-cabinet-actions button { min-height:34px; padding:0 9px; border:1px solid var(--rf-line); border-radius:999px; background:#fff; color:var(--rf-ink); display:inline-flex; align-items:center; font:inherit; font-size:8.5px; font-weight:800; cursor:pointer; }
.rf-v41424-empty { padding:24px; border:1px dashed rgba(117,78,61,.22); border-radius:20px; background:#fff; text-align:center; }
.rf-v41424-empty h3 { font-family:var(--rf-serif); font-size:30px; font-weight:500; margin:0 0 8px; }
.rf-v41424-empty p { max-width:620px; margin:0 auto 14px; color:var(--rf-ink-soft); line-height:1.6; }

.rf-v41424-cabinet-toggle { display:inline-flex; align-items:center; gap:7px; margin:2px 0 12px; min-height:40px; padding:0 13px; border:1px solid var(--rf-line); border-radius:999px; background:#fff; color:var(--rf-ink); font:inherit; cursor:pointer; }
.rf-v41424-cabinet-toggle span { font-size:16px; line-height:1; }
.rf-v41424-cabinet-toggle em { font-style:normal; font-size:10px; font-weight:800; }
.rf-v41424-cabinet-toggle[aria-pressed="true"] { background:#f5eae3; color:var(--rf-rose-dark); border-color:rgba(116,74,78,.24); }

@media(max-width:980px){
  .rf-v41424-dashboard-metrics,.rf-v41424-cabinet-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-v41424-workspace-lanes{grid-template-columns:1fr}
  .rf-v41424-cabinet-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .rf-v41424-next-action,.rf-v41424-cabinet-hero,.rf-v41424-workspace-head{grid-template-columns:1fr;align-items:start}
  .rf-v41424-next-action .rf-button,.rf-v41424-cabinet-hero .rf-button{width:100%;justify-content:center}
  .rf-v41424-dashboard-metrics{gap:8px}.rf-v41424-dashboard-metrics a{min-height:104px;padding:12px}.rf-v41424-dashboard-metrics strong{font-size:28px}
  .rf-v41424-ritual-strip{grid-template-columns:1fr 1fr 1fr}.rf-v41424-ritual-strip>div{grid-column:1/-1}.rf-v41424-ritual-strip>a{grid-column:1/-1;text-align:center;padding-top:4px}
  .rf-v41424-ritual-strip button{min-width:0;width:100%}
  .rf-v41424-checkin-row{grid-template-columns:1fr 1fr}.rf-v41424-checkin-row>div{grid-column:1/-1}.rf-v41424-checkin-row button{min-width:0;width:100%}
  .rf-v41424-workspace-shelf{grid-template-columns:1fr}
  .rf-v41424-shelf-card{grid-template-columns:56px minmax(0,1fr);}.rf-v41424-shelf-card img{width:56px;height:56px}.rf-v41424-shelf-card nav{grid-column:1/-1;max-width:none;justify-content:stretch}.rf-v41424-shelf-card nav button{flex:1}
  .rf-v41424-cabinet-card{grid-template-columns:112px minmax(0,1fr)}.rf-v41424-cabinet-image{min-height:150px}
}
@media(max-width:430px){
  .rf-v41424-cabinet-stats{grid-template-columns:1fr 1fr}
  .rf-v41424-cabinet-card{grid-template-columns:96px minmax(0,1fr)}
  .rf-v41424-cabinet-copy{padding:11px}
}

.rf-v41424-cabinet-toggle.is-locked,.rf-v41424-cabinet-toggle:disabled{cursor:default;opacity:.82}


/* rosaifa-beauty-core-v41425 */
/* Rosaifa 4.14.25 — Beauty Intelligence Core */
.rf-v41425-dashboard{display:grid;gap:14px;margin:0 0 24px}.rf-v41425-next{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:clamp(20px,3vw,30px);border:1px solid rgba(164,136,121,.18);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f8f1ec 100%);box-shadow:0 22px 54px rgba(42,27,18,.06)}.rf-v41425-next>div{max-width:720px}.rf-v41425-next h2{font-family:var(--rf-serif);font-size:clamp(30px,4vw,44px);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:6px 0 10px}.rf-v41425-next p{margin:0;color:var(--rf-ink-soft);line-height:1.65}.rf-v41425-next details{margin-top:12px;padding-top:10px;border-top:1px solid rgba(164,136,121,.14)}.rf-v41425-next summary{cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rf-v41425-next details p{margin-top:7px;font-size:12px}.rf-v41425-profile-meter{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid rgba(164,136,121,.16);border-radius:18px;background:rgba(255,255,255,.88)}.rf-v41425-profile-meter>div{display:flex;align-items:baseline;gap:8px}.rf-v41425-profile-meter>div strong{font-size:22px}.rf-v41425-profile-meter>div small{color:var(--rf-ink-soft)}.rf-v41425-profile-meter>span{height:7px;border-radius:999px;background:#eee3dc;overflow:hidden}.rf-v41425-profile-meter>span i{display:block;width:var(--rf-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#8c6660,#39261e)}.rf-v41425-profile-meter>a{font-size:11px;font-weight:800}.rf-v41425-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.rf-v41425-metrics>a{min-height:104px;padding:14px;border:1px solid rgba(164,136,121,.16);border-radius:18px;background:#fff;display:grid;align-content:start;gap:3px;box-shadow:0 10px 24px rgba(42,27,18,.025)}.rf-v41425-metrics small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--rf-ink-soft)}.rf-v41425-metrics strong{font-family:var(--rf-serif);font-size:30px;font-weight:500}.rf-v41425-metrics span{font-size:10px;color:var(--rf-ink-soft)}.rf-v41425-checkin{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(164,136,121,.16);border-radius:18px;background:#fff}.rf-v41425-checkin>div{display:grid;gap:2px}.rf-v41425-checkin button{border:1px solid rgba(164,136,121,.18);border-radius:14px;background:#f9f4f0;padding:9px 14px;display:flex;gap:8px;align-items:center}.rf-v41425-checkin button.is-done{background:#2d211b;color:#fff;border-color:#2d211b}.rf-v41425-checkin button small{font-size:9px}.rf-v41425-checkin>a{font-size:11px;font-weight:800}.rf-v41425-signal-bar{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(120px,1fr));gap:10px;margin:0 0 16px;padding:14px;border:1px solid rgba(164,136,121,.16);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f9f4f0 100%)}.rf-v41425-signal-bar>div{display:grid;gap:3px}.rf-v41425-signal-bar>span{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.72);font-size:13px;font-weight:700}.rf-v41425-signal-bar small{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rf-ink-soft)}
@media(max-width:900px){.rf-v41425-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-v41425-signal-bar{grid-template-columns:1fr 1fr}.rf-v41425-signal-bar>div{grid-column:1/-1}}
@media(max-width:680px){.rf-v41425-next{align-items:stretch;flex-direction:column}.rf-v41425-next .rf-button{width:100%;justify-content:center}.rf-v41425-profile-meter{grid-template-columns:1fr}.rf-v41425-profile-meter>span{order:2}.rf-v41425-profile-meter>a{order:3}.rf-v41425-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-v41425-metrics>a:last-child{grid-column:1/-1}.rf-v41425-checkin{grid-template-columns:1fr 1fr}.rf-v41425-checkin>div,.rf-v41425-checkin>a{grid-column:1/-1}.rf-v41425-signal-bar{grid-template-columns:1fr}}


/* rosaifa-routine-intelligence-v41426 */
/* Rosaifa 4.14.26 — Routine Intelligence 3.0 */
.rf-v41426-audit{margin-top:18px;padding:clamp(18px,3vw,26px);border:1px solid rgba(164,136,121,.18);border-radius:26px;background:linear-gradient(145deg,#fff 0%,#faf5f1 100%);box-shadow:0 18px 46px rgba(42,27,18,.045)}.rf-v41426-audit>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:16px}.rf-v41426-audit>header>div:first-child{max-width:760px}.rf-v41426-audit h2{font-family:var(--rf-serif);font-size:clamp(28px,3.5vw,40px);font-weight:400;letter-spacing:-.03em;margin:5px 0 8px}.rf-v41426-audit header p{margin:0;color:var(--rf-ink-soft);line-height:1.65}.rf-v41426-consistency{min-width:132px;text-align:right}.rf-v41426-consistency strong{display:block;font-family:var(--rf-serif);font-size:38px;font-weight:500}.rf-v41426-consistency small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--rf-ink-soft)}.rf-v41426-audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rf-v41426-audit-grid article{min-height:180px;padding:16px;border:1px solid rgba(164,136,121,.15);border-radius:18px;background:rgba(255,255,255,.8);display:grid;grid-template-columns:34px 1fr;gap:12px;align-content:start}.rf-v41426-audit-grid article>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eee3dc;font-size:10px;font-weight: 800}.rf-v41426-audit-grid article.is-clear>span{background:#2d211b;color:#fff}.rf-v41426-audit-grid small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--rf-ink-soft)}.rf-v41426-audit-grid strong{display:block;font-size:15px;margin:3px 0 7px}.rf-v41426-audit-grid p{margin:5px 0;color:var(--rf-ink-soft);font-size:12px;line-height:1.55}.rf-v41426-audit-grid a{display:inline-block;margin-top:5px;font-size:11px;font-weight:800}.rf-v41426-history{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:18px;margin-top:12px;padding:14px;border:1px solid rgba(164,136,121,.14);border-radius:18px;background:#fff}.rf-v41426-history>div:first-child{display:grid;gap:3px}.rf-v41426-history-days{display:grid;grid-template-columns:repeat(14,minmax(12px,1fr));gap:5px;align-items:end}.rf-v41426-history-days span{display:grid;gap:3px;justify-items:center}.rf-v41426-history-days i{display:block;width:100%;height:8px;border-radius:999px;background:#eee3dc}.rf-v41426-history-days .is-1 i{background:#b9968a}.rf-v41426-history-days .is-2 i{background:#2d211b}.rf-v41426-history-days small{font-size:8px;color:var(--rf-ink-soft)}
@media(max-width:760px){.rf-v41426-audit>header{align-items:flex-start;flex-direction:column}.rf-v41426-consistency{text-align:left}.rf-v41426-audit-grid{grid-template-columns:1fr}.rf-v41426-history{grid-template-columns:1fr}.rf-v41426-history-days{overflow-x:auto;grid-template-columns:repeat(14,24px)}}


/* rosaifa-product-ingredient-intelligence-v41427 */
/* Rosaifa 4.14.27 — Product & Ingredient Intelligence */
.rf-v41427-fit-card{margin:14px 0;padding:16px;border:1px solid rgba(164,136,121,.17);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f9f3ef 100%);box-shadow:0 12px 30px rgba(42,27,18,.04)}.rf-v41427-fit-card>strong{display:block;font-size:15px;margin:4px 0 8px}.rf-v41427-fit-card ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}.rf-v41427-fit-card li{position:relative;padding-left:18px;font-size:12px;color:var(--rf-ink-soft);line-height:1.5}.rf-v41427-fit-card li:before{content:'✓';position:absolute;left:0;color:var(--rf-rose-dark);font-weight:800}.rf-v41427-fit-card>p{font-size:12px;line-height:1.55;color:var(--rf-ink-soft);margin:8px 0}.rf-v41427-fit-card>a{font-size:11px;font-weight:800}.rf-v41427-fit-card details{margin-top:9px;padding-top:9px;border-top:1px solid rgba(164,136,121,.14)}.rf-v41427-fit-card summary{cursor:pointer;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.rf-v41427-fit-card details p{font-size:11px;color:var(--rf-ink-soft);line-height:1.55}.rf-v41427-ingredient-links{margin:10px 0 14px}.rf-v41427-ingredient-links>small{display:block;margin-bottom:7px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rf-ink-soft)}.rf-v41427-ingredient-links>div{display:flex;flex-wrap:wrap;gap:6px}.rf-v41427-ingredient-links a{padding:7px 10px;border:1px solid rgba(164,136,121,.18);border-radius:999px;background:#fff;font-size:10px;font-weight: 700}.rf-v41427-ingredient-products{margin:24px 0;padding:clamp(18px,3vw,28px);border:1px solid rgba(164,136,121,.18);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#faf5f1 100%)}.rf-v41427-ingredient-products>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:16px}.rf-v41427-ingredient-products h2{font-family:var(--rf-serif);font-size:clamp(28px,3.5vw,40px);font-weight:400;letter-spacing:-.03em;margin:5px 0 7px}.rf-v41427-ingredient-products header p{margin:0;color:var(--rf-ink-soft)}.rf-v41427-ingredient-products nav{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.rf-v41427-ingredient-products nav a{padding:7px 10px;border-radius:999px;border:1px solid rgba(164,136,121,.16);background:#fff;font-size:10px}.rf-v41427-ingredient-products nav a.is-active{background:#2d211b;color:#fff;border-color:#2d211b}.rf-v41427-ingredient-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rf-v41427-ingredient-product-grid article{border:1px solid rgba(164,136,121,.14);border-radius:18px;background:#fff;overflow:hidden}.rf-v41427-ingredient-product-grid a{display:grid;grid-template-columns:84px 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:10px}.rf-v41427-ingredient-product-grid img{grid-row:1/3;width:84px;height:84px;object-fit:cover;border-radius:12px}.rf-v41427-ingredient-product-grid strong{font-size:12px;align-self:end}.rf-v41427-ingredient-product-grid span{font-size:11px;align-self:start}.rf-v41427-empty{padding:18px;border-radius:16px;background:#fff;color:var(--rf-ink-soft)}
@media(max-width:760px){.rf-v41427-ingredient-products>header{align-items:flex-start;flex-direction:column}.rf-v41427-ingredient-products nav{justify-content:flex-start}.rf-v41427-ingredient-product-grid{grid-template-columns:1fr 1fr}.rf-v41427-ingredient-product-grid a{grid-template-columns:64px 1fr}.rf-v41427-ingredient-product-grid img{width:64px;height:64px}}
@media(max-width:460px){.rf-v41427-ingredient-product-grid{grid-template-columns:1fr}}


/* rosaifa-beauty-os-v41429 */
/* Rosaifa 4.14.29 — Beauty OS */
.rf-v41429-account-nav{width:100%;margin:0 0 14px}.rf-v41429-account-nav-track{display:flex;gap:6px;overflow-x:auto;padding:3px 2px;scrollbar-width:none}.rf-v41429-account-nav-track::-webkit-scrollbar{display:none}.rf-v41429-account-nav a{flex:0 0 auto;padding:9px 12px;border:1px solid rgba(164,136,121,.16);border-radius:999px;background:#fff;font-size:10px;font-weight:800;white-space:nowrap}.rf-v41429-account-nav a.is-active{background:#2d211b;color:#fff;border-color:#2d211b}.rf-v41429-post-purchase,.rf-v41429-refill,.rf-v41429-saved,.rf-v41429-order-guidance,.rf-v41429-thankyou-next{margin:16px 0;padding:clamp(18px,3vw,26px);border:1px solid rgba(164,136,121,.18);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#faf5f1 100%);box-shadow:0 16px 42px rgba(42,27,18,.045)}.rf-v41429-post-purchase>header,.rf-v41429-refill>header,.rf-v41429-saved>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:14px}.rf-v41429-post-purchase h2,.rf-v41429-refill h2,.rf-v41429-saved h2,.rf-v41429-order-guidance h2,.rf-v41429-thankyou-next h2{font-family:var(--rf-serif);font-size:clamp(27px,3.3vw,38px);font-weight:400;letter-spacing:-.03em;margin:5px 0 6px}.rf-v41429-post-purchase header p,.rf-v41429-saved header p,.rf-v41429-order-guidance header p,.rf-v41429-thankyou-next p{margin:0;color:var(--rf-ink-soft);line-height:1.6}.rf-v41429-post-purchase>header>a,.rf-v41429-refill>header>a{font-size:11px;font-weight:800}.rf-v41429-purchase-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rf-v41429-purchase-card{display:grid;grid-template-columns:92px 1fr;gap:11px;padding:10px;border:1px solid rgba(164,136,121,.14);border-radius:17px;background:#fff}.rf-v41429-purchase-img img{width:92px;height:92px;object-fit:cover;border-radius:12px}.rf-v41429-purchase-card>div{display:grid;align-content:start;gap:3px}.rf-v41429-purchase-card small{font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rf-ink-soft)}.rf-v41429-purchase-card strong{font-size:12px;line-height:1.35}.rf-v41429-purchase-card p,.rf-v41429-purchase-card span{font-size:9px;color:var(--rf-ink-soft);line-height:1.45;margin:0}.rf-v41429-purchase-card nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}.rf-v41429-purchase-card nav a{font-size:9px;font-weight:800}.rf-v41429-refill-grid{display:grid;gap:8px}.rf-v41429-refill-grid article{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:11px;padding:10px;border:1px solid rgba(164,136,121,.14);border-radius:16px;background:#fff}.rf-v41429-refill-grid img{width:64px;height:64px;object-fit:cover;border-radius:11px}.rf-v41429-refill-grid article>div{display:grid;gap:2px}.rf-v41429-refill-grid small{font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rf-rose-dark)}.rf-v41429-refill-grid strong{font-size:12px}.rf-v41429-refill-grid span{font-size:9px;color:var(--rf-ink-soft)}.rf-v41429-refill-grid .rf-button{min-height:36px;padding:0 12px;font-size:9px}.rf-v41429-refill-note{font-size:9px;color:var(--rf-ink-soft);margin:10px 0 0}.rf-v41429-saved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rf-v41429-saved-grid article{display:grid;grid-template-columns:116px 1fr;border:1px solid rgba(164,136,121,.14);border-radius:18px;background:#fff;overflow:hidden}.rf-v41429-saved-img{background:#f8f3ef}.rf-v41429-saved-img img{width:100%;height:100%;min-height:150px;object-fit:cover}.rf-v41429-saved-grid article>div{padding:12px;display:grid;align-content:start;gap:5px}.rf-v41429-saved-grid small{font-size:8px;color:var(--rf-rose-dark);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.rf-v41429-saved-grid strong{font-size:13px}.rf-v41429-saved-grid span{font-size:11px;font-weight:800}.rf-v41429-saved-grid nav{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}.rf-v41429-saved-grid nav a,.rf-v41429-saved-grid nav button{padding:6px 8px;border:1px solid rgba(164,136,121,.16);border-radius:999px;background:#fff;font-size:9px;font-weight:800}.rf-v41429-order-guidance>header{max-width:760px;margin-bottom:14px}.rf-v41429-order-actions,.rf-v41429-thankyou-next nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.rf-v41429-thankyou-next{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}.rf-v41429-thankyou-next>div{max-width:760px}
@media(max-width:760px){.rf-v41429-post-purchase>header,.rf-v41429-refill>header,.rf-v41429-saved>header{align-items:flex-start;flex-direction:column}.rf-v41429-purchase-grid,.rf-v41429-saved-grid{grid-template-columns:1fr}.rf-v41429-refill-grid article{grid-template-columns:56px 1fr}.rf-v41429-refill-grid img{width:56px;height:56px}.rf-v41429-refill-grid .rf-button{grid-column:1/-1;width:100%;justify-content:center}.rf-v41429-thankyou-next{grid-template-columns:1fr}.rf-v41429-thankyou-next nav{margin-top:0}.rf-v41429-thankyou-next .rf-button{flex:1 1 auto;justify-content:center}}


/* rosaifa-help-intelligence-v41431 */
/* Rosaifa 4.14.31 — Help Intelligence */

:root{
  --rf-help-bg:#fbf8f5;
  --rf-help-card:#fff;
  --rf-help-ink:#2b1b14;
  --rf-help-soft:#76665d;
  --rf-help-line:rgba(108,79,65,.15);
  --rf-help-accent:#8b6260;
  --rf-help-accent-soft:#f1e5df;
  --rf-help-shadow:0 22px 60px rgba(43,27,20,.08);
}

/* Guided Shopping */
.rf-v41431-guide{width:min(100% - 32px,1180px);margin:0 auto;padding:clamp(28px,5vw,64px) 0 72px}
.rf-v41431-guide-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:24px;align-items:end;margin-bottom:22px}
/* Rosaifa 4.14.31 — Help Intelligence */

:root{
  --rf-help-bg:#fbf8f5;
  --rf-help-card:#fff;
  --rf-help-ink:#2b1b14;
  --rf-help-soft:#76665d;
  --rf-help-line:rgba(108,79,65,.15);
  --rf-help-accent:#8b6260;
  --rf-help-accent-soft:#f1e5df;
  --rf-help-shadow:0 22px 60px rgba(43,27,20,.08);
}

/* Guided Shopping */
.rf-v41431-guide{width:min(100% - 32px,1180px);margin:0 auto;padding:clamp(28px,5vw,64px) 0 72px}
.rf-v41431-guide-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:24px;align-items:end;margin-bottom:22px}
.rf-v41431-guide-hero h1,.rf-v41431-compare-hero h1{font-family:var(--rf-serif);font-weight:400;font-size:clamp(38px,5vw,64px);letter-spacing:-.04em;line-height:.98;margin:8px 0 14px;color:var(--rf-help-ink)}
.rf-v41431-guide-hero p,.rf-v41431-compare-hero p{max-width:760px;margin:0;color:var(--rf-help-soft);font-size:15px;line-height:1.7}
.rf-v41431-guide-hero>aside{padding:18px;border:1px solid var(--rf-help-line);border-radius:20px;background:linear-gradient(145deg,#fff,#f8f1ec);box-shadow:0 12px 32px rgba(43,27,20,.05);display:grid;gap:5px}
.rf-v41431-guide-hero>aside small{font-size:9px;font-weight: 800;letter-spacing:.11em;color:var(--rf-help-accent)}
.rf-v41431-guide-hero>aside strong{font-size:18px;color:var(--rf-help-ink)}
.rf-v41431-guide-hero>aside span{font-size:12px;color:var(--rf-help-soft)}
.rf-v41431-guide-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px;border:1px solid var(--rf-help-line);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:var(--rf-help-shadow)}
.rf-v41431-guide-form label{display:grid;gap:7px;min-width:0}
.rf-v41431-guide-form label>span{font-size:9px;font-weight: 800;letter-spacing:.09em;text-transform:uppercase;color:var(--rf-help-soft)}
.rf-v41431-guide-form select,.rf-v41431-guide-form input{width:100%;min-height:50px;border:1px solid var(--rf-help-line);border-radius:14px;background:#fff;padding:0 12px;color:var(--rf-help-ink);font:inherit;min-width:0}
.rf-v41431-guide-form select:focus,.rf-v41431-guide-form input:focus{outline:0;border-color:rgba(139,98,96,.48);box-shadow:0 0 0 4px rgba(139,98,96,.09)}
.rf-v41431-guide-submit{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;padding-top:4px}
.rf-v41431-guide-submit .rf-button{min-height:46px}
.rf-v41431-guide-note{display:flex;align-items:flex-start;gap:14px;margin:12px 4px 0;padding:12px 14px;border-radius:16px;background:var(--rf-help-bg);color:var(--rf-help-soft)}
.rf-v41431-guide-note strong{white-space:nowrap;color:var(--rf-help-ink);font-size:11px}
.rf-v41431-guide-note p{margin:0;font-size:10px;line-height:1.55}
.rf-v41431-guide-results{margin-top:28px}
.rf-v41431-results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.rf-v41431-results-head h2{font-family:var(--rf-serif);font-size:clamp(28px,3vw,38px);font-weight:400;margin:4px 0 5px;color:var(--rf-help-ink)}
.rf-v41431-results-head p{margin:0;max-width:760px;color:var(--rf-help-soft);font-size:12px;line-height:1.65}
.rf-v41431-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rf-v41431-product-card{border:1px solid var(--rf-help-line);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 12px 34px rgba(43,27,20,.045);display:flex;flex-direction:column;min-width:0}
.rf-v41431-product-image{display:block;aspect-ratio:1/1;background:#f8f4f1;overflow:hidden}
.rf-v41431-product-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .24s ease}
.rf-v41431-product-card:hover .rf-v41431-product-image img{transform:scale(1.025)}
.rf-v41431-product-body{padding:14px;display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}
.rf-v41431-product-meta{display:flex;flex-wrap:wrap;gap:5px}
.rf-v41431-product-meta span{padding:4px 7px;border-radius:999px;background:var(--rf-help-bg);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--rf-help-soft)}
.rf-v41431-product-card h3{font-size:14px;line-height:1.35;margin:0;font-weight: 700;color:var(--rf-help-ink)}
.rf-v41431-product-card h3 a{color:inherit}
.rf-v41431-product-price{font-size:13px;color:var(--rf-help-ink)}
.rf-v41431-reasons{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:5px}
.rf-v41431-reasons li{position:relative;padding-left:14px;font-size:9px;line-height:1.45;color:var(--rf-help-soft)}
.rf-v41431-reasons li:before{content:"";position:absolute;left:0;top:.48em;width:6px;height:6px;border-radius:50%;background:var(--rf-help-accent)}
.rf-v41431-product-actions{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:7px;border-top:1px solid var(--rf-help-line)}
.rf-v41431-product-actions a,.rf-v41431-product-actions button{font-size:9px;font-weight: 800;color:var(--rf-help-ink)}
.rf-v41431-product-actions button{border:0;background:transparent;padding:0;font:inherit;cursor:pointer}.rf-v41431-product-actions button em{font-style:normal;font-size:9px;font-weight: 800}
.rf-v41431-empty{display:flex;gap:8px;flex-wrap:wrap;padding:24px;border:1px solid var(--rf-help-line);border-radius:20px;background:#fff}

/* Product decision context */
.rf-v41431-decision-card{margin:16px 0 8px;padding:18px;border:1px solid rgba(139,98,96,.2);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#fbf5f1 100%);box-shadow:0 16px 38px rgba(43,27,20,.055)}
.rf-v41431-decision-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.rf-v41431-decision-card>header>div{display:grid;gap:4px}
.rf-v41431-decision-card>header strong{font-family:var(--rf-serif);font-size:22px;font-weight:500;line-height:1.1;color:var(--rf-help-ink)}
.rf-v41431-decision-card>header>a{font-size:9px;font-weight: 800;white-space:nowrap;color:var(--rf-help-accent)}
.rf-v41431-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.rf-v41431-signal-grid>div{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--rf-help-line);border-radius:14px;background:rgba(255,255,255,.8)}
.rf-v41431-signal-grid>div span{flex:0 0 8px;width:8px;height:8px;border-radius:50%;margin-top:4px;background:#9b746e}
.rf-v41431-signal-grid>div.is-gap span{background:#6f7d68}.rf-v41431-signal-grid>div.is-owned span{background:#8d745d}.rf-v41431-signal-grid>div.is-ingredient span{background:#778278}
.rf-v41431-signal-grid p{margin:0;font-size:10px;line-height:1.5;color:var(--rf-help-ink)}
.rf-v41431-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rf-v41431-facts>div{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.7);border:1px solid var(--rf-help-line);display:grid;gap:3px}
.rf-v41431-facts small,.rf-v41431-decision-ingredients>small{font-size:8px;font-weight: 800;text-transform:uppercase;letter-spacing:.08em;color:var(--rf-help-soft)}
.rf-v41431-facts strong{font-size:10px;line-height:1.45;color:var(--rf-help-ink)}
.rf-v41431-decision-ingredients{margin-top:10px;display:grid;gap:7px}
.rf-v41431-decision-ingredients>div{display:flex;flex-wrap:wrap;gap:6px}
.rf-v41431-decision-ingredients span{padding:5px 8px;border-radius:999px;background:var(--rf-help-accent-soft);font-size:9px;color:var(--rf-help-ink)}
.rf-v41431-overlap{margin-top:12px;padding:12px 14px;border-radius:16px;background:#2b1b14;color:#fff}
.rf-v41431-overlap strong{font-size:11px}.rf-v41431-overlap p{margin:4px 0;font-size:10px;color:rgba(255,255,255,.76)}.rf-v41431-overlap a{font-size:9px;font-weight: 800;color:#fff}
.rf-v41431-decision-card details{margin-top:12px;padding-top:10px;border-top:1px solid var(--rf-help-line)}
.rf-v41431-decision-card summary{cursor:pointer;font-size:9px;font-weight: 800;color:var(--rf-help-soft)}
.rf-v41431-decision-card details p{font-size:9px;line-height:1.55;color:var(--rf-help-soft);margin:7px 0 0}

/* Smart Compare 2.0 */
.rf-v41431-compare{width:min(100% - 32px,1260px);margin:0 auto;padding:clamp(28px,5vw,64px) 0 72px}
.rf-v41431-compare-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:22px;align-items:end;margin-bottom:24px}
.rf-v41431-compare-hero aside{padding:16px;border-radius:18px;border:1px solid var(--rf-help-line);background:var(--rf-help-bg);display:grid;gap:5px}
.rf-v41431-compare-hero aside strong{font-size:12px;color:var(--rf-help-ink)}.rf-v41431-compare-hero aside span{font-size:10px;line-height:1.5;color:var(--rf-help-soft)}
.rf-v41431-compare-scroll{overflow:auto;border:1px solid var(--rf-help-line);border-radius:24px;background:#fff;box-shadow:var(--rf-help-shadow)}
.rf-v41431-compare-scroll table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;margin:0}
.rf-v41431-compare-scroll th,.rf-v41431-compare-scroll td{padding:13px 14px;border-right:1px solid var(--rf-help-line);border-bottom:1px solid var(--rf-help-line);vertical-align:top;text-align:left;font-size:10px;line-height:1.55}
.rf-v41431-compare-scroll tr:last-child th,.rf-v41431-compare-scroll tr:last-child td{border-bottom:0}.rf-v41431-compare-scroll th:last-child,.rf-v41431-compare-scroll td:last-child{border-right:0}
.rf-v41431-compare-scroll tbody th{width:170px;position:sticky;left:0;z-index:2;background:#faf6f3;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--rf-help-soft)}
.rf-v41431-compare-scroll thead th{background:#fff;min-width:190px}
.rf-v41431-compare-scroll thead th:first-child{position:sticky;left:0;z-index:3;background:#faf6f3;min-width:170px}
.rf-v41431-compare-scroll thead a{display:grid;gap:8px;color:var(--rf-help-ink)}
.rf-v41431-compare-scroll thead img{width:96px;height:96px;object-fit:contain;border-radius:14px;background:#f8f4f1}
.rf-v41431-compare-scroll thead strong{font-size:11px;line-height:1.35}
.rf-v41431-compare-scroll [data-rf-compare-remove]{margin-top:8px;border:0;background:transparent;padding:0;font-size:9px;font-weight:800;color:var(--rf-help-accent);cursor:pointer}
.rf-v41431-compare-note{margin-top:12px;padding:14px 16px;border-radius:16px;background:var(--rf-help-bg);display:flex;gap:12px;align-items:flex-start}
.rf-v41431-compare-note strong{white-space:nowrap;font-size:10px;color:var(--rf-help-ink)}.rf-v41431-compare-note p{margin:0;color:var(--rf-help-soft);font-size:9px;line-height:1.55}

/* Context help strip */
.rf-v41431-context-help{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--rf-help-line);border-radius:18px;background:linear-gradient(135deg,#fff,#f9f3ef);box-shadow:0 10px 28px rgba(43,27,20,.04)}
.rf-v41431-context-help>div{display:grid;gap:3px;max-width:660px}.rf-v41431-context-help strong{font-size:13px;color:var(--rf-help-ink)}.rf-v41431-context-help p{margin:0;font-size:10px;line-height:1.5;color:var(--rf-help-soft)}
.rf-v41431-context-help nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.rf-v41431-context-help nav a,.rf-v41431-context-help nav button{border:1px solid var(--rf-help-line);border-radius:999px;background:#fff;padding:8px 11px;color:var(--rf-help-ink);font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.rf-v41431-context-help nav button{background:#2b1b14;color:#fff;border-color:#2b1b14}

/* Beauty Assistant */
.rf-v41431-assistant-launcher{position:fixed;right:18px;bottom:20px;z-index:1205;display:flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:linear-gradient(135deg,#2b1b14,#51372c);color:#fff;box-shadow:0 16px 42px rgba(43,27,20,.24);font:inherit;cursor:pointer}
.rf-v41431-assistant-launcher span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:12px}.rf-v41431-assistant-launcher strong{font-size:10px;letter-spacing:.02em}
.rf-v41431-assistant-overlay{position:fixed;inset:0;z-index:12040;background:rgba(28,19,15,.34);backdrop-filter:blur(3px)}
.rf-v41431-assistant{position:fixed;right:14px;bottom:14px;z-index:12050;width:min(440px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 28px));display:grid;grid-template-rows:auto auto minmax(140px,1fr) auto auto;border:1px solid rgba(255,255,255,.42);border-radius:26px;background:rgba(255,255,255,.98);box-shadow:0 30px 90px rgba(43,27,20,.24);overflow:hidden}
.rf-v41431-assistant[hidden],.rf-v41431-assistant-overlay[hidden]{display:none!important}
.rf-v41431-assistant>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:17px 18px;border-bottom:1px solid var(--rf-help-line);background:linear-gradient(135deg,#2b1b14,#51372c);color:#fff}
.rf-v41431-assistant>header>div{display:grid;gap:4px}.rf-v41431-assistant>header .rf-eyebrow{color:rgba(255,255,255,.65)}.rf-v41431-assistant>header strong{font-family:var(--rf-serif);font-size:21px;font-weight:500;line-height:1.05}.rf-v41431-assistant>header button{width:32px;height:32px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:21px;line-height:1;cursor:pointer}
.rf-v41431-assistant-intro{padding:13px 16px;border-bottom:1px solid var(--rf-help-line);background:#fbf8f5}.rf-v41431-assistant-intro>p{margin:0 0 9px;color:var(--rf-help-soft);font-size:9px;line-height:1.55}
.rf-v41431-prompt-chips{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.rf-v41431-prompt-chips button{flex:0 0 auto;border:1px solid var(--rf-help-line);border-radius:999px;background:#fff;padding:7px 9px;color:var(--rf-help-ink);font:inherit;font-size:8px;font-weight: 700;cursor:pointer}
.rf-v41431-assistant-response{overflow:auto;padding:15px;background:#fff}.rf-v41431-assistant-welcome{min-height:130px;display:grid;place-content:center;text-align:center;padding:20px}.rf-v41431-assistant-welcome strong{font-family:var(--rf-serif);font-size:24px;font-weight:500}.rf-v41431-assistant-welcome p{margin:7px auto 0;max-width:330px;font-size:9px;line-height:1.55;color:var(--rf-help-soft)}
.rf-v41431-assistant-answer{display:grid;gap:9px}.rf-v41431-assistant-answer h3{font-family:var(--rf-serif);font-size:24px;font-weight:500;line-height:1.1;margin:0;color:var(--rf-help-ink)}.rf-v41431-assistant-answer>p{margin:0;font-size:10px;line-height:1.65;color:var(--rf-help-soft)}.rf-v41431-assistant-answer>a{font-size:9px;font-weight: 800;color:var(--rf-help-accent)}.rf-v41431-assistant-answer>small{font-size:8px;line-height:1.5;color:var(--rf-help-soft)}
.rf-v41431-assistant-products{display:grid;gap:8px;margin-top:3px}.rf-v41431-product-card.is-compact{display:grid;grid-template-columns:78px minmax(0,1fr);border-radius:16px;box-shadow:none}.rf-v41431-product-card.is-compact .rf-v41431-product-image{aspect-ratio:auto;height:100%;min-height:112px}.rf-v41431-product-card.is-compact .rf-v41431-product-body{padding:10px;gap:5px}.rf-v41431-product-card.is-compact h3{font-size:11px}.rf-v41431-product-card.is-compact .rf-v41431-reasons li{font-size:8px}.rf-v41431-product-card.is-compact .rf-v41431-product-actions{padding-top:4px}
.rf-v41431-assistant-fact{padding:10px 11px;border:1px solid var(--rf-help-line);border-radius:14px;background:#fff}.rf-v41431-assistant-fact strong{font-size:9px}.rf-v41431-assistant-fact p{margin:3px 0 0;font-size:9px;line-height:1.5;color:var(--rf-help-soft)}
.rf-v41431-assistant-caution{padding:11px 12px;border:1px solid rgba(139,98,96,.18);border-radius:14px;background:#fbf2ee}.rf-v41431-assistant-caution strong{font-size:10px}.rf-v41431-assistant-caution p{font-size:9px;line-height:1.5;color:var(--rf-help-soft);margin:4px 0 0}
.rf-v41431-answer-links{display:flex;gap:7px;flex-wrap:wrap}.rf-v41431-answer-links a{padding:8px 10px;border:1px solid var(--rf-help-line);border-radius:999px;font-size:8px;font-weight:800;color:var(--rf-help-ink)}
.rf-v41431-assistant-empty{padding:12px;border-radius:14px;background:var(--rf-help-bg)}.rf-v41431-assistant-empty p{font-size:9px;line-height:1.5;color:var(--rf-help-soft);margin:0 0 6px}.rf-v41431-assistant-empty a{font-size:9px;font-weight: 800;color:var(--rf-help-accent)}
.rf-v41431-assistant-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border-top:1px solid var(--rf-help-line);background:#fff}.rf-v41431-assistant-form textarea{resize:none;min-height:48px;max-height:100px;border:1px solid var(--rf-help-line);border-radius:15px;padding:10px 12px;font:inherit;font-size:11px;line-height:1.4;color:var(--rf-help-ink)}.rf-v41431-assistant-form textarea:focus{outline:0;border-color:rgba(139,98,96,.48);box-shadow:0 0 0 4px rgba(139,98,96,.08)}.rf-v41431-assistant-form .rf-button{min-height:48px;padding-inline:15px}
.rf-v41431-assistant>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;background:#fbf8f5;border-top:1px solid var(--rf-help-line)}.rf-v41431-assistant>footer a{font-size:8px;font-weight: 800;color:var(--rf-help-ink)}.rf-v41431-assistant>footer span{font-size:7.5px;color:var(--rf-help-soft)}

/* Account help */
.rf-v41431-account-help{margin:18px 0;padding:17px 18px;border:1px solid var(--rf-help-line);border-radius:20px;background:linear-gradient(135deg,#fff,#f9f3ef);display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 12px 32px rgba(43,27,20,.04)}
.rf-v41431-account-help>div:first-child{display:grid;gap:4px;max-width:650px}.rf-v41431-account-help strong{font-family:var(--rf-serif);font-size:22px;font-weight:500;color:var(--rf-help-ink)}.rf-v41431-account-help p{margin:0;font-size:10px;line-height:1.55;color:var(--rf-help-soft)}.rf-v41431-account-help>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.rf-v41431-account-help button{cursor:pointer}

@media(max-width:980px){
  .rf-v41431-guide-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-v41431-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-v41431-guide-hero,.rf-v41431-compare-hero{grid-template-columns:1fr}
  .rf-v41431-guide-hero>aside,.rf-v41431-compare-hero>aside{max-width:520px}
}

@media(max-width:760px){
  .rf-v41431-guide,.rf-v41431-compare{width:calc(100% - 16px);padding-top:22px;padding-bottom:44px}
  .rf-v41431-guide-hero h1,.rf-v41431-compare-hero h1{font-size:38px}
  .rf-v41431-guide-form{grid-template-columns:1fr;padding:12px;border-radius:19px}
  .rf-v41431-guide-submit{justify-content:stretch}.rf-v41431-guide-submit .rf-button{flex:1;justify-content:center}
  .rf-v41431-guide-note{display:grid;gap:4px;margin-inline:0}
  .rf-v41431-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rf-v41431-product-body{padding:10px}.rf-v41431-product-card h3{font-size:11px}.rf-v41431-product-price{font-size:11px}.rf-v41431-reasons li{font-size:8px}.rf-v41431-product-actions a,.rf-v41431-product-actions button em{font-size:8px}
  .rf-v41431-decision-card{padding:14px;border-radius:18px}.rf-v41431-decision-card>header{display:grid}.rf-v41431-decision-card>header strong{font-size:19px}.rf-v41431-signal-grid,.rf-v41431-facts{grid-template-columns:1fr}
  .rf-v41431-context-help{display:grid;gap:10px;padding:12px;margin-bottom:14px}.rf-v41431-context-help nav{justify-content:flex-start}
  .rf-v41431-compare-scroll{border-radius:18px}.rf-v41431-compare-note{display:grid;gap:4px}
  .rf-v41431-assistant-launcher{right:10px;bottom:78px;min-height:42px;padding:0 10px}.rf-v41431-assistant-launcher strong{font-size:9px}
  .rf-v41431-assistant{right:6px;bottom:6px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:22px}
  .rf-v41431-assistant>header{padding:14px}.rf-v41431-assistant>header strong{font-size:19px}.rf-v41431-assistant-intro{padding:11px 12px}.rf-v41431-assistant-response{padding:12px}.rf-v41431-assistant-form{padding:10px}.rf-v41431-assistant>footer{padding:8px 10px}
  .rf-v41431-account-help{display:grid;padding:14px}.rf-v41431-account-help>div:last-child{justify-content:flex-start}.rf-v41431-account-help .rf-button{flex:1;justify-content:center}
}

@media(max-width:420px){
  .rf-v41431-product-grid{grid-template-columns:1fr 1fr}
  .rf-v41431-product-meta{display:none}
  .rf-v41431-product-actions{display:grid}
  .rf-v41431-assistant-launcher strong{display:none}.rf-v41431-assistant-launcher{width:44px;padding:0;justify-content:center}.rf-v41431-assistant-launcher span{background:transparent}
}

@media(prefers-reduced-motion:reduce){.rf-v41431-product-image img{transition:none}.rf-v41431-product-card:hover .rf-v41431-product-image img{transform:none}}

html.rf-assistant-open{overflow:hidden}

/* 4.14.37 — assistant must own the interaction layer while open. */
html.rf-assistant-open .rf-v411-mobile-nav{pointer-events:none!important}
html.rf-assistant-open .rf-v41431-assistant-launcher{opacity:0;pointer-events:none}
.rf-v41431-assistant-launcher{touch-action:manipulation}



/* Rosaifa 4.17.4 — Beauty Assistant premium readability pass. */
.rf-v41431-assistant-launcher{
  min-height:50px!important;padding:0 16px!important;gap:9px!important;
  border:1px solid rgba(231,199,184,.52)!important;
  background:linear-gradient(135deg,#2b1b14,#714b3b)!important;
  box-shadow:0 14px 34px rgba(43,27,20,.22)!important;
}
.rf-v41431-assistant-launcher span{width:29px!important;height:29px!important;font-size:15px!important;background:rgba(255,253,251,.16)!important}
.rf-v41431-assistant-launcher strong{font-size:13px!important;letter-spacing:.01em!important}
.rf-v41431-assistant{
  color:var(--rf-help-ink);font-size:13px!important;line-height:1.55!important;
  border:1px solid rgba(139,98,96,.22)!important;
  box-shadow:0 24px 64px rgba(43,27,20,.18)!important;
}
.rf-v41431-assistant p,
.rf-v41431-assistant li,
.rf-v41431-assistant a,
.rf-v41431-assistant button,
.rf-v41431-assistant label{font-size:13px!important;line-height:1.55!important}
.rf-v41431-assistant small,
.rf-v41431-assistant .rf-v41431-product-meta span,
.rf-v41431-assistant .rf-v41431-answer-links a{font-size:11px!important;line-height:1.45!important}
.rf-v41431-assistant>header{padding:16px!important}
.rf-v41431-assistant>header strong{font-size:22px!important;line-height:1.15!important}
.rf-v41431-assistant-form textarea{font-size:14px!important;line-height:1.5!important;min-height:52px!important}
.rf-v41431-assistant-form .rf-button{font-size:13px!important;min-height:52px!important}
.rf-v41431-product-card h3{font-size:14px!important;line-height:1.4!important}
.rf-v41431-reasons li{font-size:12px!important;line-height:1.5!important}
.rf-v41431-product-price{font-size:14px!important}
@media(max-width:760px){
  .rf-v41431-assistant-launcher{right:12px!important;bottom:82px!important;min-height:48px!important;padding:0 13px!important}
  .rf-v41431-assistant-launcher strong{display:inline!important;font-size:12px!important}
  .rf-v41431-assistant-launcher span{width:27px!important;height:27px!important}
  .rf-v41431-assistant{right:8px!important;bottom:8px!important;width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}
  .rf-v41431-assistant>header strong{font-size:20px!important}
}
.rf-v41431-guide-hero h1,.rf-v41431-compare-hero h1{font-family:var(--rf-serif);font-weight:400;font-size:clamp(38px,5vw,64px);letter-spacing:-.04em;line-height:.98;margin:8px 0 14px;color:var(--rf-help-ink)}
.rf-v41431-guide-hero p,.rf-v41431-compare-hero p{max-width:760px;margin:0;color:var(--rf-help-soft);font-size:15px;line-height:1.7}
.rf-v41431-guide-hero>aside{padding:18px;border:1px solid var(--rf-help-line);border-radius:20px;background:linear-gradient(145deg,#fff,#f8f1ec);box-shadow:0 12px 32px rgba(43,27,20,.05);display:grid;gap:5px}
.rf-v41431-guide-hero>aside small{font-size:9px;font-weight: 800;letter-spacing:.11em;color:var(--rf-help-accent)}
.rf-v41431-guide-hero>aside strong{font-size:18px;color:var(--rf-help-ink)}
.rf-v41431-guide-hero>aside span{font-size:12px;color:var(--rf-help-soft)}
.rf-v41431-guide-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:16px;border:1px solid var(--rf-help-line);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:var(--rf-help-shadow)}
.rf-v41431-guide-form label{display:grid;gap:7px;min-width:0}
.rf-v41431-guide-form label>span{font-size:9px;font-weight: 800;letter-spacing:.09em;text-transform:uppercase;color:var(--rf-help-soft)}
.rf-v41431-guide-form select,.rf-v41431-guide-form input{width:100%;min-height:50px;border:1px solid var(--rf-help-line);border-radius:14px;background:#fff;padding:0 12px;color:var(--rf-help-ink);font:inherit;min-width:0}
.rf-v41431-guide-form select:focus,.rf-v41431-guide-form input:focus{outline:0;border-color:rgba(139,98,96,.48);box-shadow:0 0 0 4px rgba(139,98,96,.09)}
.rf-v41431-guide-submit{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;padding-top:4px}
.rf-v41431-guide-submit .rf-button{min-height:46px}
.rf-v41431-guide-note{display:flex;align-items:flex-start;gap:14px;margin:12px 4px 0;padding:12px 14px;border-radius:16px;background:var(--rf-help-bg);color:var(--rf-help-soft)}
.rf-v41431-guide-note strong{white-space:nowrap;color:var(--rf-help-ink);font-size:11px}
.rf-v41431-guide-note p{margin:0;font-size:10px;line-height:1.55}
.rf-v41431-guide-results{margin-top:28px}
.rf-v41431-results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.rf-v41431-results-head h2{font-family:var(--rf-serif);font-size:clamp(28px,3vw,38px);font-weight:400;margin:4px 0 5px;color:var(--rf-help-ink)}
.rf-v41431-results-head p{margin:0;max-width:760px;color:var(--rf-help-soft);font-size:12px;line-height:1.65}
.rf-v41431-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rf-v41431-product-card{border:1px solid var(--rf-help-line);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 12px 34px rgba(43,27,20,.045);display:flex;flex-direction:column;min-width:0}
.rf-v41431-product-image{display:block;aspect-ratio:1/1;background:#f8f4f1;overflow:hidden}
.rf-v41431-product-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .24s ease}
.rf-v41431-product-card:hover .rf-v41431-product-image img{transform:scale(1.025)}
.rf-v41431-product-body{padding:14px;display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}
.rf-v41431-product-meta{display:flex;flex-wrap:wrap;gap:5px}
.rf-v41431-product-meta span{padding:4px 7px;border-radius:999px;background:var(--rf-help-bg);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--rf-help-soft)}
.rf-v41431-product-card h3{font-size:14px;line-height:1.35;margin:0;font-weight: 700;color:var(--rf-help-ink)}
.rf-v41431-product-card h3 a{color:inherit}
.rf-v41431-product-price{font-size:13px;color:var(--rf-help-ink)}
.rf-v41431-reasons{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:5px}
.rf-v41431-reasons li{position:relative;padding-left:14px;font-size:9px;line-height:1.45;color:var(--rf-help-soft)}
.rf-v41431-reasons li:before{content:"";position:absolute;left:0;top:.48em;width:6px;height:6px;border-radius:50%;background:var(--rf-help-accent)}
.rf-v41431-product-actions{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:7px;border-top:1px solid var(--rf-help-line)}
.rf-v41431-product-actions a,.rf-v41431-product-actions button{font-size:9px;font-weight: 800;color:var(--rf-help-ink)}
.rf-v41431-product-actions button{border:0;background:transparent;padding:0;font:inherit;cursor:pointer}.rf-v41431-product-actions button em{font-style:normal;font-size:9px;font-weight: 800}
.rf-v41431-empty{display:flex;gap:8px;flex-wrap:wrap;padding:24px;border:1px solid var(--rf-help-line);border-radius:20px;background:#fff}

/* Product decision context */
.rf-v41431-decision-card{margin:16px 0 8px;padding:18px;border:1px solid rgba(139,98,96,.2);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#fbf5f1 100%);box-shadow:0 16px 38px rgba(43,27,20,.055)}
.rf-v41431-decision-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.rf-v41431-decision-card>header>div{display:grid;gap:4px}
.rf-v41431-decision-card>header strong{font-family:var(--rf-serif);font-size:22px;font-weight:500;line-height:1.1;color:var(--rf-help-ink)}
.rf-v41431-decision-card>header>a{font-size:9px;font-weight: 800;white-space:nowrap;color:var(--rf-help-accent)}
.rf-v41431-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.rf-v41431-signal-grid>div{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--rf-help-line);border-radius:14px;background:rgba(255,255,255,.8)}
.rf-v41431-signal-grid>div span{flex:0 0 8px;width:8px;height:8px;border-radius:50%;margin-top:4px;background:#9b746e}
.rf-v41431-signal-grid>div.is-gap span{background:#6f7d68}.rf-v41431-signal-grid>div.is-owned span{background:#8d745d}.rf-v41431-signal-grid>div.is-ingredient span{background:#778278}
.rf-v41431-signal-grid p{margin:0;font-size:10px;line-height:1.5;color:var(--rf-help-ink)}
.rf-v41431-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rf-v41431-facts>div{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.7);border:1px solid var(--rf-help-line);display:grid;gap:3px}
.rf-v41431-facts small,.rf-v41431-decision-ingredients>small{font-size:8px;font-weight: 800;text-transform:uppercase;letter-spacing:.08em;color:var(--rf-help-soft)}
.rf-v41431-facts strong{font-size:10px;line-height:1.45;color:var(--rf-help-ink)}
.rf-v41431-decision-ingredients{margin-top:10px;display:grid;gap:7px}
.rf-v41431-decision-ingredients>div{display:flex;flex-wrap:wrap;gap:6px}
.rf-v41431-decision-ingredients span{padding:5px 8px;border-radius:999px;background:var(--rf-help-accent-soft);font-size:9px;color:var(--rf-help-ink)}
.rf-v41431-overlap{margin-top:12px;padding:12px 14px;border-radius:16px;background:#2b1b14;color:#fff}
.rf-v41431-overlap strong{font-size:11px}.rf-v41431-overlap p{margin:4px 0;font-size:10px;color:rgba(255,255,255,.76)}.rf-v41431-overlap a{font-size:9px;font-weight: 800;color:#fff}
.rf-v41431-decision-card details{margin-top:12px;padding-top:10px;border-top:1px solid var(--rf-help-line)}
.rf-v41431-decision-card summary{cursor:pointer;font-size:9px;font-weight: 800;color:var(--rf-help-soft)}
.rf-v41431-decision-card details p{font-size:9px;line-height:1.55;color:var(--rf-help-soft);margin:7px 0 0}

/* Smart Compare 2.0 */
.rf-v41431-compare{width:min(100% - 32px,1260px);margin:0 auto;padding:clamp(28px,5vw,64px) 0 72px}
.rf-v41431-compare-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:22px;align-items:end;margin-bottom:24px}
.rf-v41431-compare-hero aside{padding:16px;border-radius:18px;border:1px solid var(--rf-help-line);background:var(--rf-help-bg);display:grid;gap:5px}
.rf-v41431-compare-hero aside strong{font-size:12px;color:var(--rf-help-ink)}.rf-v41431-compare-hero aside span{font-size:10px;line-height:1.5;color:var(--rf-help-soft)}
.rf-v41431-compare-scroll{overflow:auto;border:1px solid var(--rf-help-line);border-radius:24px;background:#fff;box-shadow:var(--rf-help-shadow)}
.rf-v41431-compare-scroll table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;margin:0}
.rf-v41431-compare-scroll th,.rf-v41431-compare-scroll td{padding:13px 14px;border-right:1px solid var(--rf-help-line);border-bottom:1px solid var(--rf-help-line);vertical-align:top;text-align:left;font-size:10px;line-height:1.55}
.rf-v41431-compare-scroll tr:last-child th,.rf-v41431-compare-scroll tr:last-child td{border-bottom:0}.rf-v41431-compare-scroll th:last-child,.rf-v41431-compare-scroll td:last-child{border-right:0}
.rf-v41431-compare-scroll tbody th{width:170px;position:sticky;left:0;z-index:2;background:#faf6f3;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--rf-help-soft)}
.rf-v41431-compare-scroll thead th{background:#fff;min-width:190px}
.rf-v41431-compare-scroll thead th:first-child{position:sticky;left:0;z-index:3;background:#faf6f3;min-width:170px}
.rf-v41431-compare-scroll thead a{display:grid;gap:8px;color:var(--rf-help-ink)}
.rf-v41431-compare-scroll thead img{width:96px;height:96px;object-fit:contain;border-radius:14px;background:#f8f4f1}
.rf-v41431-compare-scroll thead strong{font-size:11px;line-height:1.35}
.rf-v41431-compare-scroll [data-rf-compare-remove]{margin-top:8px;border:0;background:transparent;padding:0;font-size:9px;font-weight:800;color:var(--rf-help-accent);cursor:pointer}
.rf-v41431-compare-note{margin-top:12px;padding:14px 16px;border-radius:16px;background:var(--rf-help-bg);display:flex;gap:12px;align-items:flex-start}
.rf-v41431-compare-note strong{white-space:nowrap;font-size:10px;color:var(--rf-help-ink)}.rf-v41431-compare-note p{margin:0;color:var(--rf-help-soft);font-size:9px;line-height:1.55}

/* Context help strip */
.rf-v41431-context-help{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--rf-help-line);border-radius:18px;background:linear-gradient(135deg,#fff,#f9f3ef);box-shadow:0 10px 28px rgba(43,27,20,.04)}
.rf-v41431-context-help>div{display:grid;gap:3px;max-width:660px}.rf-v41431-context-help strong{font-size:13px;color:var(--rf-help-ink)}.rf-v41431-context-help p{margin:0;font-size:10px;line-height:1.5;color:var(--rf-help-soft)}
.rf-v41431-context-help nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.rf-v41431-context-help nav a,.rf-v41431-context-help nav button{border:1px solid var(--rf-help-line);border-radius:999px;background:#fff;padding:8px 11px;color:var(--rf-help-ink);font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.rf-v41431-context-help nav button{background:#2b1b14;color:#fff;border-color:#2b1b14}

/* Beauty Assistant */
.rf-v41431-assistant-launcher{position:fixed;right:18px;bottom:20px;z-index:1205;display:flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:linear-gradient(135deg,#2b1b14,#51372c);color:#fff;box-shadow:0 16px 42px rgba(43,27,20,.24);font:inherit;cursor:pointer}
.rf-v41431-assistant-launcher span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:12px}.rf-v41431-assistant-launcher strong{font-size:10px;letter-spacing:.02em}
.rf-v41431-assistant-overlay{position:fixed;inset:0;z-index:12040;background:rgba(28,19,15,.34);backdrop-filter:blur(3px)}
.rf-v41431-assistant{position:fixed;right:14px;bottom:14px;z-index:12050;width:min(440px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 28px));display:grid;grid-template-rows:auto auto minmax(140px,1fr) auto auto;border:1px solid rgba(255,255,255,.42);border-radius:26px;background:rgba(255,255,255,.98);box-shadow:0 30px 90px rgba(43,27,20,.24);overflow:hidden}
.rf-v41431-assistant[hidden],.rf-v41431-assistant-overlay[hidden]{display:none!important}
.rf-v41431-assistant>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:17px 18px;border-bottom:1px solid var(--rf-help-line);background:linear-gradient(135deg,#2b1b14,#51372c);color:#fff}
.rf-v41431-assistant>header>div{display:grid;gap:4px}.rf-v41431-assistant>header .rf-eyebrow{color:rgba(255,255,255,.65)}.rf-v41431-assistant>header strong{font-family:var(--rf-serif);font-size:21px;font-weight:500;line-height:1.05}.rf-v41431-assistant>header button{width:32px;height:32px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:21px;line-height:1;cursor:pointer}
.rf-v41431-assistant-intro{padding:13px 16px;border-bottom:1px solid var(--rf-help-line);background:#fbf8f5}.rf-v41431-assistant-intro>p{margin:0 0 9px;color:var(--rf-help-soft);font-size:9px;line-height:1.55}
.rf-v41431-prompt-chips{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.rf-v41431-prompt-chips button{flex:0 0 auto;border:1px solid var(--rf-help-line);border-radius:999px;background:#fff;padding:7px 9px;color:var(--rf-help-ink);font:inherit;font-size:8px;font-weight: 700;cursor:pointer}
.rf-v41431-assistant-response{overflow:auto;padding:15px;background:#fff}.rf-v41431-assistant-welcome{min-height:130px;display:grid;place-content:center;text-align:center;padding:20px}.rf-v41431-assistant-welcome strong{font-family:var(--rf-serif);font-size:24px;font-weight:500}.rf-v41431-assistant-welcome p{margin:7px auto 0;max-width:330px;font-size:9px;line-height:1.55;color:var(--rf-help-soft)}
.rf-v41431-assistant-answer{display:grid;gap:9px}.rf-v41431-assistant-answer h3{font-family:var(--rf-serif);font-size:24px;font-weight:500;line-height:1.1;margin:0;color:var(--rf-help-ink)}.rf-v41431-assistant-answer>p{margin:0;font-size:10px;line-height:1.65;color:var(--rf-help-soft)}.rf-v41431-assistant-answer>a{font-size:9px;font-weight: 800;color:var(--rf-help-accent)}.rf-v41431-assistant-answer>small{font-size:8px;line-height:1.5;color:var(--rf-help-soft)}
.rf-v41431-assistant-products{display:grid;gap:8px;margin-top:3px}.rf-v41431-product-card.is-compact{display:grid;grid-template-columns:78px minmax(0,1fr);border-radius:16px;box-shadow:none}.rf-v41431-product-card.is-compact .rf-v41431-product-image{aspect-ratio:auto;height:100%;min-height:112px}.rf-v41431-product-card.is-compact .rf-v41431-product-body{padding:10px;gap:5px}.rf-v41431-product-card.is-compact h3{font-size:11px}.rf-v41431-product-card.is-compact .rf-v41431-reasons li{font-size:8px}.rf-v41431-product-card.is-compact .rf-v41431-product-actions{padding-top:4px}
.rf-v41431-assistant-fact{padding:10px 11px;border:1px solid var(--rf-help-line);border-radius:14px;background:#fff}.rf-v41431-assistant-fact strong{font-size:9px}.rf-v41431-assistant-fact p{margin:3px 0 0;font-size:9px;line-height:1.5;color:var(--rf-help-soft)}
.rf-v41431-assistant-caution{padding:11px 12px;border:1px solid rgba(139,98,96,.18);border-radius:14px;background:#fbf2ee}.rf-v41431-assistant-caution strong{font-size:10px}.rf-v41431-assistant-caution p{font-size:9px;line-height:1.5;color:var(--rf-help-soft);margin:4px 0 0}
.rf-v41431-answer-links{display:flex;gap:7px;flex-wrap:wrap}.rf-v41431-answer-links a{padding:8px 10px;border:1px solid var(--rf-help-line);border-radius:999px;font-size:8px;font-weight:800;color:var(--rf-help-ink)}
.rf-v41431-assistant-empty{padding:12px;border-radius:14px;background:var(--rf-help-bg)}.rf-v41431-assistant-empty p{font-size:9px;line-height:1.5;color:var(--rf-help-soft);margin:0 0 6px}.rf-v41431-assistant-empty a{font-size:9px;font-weight: 800;color:var(--rf-help-accent)}
.rf-v41431-assistant-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border-top:1px solid var(--rf-help-line);background:#fff}.rf-v41431-assistant-form textarea{resize:none;min-height:48px;max-height:100px;border:1px solid var(--rf-help-line);border-radius:15px;padding:10px 12px;font:inherit;font-size:11px;line-height:1.4;color:var(--rf-help-ink)}.rf-v41431-assistant-form textarea:focus{outline:0;border-color:rgba(139,98,96,.48);box-shadow:0 0 0 4px rgba(139,98,96,.08)}.rf-v41431-assistant-form .rf-button{min-height:48px;padding-inline:15px}
.rf-v41431-assistant>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;background:#fbf8f5;border-top:1px solid var(--rf-help-line)}.rf-v41431-assistant>footer a{font-size:8px;font-weight: 800;color:var(--rf-help-ink)}.rf-v41431-assistant>footer span{font-size:7.5px;color:var(--rf-help-soft)}

/* Account help */
.rf-v41431-account-help{margin:18px 0;padding:17px 18px;border:1px solid var(--rf-help-line);border-radius:20px;background:linear-gradient(135deg,#fff,#f9f3ef);display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 12px 32px rgba(43,27,20,.04)}
.rf-v41431-account-help>div:first-child{display:grid;gap:4px;max-width:650px}.rf-v41431-account-help strong{font-family:var(--rf-serif);font-size:22px;font-weight:500;color:var(--rf-help-ink)}.rf-v41431-account-help p{margin:0;font-size:10px;line-height:1.55;color:var(--rf-help-soft)}.rf-v41431-account-help>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.rf-v41431-account-help button{cursor:pointer}

@media(max-width:980px){
  .rf-v41431-guide-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-v41431-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-v41431-guide-hero,.rf-v41431-compare-hero{grid-template-columns:1fr}
  .rf-v41431-guide-hero>aside,.rf-v41431-compare-hero>aside{max-width:520px}
}

@media(max-width:760px){
  .rf-v41431-guide,.rf-v41431-compare{width:calc(100% - 16px);padding-top:22px;padding-bottom:44px}
  .rf-v41431-guide-hero h1,.rf-v41431-compare-hero h1{font-size:38px}
  .rf-v41431-guide-form{grid-template-columns:1fr;padding:12px;border-radius:19px}
  .rf-v41431-guide-submit{justify-content:stretch}.rf-v41431-guide-submit .rf-button{flex:1;justify-content:center}
  .rf-v41431-guide-note{display:grid;gap:4px;margin-inline:0}
  .rf-v41431-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rf-v41431-product-body{padding:10px}.rf-v41431-product-card h3{font-size:11px}.rf-v41431-product-price{font-size:11px}.rf-v41431-reasons li{font-size:8px}.rf-v41431-product-actions a,.rf-v41431-product-actions button em{font-size:8px}
  .rf-v41431-decision-card{padding:14px;border-radius:18px}.rf-v41431-decision-card>header{display:grid}.rf-v41431-decision-card>header strong{font-size:19px}.rf-v41431-signal-grid,.rf-v41431-facts{grid-template-columns:1fr}
  .rf-v41431-context-help{display:grid;gap:10px;padding:12px;margin-bottom:14px}.rf-v41431-context-help nav{justify-content:flex-start}
  .rf-v41431-compare-scroll{border-radius:18px}.rf-v41431-compare-note{display:grid;gap:4px}
  .rf-v41431-assistant-launcher{right:10px;bottom:78px;min-height:42px;padding:0 10px}.rf-v41431-assistant-launcher strong{font-size:9px}
  .rf-v41431-assistant{right:6px;bottom:6px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:22px}
  .rf-v41431-assistant>header{padding:14px}.rf-v41431-assistant>header strong{font-size:19px}.rf-v41431-assistant-intro{padding:11px 12px}.rf-v41431-assistant-response{padding:12px}.rf-v41431-assistant-form{padding:10px}.rf-v41431-assistant>footer{padding:8px 10px}
  .rf-v41431-account-help{display:grid;padding:14px}.rf-v41431-account-help>div:last-child{justify-content:flex-start}.rf-v41431-account-help .rf-button{flex:1;justify-content:center}
}

@media(max-width:420px){
  .rf-v41431-product-grid{grid-template-columns:1fr 1fr}
  .rf-v41431-product-meta{display:none}
  .rf-v41431-product-actions{display:grid}
  .rf-v41431-assistant-launcher strong{display:none}.rf-v41431-assistant-launcher{width:44px;padding:0;justify-content:center}.rf-v41431-assistant-launcher span{background:transparent}
}

@media(prefers-reduced-motion:reduce){.rf-v41431-product-image img{transition:none}.rf-v41431-product-card:hover .rf-v41431-product-image img{transform:none}}

html.rf-assistant-open{overflow:hidden}

/* 4.14.37 — assistant must own the interaction layer while open. */
html.rf-assistant-open .rf-v411-mobile-nav{pointer-events:none!important}
html.rf-assistant-open .rf-v41431-assistant-launcher{opacity:0;pointer-events:none}
.rf-v41431-assistant-launcher{touch-action:manipulation}


/* rosaifa-intelligence-engine-v41432 */
/* Rosaifa 4.14.32 — scoped Beauty Intelligence Engine UI. No homepage layout overrides. */
.woocommerce-account .rf-v41432-dashboard{margin:0 0 18px;padding:clamp(18px,3vw,28px);border:1px solid rgba(164,136,121,.18);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,242,238,.94));box-shadow:0 22px 54px rgba(42,27,18,.065)}
.woocommerce-account .rf-v41432-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:20px;align-items:stretch}
.woocommerce-account .rf-v41432-head h2{font-family:var(--rf-serif);font-size:clamp(31px,4vw,48px);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:6px 0 10px}
.woocommerce-account .rf-v41432-head>div:first-child>p{max-width:720px;margin:0;color:var(--rf-ink-soft);line-height:1.7}
.woocommerce-account .rf-v41432-context{padding:18px;border-radius:20px;background:#2b1b14;color:#fff;display:grid;align-content:start;gap:6px}
.woocommerce-account .rf-v41432-context small{font-size:9px;letter-spacing:.1em;opacity:.7}.woocommerce-account .rf-v41432-context strong{font-size:18px}.woocommerce-account .rf-v41432-context span{font-size:11px;line-height:1.6;opacity:.8}
.woocommerce-account .rf-v41432-context.is-good{background:#5c4438}.woocommerce-account .rf-v41432-context.is-basic{background:#80695e}
.woocommerce-account .rf-v41432-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.woocommerce-account .rf-v41432-metrics article{padding:14px 16px;border:1px solid rgba(164,136,121,.16);border-radius:17px;background:rgba(255,255,255,.8);display:grid;gap:4px}.woocommerce-account .rf-v41432-metrics small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--rf-ink-soft)}.woocommerce-account .rf-v41432-metrics strong{font-family:var(--rf-serif);font-size:28px;font-weight:500}
.woocommerce-account .rf-v41432-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.woocommerce-account .rf-v41432-actions article{min-height:285px;padding:18px;border:1px solid rgba(164,136,121,.18);border-radius:20px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}.woocommerce-account .rf-v41432-actions h3{font-size:18px;line-height:1.25;margin:7px 0 8px}.woocommerce-account .rf-v41432-actions>article>p{font-size:12px;line-height:1.65;color:var(--rf-ink-soft);margin:0 0 10px}.woocommerce-account .rf-v41432-actions details{width:100%;margin:0 0 14px;padding-top:10px;border-top:1px solid rgba(164,136,121,.12)}.woocommerce-account .rf-v41432-actions summary{cursor:pointer;font-size:10px;font-weight:800}.woocommerce-account .rf-v41432-actions details p{font-size:10px;line-height:1.55;color:var(--rf-ink-soft)}.woocommerce-account .rf-v41432-actions .rf-button{margin-top:auto}
@media(max-width:900px){.woocommerce-account .rf-v41432-head{grid-template-columns:1fr}.woocommerce-account .rf-v41432-actions{grid-template-columns:1fr}.woocommerce-account .rf-v41432-actions article{min-height:0}.woocommerce-account .rf-v41432-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.woocommerce-account .rf-v41432-dashboard{padding:16px;border-radius:22px}.woocommerce-account .rf-v41432-head h2{font-size:34px}.woocommerce-account .rf-v41432-metrics{gap:8px}.woocommerce-account .rf-v41432-metrics article{padding:12px}.woocommerce-account .rf-v41432-metrics strong{font-size:24px}}


/* rosaifa-mobile-header-v4160 */
/* Rosaifa 4.16.0 mobile header geometry, retained by 4.17.0 runtime hardening.
   runtime-v4170.js owns fixed positioning/spacer logic; this file owns small-screen presentation. */
@media (max-width: 760px) {
  .rf-site-header .rf-header-main {
    box-sizing: border-box;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    padding-inline: 16px !important;
    transition: none !important;
  }

  .rf-site-header .rf-header-main .rf-brand {
    align-self: center !important;
    min-height: 0 !important;
  }

  .rf-site-header .rf-header-main .rf-brand img,
  .rf-site-header .rf-header-main .custom-logo,
  .rf-site-header .rf-header-main .rf-fallback-logo img {
    display: block !important;
    height: 52px !important;
    max-height: 52px !important;
    max-width: min(218px, 52vw) !important;
    object-fit: contain !important;
    width: auto !important;
    transition: none !important;
  }

  .rf-site-header .rf-icon-button,
  .rf-site-header .rf-menu-toggle {
    box-sizing: border-box;
    height: 48px !important;
    min-height: 48px !important;
    min-width: 48px !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
  }
}

@media (max-width: 390px) {
  .rf-site-header .rf-header-main {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    padding-inline: 14px !important;
  }

  .rf-site-header .rf-header-main .rf-brand img,
  .rf-site-header .rf-header-main .custom-logo,
  .rf-site-header .rf-header-main .rf-fallback-logo img {
    height: 50px !important;
    max-height: 50px !important;
    max-width: 50vw !important;
  }
}

/* Brand discovery and compact search presentation. */
.rf-mega-brand-grid {
  max-height: min(62vh, 540px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.rf-search-results .rf-search-product {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
}
.rf-search-results .rf-search-product > img {
  display: block !important;
  width: 56px !important;
  height: 64px !important;
  object-fit: contain !important;
  background: #fff !important;
  border-radius: 8px !important;
}
.rf-search-results .rf-search-product > span {
  display: flex !important;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.rf-search-results .rf-search-product small {
  color: #86614d !important;
  font-size: 10px !important;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .06em;
}
.rf-search-results .rf-search-product strong {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 600;
  color: #26211e;
}
.rf-search-results .rf-search-product em {
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
  font-size: 12px !important;
  line-height: 1.35;
  font-style: normal;
  color: #26211e;
}
.rf-search-results .rf-search-product em span:not(.screen-reader-text) {
  display: inline !important;
  white-space: nowrap;
}
.rf-search-results .rf-search-product em del { color: #827a74; font-size: 10px; }
.rf-search-results .rf-search-product em ins { text-decoration: none; font-weight: 700; }
.rf-search-results .rf-search-product + .rf-search-product {
  border-top: 1px solid #eee8e3;
  border-radius: 0 !important;
}
.rf-search-results .rf-search-viewall {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 10px !important;
  font-size: 12px !important;
  color: #674536;
  background: #faf7f3;
  border-radius: 9px;
}
@media (max-width: 760px) {
  body.rf-search-open .rf-pa-launcher, body.search .rf-pa-launcher { visibility: hidden; pointer-events: none; }
  body.search .woocommerce-products-header h1,
  body.search .rf-shop-heading h1,
  body.search main h1 { font-size: 20px !important; line-height: 1.25 !important; letter-spacing: -.035em; }
  body.search ul.products li.product .onsale { display: none !important; }
  body.search #primary ul.products li.product .woocommerce-loop-product__title,
  body.search.rf-archive-products-first #primary .rf-shop-content > ul.products > li.product .woocommerce-loop-product__title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    height: 4.05em !important;
    min-height: 4.05em !important;
    max-height: 4.05em !important;
    overflow: hidden !important;
    white-space: normal !important;
  }
  .rf-search-results {
    box-sizing: border-box;
    border: 1px solid #e9e1d9 !important;
    border-radius: 14px !important;
    padding: 6px !important;
    max-height: min(62vh, 520px) !important;
    max-height: min(62dvh, 520px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    box-shadow: 0 12px 32px rgba(38, 25, 17, .12) !important;
    -webkit-overflow-scrolling: touch;
  }
  .rf-search-results .rf-search-group-title { padding: 7px 10px; font-size: 9px; }
  .rf-search-results .rf-search-link-group > a { padding: 10px; }
  .rf-search-results .rf-search-viewall { position: sticky; bottom: 0; }
}


/* rosaifa-mobile-pdp-v4160 */
/* Rosaifa 4.16.0 — consolidated mobile PDP layout and text stability.
   Replaces v4.14.11, v4.14.14, v4.15.1 PDP rules, v4.15.2 and v4.15.3.
   One deterministic CSS flow; no resize-driven height repair or text compositing hacks. */
@media (max-width: 760px) {
  body.single-product {
    --rf-pdp-gutter: 12px;
    --rf-pdp-media-size: calc(100vw - (var(--rf-pdp-gutter) * 2));
    overflow-x: clip;
  }

  body.single-product .rf-main { overflow-x: clip; }

  .single-product .rf-woocommerce-main {
    padding: 8px 0 108px !important;
  }

  .single-product .rf-woocommerce-main > .rf-container {
    box-sizing: border-box !important;
    margin-inline: auto !important;
    max-width: none !important;
    padding-inline: 0 !important;
    width: var(--rf-pdp-media-size) !important;
  }

  .single-product .woocommerce-breadcrumb,
  .single-product .woocommerce-notices-wrapper:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-product .rf-shop-layout,
  .single-product .rf-shop-content,
  .single-product div.product {
    box-sizing: border-box !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .single-product div.product {
    display: block !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .single-product div.product div.images.woocommerce-product-gallery {
    box-sizing: border-box !important;
    clear: both !important;
    contain: none !important;
    display: block !important;
    float: none !important;
    height: auto !important;
    margin: 0 0 18px !important;
    min-height: var(--rf-pdp-media-size) !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative !important;
    transform: none !important;
    width: 100% !important;
    z-index: 0 !important;
  }

  .single-product div.product div.images.woocommerce-product-gallery::before,
  .single-product div.product div.images.woocommerce-product-gallery::after {
    content: none !important;
    display: none !important;
  }

  .single-product div.product div.images.woocommerce-product-gallery > .flex-viewport,
  .single-product div.product div.images.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    aspect-ratio: auto !important;
    box-sizing: border-box !important;
    height: var(--rf-pdp-media-size) !important;
    max-height: var(--rf-pdp-media-size) !important;
    min-height: var(--rf-pdp-media-size) !important;
    margin: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
  }

  .single-product div.product div.images.woocommerce-product-gallery > .flex-viewport {
    background: linear-gradient(145deg, #fbf7f2 0%, #f4e9df 100%) !important;
    border: 1px solid rgba(67, 43, 29, .12) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 34px rgba(55, 33, 20, .055) !important;
  }

  .single-product div.product div.images.woocommerce-product-gallery > .flex-viewport > .woocommerce-product-gallery__wrapper {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 100% !important;
  }

  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image > a {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
  }

  .single-product .woocommerce-product-gallery__image > a {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
  }

  .single-product .woocommerce-product-gallery__image img {
    aspect-ratio: auto !important;
    box-sizing: border-box !important;
    display: block !important;
    height: 100% !important;
    max-height: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    padding: 12px !important;
    width: 100% !important;
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    box-sizing: border-box !important;
    clear: both !important;
    margin: 8px 0 0 !important;
    padding-bottom: 2px !important;
    position: relative !important;
    width: 100% !important;
  }

  .single-product .woocommerce-product-gallery__trigger {
    right: 12px !important;
    top: 12px !important;
  }

  .single-product div.product .summary {
    box-sizing: border-box !important;
    clear: both !important;
    display: block !important;
    float: none !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow-anchor: none !important;
    padding: 0 2px !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
    z-index: auto !important;
  }

  .single-product div.product .summary,
  .single-product div.product .summary > *,
  .single-product .rf-single-brand,
  .single-product div.product .product_title,
  .single-product .rf-v4139-orientation,
  .single-product .rf-v4139-product-actions,
  .single-product .woocommerce-product-details__short-description,
  .single-product .product_meta {
    animation: none !important;
    translate: none !important;
  }

  .single-product div.product .summary,
  .single-product .rf-single-brand,
  .single-product div.product .product_title,
  .single-product .rf-v4139-orientation,
  .single-product .woocommerce-product-details__short-description,
  .single-product .product_meta {
    transition-property: color, background-color, border-color, opacity !important;
  }

  .single-product .rf-single-brand,
  .single-product div.product .product_title,
  .single-product .rf-v4139-orientation,
  .single-product .rf-v4139-product-actions {
    position: static !important;
    transform: none !important;
  }

  .single-product .rf-single-brand {
    font-size: 10px !important;
    letter-spacing: .12em !important;
    line-height: 1.3 !important;
    margin: 0 0 7px !important;
  }

  .single-product div.product .product_title {
    font-size: clamp(28px, 7.4vw, 31px) !important;
    letter-spacing: -.025em !important;
    line-height: 1.05 !important;
    margin: 0 0 10px !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
    word-break: normal !important;
  }

  .single-product .rf-v4139-orientation {
    align-items: center !important;
    font-size: 10.5px !important;
    gap: 6px 9px !important;
    margin: 0 0 12px !important;
  }

  .single-product div.product p.price,
  .single-product div.product span.price {
    font-size: 22px !important;
    line-height: 1.2 !important;
    margin: 5px 0 8px !important;
  }

  .single-product .woocommerce-product-details__short-description {
    line-height: 1.65 !important;
    margin-top: 8px !important;
  }

  .single-product .rf-v4139-product-actions { margin-block: 10px 14px !important; }

  .single-product .rf-v4139-product-actions,
  .single-product .rf-v4139-fit,
  .single-product .rf-v4139-trust,
  .single-product .summary form.cart {
    max-width: 100% !important;
  }

  .single-product .rf-mobile-purchase {
    border: 1px solid rgba(67, 43, 29, .12) !important;
    border-radius: 18px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    box-shadow: 0 14px 34px rgba(43, 24, 14, .12) !important;
    left: 8px !important;
    min-height: 66px !important;
    padding: 8px 10px !important;
    right: 8px !important;
  }

  .single-product .rf-mobile-purchase > div { min-width: 0 !important; }
  .single-product .rf-mobile-purchase small { max-width: 48vw !important; }
  .single-product .rf-mobile-purchase button {
    flex: 0 0 auto !important;
    min-height: 48px !important;
    padding-inline: 18px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  body.single-product { --rf-pdp-gutter: 10px; }
  .single-product div.product .product_title { font-size: clamp(27px, 7.2vw, 30px) !important; }
  .single-product .rf-mobile-purchase small { max-width: 44vw !important; }
}


/* Rosaifa 4.17.3 — mobile PDP flow correction, 2026-09-22. */
@media (max-width: 760px) {
  .single-product div.product div.images.woocommerce-product-gallery {
    bottom: auto !important;
    top: 0 !important;
  }
}

