/* Rafiely WordPress/WooCommerce bridge. Layered below the frozen V11 design. */
@layer rafiely-wordpress {
/* Rafiely Ópticas — WordPress/WooCommerce visual bridge v0.4.1 */
:root {
  --color-brand: #ffbe00;
  --color-brand-deep: #e7a900;
  --color-brand-soft: #fff1b5;
  --color-ink: #171819;
  --color-ink-soft: #252728;
  --color-ivory: #f8f6ef;
  --color-paper: #fffdf8;
  --color-cream: #eeece4;
  --color-mute: #686a6a;
  --color-line: #dedbd0;
  --rf-shadow: 0 22px 60px -28px rgba(23, 24, 25, .24);
  --rf-shadow-strong: 0 30px 90px -38px rgba(23, 24, 25, .42);
}

html { overflow-x: clip; }
body.rafiely-theme {
  margin: 0;
  min-width: 320px;
  overflow-x: clip;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
}
body.rafiely-theme.admin-bar .rf-header { top: 32px; }
body.rafiely-theme h1,
body.rafiely-theme h2,
body.rafiely-theme h3,
body.rafiely-theme h4 { font-family: "Sora", ui-sans-serif, system-ui, sans-serif; }
body.rafiely-theme a { color: inherit; }
body.rafiely-theme button,
body.rafiely-theme input,
body.rafiely-theme select,
body.rafiely-theme textarea { font: inherit; }
body.rafiely-theme img { max-width: 100%; height: auto; }
.screen-reader-text { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

/* Header */
.rf-header { position: sticky; top: 0; z-index: 60; }
.rf-header-main { min-height: 82px; }
.rf-header .rf-logo img { width: min(205px, 19vw); max-height: 58px; object-fit: contain; }
.rf-header-search .rf-live-search { width: 100%; }
.rf-live-search { position: relative; }
.rf-live-search > svg { position:absolute;right:18px;top:50%;transform:translateY(-50%);pointer-events:none; }
.rf-live-search input[type="search"] { width:100%;height:48px;border:1px solid var(--color-line);border-radius:999px;background:#fff;padding:0 50px 0 20px;color:var(--color-ink);outline:none; }
.rf-live-search input[type="search"]:focus { border-color: var(--color-brand); box-shadow:0 0 0 4px rgba(255,190,0,.13); }
.rf-header-actions { display:flex;align-items:center;gap:8px; }
.rf-header-actions .rf-icon-btn { position:relative; }
.rf-badge { position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--color-brand);color:var(--color-ink);font-size:10px;font-weight:800; }
.rf-cart-count:empty,.rf-cart-count[hidden],.rf-favorites-count[hidden] { display:none; }
.rf-nav-link.is-active { color:var(--color-ink); }
.rf-nav-link.is-active::after { transform:scaleX(1); }
.rf-mega[hidden] { display:none; }
.rf-mega.is-open { display:block; }
.rf-mega-card img { display:block;width:100%;height:128px;object-fit:contain;background:var(--color-ivory);border-radius:16px;margin-bottom:13px; }
.rf-mega-card small { color:var(--color-mute);font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:800; }
.rf-mega-card p { margin:.3rem 0 0;font-family:"Sora";font-size:1.2rem;font-weight:700; }
.rf-mobile-menu,.rf-search-overlay,.rf-drawer,.rf-lightbox { position:fixed;inset:0;z-index:100;pointer-events:none;visibility:hidden; }
.rf-mobile-menu.is-open,.rf-search-overlay.is-open,.rf-drawer.is-open,.rf-lightbox.is-open { pointer-events:auto;visibility:visible; }
.rf-overlay-backdrop { position:absolute;inset:0;border:0;background:rgba(0,0,0,.58);opacity:0;transition:opacity .25s ease; }
.is-open > .rf-overlay-backdrop { opacity:1; }
.rf-mobile-menu aside,.rf-drawer aside { position:absolute;top:0;bottom:0;background:var(--color-paper);box-shadow:var(--rf-shadow-strong);transition:transform .3s ease; }
.rf-mobile-menu aside { left:0;width:min(90vw,390px);transform:translateX(-105%); }
.rf-mobile-menu.is-open aside { transform:translateX(0); }
.rf-drawer aside { right:0;width:min(94vw,470px);transform:translateX(105%);display:flex;flex-direction:column; }
.rf-drawer.is-open aside { transform:translateX(0); }
.rf-mobile-menu-head,.rf-drawer header { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--color-line); }
.rf-mobile-menu-head .rf-logo img { width:158px; }
.rf-mobile-menu nav { padding:15px 20px;display:grid; }
.rf-mobile-menu nav a { display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--color-line);font-family:"Sora";font-weight:700;text-decoration:none; }
.rf-mobile-menu-actions { padding:20px;display:grid;gap:10px; }
.rf-mobile-menu-actions button { display:flex;align-items:center;gap:10px;border:1px solid var(--color-line);background:#fff;border-radius:16px;padding:13px;text-align:left; }
.rf-search-modal { position:relative;width:min(94vw,760px);margin:80px auto 0;background:var(--color-paper);border-radius:26px;padding:16px;display:flex;gap:10px;box-shadow:var(--rf-shadow-strong);transform:translateY(-20px);opacity:0;transition:.25s ease; }
.rf-search-overlay.is-open .rf-search-modal { transform:translateY(0);opacity:1; }
.rf-search-modal .rf-live-search { flex:1; }
.rf-search-results { position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--color-line);border-radius:18px;box-shadow:var(--rf-shadow);overflow:hidden;z-index:20; }
.rf-search-result { display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;border-bottom:1px solid var(--color-line); }
.rf-search-result:last-child { border-bottom:0; }
.rf-search-result img { width:58px;height:44px;object-fit:contain;background:var(--color-ivory);border-radius:9px; }
.rf-search-result strong { white-space:nowrap; }
.rf-search-empty { padding:18px;color:var(--color-mute);font-size:14px; }
.rf-drawer header small { display:block;text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:var(--color-mute);font-weight:800; }
.rf-drawer header h2 { margin:3px 0 0;font-size:1.8rem; }
.rf-mini-cart-content,.rf-favorites-content { flex:1;overflow:auto;padding:18px; }
.rf-cart-empty { min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;color:var(--color-mute); }
.rf-cart-empty h3 { color:var(--color-ink);font-size:1.5rem;margin:0; }
.rf-cart-empty p { margin:0 0 8px; }
.rf-mini-cart-items { display:grid;gap:12px; }
.rf-mini-cart-item { display:grid;grid-template-columns:84px 1fr 34px;gap:12px;align-items:center;border:1px solid var(--color-line);border-radius:18px;padding:10px;background:#fff; }
.rf-mini-cart-image { display:block;height:72px;border-radius:12px;background:var(--color-ivory);overflow:hidden; }
.rf-mini-cart-image img { width:100%;height:100%;object-fit:contain; }
.rf-mini-cart-name { font-family:"Sora";font-weight:700;text-decoration:none; }
.rf-mini-cart-item p { margin:3px 0;font-size:11px;color:var(--color-mute); }
.rf-mini-cart-remove { display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--color-line); }
.rf-mini-cart-footer { position:sticky;bottom:0;margin-top:16px;padding:16px 0 2px;background:linear-gradient(transparent,var(--color-paper) 18%);display:grid;gap:8px; }
.rf-mini-cart-footer > div { display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:1.05rem; }
.rf-favorite-item { display:grid;grid-template-columns:84px 1fr 34px;gap:12px;align-items:center;border:1px solid var(--color-line);border-radius:18px;padding:10px;margin-bottom:12px;background:#fff; }
.rf-favorite-item img { width:84px;height:68px;object-fit:contain;background:var(--color-ivory);border-radius:12px; }
.rf-favorite-item a { text-decoration:none;font-family:"Sora";font-weight:700; }

/* Home additions */
.rf-trust-strip { border-block:1px solid var(--color-line);background:#fff; }
.rf-trust-grid { display:grid;grid-template-columns:repeat(4,1fr); }
.rf-trust-grid > div { display:flex;gap:12px;align-items:flex-start;padding:20px 18px;border-right:1px solid var(--color-line); }
.rf-trust-grid > div:last-child { border-right:0; }
.rf-trust-grid svg { flex:none;color:var(--color-brand-deep); }
.rf-trust-grid strong,.rf-trust-grid small { display:block; }
.rf-trust-grid strong { font-size:13px; }
.rf-trust-grid small { color:var(--color-mute);font-size:11px;margin-top:2px; }
.rf-category-intro { position:relative;overflow:hidden;grid-row:span 2;min-height:510px;padding:32px;border-radius:26px;background:var(--color-ink);color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start; }
.rf-category-intro h3 { margin:26px 0 12px;font-size:2.6rem;line-height:1; }
.rf-category-intro p:not(.eyebrow) { color:rgba(255,255,255,.58);max-width:290px; }
.rf-category-intro > span { margin-top:auto;color:var(--color-brand);display:flex;align-items:center;gap:8px;font-weight:800; }
.rf-category-intro > img { position:absolute;right:-42px;bottom:-60px;width:240px;opacity:.12;filter:grayscale(1) brightness(3); }
.rf-help-head { max-width:700px;margin-bottom:54px; }
.rf-help-head h2 { margin:16px 0;font-size:clamp(2.6rem,5vw,5rem);line-height:.96; }
.rf-help-head > p:last-child { font-size:1.05rem;color:var(--color-mute);line-height:1.8; }
.rf-help-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative; }
.rf-help-steps::before { content:"";position:absolute;left:8%;right:8%;top:33px;height:1px;background:linear-gradient(90deg,transparent,var(--color-brand),transparent); }
.rf-help-steps > div { position:relative; }
.rf-help-steps span { width:66px;height:66px;display:grid;place-items:center;border:2px solid var(--color-brand);border-radius:50%;background:var(--color-paper);font-family:"Sora";font-size:1.3rem;font-weight:800; }
.rf-help-steps h3 { margin:22px 0 8px;font-size:1.25rem; }
.rf-help-steps p { color:var(--color-mute); }
.rf-inclusive-solidarity { margin-top:18px;color:rgba(255,255,255,.72); }
.rf-inclusive-actions { margin-top:25px;display:flex;flex-wrap:wrap;gap:8px; }
.rf-booking-cta { display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end; }
.rf-booking-cta h2 { margin:18px 0 10px;color:#fff;font-size:clamp(2.5rem,5vw,5rem);line-height:.96;max-width:850px; }
.rf-booking-cta p:not(.eyebrow) { color:rgba(255,255,255,.63);max-width:680px; }
.rf-booking-cta > div:last-child { display:flex;flex-wrap:wrap;gap:8px; }
.rf-about-mosaic { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.rf-about-mosaic > * { min-height:150px;border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden; }
.rf-about-mosaic > :first-child { grid-column:span 2; }
.rf-about-mosaic > span { background:var(--color-brand); }
.rf-about-mosaic img { width:100%;height:100%;object-fit:contain;padding:16px; }
.rf-about-mosaic > div:last-child { background:var(--color-ink);color:#fff;padding:20px;text-align:center;font-family:"Sora";font-weight:700; }

/* Catalog */
.rf-catalog-results { min-width:0; }
.rf-products-grid,.woocommerce ul.products { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto;margin:0;float:none; }
.rf-product-card { min-width:0;position:relative; }
.rf-product-card a { text-decoration:none; }
.rf-product-card .price { color:inherit;font-size:inherit; }
.rf-stock-pill { position:absolute;left:12px;bottom:12px;padding:6px 10px;border-radius:999px;background:var(--color-ink);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase; }
.rf-product-action.ajax_add_to_cart.added { background:var(--color-ink);color:#fff; }
.rf-product-action.added_to_cart { display:none; }
.rf-catalog-layout { align-items:start; }
.rf-catalog-sidebar { position:sticky;top:150px;border:1px solid var(--color-line);border-radius:24px;background:#fff;padding:22px; }
.rf-filter-head { display:flex;align-items:center;justify-content:space-between;margin-bottom:8px; }
.rf-filter-head strong { font-family:"Sora";font-size:1.1rem; }
.rf-filter-head .rf-icon-btn { display:none; }
.rf-filter-group { margin:0;padding:20px 0;border:0;border-bottom:1px solid var(--color-line); }
.rf-filter-group:last-of-type { border-bottom:0; }
.rf-filter-group legend { padding:0;margin-bottom:12px;font-family:"Sora";font-weight:700;font-size:14px; }
.rf-filter-options { display:grid;gap:8px;max-height:220px;overflow:auto; }
.rf-check-row { display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;cursor:pointer;font-size:13px; }
.rf-check-row input { accent-color:var(--color-brand); }
.rf-check-row small { color:var(--color-mute); }
.rf-price-field { display:flex;align-items:center;border:1px solid var(--color-line);border-radius:12px;overflow:hidden;background:var(--color-ivory); }
.rf-price-field span { padding:9px 0 9px 12px;color:var(--color-mute); }
.rf-price-field input { width:100%;border:0;background:transparent;padding:9px;outline:none; }
.rf-filter-submit { width:100%;margin-top:18px;border:0;cursor:pointer; }
.rf-clear-filters { display:block;margin-top:12px;text-align:center;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px; }
.rf-result-count { display:inline-flex;align-items:center;gap:7px;color:var(--color-mute);font-size:12px;font-weight:800; }
.rf-order-form label { display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 13px;border:1px solid var(--color-line);border-radius:999px;background:#fff; }
.rf-order-form select { border:0;background:transparent;outline:none;font-size:12px;font-weight:800; }
.rf-catalog-search form,.rf-catalog-search { margin:0; }
.rf-catalog-search input { width:100%;border:0;background:transparent;outline:none; }
.woocommerce-pagination { margin-top:40px; }
.woocommerce-pagination ul.page-numbers { border:0;display:flex;justify-content:center;gap:8px; }
.woocommerce-pagination ul.page-numbers li { border:0; }
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span { min-width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--color-line);background:#fff;color:var(--color-ink); }
.woocommerce-pagination .page-numbers .current { background:var(--color-brand);border-color:var(--color-brand); }
.woocommerce-info,.woocommerce-message,.woocommerce-error { margin:0 0 20px;padding:18px 20px;border:1px solid var(--color-line);border-top:3px solid var(--color-brand);border-radius:16px;background:#fff;color:var(--color-ink);list-style:none; }
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before { color:var(--color-brand-deep); }

/* Product */
.rf-product-breadcrumbs { padding-top:24px; }
.rf-product-detail { padding-top:42px;padding-bottom:72px; }
.rf-gallery-main { position:relative; }
.rf-gallery-slide { display:none;width:100%;height:100%; }
.rf-gallery-slide.is-active { display:grid;place-items:center; }
.rf-gallery-slide img { width:100%;height:100%;object-fit:contain; }
.rf-gallery-measure-slide { padding:18px; }
.rf-gallery-measure-slide .rf-measure-card { width:100%;height:auto;min-height:360px; }
.rf-gallery-thumb { cursor:pointer; }
.rf-gallery-thumb.is-active { border-color:var(--color-ink); }
.rf-gallery-measure-thumb { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--color-ink);color:#fff; }
.rf-gallery-measure-thumb span { font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em; }
.rf-gallery-zoom { position:absolute;left:20px;bottom:18px;z-index:3;display:flex;align-items:center;gap:6px;border:0;border-radius:999px;background:#fff;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer;box-shadow:var(--rf-shadow); }
.rf-product-trust-grid { margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.rf-product-trust-grid > div { min-height:82px;border:1px solid var(--color-line);border-radius:16px;background:#fff;padding:13px;display:grid;align-content:start;gap:3px; }
.rf-product-trust-grid svg { color:var(--color-brand-deep); }
.rf-product-trust-grid strong { font-size:12px; }
.rf-product-trust-grid small { color:var(--color-mute);font-size:10px; }
.rf-product-info { position:sticky;top:150px; }
.rf-product-overline,.rf-product-info-brand { text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:800;color:var(--color-mute); }
.rf-product-info-brand { margin-top:12px; }
.rf-product-info h1 { margin:8px 0 0;font-size:clamp(3.8rem,6vw,6.4rem);font-weight:500;line-height:.92;letter-spacing:-.06em; }
.rf-product-full-name { margin-top:14px;color:var(--color-mute);font-size:13px; }
.rf-product-price-line { display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px; }
.rf-single-price { font-family:"Sora";font-size:2.6rem;font-weight:800; }
.rf-single-price del { font-size:1.1rem;color:var(--color-mute); }
.rf-single-price ins { text-decoration:none; }
.rf-availability { border-radius:999px;background:var(--color-brand-soft);padding:8px 13px;font-size:11px;font-weight:800; }
.rf-availability.is-out { background:#eee;color:#777; }
.rf-product-description { margin-top:26px;color:var(--color-mute);line-height:1.75; }
.rf-product-description p { margin:0 0 10px; }
.rf-product-special-text { margin-top:16px;padding:14px 16px;border:1px solid color-mix(in srgb, var(--color-brand) 45%, var(--color-line));border-radius:14px;background:color-mix(in srgb, var(--color-brand) 10%, white);color:var(--color-ink);line-height:1.65; }
.rf-product-special-text p { margin:0; }
.rf-spec-grid { margin-top:24px; }
.rf-product-primary-actions { margin-top:25px;display:grid;gap:9px; }
.rf-product-primary-actions .btn-rf { width:100%; }
.rf-add-to-cart-wrap form.cart { margin:0;display:flex;gap:8px; }
.rf-add-to-cart-wrap .quantity { flex:0 0 78px; }
.rf-add-to-cart-wrap .quantity input.qty { width:100%;height:48px;border:1px solid var(--color-line);border-radius:999px;background:#fff;text-align:center; }
.rf-add-to-cart-wrap .single_add_to_cart_button { flex:1;min-height:48px;border:0;border-radius:999px;background:var(--color-brand);color:var(--color-ink);font-weight:800;opacity:1; }
.rf-add-to-cart-wrap .variations { width:100%;margin:0 0 12px; }
.rf-add-to-cart-wrap .variations td { padding:6px 0;display:block; }
.rf-add-to-cart-wrap .variations select { width:100%;height:46px;border:1px solid var(--color-line);border-radius:12px;background:#fff;padding:0 12px; }
.rf-add-to-cart-wrap .woocommerce-variation-add-to-cart { display:flex;gap:8px; }
.rf-product-secondary-actions { margin-top:9px;display:grid;grid-template-columns:1fr auto;gap:8px; }
.rf-product-secondary-actions .btn-rf { min-height:46px; }
.rf-product-story > div:first-child > h2 { margin:18px 0;font-size:clamp(2.5rem,5vw,5rem);line-height:.96; }
.rf-product-story > div:first-child > p:not(.eyebrow) { color:var(--color-mute);line-height:1.8; }
.rf-product-honesty { margin-top:30px;border-radius:26px;background:var(--color-brand);padding:25px; }
.rf-product-honesty h3 { margin:14px 0 8px;font-size:1.45rem; }
.rf-product-honesty p { margin:0;font-size:14px;line-height:1.6; }
.rf-accordions details { border-bottom:1px solid var(--color-line); }
.rf-accordions summary { list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 0;font-family:"Sora";font-size:1.05rem;font-weight:700;cursor:pointer; }
.rf-accordions summary::-webkit-details-marker { display:none; }
.rf-accordions details[open] summary svg { transform:rotate(180deg); }
.rf-accordions details > div { padding:0 0 22px;color:var(--color-mute);line-height:1.75; }
.rf-spec-list { display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding:0;list-style:none; }
.rf-measure-kicker { margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:800;color:rgba(255,255,255,.5); }
.rf-measure-svg { margin-top:12px;width:100%; }
.rf-measure-empty { position:relative;z-index:2;display:flex;align-items:center;gap:15px;padding:44px 0;color:#fff; }
.rf-measure-empty svg { color:var(--color-brand); }
.rf-measure-empty strong,.rf-measure-empty span { display:block; }
.rf-measure-empty span { margin-top:4px;color:rgba(255,255,255,.55);font-size:13px; }
.rf-lightbox > div { position:absolute;inset:4vh 4vw;background:#fff;border-radius:28px;padding:18px;display:grid;place-items:center;transform:scale(.96);opacity:0;transition:.22s ease; }
.rf-lightbox.is-open > div { transform:scale(1);opacity:1; }
.rf-lightbox > div > button { position:absolute;right:18px;top:18px;z-index:2;background:#fff; }
.rf-lightbox img { width:100%;height:100%;object-fit:contain; }

/* Content pages */
.rf-page-hero { padding:100px 0 80px;background:var(--color-ivory); }
.rf-page-hero-dark { background:var(--color-ink);color:#fff; }
.rf-page-hero .container-rf { max-width:1440px; }
.rf-page-hero h1 { margin:22px 0 18px;max-width:1050px;font-size:clamp(3rem,7vw,7rem);line-height:.94; }
.rf-page-hero p:not(.eyebrow) { max-width:760px;color:var(--color-mute);font-size:1.08rem;line-height:1.8; }
.rf-page-hero-dark p:not(.eyebrow) { color:rgba(255,255,255,.62); }
.rf-page-hero .btn-rf { margin-top:28px; }
.rf-editorial-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:80px; }
.rf-editorial-sticky { position:sticky;top:150px;align-self:start; }
.rf-editorial-sticky h2 { margin:20px 0;font-size:clamp(2.6rem,5vw,5.4rem);line-height:.96; }
.rf-information-card { margin-top:28px;border-radius:26px;background:var(--color-brand);padding:25px; }
.rf-information-card p { margin:15px 0 0;line-height:1.7; }
.rf-step-list { display:grid;gap:15px; }
.rf-step-card { display:grid;grid-template-columns:70px 1fr;gap:20px;border:1px solid var(--color-line);border-radius:24px;background:#fff;padding:23px; }
.rf-step-n { width:62px;height:62px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--color-brand);font-family:"Sora";font-weight:800; }
.rf-step-card h3 { margin:10px 0 7px;font-size:1.3rem; }
.rf-step-card p { margin:0;color:var(--color-mute); }
.rf-inclusive-page { display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--color-line);border-radius:28px;background:#fff; }
.rf-inclusive-page-image { min-height:620px;display:grid;place-items:center;background:#fff; }
.rf-inclusive-page-image img { width:100%;height:100%;object-fit:cover; }
.rf-inclusive-page > div:last-child { padding:50px;align-self:center; }
.rf-inclusive-page h2 { margin:20px 0;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.96; }
.rf-inclusive-page p { color:var(--color-mute);line-height:1.75; }
.rf-inclusive-page-benefits { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0; }
.rf-inclusive-page-benefits > div { border:1px solid var(--color-line);border-radius:18px;padding:18px; }
.rf-inclusive-page-benefits strong,.rf-inclusive-page-benefits span { display:block; }
.rf-inclusive-page-benefits span { margin-top:6px;color:var(--color-mute);font-size:12px; }
.rf-about-page { display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center; }
.rf-about-page h2 { margin:20px 0;font-size:clamp(2.8rem,5vw,5rem);line-height:.96; }
.rf-about-page > div > p { color:var(--color-mute);line-height:1.8; }
.rf-values-grid { margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.rf-values-grid > div { border:1px solid var(--color-line);border-radius:18px;padding:18px;background:#fff; }
.rf-values-grid strong,.rf-values-grid span { display:block; }
.rf-values-grid span { margin-top:7px;color:var(--color-mute);font-size:13px; }
.rf-about-brand-panel { min-height:520px;border-radius:30px;background:var(--color-cream);padding:30px;display:grid;grid-template-rows:1fr auto;gap:15px; }
.rf-about-brand-panel img { align-self:center;justify-self:center;max-width:75%; }
.rf-about-brand-panel > div { min-height:160px;border-radius:22px;background:var(--color-ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;text-align:center; }
.rf-how-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }
.rf-how-grid article { border:1px solid var(--color-line);border-radius:24px;background:#fff;padding:25px; }
.rf-how-grid article > span { width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:var(--color-brand);font-family:"Sora";font-weight:800; }
.rf-how-grid h2 { margin:22px 0 10px;font-size:1.5rem; }
.rf-how-grid p { color:var(--color-mute);line-height:1.7; }
.rf-centered-cta { margin-top:35px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap; }
.rf-contact-layout { display:grid;grid-template-columns:.85fr 1.15fr;gap:50px; }
.rf-contact-cards { display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start; }
.rf-contact-cards a { min-height:190px;border:1px solid var(--color-line);border-radius:23px;background:#fff;padding:22px;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start; }
.rf-contact-cards svg { color:var(--color-brand-deep); }
.rf-contact-cards strong { margin-top:auto;font-family:"Sora";font-size:1.2rem; }
.rf-contact-cards span { margin-top:5px;color:var(--color-mute);font-size:13px; }
.rf-contact-form,.rf-claim-form { border-radius:28px;background:var(--color-ink);color:#fff;padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.rf-contact-form h2 { grid-column:1/-1;margin:5px 0 10px;font-size:2.7rem; }
.rf-contact-form .eyebrow { grid-column:1/-1; }
.rf-contact-form label,.rf-claim-form label { display:grid;gap:7px;font-size:12px;font-weight:700; }
.rf-contact-form label:has(textarea),.rf-claim-form label:has(textarea) { grid-column:1/-1; }
.rf-contact-form input,.rf-contact-form select,.rf-contact-form textarea,.rf-claim-form input,.rf-claim-form select,.rf-claim-form textarea { width:100%;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;padding:13px;outline:none; }
.rf-contact-form option,.rf-claim-form option { color:var(--color-ink); }
.rf-contact-form .btn-rf,.rf-claim-form .btn-rf { grid-column:1/-1;border:0;cursor:pointer; }
.rf-legal-content { max-width:900px; }
.rf-legal-content h2 { margin:35px 0 10px;font-size:1.7rem; }
.rf-legal-content p,.rf-legal-content li { color:var(--color-mute);line-height:1.8; }
.rf-claim-layout { display:grid;grid-template-columns:.7fr 1.3fr;gap:50px; }
.rf-claim-layout > div h2 { font-size:2.5rem; }
.rf-claim-layout > div p { color:var(--color-mute);line-height:1.7; }
.rf-booking-layout { display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start; }
.rf-booking-intro { position:sticky;top:150px; }
.rf-booking-intro h2 { margin:20px 0;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.96; }
.rf-booking-intro ol { margin:30px 0 0;padding:0;list-style:none;display:grid;gap:12px; }
.rf-booking-intro li { display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;border:1px solid var(--color-line);border-radius:18px;padding:15px;background:#fff; }
.rf-booking-intro li > span { width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--color-brand);font-weight:800; }
.rf-booking-intro strong,.rf-booking-intro p { display:block; }
.rf-booking-intro p { margin:4px 0 0;color:var(--color-mute);font-size:12px; }

/* Commerce pages */
.rf-commerce-hero { padding:72px 0;background:var(--color-ink);color:#fff; }
.rf-commerce-hero h1 { margin:20px 0 10px;font-size:clamp(3.2rem,7vw,7rem);line-height:.95; }
.rf-commerce-hero p:not(.eyebrow) { color:rgba(255,255,255,.6);max-width:700px; }
.rf-commerce-content { max-width:1240px; }
.woocommerce form .form-row { margin:0 0 15px; }
.woocommerce form .form-row label { margin-bottom:7px;display:block;font-size:12px;font-weight:800;color:var(--color-ink); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single { min-height:48px;border:1px solid var(--color-line);border-radius:13px;background:#fff;padding:10px 13px;color:var(--color-ink); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height:28px; }
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit { min-height:46px;border-radius:999px;background:var(--color-brand);color:var(--color-ink);font-weight:800;padding:12px 20px; }
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt { background:var(--color-ink);color:#fff; }
.woocommerce table.shop_table { border:1px solid var(--color-line);border-radius:22px;border-collapse:separate;background:#fff;overflow:hidden; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:16px;border-color:var(--color-line); }
.woocommerce-cart-form__cart-item .product-thumbnail img { width:110px;height:80px;object-fit:contain;background:var(--color-ivory);border-radius:12px; }
.woocommerce .quantity .qty { min-height:42px;border:1px solid var(--color-line);border-radius:999px; }
.cart-collaterals .cart_totals { float:none;width:100%;border:1px solid var(--color-line);border-radius:24px;background:#fff;padding:24px; }
.cart-collaterals { display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:30px;margin-top:30px; }
.cart-collaterals::before,.cart-collaterals::after { display:none; }
.cart-collaterals .cross-sells { width:auto;float:none; }
.wc-proceed-to-checkout a.checkout-button { width:100%;text-align:center; }
.woocommerce-checkout .col2-set { width:56%;float:left;padding-right:35px; }
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { width:44%;float:right; }
.woocommerce-checkout #order_review { border:1px solid var(--color-line);border-radius:24px;background:#fff;padding:22px; }
.woocommerce-checkout #payment { background:var(--color-ivory);border-radius:18px; }
.woocommerce-checkout #payment ul.payment_methods { border-color:var(--color-line); }
.woocommerce-checkout #place_order { width:100%; }
.woocommerce-account .woocommerce { display:grid;grid-template-columns:260px 1fr;gap:30px; }
.woocommerce-MyAccount-navigation ul { margin:0;padding:12px;list-style:none;border:1px solid var(--color-line);border-radius:22px;background:#fff; }
.woocommerce-MyAccount-navigation li a { display:block;padding:13px 15px;border-radius:12px;text-decoration:none;font-weight:700; }
.woocommerce-MyAccount-navigation li.is-active a { background:var(--color-brand); }
.woocommerce-MyAccount-content { min-width:0;border:1px solid var(--color-line);border-radius:22px;background:#fff;padding:25px; }
.woocommerce-form-login,.woocommerce-form-register { border:1px solid var(--color-line);border-radius:24px;background:#fff;padding:25px; }
.u-columns.col2-set { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.u-columns.col2-set::before,.u-columns.col2-set::after { display:none; }
.u-column1,.u-column2 { width:auto;float:none; }

/* Plugin booking integration */
.rafiely-booking-base { border:1px solid var(--color-line);border-radius:28px;background:#fff;padding:30px;box-shadow:var(--rf-shadow); }
.rafiely-booking-base__heading > p:first-child { text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:800;color:var(--color-mute); }
.rafiely-booking-base__heading h2 { margin:12px 0;font-size:2.1rem; }
.rafiely-booking-base__heading > p:last-child { color:var(--color-mute);line-height:1.65; }
.rafiely-booking-grid { display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px; }
.rafiely-booking-grid label { display:grid;gap:7px;font-size:12px;font-weight:800; }
.rafiely-booking-grid input,.rafiely-booking-grid select,.rafiely-booking-grid textarea { width:100%;border:1px solid var(--color-line);border-radius:13px;background:var(--color-ivory);padding:13px;outline:none; }
.rafiely-booking-grid__wide { grid-column:1/-1; }
.rafiely-booking-consent { margin:15px 0;display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--color-mute); }
.rafiely-booking-form > button { width:100%;min-height:48px;border:0;border-radius:999px;background:var(--color-brand);font-weight:800;cursor:pointer; }

/* Footer tweaks */
.rf-footer .rf-logo img { width:175px;max-height:64px;object-fit:contain; }
.rf-footer-contact { margin-top:25px;display:grid;gap:10px; }
.rf-footer-contact a { display:flex;gap:9px;align-items:flex-start;color:rgba(255,255,255,.55);text-decoration:none;font-size:13px; }
.rf-footer-contact svg { color:var(--color-brand);flex:none; }
.rf-footer-cta-actions { display:flex;flex-wrap:wrap;gap:8px; }
.rf-whatsapp-fab { display:grid;place-items:center;background:#20d466;color:#fff; }

/* Responsive */
@media (max-width: 1180px) {
  .rf-products-grid,.woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .rf-catalog-layout { grid-template-columns:240px minmax(0,1fr); }
  .rf-header .rf-logo img { width:175px; }
  .rf-header-main { grid-template-columns:auto 175px minmax(260px,1fr) auto;gap:15px; }
  .rf-how-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 900px) {
  body.rafiely-theme.admin-bar .rf-header { top:46px; }
  .rf-topbar { display:none; }
  .rf-header-main { min-height:74px;grid-template-columns:44px 1fr auto; }
  .rf-header .rf-logo { justify-self:center; }
  .rf-header .rf-logo img { width:165px;max-width:46vw; }
  .rf-header-search,.rf-nav,.desktop-only { display:none; }
  .rf-mobile-toggle { display:grid; }
  .rf-header-actions .hide-mobile { display:none; }
  .rf-header-actions { gap:3px; }
  .rf-header-actions .rf-icon-btn:nth-child(1),.rf-header-actions .rf-icon-btn:nth-child(4) { display:none; }
  .rf-products-grid,.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
  .rf-trust-grid { grid-template-columns:1fr 1fr; }
  .rf-trust-grid > div:nth-child(2) { border-right:0; }
  .rf-trust-grid > div:nth-child(-n+2) { border-bottom:1px solid var(--color-line); }
  .rf-help-steps { grid-template-columns:1fr; }
  .rf-help-steps::before { display:none; }
  .rf-booking-cta { grid-template-columns:1fr; }
  .rf-catalog-layout { display:block; }
  .rf-catalog-sidebar { position:fixed;z-index:120;top:0;bottom:0;left:0;width:min(90vw,370px);border-radius:0;transform:translateX(-105%);transition:transform .3s ease;overflow:auto; }
  .rf-catalog-sidebar.is-open { transform:translateX(0); }
  .rf-filter-head .rf-icon-btn { display:grid; }
  .rf-mobile-filter { display:inline-flex; }
  .rf-result-count { display:none; }
  .rf-product-detail { grid-template-columns:1fr;gap:34px;padding-top:25px; }
  .rf-product-info { position:static; }
  .rf-editorial-grid,.rf-about-page,.rf-contact-layout,.rf-claim-layout,.rf-booking-layout { grid-template-columns:1fr;gap:35px; }
  .rf-editorial-sticky,.rf-booking-intro { position:static; }
  .rf-inclusive-page { grid-template-columns:1fr; }
  .rf-inclusive-page-image { min-height:420px; }
  .rf-inclusive-page > div:last-child { padding:30px; }
  .rf-location-card { grid-template-columns:1fr; }
  .rf-contact-form,.rf-claim-form { grid-template-columns:1fr; }
  .rf-contact-form label:has(textarea),.rf-claim-form label:has(textarea),.rf-contact-form h2,.rf-contact-form .eyebrow,.rf-contact-form .btn-rf,.rf-claim-form .btn-rf { grid-column:auto; }
  .cart-collaterals { grid-template-columns:1fr; }
  .woocommerce-checkout .col2-set,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { width:100%;float:none;padding-right:0; }
  .woocommerce-account .woocommerce { grid-template-columns:1fr; }
  .woocommerce-MyAccount-navigation ul { display:flex;overflow:auto;gap:5px; }
  .woocommerce-MyAccount-navigation li { flex:none; }
}
@media (max-width: 640px) {
  .container-rf { padding-inline:16px; }
  .rf-header .rf-logo img { width:148px; }
  .rf-header-actions .rf-icon-btn { width:38px;height:38px; }
  .rf-header-actions .js-rf-favorites-open { display:none; }
  .rf-hero-inner { padding-top:35px; }
  .rf-hero-copy h1 { font-size:clamp(2.85rem,14vw,4.5rem); }
  .rf-hero-meta { grid-template-columns:1fr 1fr; }
  .rf-hero-stage { min-height:440px; }
  .rf-trust-grid { grid-template-columns:1fr; }
  .rf-trust-grid > div { border-right:0;border-bottom:1px solid var(--color-line); }
  .rf-categories-grid { display:grid;grid-template-columns:1fr; }
  .rf-category-intro { min-height:300px;grid-row:auto; }
  .rf-category-card,.rf-category-card.large,.rf-category-card.wide { min-height:245px; }
  .rf-category-card img { width:50%;height:52%;right:10px;top:12px; }
  .rf-category-title { max-width:54%;font-size:1.8rem; }
  .rf-products-grid,.woocommerce ul.products { gap:10px; }
  .rf-product-card { border-radius:16px; }
  .rf-product-body { padding:13px; }
  .rf-product-name { font-size:.95rem; }
  .rf-product-price { font-size:1rem; }
  .rf-product-pill { max-width:calc(100% - 45px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .rf-product-actions { right:7px;top:7px; }
  .rf-help-head h2,.rf-booking-cta h2,.rf-page-hero h1 { font-size:clamp(2.6rem,12vw,4.2rem); }
  .rf-about-mosaic { grid-template-columns:1fr 1fr; }
  .rf-about-mosaic > :first-child { grid-column:span 2; }
  .rf-how-grid,.rf-contact-cards,.rf-values-grid,.rf-inclusive-page-benefits { grid-template-columns:1fr; }
  .rf-contact-cards a { min-height:150px; }
  .rf-catalog-hero { padding-top:50px; }
  .rf-catalog-toolbar { align-items:stretch; }
  .rf-catalog-search { width:100%; }
  .rf-catalog-controls { width:100%;justify-content:space-between; }
  .rf-order-form { flex:1; }
  .rf-order-form label { width:100%;justify-content:center; }
  .rf-product-breadcrumbs { padding-top:14px; }
  .rf-gallery-grid { display:flex;flex-direction:column-reverse; }
  .rf-gallery-thumbs { display:flex;flex-direction:row;overflow:auto; }
  .rf-gallery-thumb { flex:0 0 74px;height:64px; }
  .rf-gallery-main { min-height:365px; }
  .rf-gallery-measure-slide { padding:8px; }
  .rf-gallery-measure-slide .rf-measure-card { min-height:320px; }
  .rf-product-trust-grid { grid-template-columns:1fr 1fr 1fr;gap:6px; }
  .rf-product-trust-grid > div { min-height:76px;padding:9px; }
  .rf-product-trust-grid strong { font-size:10px; }
  .rf-product-trust-grid small { display:none; }
  .rf-product-info h1 { font-size:clamp(3.2rem,17vw,5rem); }
  .rf-single-price { font-size:2.15rem; }
  .rf-spec-grid { gap:8px; }
  .rf-spec-card { padding:13px; }
  .rf-product-secondary-actions { grid-template-columns:1fr auto; }
  .rf-product-story { grid-template-columns:1fr; }
  .rf-spec-list { grid-template-columns:1fr; }
  .rf-mobile-product-bar { display:grid;grid-template-columns:auto 1fr 1fr;gap:6px;align-items:center; }
  .rf-mobile-product-bar .btn-rf { min-height:44px;padding:8px;font-size:11px; }
  .rf-inclusive-home-card { grid-template-columns:1fr; }
  .rf-inclusive-home-media { min-height:360px; }
  .rf-inclusive-home-copy { padding:26px; }
  .rf-inclusive-home-copy h2 { font-size:2.55rem; }
  .rf-inclusive-benefits { grid-template-columns:1fr; }
  .rf-booking-layout { gap:25px; }
  .rafiely-booking-base { padding:20px; }
  .rafiely-booking-grid { grid-template-columns:1fr; }
  .rafiely-booking-grid__wide { grid-column:auto; }
  .rf-commerce-hero { padding:55px 0; }
  .woocommerce table.shop_table_responsive tr td::before { font-weight:800; }
  .woocommerce-cart-form__cart-item .product-thumbnail { display:block;text-align:left; }
  .woocommerce-cart-form__cart-item .product-thumbnail::before { display:none; }
  .u-columns.col2-set { grid-template-columns:1fr; }
  .rf-footer-cta { gap:25px; }
}
@media (max-width: 782px) { body.rafiely-theme.admin-bar .rf-header { top:46px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms; } }

}
