/* 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}
