.rft-header{position:relative;background:#fff;border-bottom:1px solid #eee;z-index:100;}
.rft-sticky-header .rft-header{position:sticky;top:0;}
.rft-header.is-stuck{box-shadow:0 2px 10px rgba(0,0,0,.06);}
.rft-header__inner{display:flex;align-items:center;gap:var(--rft-gap);min-height:var(--rft-header-height);}
.rft-header__logo{font-weight:700;font-size:20px;flex:0 0 auto;}
.rft-header__nav{flex:1 1 auto;}
.rft-menu{display:flex;gap:18px;list-style:none;margin:0;padding:0;}
.rft-menu li{position:relative;}
.rft-menu a{display:block;padding:8px 0;}
.rft-menu ul{display:none;position:absolute;top:100%;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.08);min-width:200px;list-style:none;margin:0;padding:8px 0;border-radius:var(--rft-radius);}
.rft-menu li:hover > ul{display:block;}
.rft-header__actions{display:flex;align-items:center;gap:10px;}
.rft-icon-btn{border:0;background:none;cursor:pointer;position:relative;padding:6px;}
.rft-cart-count{position:absolute;top:-4px;inset-inline-end:-4px;background:var(--rft-color-accent);color:#fff;border-radius:50%;font-size:11px;min-width:16px;height:16px;line-height:16px;text-align:center;}
.rft-mobile-menu-toggle{display:none;}

.rft-header-search-panel{border-bottom:1px solid #eee;background:#fafafa;}
.rft-search-form{display:flex;padding:14px 0;}
.rft-search-input{flex:1;padding:10px 14px;border:1px solid #ddd;border-radius:var(--rft-radius);}
.rft-search-results{background:#fff;border:1px solid #eee;border-top:0;}
.rft-search-results__list{list-style:none;margin:0;padding:0;}
.rft-search-results__list li a{display:flex;gap:10px;align-items:center;padding:8px 14px;}
.rft-search-results__list img{width:40px;height:40px;object-fit:cover;border-radius:4px;}

.rft-header-banner{background:var(--rft-color-primary);color:#fff;font-size:13px;text-align:center;padding:6px 0;}

.rft-mobile-menu{position:fixed;inset:0;background:#fff;z-index:200;overflow:auto;padding:20px;}
.rft-mobile-menu[hidden]{display:none;}
.rft-mobile-menu__list{list-style:none;margin:0;padding:0;}
.rft-mobile-menu__list a{display:block;padding:12px 0;border-bottom:1px solid #eee;}

.rft-layout{display:flex;gap:var(--rft-gap);padding:30px 0;align-items:flex-start;}
.rft-main{flex:1 1 auto;min-width:0;}
.rft-sidebar{flex:0 0 300px;}
.rft-sidebar-none .rft-sidebar{display:none;}
.rft-widget{margin-bottom:24px;}
.rft-widget-title{margin:0 0 12px;font-size:15px;}

.rft-footer{background:#f7f7f7;margin-top:40px;padding:40px 0 0;}
.rft-footer__columns{display:grid;gap:var(--rft-gap);grid-template-columns:repeat(4,1fr);}
.rft-footer__columns--1{grid-template-columns:1fr;}
.rft-footer__columns--2{grid-template-columns:repeat(2,1fr);}
.rft-footer__columns--3{grid-template-columns:repeat(3,1fr);}
.rft-footer__columns--6{grid-template-columns:repeat(6,1fr);}
.rft-footer-menu{list-style:none;display:flex;gap:16px;padding:20px 0;margin:0;}
.rft-footer__copyright{border-top:1px solid #e5e5e5;margin-top:20px;padding:16px 0;font-size:13px;color:#777;}

.rft-scroll-top{position:fixed;bottom:24px;inset-inline-end:24px;width:42px;height:42px;border-radius:50%;border:0;background:var(--rft-color-primary);color:#fff;cursor:pointer;z-index:150;}
.rft-scroll-top[hidden]{display:none;}

.rft-cookie-notice{position:fixed;bottom:0;left:0;right:0;background:#222;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;z-index:300;font-size:13px;}
.rft-cookie-notice button{background:var(--rft-color-accent);border:0;color:#fff;padding:8px 16px;border-radius:var(--rft-radius);cursor:pointer;}

.rft-dark{--rft-color-bg:#161616;--rft-color-text:#e8e8e8;}
.rft-dark .rft-header,.rft-dark .rft-footer{background:#1f1f1f;color:#e8e8e8;}

@media (max-width: 900px) {
	.rft-header__nav{display:none;}
	.rft-mobile-menu-toggle{display:inline-flex;}
	.rft-layout{flex-direction:column;}
	.rft-sidebar{flex-basis:auto;}
	.rft-footer__columns{grid-template-columns:1fr 1fr;}
}

/* Typography roles — driven by the per-role CSS variables emitted in class-enqueue.php */
body{font-family:var(--rft-font-body-family,inherit);font-size:var(--rft-font-body-size,15px);font-weight:var(--rft-font-body-weight,400);font-style:var(--rft-font-body-style,normal);color:var(--rft-font-body-color,inherit);}
h1,h2,h3,h4,h5,h6{font-family:var(--rft-font-heading-family,inherit);font-weight:var(--rft-font-heading-weight,700);font-style:var(--rft-font-heading-style,normal);color:var(--rft-font-heading-color,inherit);}
h1{font-size:var(--rft-font-heading-size,28px);}
.rft-subtitle{font-family:var(--rft-font-subtitle-family,inherit);font-size:var(--rft-font-subtitle-size,14px);font-weight:var(--rft-font-subtitle-weight,400);font-style:var(--rft-font-subtitle-style,normal);color:var(--rft-font-subtitle-color,inherit);}
.rft-entity-title{font-family:var(--rft-font-entities-family,inherit);font-size:var(--rft-font-entities-size,16px);font-weight:var(--rft-font-entities-weight,600);font-style:var(--rft-font-entities-style,normal);color:var(--rft-font-entities-color,inherit);}
.rft-archive-heading{font-family:var(--rft-font-archive-heading-family,inherit);font-size:var(--rft-font-archive-heading-size,22px);font-weight:var(--rft-font-archive-heading-weight,700);font-style:var(--rft-font-archive-heading-style,normal);color:var(--rft-font-archive-heading-color,inherit);}
.rft-widget-title{font-family:var(--rft-font-widget-title-family,inherit);font-size:var(--rft-font-widget-title-size,16px);font-weight:var(--rft-font-widget-title-weight,600);font-style:var(--rft-font-widget-title-style,normal);color:var(--rft-font-widget-title-color,inherit);margin:0 0 12px;}
.rft-menu,.rft-header__logo{font-family:var(--rft-font-header-menu-family,inherit);font-size:var(--rft-font-header-menu-size,14px);font-weight:var(--rft-font-header-menu-weight,500);font-style:var(--rft-font-header-menu-style,normal);}

/* Button style presets, applied globally via the body class from RFT_Layout::body_classes() */
.rft-button-flat .button,.rft-button-flat .rft-btn{border-radius:0;box-shadow:none;}
.rft-button-3d .button,.rft-button-3d .rft-btn{border-radius:2px;box-shadow:0 3px 0 rgba(0,0,0,.2);}
.rft-button-round .button,.rft-button-round .rft-btn{border-radius:999px;}
.rft-button-rounded .button,.rft-button-rounded .rft-btn{border-radius:var(--rft-radius,6px);}

/* RTL: mirror anything laid out with flex row direction so content reads the right way. */
.rft-rtl .rft-menu ul{inset-inline-start:0;}
.rft-rtl .rft-search-results__list li a{flex-direction:row-reverse;}
