/* ============================================================================
   ORITA DESIGN LAYER  —  vendora-child / assets / orita.css
   ASOS-clean structure · Depop-thrift merchandising · Orita brand
   ----------------------------------------------------------------------------
   Loaded after the Vendora parent stylesheet, so it wins.
   Revert anything here by deleting the rule; nothing else depends on it.
   ============================================================================ */

/* ── 1. PALETTE OVERRIDE ─────────────────────────────────────────────────────
   Vendora/Kitify prints its theme colours as inline CSS variables in <head> —
   declared on `body, body .kitify`, which is why a plain :root rule loses:
   elements inherit the variable from <body>, not from <html>.

   Note the selector list below. Same specificity as the theme's declaration +
   !important (valid for custom properties) = ours wins no matter which prints
   first. Stock Kitify blue #3858E9 is replaced by Orita brown #3C2B0F (primary),
   yellow #FDBF30 (accent) and mushroom #F2E5DD (surface).                      */
:root{
  /* Orita brand tokens — from the official palette sheet:
       Brown    #3C2B0F   (primary)
       Yellow   #FDBF30   (accent)
       Mushroom #F2E5DD   (surface / wash)
     Neutrals (not on the sheet but required for UI): charcoal #2D2D2D for text,
     white canvas, warm greys derived from the above.                          */
  --orita-ink:#2d2d2d;
  --orita-muted:#79736c;
  --orita-line:#e8dace;
  --orita-wash:#f2e5dd;
  --orita-brown:#3c2b0f;
  --orita-yellow:#fdbf30;
  --orita-mushroom:#f2e5dd;
  --orita-radius:2px;
}
body,
body .kitify,
:root{
  --kitify-primary-color:#3c2b0f !important;
  --kitify-secondary-color:#2d2d2d !important;
  --kitify-body-color:#5a544e !important;
  --kitify-pagination-link-hover-bg-color:#3c2b0f !important;
  --site-primary-color:#3c2b0f !important;
  --site-accent-color:#fdbf30 !important;
  --site-header-accent-color:#3c2b0f !important;
  --site-main-menu-accent-color:#3c2b0f !important;
  --site-main-menu-text-color:#5a544e !important;
  --site-main-menu-bg-color:#ffffff !important;
  --site-main-menu-border-color:#e8dace !important;
  --site-primary-button-bg:#3c2b0f !important;
  --site-primary-button-color:#ffffff !important;
  --site-secondary-button-bg:#ffffff !important;
  --site-secondary-button-color:#3c2b0f !important;
  --site-body-bg-color:#ffffff !important;
  --site-body-text-color:#5a544e !important;
  --site-heading-text-color:#2d2d2d !important;
  --site-border-color:#e8dace !important;
  /* Archivo is the typeface. ASOS's own face is proprietary and not licensed for
     third-party use (their wordmark is custom-drawn and trademarked); Archivo is
     the closest freely-licensed grotesque and is the standard recommendation. */
  --site-main-font:'Archivo', -apple-system, "Helvetica Neue", Arial, sans-serif !important;
  --site-heading-font:'Archivo', -apple-system, "Helvetica Neue", Arial, sans-serif !important;
}

/* ── 2. TYPOGRAPHY ─────────────────────────────────────────────────────────── */
body, button, input, select, textarea,
.elementor-widget-container, .woocommerce, .entry-content{
  font-family:'Archivo', -apple-system, "Helvetica Neue", Arial, sans-serif;
}
body{ font-size:14px; line-height:1.4; color:var(--orita-ink); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6,.elementor-heading-title,.entry-title,.page-title{
  font-family:'Archivo',sans-serif; font-weight:700; letter-spacing:-.018em; color:var(--orita-ink);
}
h1{ line-height:1.04; } h2{ line-height:1.1; }
.widget-title,.woocommerce-products-header__title,.section-title,.nova-section-title{
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:700;
}
a{ color:inherit; } a:hover{ color:var(--orita-navy); }

/* ── 3. FLAT, SQUARE CHROME (ASOS has almost none) ─────────────────────────── */
.btn, button, input[type="submit"], .elementor-button, .nova-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.add_to_cart_button, .product-item .button{
  border-radius:var(--orita-radius) !important;
  box-shadow:none !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  font-size:12px;
}
input, select, textarea, .select2-container .select2-selection, .form-row input.input-text{
  border-radius:var(--orita-radius) !important;
}
img, .product-item, .product-item img, .elementor-image img{ border-radius:var(--orita-radius) !important; }
.product-item, .nova-product, .card, .widget, .elementor-widget-container .product{
  box-shadow:none !important;
}

/* ── 4. HEADER + NAV ───────────────────────────────────────────────────────── */
.site-header, .header-main, .nova-header{
  background:#fff !important; border-bottom:1px solid var(--orita-line) !important; box-shadow:none !important;
}
.main-navigation a, .menu > li > a, .nav-menu a, .primary-menu a{
  font-size:12.5px !important; font-weight:600 !important; letter-spacing:.05em !important;
  text-transform:uppercase !important; color:var(--orita-ink-2,#4a4f55) !important;
}
.main-navigation a:hover, .menu > li > a:hover{ color:var(--orita-ink) !important; }
.sub-menu a, .dropdown-menu a, .main-navigation ul ul a{
  text-transform:none !important; letter-spacing:normal !important; font-weight:500 !important; font-size:13px !important;
}
.header-search input[type="search"], .search-form input[type="search"], input.search-field{
  background:var(--orita-wash) !important; border:1px solid var(--orita-line) !important;
  border-radius:var(--orita-radius) !important; height:42px;
}
.header-search input[type="search"]:focus, .search-form input[type="search"]:focus{
  background:#fff !important; border-color:var(--orita-ink) !important; outline:none;
}

/* ── 5. PRODUCT GRID: denser, no card boxes ────────────────────────────────── */
ul.products, .products, .nova-products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:26px 10px !important; margin:0 !important;
}
ul.products li.product, .products .product, .product-item{
  width:auto !important; margin:0 !important; float:none !important;
  border:0 !important; padding:0 !important; background:transparent !important;
}
ul.products li.product img, .product-item img, .product-item .product-image img{
  aspect-ratio:3/4; object-fit:cover; width:100%;
}
.product-item .product-title, .woocommerce-loop-product__title{
  font-size:12.5px !important; font-weight:600 !important; line-height:1.3 !important; margin:8px 0 2px !important;
}
.product-item .price, ul.products li.product .price{ font-size:13.5px !important; font-weight:700 !important; }
.star-rating{ display:none !important; }
.product-item .add_to_cart_button, ul.products li.product .button{
  margin-top:6px !important; background:transparent !important; color:var(--orita-ink) !important;
  border:1px solid var(--orita-ink) !important; padding:8px 12px !important; width:auto !important;
}
.product-item .add_to_cart_button:hover, ul.products li.product .button:hover{
  background:var(--orita-ink) !important; color:#fff !important;
}
.stock, .nova-stock{ display:none !important; }   /* one-of-one: stock counts read as "many available" */
.onsale, .badge-sale{
  background:var(--orita-yellow,#fdbf30) !important; color:var(--orita-ink,#2d2d2d) !important; border-radius:0 !important;
  font-size:10px !important; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}

/* ── 6. SIDEBAR / FILTERS ──────────────────────────────────────────────────── */
.widget, .sidebar .widget, .nova-widget{
  background:transparent !important; border:0 !important;
  border-bottom:1px solid var(--orita-line) !important; padding:14px 0 !important; box-shadow:none !important;
}

/* ── 7. FOOTER ─────────────────────────────────────────────────────────────── */
footer, .site-footer{ background:#fff !important; border-top:1px solid var(--orita-line) !important; }
.site-footer a{ font-size:12.5px !important; color:#4a4f55 !important; }

/* ── 8. RESPONSIVE ─────────────────────────────────────────────────────────── */
@media (max-width:1180px){
  ul.products,.products,.nova-products{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:760px){
  ul.products,.products,.nova-products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:20px 8px !important; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; animation:none !important; } }

/* ============================================================================
   SECTION 9 — ORITA HOMEPAGE (page 1868).  Palette: brown #3C2B0F, yellow
   #FDBF30, mushroom #F2E5DD, ink #2D2D2D, warm grey #5A544E, line #E8DACE.
   Edit text/images in Elementor; edit spacing/colour/type here.
   ============================================================================ */
.page-id-1868 .entry-header,.page-id-1868 .page-title,.page-id-1868 .elementor-page-title,.page-id-1868 .woocommerce-breadcrumb{display:none!important}
.orita-home .elementor-widget-text-editor p{margin:0 0 10px}
.orita-home .elementor-heading-title{margin:0}
.orita-kicker .elementor-heading-title{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#5A544E;font-weight:700;margin:0 0 8px}

/* ---- section header row (title left, link right) ---- */
.orita-sechead{direction:ltr}
.orita-sechead .elementor-container,.orita-sechead .e-con-inner{justify-content:space-between;align-items:baseline}
.orita-sechead .elementor-heading-title{font-size:clamp(20px,2.1vw,28px);line-height:1.15;letter-spacing:-.02em;color:#2D2D2D}
.orita-sechead a.orita-link{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:#5A544E;text-decoration:none;border-bottom:1px solid #E8DACE;padding-bottom:2px;white-space:nowrap}
.orita-sechead a.orita-link:hover{color:#3C2B0F;border-color:#3C2B0F}

/* ---- hero (full-bleed store photo + brown overlay) ---- */
.orita-hero h1.elementor-heading-title{font-size:clamp(30px,4.6vw,58px);line-height:1.03;letter-spacing:-.028em;color:#fff;margin:0 0 14px;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.orita-hero .elementor-widget-text-editor p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.92);max-width:48ch;margin:0 0 4px;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.orita-hero .elementor-widget-button .elementor-button{border-radius:2px;padding:15px 28px;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;border:0}
.orita-btn-hero .elementor-button{background:#fff!important;color:#3C2B0F!important}
.orita-btn-hero .elementor-button:hover{background:#FDBF30!important;color:#2D2D2D!important}
.orita-hero .orita-stats .elementor-icon-list-items{display:flex!important;flex-wrap:wrap;gap:22px 34px}
.orita-hero .orita-stats .elementor-icon-list-item{margin:0!important;padding:0!important}
.orita-hero .orita-stats .elementor-icon-list-icon{display:none}
.orita-hero .orita-stats .elementor-icon-list-text{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.95);line-height:1.4;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.orita-hero .orita-stats .elementor-icon-list-text strong{display:block;font-size:19px;letter-spacing:-.01em;text-transform:none;font-weight:700;color:#fff;margin-bottom:3px}
/* ---- trust strip ---- */
.orita-trust .elementor-heading-title{font-size:12px;letter-spacing:.06em;text-transform:uppercase;line-height:1.35;margin:0 0 6px;color:#fff}
.orita-trust .elementor-widget-text-editor p{font-size:12px;line-height:1.5;color:rgba(255,255,255,.78);margin:0}

/* ---- trust strip — full-bleed brown band, four facts on one line ---- */
/* Same edge-to-edge recipe as the hero (SECTION 11): 100vw on the band, and the CONTENT
   stays on the site grid with the hero's own gutter formula, so the strip's first fact
   lines up with the hero copy and the boxed sections below it rather than drifting to a
   second content edge. */
.page-id-1868 .orita-trust-strip{
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  padding-left:max(40px,calc((100vw - 1290px) / 2))!important;
  padding-right:max(40px,calc((100vw - 1290px) / 2))!important}
/* 25% columns leave no room for a flex gap, so the gutter rides on each column */
.orita-trust-strip > .e-con-inner > .e-con{padding-right:28px}
.orita-trust-strip > .e-con-inner > .e-con:last-child{padding-right:0}

/* ---- category tiles (image fills, overlay caption) ---- */
.orita-cats .orita-tile{position:relative;overflow:hidden;border-radius:2px;height:330px}
.orita-cats .orita-tile .elementor-widget-image{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0}
.orita-cats .orita-tile .elementor-widget-image a{display:block;width:100%;height:100%}
.orita-cats .orita-tile .elementor-widget-image img{width:100%!important;height:100%!important;object-fit:cover;object-position:center top;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.orita-cats .orita-tile:hover img{transform:scale(1.04)}
.orita-cats .orita-tile .elementor-widget-text-editor{position:absolute;left:0;right:0;bottom:0;margin:0;padding:40px 18px 16px;background:linear-gradient(to top,rgba(45,45,45,.9),rgba(45,45,45,0))}
.orita-tile-link{display:block;text-decoration:none!important;color:inherit}
.orita-tile-link:hover .orita-tile-title{text-decoration:underline;text-underline-offset:3px}
.orita-tile-eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);margin:0 0 7px}
.orita-tile-title{font-size:clamp(16px,1.5vw,21px);line-height:1.05;text-transform:uppercase;color:#fff;margin:0 0 4px;font-weight:700;letter-spacing:-.01em}
.orita-tile-desc{font-size:11.5px;line-height:1.35;color:rgba(255,255,255,.85);margin:0}

/* ---- chips ---- */
.orita-chips a{display:inline-block;border:1px solid #E8DACE;border-radius:99px;padding:9px 16px;margin:0 8px 8px 0;font-size:12.5px;line-height:1.2;color:#5A544E!important;text-decoration:none!important;background:#fff;transition:border-color .2s ease,color .2s ease}
.orita-chips a:hover{border-color:#3C2B0F;color:#3C2B0F!important}
.orita-chips{margin:0}

/* ---- price tiles (Shop by price) — the tile IS the filter link ---- */
.orita-price .orita-price-tile{position:relative}
.orita-price .orita-price-tile .elementor-widget-image{position:relative;margin:0;overflow:hidden;border-radius:2px}
.orita-price .orita-price-tile .elementor-widget-image img{width:100%!important;height:210px!important;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.orita-price .orita-price-tile:hover img{transform:scale(1.04)}
.orita-price .orita-price-tile .elementor-widget-text-editor{margin:0;padding:11px 0 0}
.orita-price .orita-price-tile .orita-tile-eyebrow{display:none}
.orita-price .orita-price-tile .orita-tile-title{font-size:14.5px;line-height:1.2;text-transform:none;color:#2D2D2D;margin:0 0 3px}
.orita-price .orita-price-tile .orita-tile-desc{font-size:11.5px;color:#5A544E;margin:0}

/* ---- trend chips with photos (Popular this week) ---- */
.orita-chiptiles .orita-chip-tile{padding-right:10px}
.orita-chiptiles .orita-chip-tile .elementor-widget-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px;display:block}
.orita-chiptiles .orita-chip-tile .elementor-widget-text-editor p{margin:8px 0 0}
.orita-chiptiles .orita-chip-tile a{font-size:12px;line-height:1.35;color:#2D2D2D!important;font-weight:600;text-decoration:none!important}
.orita-chiptiles .orita-chip-tile a:hover{color:#3C2B0F!important;text-decoration:underline!important;text-underline-offset:3px}

/* ---- brand tiles (Popular brands) ---- */
.orita-brandtiles .orita-brand-tile{padding-right:10px;margin-bottom:16px}
.orita-brandtiles .orita-brand-tile .elementor-widget-image{overflow:hidden;border-radius:2px}
.orita-brandtiles .orita-brand-tile .elementor-widget-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#F2E5DD;transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.orita-brandtiles .orita-brand-tile:hover img{transform:scale(1.03)}
.orita-brandtiles .orita-brand-tile .elementor-widget-text-editor p{margin:7px 0 0}
.orita-brandtiles .orita-brand-tile a{font-size:12px;font-weight:600;color:#2D2D2D!important;text-decoration:none!important}
.orita-brandtiles .orita-brand-tile a:hover{color:#3C2B0F!important;text-decoration:underline!important;text-underline-offset:3px}

/* ---- New in product grid ---- */
.orita-newin .kitify-products__list{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:34px 16px!important;margin:0!important;padding:0!important;list-style:none!important;clear:both}
.orita-newin .kitify-products__list>li{width:100%!important;max-width:100%!important;margin:0!important;float:none!important;clear:none!important;min-width:0}
.orita-newin .product-item,.orita-newin .product-item__thumbnail,.orita-newin .product-item__thumbnail-placeholder,.orita-newin .product-item__thumbnail-placeholder>a{display:block!important;width:100%!important;max-width:100%!important}
.orita-newin .product-item img{width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:3/4;object-fit:cover;display:block}
.orita-newin .product_second_image{aspect-ratio:3/4;background-size:cover;background-position:center}
.orita-newin .product-item__thumbnail{position:relative;background:#F2E5DD}
.orita-newin .product-item__thumbnail::after{content:"Only 1 available";position:absolute;left:8px;bottom:8px;z-index:2;background:rgba(45,45,45,.82);color:#fff;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:4px 8px;border-radius:2px;pointer-events:none}
.orita-newin .product-item__description--top-actions,.orita-newin .nova_product_quick_view_btn,.orita-newin .wcboost-wishlist-button,.orita-newin .add_to_wishlist{display:none!important}
.orita-newin .woocommerce-loop-product__title{font-size:12.5px!important;padding:0!important;margin:10px 0 3px!important;line-height:1.4;min-height:2.8em}
.orita-newin .price{font-size:13.5px!important;font-weight:700!important;color:#2D2D2D}
.orita-newin .star-rating,.orita-newin .rating,.orita-newin .nova-rating{display:none!important}
.orita-newin .product-item{margin-bottom:10px}

/* ---- sell band (invitation only — the seller runbook lives on the seller page) ---- */
.orita-sell .elementor-heading-title{margin:0}
.orita-sell .elementor-widget-text-editor p{font-size:14px;line-height:1.6;margin:0;max-width:56ch}
.orita-sell .orita-sell-btn .elementor-button{border-radius:2px;padding:15px 28px}
/* once the band stacks, the CTA must not stay pinned to the right edge */
@media(max-width:1200px){.orita-sell .orita-sell-btn{align-items:flex-start!important}
.orita-sell .orita-sell-btn .elementor-widget-button{text-align:left!important}}
/* retired from the band, kept for the seller page these blocks are moving to */
.orita-steps{list-style:none;counter-reset:s;margin:0;padding:0}
.orita-steps li{counter-increment:s;position:relative;padding-left:30px;margin-bottom:12px;font-size:13px;line-height:1.45;color:#5A544E}
.orita-steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;background:#3C2B0F;color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.orita-commission{width:100%;border-collapse:collapse;font-size:13px}
.orita-commission td{padding:9px 0;border-bottom:1px solid #E8DACE;color:#5A544E}
.orita-commission td:last-child{text-align:right;font-weight:700;color:#2D2D2D;white-space:nowrap}
.orita-commission tr:first-child td{padding-top:0}
.orita-commission-note{font-size:11.5px;color:#5A544E;margin:12px 0 0}
.orita-partner{background:#fff;border:1px solid #E8DACE;padding:22px 22px 20px}
.orita-partner .elementor-heading-title{font-size:16px;line-height:1.25;color:#2D2D2D;margin:0 0 8px}
.orita-partner .elementor-widget-text-editor p{font-size:12.5px;line-height:1.5;color:#5A544E;margin:0 0 14px}
.orita-partner .elementor-button{background:#fff;color:#3C2B0F;border:1px solid #3C2B0F;border-radius:2px;padding:12px 20px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.orita-partner .elementor-button:hover{background:#3C2B0F;color:#fff}

/* ---- focus visibility (keyboard) ---- */
.orita-chips a:focus-visible,.orita-sechead a:focus-visible{outline:2px solid #3C2B0F;outline-offset:2px}
.orita-cats .orita-tile:focus-within{outline:2px solid #FDBF30;outline-offset:-3px}

/* ---- responsive ---- */
@media(max-width:1024px){
.orita-cats .orita-tile{height:290px}
.orita-newin .kitify-products__list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:767px){
.orita-cats .orita-tile{height:230px}
.orita-newin .kitify-products__list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.orita-hero h1.elementor-heading-title{font-size:clamp(26px,7vw,32px)}
}

/* ============================================================================
   SECTION 10 — MEGA MENU  (layout modelled on ASOS)
   ASOS anatomy: a dark category bar whose items open a FULL-WIDTH white panel
   beneath it, split into grouped columns with uppercase headings, circular
   thumbnails beside some links, and a portrait promo tile in the last column.
   Content model is Depop's (category · style · price · condition · brands · sell).

   Also repairs the theme's broken open mechanism: app.css hides the panel with
   `.kitify-category-menu__wrappper{z-index:-3}` and
   `.kitify-category-menu__content{opacity:0;pointer-events:none}`, and its only
   open rule targets `.menu-item-mega` items, which no longer exist here.
   ============================================================================ */

/* The panel is positioned against `.kitify-category-menu__inner` — the widget's own
   box, which already sits INSIDE the bar container's padding. That way the panel is
   exactly as wide as the bar and its content lines up with the logo, with no need to
   duplicate the container's responsive padding values in CSS.
   (Elementor's widget wrapper stays position:static so it can't cap the panel.) */
.elementor-element-7f3a9c1{position:relative;z-index:70}
.elementor-element-4d4bc24{position:static!important}
.kitify-category-menu__inner{position:relative!important}
.kitify-category-menu{position:static}
/* the theme positions this nav, which would cap the panel at the bar's width */
.kitify-category-menu__content-menu{position:static!important}
/* the bar ul is also positioned by the theme — that is what capped the panel */
.kitify-category-menu__content-menu > ul.menu{position:static!important}
/* NO gutter here. The bar container carries the header row's OWN responsive
   padding (set in Elementor: desktop 0, laptop 100, tablet 60, mobile 25), so the
   categories align with the logo at every breakpoint. A hardcoded/percentage
   gutter was wrong twice over: it mismatched the row, and on a wide screen it grew
   big enough to squeeze the 12 items onto a wrapped second line. */
.kitify-category-menu{--mm-gutter:0px}

/* ---- the categories are ALWAYS VISIBLE (ASOS), not a hover dropdown ----
   The widget is a dropdown by design, so its trigger button is hidden and its
   panel is returned to normal flow to become a real bar. The bar's brown
   background is the container's Elementor background setting, not CSS. */
.kitify-category-menu__title{display:none!important}
.kitify-category-menu__wrappper{visibility:visible!important;opacity:1!important;z-index:60!important}
.kitify-category-menu__content{
  position:static!important;opacity:1!important;visibility:visible!important;
  pointer-events:auto!important;width:100%!important;
  background:transparent!important;box-shadow:none!important;
  /* the theme animates the dropdown with a transform, which silently becomes the
     containing block for the absolutely positioned panel — cap it at 1037px */
  transform:none!important}
.kitify-category-menu__wrappper{transform:none!important}

/* ---- the category bar (ASOS's dark strip) ---- */
.kitify-category-menu__content .kitify-category-menu__content-menu > ul{
  display:flex!important;flex-direction:row!important;
  flex-wrap:nowrap!important;justify-content:flex-start!important;
  width:100%!important;box-sizing:border-box;
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:0 var(--mm-gutter)!important;margin:0!important;min-width:0!important}
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li{
  padding:0!important;position:static!important}
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li > a{
  color:#fff!important;border-radius:0!important;box-shadow:none!important;
  font-size:12px!important;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  padding:12px 14px!important;line-height:1.2!important;display:block;
  transition:background .15s ease,color .15s ease}
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li > a i{display:none}
/* The Active Color (Kitify) is white, and the theme forces the label to #fff on the
   active item — which would be invisible on white. Flip the label dark while hovered.
   This one line is the only thing the widget genuinely cannot express. */
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li:hover > a{
  color:#3C2B0F!important}

/* The theme's JS marks the HOVERED item `is-active` too — and also parks a permanent
   `is-active` on the first item. Clearing is-active outright killed the hover effect
   (the item's background came out transparent). So clear it only when NOT hovered:
   the permanent tint on the first item goes, the hover/Active Color stays. */
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li.is-active:not(:hover) > a{
  background:transparent!important;color:#fff!important}

/* hover/active colour is set from the Kitify style control
   (Dropdown Content -> Active Color = drop_active_bg_color) */
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li:hover > a svg,
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li:hover > a i{color:#3C2B0F!important}
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li.orita-mm-cta > a{
  font-weight:700;border-top:0!important;margin-top:0!important;padding-top:12px!important}

/* ---- the panel: full width, directly under the bar ---- */
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li.menu-item-has-children > ul.sub-menu{
  position:absolute;top:100%;left:0;width:100%;margin:0;list-style:none;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .12s ease,visibility .12s ease}
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li.menu-item-has-children:hover > ul.sub-menu,
.kitify-category-menu__content .kitify-category-menu__content-menu ul.menu > li.menu-item-has-children:focus-within > ul.sub-menu{
  opacity:1;visibility:visible;pointer-events:auto}

.kitify-category-menu .sub-menu{
  background:#fff!important;border:0!important;
  box-shadow:0 26px 48px rgba(45,45,45,.14)!important;
  padding:34px 308px 52px 32px!important;
  columns:3;column-gap:44px;min-width:0!important;min-height:340px;
  max-height:calc(100vh - 250px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box}

/* ---- links (ASOS: plain, roomy line-height, no underline until hover) ---- */
.kitify-category-menu .sub-menu > li{
  display:block;break-inside:avoid;float:none;width:auto;position:static!important;
  padding:0!important;margin:0 0 2px!important}
.kitify-category-menu .sub-menu > li > a{
  font-size:14px!important;color:#2D2D2D;font-weight:400;text-decoration:none;
  display:inline-block;line-height:1.85!important;padding:0!important}
/* Dropdown item hover — a visible row tint plus a ring on the thumbnail, ASOS style.
   The previous hover only shifted #2D2D2D -> #3C2B0F, which reads as no hover at all. */
.kitify-category-menu .sub-menu > li:not(.orita-mm-label) > a{
  padding:2px 7px!important;margin-left:-7px!important;border-radius:3px;
  transition:color .15s ease,background .15s ease}
.kitify-category-menu .sub-menu > li:not(.orita-mm-label) > a:hover{
  color:#3C2B0F!important;background:#F7F1EA!important;text-decoration:none!important}
.kitify-category-menu .sub-menu > li.orita-mm-thumb > a:hover::before{
  box-shadow:0 0 0 2px #3C2B0F}
.kitify-category-menu .sub-menu > li > a:focus-visible{
  background:#F7F1EA!important;outline:2px solid #3C2B0F;outline-offset:2px}

/* ---- uppercase column headings ---- */
.kitify-category-menu .sub-menu > li.orita-mm-label{break-after:avoid;break-before:column;margin:0 0 14px!important}
.kitify-category-menu .sub-menu > li.orita-mm-label:first-child{break-before:auto}
.kitify-category-menu .kitify-category-menu__content-menu .sub-menu > li.orita-mm-label > a{
  font-size:12.5px!important;letter-spacing:.04em!important;text-transform:uppercase!important;
  color:#2D2D2D!important;font-weight:700!important;line-height:1.4!important;
  pointer-events:none;cursor:default;text-decoration:none!important}

/* leftover theme menu icons (some items still carry an inline SVG) — the ASOS
   layout has no icons, so hide them */
.kitify-category-menu .sub-menu .menu-item-icon{display:none!important}

/* ---- circular thumbnails beside some links (ASOS's edit rows) ---- */
.kitify-category-menu .sub-menu > li.orita-mm-thumb > a{
  display:flex!important;align-items:center;gap:13px;padding:4px 7px!important;margin-left:-7px!important}
.kitify-category-menu .sub-menu > li.orita-mm-thumb > a::before{
  content:""!important;width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:50%!important;
  background-size:cover;background-position:center;background-color:#F2E5DD}
.kitify-category-menu .sub-menu > li.orita-mm-img-ankara > a::before{
  background-image:url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-men-african-print-shirt.jpg)}
.kitify-category-menu .sub-menu > li.orita-mm-img-thrift > a::before{
  background-image:url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-thrift-preloved-folding.jpg)}
.kitify-category-menu .sub-menu > li.orita-mm-img-designer > a::before{
  background-image:url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-women-blazer-editorial.jpg)}
.kitify-category-menu .sub-menu > li.orita-mm-img-everyday > a::before{
  background-image:url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-women-cargo-streetwear.jpg)}
.kitify-category-menu .sub-menu > li.orita-mm-img-bestsellers > a::before{
  background-image:url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-new-in-clothing-rail.jpg)}
.kitify-category-menu .sub-menu > li.orita-mm-img-bags > a::before{
  background-image:url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-accessories-flatlay.jpg)}

/* ---- portrait promo tile in the last column (ASOS's "NEW EDITS") ---- */
.kitify-category-menu .sub-menu::after{
  content:"Turn your wardrobe into value";
  position:absolute;top:34px;right:0;width:264px;height:300px;box-sizing:border-box;
  padding:16px;display:flex;align-items:flex-end;
  color:#fff;font-size:15px;font-weight:700;line-height:1.25;letter-spacing:.02em;text-transform:uppercase;
  background-image:linear-gradient(to top,rgba(45,45,45,.86),rgba(45,45,45,0)),
    url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-hero-store-interior.jpg);
  background-size:cover;background-position:center}
.kitify-category-menu .menu-item-1898 > .sub-menu::after{
  background-image:linear-gradient(to top,rgba(45,45,45,.86),rgba(45,45,45,0)),
    url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-women-floral-dress.jpg)}
.kitify-category-menu .menu-item-1899 > .sub-menu::after{
  background-image:linear-gradient(to top,rgba(45,45,45,.86),rgba(45,45,45,0)),
    url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-men-streetwear-bucket-hat.jpg)}
.kitify-category-menu .menu-item-1900 > .sub-menu::after{
  background-image:linear-gradient(to top,rgba(45,45,45,.86),rgba(45,45,45,0)),
    url(https://www.shoporita.com/wp-content/uploads/2026/10/orita-thrift-preloved-folding.jpg)}

/* ---- keyboard focus ---- */
.kitify-category-menu .sub-menu > li > a:focus-visible{outline:2px solid #3C2B0F;outline-offset:2px}

@media(max-width:1200px){
.kitify-category-menu .sub-menu{columns:2;padding:30px 40px 44px!important}
.kitify-category-menu .sub-menu::after{display:none}}


/* ============================================================================
   SECTION 11 — FULL-BLEED HERO, FLUSH UNDER THE HEADER  (page 1868)
   The theme wraps page content in `.nova-container` (margin:0 35px, max-width
   1370) and gives `.site-content` top padding, so the hero is inset on both
   sides with an 89px gap above it. ASOS runs its hero edge to edge, directly
   under the header. The theme's only width control is the global `site_width`
   option (which would reflow every page, and the MCP has no option-write tool),
   so this is scoped to the front page. The hero breaks out with 100vw and
   cancels the 35px inset with `calc(50% - 50vw)`, while its CONTENT stays on
   the site grid via the same gutter the rest of the page uses.
   ============================================================================ */
/* padding-top:0 kills the theme's 2.7rem (48.6px) page padding. A further ~40px
   still separates the header from the content: it sits between `.cell.small-12`
   and `.site-content` and reports as neither margin nor padding (the theme's
   Foundation grid wrapper). Cancelled on the hero itself, which is what must sit
   flush under the header. Verified: gap 89px -> 0. */
.page-id-1868 .site-content{padding-top:0!important}
.page-id-1868 .orita-hero{
  width:100vw!important;max-width:100vw!important;
  margin-top:-40px!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-left:max(40px,calc((100vw - 1290px) / 2))!important;
  padding-right:max(40px,calc((100vw - 1290px) / 2))!important}

/* ---- hero height: REVERTED to Elementor's own min_height (470px) ----------------
   A full-viewport hero (min-height:calc(100svh - var(--orita-header-h))) was built on the
   owner's ASOS reference and then rejected as too tall — "reduce the hero, maybe revert it
   to what it was". So the hero keeps only the full-bleed/flush-under-header treatment above;
   its height comes from the container's Elementor min_height again (470 desktop / 385 tablet).
   If a middle ground is ever wanted, add ONE rule here, e.g.
     .page-id-1868 .orita-hero{min-height:640px!important}
   Do not re-introduce the viewport-fill version unless asked. */


/* ============================================================================
   SECTION 12 — FULL-BLEED EDGES + STICKY LOGO ROW
   100vw includes the vertical scrollbar; the body's content box does not. So a
   100vw band (the hero) ran 7-15px wider than a 100%-wide band (the header),
   which left a light strip beside the header and pushed the page into a
   horizontal scroll. The clip must be scoped to the STOREFRONT: a global
   html/body{overflow-x:clip} makes the other axis compute to `auto`, turning the body into a
   scroll container — that broke the Dokan vendor dashboard, whose sidebar then rendered with
   its menu items missing so the seller could not find how to add a product.
   ============================================================================ */
body.home,body.page-id-1868,body.archive,body.single-product,body.error404,body.search,
body.tax-product_cat,body.post-type-archive-product{overflow-x:clip}
html:has(body.home),html:has(body.page-id-1868),html:has(body.archive),html:has(body.single-product),
html:has(body.error404),html:has(body.search){overflow-x:clip}

.page-id-1868 .orita-hero,
.elementor-element-613ba9e{
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important}

/* The logo/search/icons row must NOT be sticky. Elementor's `sticky: top` made it
   position:fixed, and Elementor also rendered a duplicate spacer copy of the row; the
   category bar below it stays in flow, so on scroll the bar — z-index:70 — slid up ACROSS
   the fixed row (measured at scrollY 80: row 0-100, bar 40-78 = a real overlap). The
   template setting is removed by header_unstick.py; this rule is the CSS-side guarantee
   and also neutralises Elementor's own sticky classes if the setting ever comes back.
   In flow the row still needs the 100vw breakout: without it a 100vw box starts at the
   inner container's left edge (250px) and pushes the logo to x=535. Scoped to >=1025px,
   where the sticky setting applied (desktop / laptop / tablet_extra); the theme's own
   mobile header is left alone. */
@media(min-width:1025px){
  body:not(.elementor-editor-active) .elementor-element-2c9cb39d,
  body:not(.elementor-editor-active) .elementor-element-2c9cb39d.elementor-sticky--active,
  body:not(.elementor-editor-active) .elementor-element-2c9cb39d.elementor-sticky--effects{
    position:relative!important;top:auto!important;z-index:auto!important;
    width:100vw!important;max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
    box-shadow:none!important}
}


/* ============================================================================
   SECTION 13 — WIDE-SCREEN HEADER ALIGNMENT + HEADER CONTRAST
   Above 1599px the theme gives the header rows ZERO padding, so on a 1x 1940px
   monitor the logo sits flush at x=0 while the page container (.nova-container,
   max-width 1370) is centred ~278px in. Below 1600px the theme pads the rows
   itself, which is why a 2x laptop (~1280 logical) already looked right and is
   deliberately untouched by this rule.
   Verified at 1940px: without it logo x=0 / cat items x=0; with it logo x=285 and
   cat items x=278 (aligned). Reverting it re-breaks the monitor layout.
   ============================================================================ */
@media(min-width:1600px){
  .elementor-element-2c9cb39d{      /* logo / search / icons row — full-bleed 100vw */
    padding-left:max(40px,calc((100vw - 1370px) / 2))!important;
    padding-right:max(40px,calc((100vw - 1370px) / 2))!important}
  /* The category bar is NOT full-bleed (Elementor's .e-con-inner caps it at 1440px),
     so it only needs the constant 35px that box already gives it — giving it the
     container offset too pushed its items 250px right of the logo. */
  .elementor-element-7f3a9c1{
    padding-left:35px!important;padding-right:35px!important}
}

/* Header contrast:
   Checked at 1940px and 2560px: the theme ALREADY insets the header inside a
   centred box, so the logo and the category items both sit at x=278-285 and are
   aligned. A padding rule here was inert (A/B measured identical geometry with it
   forced to 0), and the earlier "logo flush at x=0" reading came from a stale
   cached page. Only the contrast work below is needed.
   ============================================================================ */

/* Header contrast: the search box sits on the brown header, but its placeholder,
   the "All Categories" label and the icons were dark greys (#888 / #2D2D2D) which
   read as almost invisible. The placeholder + input + submit colours come from the
   Kitify controls; these are the parts with no control (label + icon fills). */
.kitify-search-box__categories-label,
.kitify-search-box__categories-label span,
.kitify-search-box__categories-title{color:#CFC3B4!important}
.kitify-search-box .kitify-search-box__categories-label svg,
.kitify-search-box .kitify-search-box__categories-label i{color:#CFC3B4!important;fill:currentColor!important}
.elementor-element-2d551598 svg,
.elementor-element-2d551598 .vendora-svg-icon,
.elementor-element-2d551598 i,
.elementor-element-2d551598 a{color:#FFFFFF!important;fill:currentColor!important}


/* ============================================================================
   SECTION 14 — SEARCH BAR: THE CATEGORIES DROPDOWN MUST SIT ABOVE THE CATEGORY BAR
   The "All Categories" panel is `.kitify-search-box__categories`, position:absolute with
   z-index:9999 — and it STILL lost to the category bar below it. z-index only competes
   inside its own stacking context: the panel lives in the search column
   `.elementor-element-54af443e`, which is position:relative + z-index:9 and therefore
   creates a stacking context, while the bar carries z-index:70 in the band's context.
   70 > 9, so the bar painted straight across the open panel — verified with
   document.elementFromPoint at the collision point, which returned the bar's nav link
   instead of the panel. Lifting the search column above the bar fixes it without touching
   the panel's own z-index. (The search column is only 50px tall inside the header row, so
   raising it cannot cover anything else; the bar's Z stays under it by design.)
   ============================================================================ */
.elementor-element-54af443e{z-index:90!important}

/* Seller anonymity — the vendor identity must never reach a buyer.
   The theme prints it in the loop card (div.vendor-name-meta) and Dokan prints it again on the
   single product page. Hidden by SCOPE so the legitimately-public store page (/store/<slug>/)
   keeps its masked store name, which is the one place an anonymous seller identity may show. */
.product-item .vendor-name-meta,
.product-item__description--before-title,
li.product .vendor-name,
.single-product .vendor-name-meta,
.single-product .vendor-name,
.single-product .vendor-name-text,
.single-product .dokan-vendor-name,
.single-product .dokan-seller-name,
.single-product .sold-by,
.single-product [class*="sold-by"]{display:none!important}


/* ============================================================================
   SECTION 15 — CATEGORY / SHOP ARCHIVES: THE PRODUCT GRID + SELLER ANONYMITY
   Two defects, both measured on /product-category/for-women/:
   1. Every card rendered at 1/3 of its own grid column. `ul.products` IS a 4-column grid
      (207.8px tracks), but `li.product_item` also carries the theme's block-grid sizing —
      here `max-width:33.3333%` — and a percentage max-width on a GRID ITEM resolves against
      the grid AREA, so each card computed to 69px inside a 208px column. Titles then wrapped
      one word per line. Neutralise the block-grid width, keep the grid.
   2. The theme prints the raw vendor username + avatar under every card
      (`div.vendor-name-meta > a > img.avatar + span.vendor-name` = the raw account username).
      That is the one thing Orita must never show: seller identity is never revealed to
      buyers. Hidden here rather than deleted, so a later card-template override can replace
      it with a masked store name without hunting for it.
   ============================================================================ */
/* Archive / shop / store grids ONLY. Kitify's product CAROUSEL on the product page reuses
   these exact class names, but its layout belongs to Slick — forcing a grid there blanked the
   "You may also like" carousel (the arrows rendered over an empty ~1300px band). */
body.archive ul.products.kitify-products__list,
body.tax-product_cat ul.products.kitify-products__list,
body.post-type-archive-product ul.products.kitify-products__list,
body.page ul.products.kitify-products__list,
body.search ul.products.kitify-products__list,
body.dokan-store ul.products.kitify-products__list,
body.archive ul.products.products-grid,
body.tax-product_cat ul.products.products-grid,
body.page ul.products.products-grid,
body.search ul.products.products-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:36px 16px!important;margin:0!important;clear:both}
body.archive ul.products > li.product_item,
body.archive ul.products > li.product_grid_item,
body.tax-product_cat ul.products > li.product_item,
body.tax-product_cat ul.products > li.product_grid_item,
body.post-type-archive-product ul.products > li.product_item,
body.post-type-archive-product ul.products > li.product_grid_item,
body.page ul.products > li.product_item,
body.page ul.products > li.product_grid_item,
body.search ul.products > li.product_item,
body.search ul.products > li.product_grid_item,
body.dokan-store ul.products > li.product_item,
body.dokan-store ul.products > li.product_grid_item{
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;float:none!important;clear:none!important}
.product-item,.product-item__thumbnail,.product-item__thumbnail-placeholder,
.product-item__thumbnail-placeholder>a{display:block!important;width:100%!important;max-width:100%!important}
.product-item img{width:100%!important;max-width:100%!important;height:auto!important;
  aspect-ratio:3/4;object-fit:cover}
/* one-of-one resale: no seller identity, no review depth, no stock counters */
.product-item .vendor-name-meta,
.product-item .product-item__description--before-title{display:none!important}
.product-item .star-rating,.product-item .rating,.product-item .nova-rating{display:none!important}
.product-item .woocommerce-loop-product__title,
.product-item .product-item__title{
  font-size:12.5px!important;line-height:1.4!important;margin:10px 0 3px!important;min-height:2.8em}
.product-item .price{font-size:13.5px!important;font-weight:700!important;color:#2D2D2D}
@media(max-width:1024px){
  body.archive ul.products.kitify-products__list,body.page ul.products.kitify-products__list,
  body.tax-product_cat ul.products.kitify-products__list,body.search ul.products.kitify-products__list,
  body.dokan-store ul.products.kitify-products__list,
  body.archive ul.products.products-grid,body.page ul.products.products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767px){
  body.archive ul.products.kitify-products__list,body.page ul.products.kitify-products__list,
  body.tax-product_cat ul.products.kitify-products__list,body.search ul.products.kitify-products__list,
  body.dokan-store ul.products.kitify-products__list,
  body.archive ul.products.products-grid,body.page ul.products.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px 12px!important}}

/* ---- SECTION 15b: the card itself — one left edge, stable row heights, quiet chrome ----
   The theme's card put a bordered 57x37 "Add to Wishlist" box beside the title, which stole
   67px of the 203px card and made every title wrap raggedly; the title, price and hover bar
   then started at three different heights. Everything below is about ONE left edge and rows
   that do not move between cards.
   Markup: .product-item > .product-item__thumbnail (img 3:4) + .product-item__description
           (--before-title [vendor, hidden] / --info > .info-left>a.title + .info-right>wishlist
            / --price > span.price) + .product-item__actions (absolute hover bar). */
ul.products .product-item{position:relative}
.product-item__thumbnail{border-radius:2px;overflow:hidden;background:#F2E5DD}
.product-item__thumbnail img{transition:transform .55s cubic-bezier(.2,.7,.3,1)}
.product-item:hover .product-item__thumbnail img{transform:scale(1.035)}
/* scarcity strip — the same label the homepage grid uses, so both read as one store */
.product-item__thumbnail::after{
  content:"Only 1 available";position:absolute;left:8px;bottom:8px;z-index:3;
  background:rgba(45,45,45,.82);color:#fff;font-size:10px;font-weight:600;
  letter-spacing:.07em;text-transform:uppercase;padding:4px 8px;border-radius:2px;pointer-events:none}
/* the wishlist: a quiet 18px icon, not a bordered box beside the title.
   The theme declares this button with a SIX-class selector
   (ul.products .product .product-item .product-item__description .product-item__description--info
   .info-right .vendora-button--wishlist) and a !important width/border — so an equally long
   selector is required here, not just !important. */
ul.products .product .product-item .product-item__description .product-item__description--info .info-right{
  width:auto!important;min-width:0!important;flex:0 0 auto!important;
  /* the theme centres this 43px-tall box against the title row, so the icon floated down
     beside the price. Anchor the box to the row's top instead — the heart then sits on the
     title's first line, right-aligned, and the row keeps ONE left edge. */
  align-self:flex-start!important;height:auto!important;
  margin:0!important;padding:0!important;position:static!important}
ul.products .product .product-item .product-item__description .product-item__description--info .info-right .wcboost-wishlist-button,
ul.products .product .product-item .product-item__description .product-item__description--info .info-right .vendora-button--wishlist,
ul.products .product .product-item .product-item__description .product-item__description--info .info-right .button{
  width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
  display:flex!important;align-items:center;justify-content:center;color:#B9B2AA!important}
ul.products .product .product-item .product-item__description .product-item__description--info .info-right .wcboost-wishlist-button:hover{
  color:#3C2B0F!important;background:transparent!important}
.product-item__description--info .wcboost-wishlist-button .vendora-button__text,
.product-item__description--info .wcboost-wishlist-button .add-to-wishlist-button__text{display:none!important}
.product-item__description--info .wcboost-wishlist-button svg{width:17px;height:17px;fill:currentColor}
.product-item__description{padding-top:0}
.product-item__description--info{display:flex;align-items:flex-start;gap:8px;margin-top:10px}
.product-item__description--info .info-left{flex:1 1 auto;min-width:0}
.product-item__description--info .info-right{flex:0 0 auto;width:auto;margin:1px 0 0}
.product-item__description--info .title,
.product-item .woocommerce-loop-product__title{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:12.5px;line-height:1.4;color:#2D2D2D;text-decoration:none;min-height:2.8em}
.product-item__description--info .title:hover{color:#3C2B0F}
.product-item__description--info .wcboost-wishlist-button,
.product-item__description--info .wcboost-wishlist-button--button{
  width:20px!important;height:20px!important;min-width:0!important;padding:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
  display:flex;align-items:center;justify-content:center;color:#B9B2AA}
.product-item__description--info .wcboost-wishlist-button:hover{color:#3C2B0F;background:transparent!important}
.product-item__description--info .wcboost-wishlist-button .vendora-button__text,
.product-item__description--info .wcboost-wishlist-button .add-to-wishlist-button__text{display:none!important}
.product-item__description--info .wcboost-wishlist-button svg{width:17px;height:17px;fill:currentColor}
/* price row: sale price bold, original struck and muted, all on the card's left edge */
.product-item__description--price{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.product-item__description--price .price{font-size:13.5px;font-weight:700;color:#2D2D2D}
.product-item__description--price .price del{order:2;color:#B9B2AA;font-weight:400;font-size:11.5px}
.product-item__description--price .price ins{text-decoration:none;font-weight:700;color:#3C2B0F}
.product-item__rating,.product-item .star-rating{display:none!important}
/* the wishlist icon needs a light disc so it reads on any photo */
ul.products .product .product-item .product-item__description .product-item__description--info .info-right .wcboost-wishlist-button{
  background:rgba(255,255,255,.94)!important;border-radius:50%!important;
  box-shadow:0 1px 5px rgba(45,45,45,.16)!important;width:26px!important;min-width:26px!important;
  max-width:26px!important;height:26px!important;color:#5A544E!important}
/* actions: quick view on hover only, pinned to the photo's bottom-right */
.product-item__thumbnail .product-item__description--top-actions{
  top:auto!important;bottom:10px!important;right:10px!important;left:auto!important;
  opacity:0;transition:opacity .18s ease}
.product-item:hover .product-item__thumbnail .product-item__description--top-actions{opacity:1}
.product-item:focus-within .product-item__thumbnail .product-item__description--top-actions{opacity:1}
.product-item__description--top-actions .nova_product_quick_view_btn{
  width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.95);
  display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(45,45,45,.14)}
.product-item__actions{background:rgba(255,255,255,.97);box-shadow:0 -1px 0 #E8DACE}
.product-item__actions .button{
  border-radius:2px;padding:10px 16px;font-size:11px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;background:#3C2B0F!important;color:#fff!important}
.product-item__actions .button:hover{background:#FDBF30!important;color:#2D2D2D!important}
.product-item__actions .button.loading{opacity:.75}


/* ============================================================================
   SECTION 15c — PRODUCT CARD v2 (editorial)
   Composed the way high-fashion retailers treat a grid card (SSENSE / COS /
   Net-a-Porter): the photograph carries the card, type is small and precise,
   price is quiet, and nothing shouts louder than the garment itself.
   Three deliberate moves:
     · a condition eyebrow above the title (the category class is already on the
       <li>, so this needs no template change) — buyers scan condition first;
     · the scarcity strip drops from a black bar to a hairline white chip, and
       speaks in the marketplace's own language: "One of one";
     · the wishlist and quick-view become quiet 34px circles on the photograph,
       which appear on hover instead of competing with the title at rest.
   ============================================================================ */

/* grid rhythm — generous vertical gutter so rows read as separate lines of a spread.
   Scoped like the grid rules above so the product-page carousel keeps Slick's own layout. */
body.archive ul.products.kitify-products__list,
body.tax-product_cat ul.products.kitify-products__list,
body.page ul.products.kitify-products__list,
body.search ul.products.kitify-products__list,
body.dokan-store ul.products.kitify-products__list{column-gap:20px!important;row-gap:42px!important}
li.product_item{margin:0!important}
.product-item{display:flex;flex-direction:column;height:100%}

/* the frame: sharp edges, one shared backdrop, 3:4 like an editorial crop */
.product-item__thumbnail{position:relative;aspect-ratio:3/4;border-radius:0!important;background:#F4F1EE!important}
.product-item__thumbnail img{width:100%;height:100%;object-fit:cover;display:block}
.product-item:hover .product-item__thumbnail img{transform:scale(1.04)}

/* condition eyebrow — the first thing a thrift buyer reads */
.product-item__description--info .info-left::before{
  display:block;font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:#9A9187;margin:0 0 5px}
li.product_cat-new-with-tags    .product-item__description--info .info-left::before{content:"New with tags"}
li.product_cat-new-without-tags .product-item__description--info .info-left::before{content:"New without tags"}
li.product_cat-pre-loved-like-new .product-item__description--info .info-left::before{content:"Pre-loved · like new"}
li.product_cat-pre-loved-good   .product-item__description--info .info-left::before{content:"Pre-loved"}

/* "New" flag on the photograph, only for retail-new stock */
li.product_cat-new-with-tags .product-item__thumbnail::before,
li.product_cat-new-without-tags .product-item__thumbnail::before{
  content:"New";display:block;position:absolute;top:0;left:0;z-index:3;
  background:#fff;color:#23201D;font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;padding:5px 9px}

/* scarcity, quieted to a hairline chip in the marketplace's own words */
.product-item__thumbnail::after{
  content:"One of one"!important;left:8px!important;bottom:8px!important;
  background:rgba(255,255,255,.94)!important;color:#6B635B!important;
  font-size:9px!important;font-weight:500!important;letter-spacing:.1em!important;
  padding:3px 7px!important;border-radius:0!important;text-transform:uppercase!important}

/* wishlist + quick view: quiet circles on the photograph, revealed on hover.
   The quick-view anchor already sits inside the thumbnail; the wishlist stays in
   the text row (its markup lives there) but reads as a 18px ghost, never a box. */
.product-item__description--top-actions{
  position:absolute!important;right:8px!important;bottom:8px!important;z-index:4!important;
  opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease}
.product-item:hover .product-item__description--top-actions{opacity:1;transform:none}
.product-item__description--top-actions a{
  width:34px!important;height:34px!important;border-radius:50%!important;background:#fff!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-shadow:0 1px 8px rgba(0,0,0,.12)!important;color:#23201D!important}
.product-item__description--top-actions a svg{width:16px;height:16px}

/* the text block: one left edge, a fixed 2-line title so every row aligns */
.product-item__description{padding:11px 0 0!important}
.product-item__description--info{margin-top:0!important;align-items:flex-start!important;gap:10px!important}
.product-item__description--info .title,
.product-item .woocommerce-loop-product__title{
  font-size:13px!important;font-weight:450!important;line-height:1.42!important;
  color:#23201D!important;letter-spacing:-.005em;min-height:2.84em!important;
  text-decoration:none;transition:color .2s ease}
.product-item__description--info .title:hover{color:#3C2B0F!important}
.product-item__description--info .wcboost-wishlist-button,
.product-item__description--info .wcboost-wishlist-button--button{
  width:18px!important;height:18px!important;color:#C6BFB7!important;margin-top:2px!important}
.product-item__description--info .wcboost-wishlist-button:hover{color:#3C2B0F!important}
.product-item__description--info .wcboost-wishlist-button svg{width:16px!important;height:16px!important}

/* price: the only bold voice on the card, and it stays quiet about it */
.product-item__description--price{
  margin-top:7px!important;font-size:13.5px!important;font-weight:600!important;
  color:#111!important;letter-spacing:.005em!important;gap:7px!important}
.product-item__description--price del,.product-item__description--price del .amount{
  font-size:12px!important;font-weight:400!important;color:#A8A29B!important}
.product-item__description--price ins{text-decoration:none!important}

/* phone: same language, tighter gutter */
@media(max-width:767px){
  body.archive ul.products.kitify-products__list,body.page ul.products.kitify-products__list,
  body.tax-product_cat ul.products.kitify-products__list,body.search ul.products.kitify-products__list,
  body.dokan-store ul.products.kitify-products__list{column-gap:12px!important;row-gap:30px!important}
  .product-item__description--info .title{font-size:12.5px!important}
  .product-item__description--price{font-size:13px!important}}


/* ============================================================================
   SECTION 15d — the product-page carousel is Swiper, not a grid
   Measured cause of the blank "You may also like" band: the widget's <ul> carries BOTH
   `.products-grid` (theme: display:grid) and `.kitify-products__list` (ours: display:grid),
   so Swiper measured its slides against a grid. The wrapper ended up translated -1392px with
   a 3-row grid inside it — arrows visible over empty space, ~1300px tall.
   Hand the wrapper's layout back to Swiper; leave only card cosmetics to us.
   ============================================================================ */
.kitify-carousel .swiper-wrapper,
.kitify-carousel ul.products.swiper-wrapper{
  display:flex!important;flex-wrap:nowrap!important;
  grid-template-columns:none!important;gap:0!important;column-gap:0!important;row-gap:0!important}
.kitify-carousel .swiper-slide,
.kitify-carousel ul.products.swiper-wrapper > li{
  height:auto!important;margin:0 16px 0 0!important;
  /* the widget asks for slidesToShow=4 (its data-slider_options). Swiper runs in
     variableWidth mode, so it shrink-wraps each slide — and our card rule makes the card
     100% wide, which collapsed every slide to the full 928px container width and made the
     band look like one giant photo. Give the slide an explicit width so Swiper measures
     4-up at init. */
  width:calc(25% - 16px)!important;max-width:calc(25% - 16px)!important;flex:0 0 auto!important}
.kitify-carousel .product-item{width:100%!important;max-width:100%!important}
@media(max-width:1024px){
  .kitify-carousel .swiper-slide,.kitify-carousel ul.products.swiper-wrapper > li{
    width:calc(33.333% - 14px)!important;max-width:calc(33.333% - 14px)!important;margin-right:14px!important}}
@media(max-width:767px){
  .kitify-carousel .swiper-slide,.kitify-carousel ul.products.swiper-wrapper > li{
    width:calc(50% - 10px)!important;max-width:calc(50% - 10px)!important;margin-right:10px!important}}
/* the widget's own card cosmetics still apply, so the carousel matches the archive grid */


/* ============================================================================
   SECTION 15e — SINGLE PRODUCT PAGE
   The right rail carried three unhelpful things on a 1-of-1 thrift listing:
     · `kitify-dokan-vendor-info` rendered as an EMPTY bordered box — and since Orita's
       whole model is that the seller is anonymous, the box should not be there at all;
     · `vendora-product-rating` printing "0.0 / 0 Product Ratings" with five empty bars,
       which reads as a broken page rather than an honest new listing;
     · the trust list's first line advertises free shipping over £130 — pounds, on a naira
       marketplace. Hidden until the copy is rewritten in Elementor (the item is the text
       "Free Shipping for orders over £130").
   ============================================================================ */
body.single-product .kitify-dokan-vendor-info,
body.single-product .vendora-product-rating{display:none!important}
body.single-product .elementor-element-3aae99b9 .elementor-icon-list-item:first-child{display:none!important}

/* SECTION 15f — the right rail, resolved to element ids (the class-based guesses above were
   no-ops): e1d72d3 is an EMPTY bordered box at the top of the rail and 36e967d8 is the
   "0.0 / 0 Product Ratings" panel. On a marketplace whose listings are one-of-one and whose
   sellers are anonymous, both read as broken furniture. */
body.single-product .elementor-element-e1d72d3,
body.single-product .elementor-element-36e967d8{display:none!important}


/* ============================================================================
   SECTION 16 — VENDOR DASHBOARD (Dokan 5.1.3)
   ROOT CAUSE of "Amy can't find where to upload a product": Dokan draws its sidebar as
   `--dokan-sidebar-background-color` (#322067 purple) with `ul.dokan-dashboard-menu li a
   {color:#fff}`, but the Vendora theme repaints that sidebar light. White label on a white
   panel = a menu that is present in the DOM and completely invisible — which is exactly what
   the seller screenshot shows ("Dashboard" barely legible, no Products/Orders/Withdraw).
   So: every colour below is declared explicitly, both the surface AND the text, and never
   inherited. Layout is rebuilt as a two-column shell: fixed 248px rail + fluid content.
   ============================================================================ */

/* ---- 16.1 the shell ------------------------------------------------------- */
body.dokan-dashboard #dokan-dashboard-fullwidth-wrapper,
body.dokan-dashboard .dokan-dashboard-wrap{
  display:flex!important;align-items:flex-start!important;gap:0!important;
  background:#F7F4F0!important;min-height:calc(100vh - 120px)!important}

/* ---- 16.2 the rail ------------------------------------------------------- */
body.dokan-dashboard .dokan-dash-sidebar{
  flex:0 0 248px!important;width:248px!important;max-width:248px!important;
  background:#3C2B0F!important;border:0!important;border-radius:0!important;
  padding:24px 0 48px!important;position:sticky!important;top:0!important;align-self:stretch!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu{
  background:transparent!important;margin:0!important;padding:0 10px!important;list-style:none!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li{
  margin:2px 0!important;padding:0!important;border-radius:5px!important;overflow:hidden}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a{
  display:flex!important;align-items:center!important;gap:12px!important;
  padding:11px 14px!important;height:auto!important;line-height:1.3!important;
  color:rgba(246,242,236,.76)!important;font-size:13.5px!important;font-weight:500!important;
  letter-spacing:.01em!important;text-decoration:none!important;border-radius:5px!important;
  transition:background .18s ease,color .18s ease}
/* icons: Dokan ships Font Awesome for Lite and SVG for Pro — cover both */
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a i{
  width:18px!important;min-width:18px!important;margin:0!important;padding:0!important;
  font-size:15px!important;text-align:center!important;color:inherit!important;opacity:.9}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a svg{
  width:17px!important;height:17px!important;margin:0!important;fill:currentColor!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a:hover{
  background:rgba(255,255,255,.08)!important;color:#fff!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.active > a,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.current > a,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu > li.active > a{
  background:#3C2B0F!important;color:#fff!important;font-weight:600!important;
  box-shadow:inset 3px 0 0 #E67E22!important}
/* nested items (Products > Add new, Orders > …) stay quieter than their parent */
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li ul.sub-menu,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li ul.children{
  background:rgba(0,0,0,.18)!important;margin:2px 0 4px!important;padding:4px 0!important;
  list-style:none!important;border-radius:4px!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li ul li a{
  padding:8px 14px 8px 44px!important;font-size:12.5px!important;color:rgba(246,242,236,.66)!important}

/* ---- 16.3 the top bar ---------------------------------------------------- */
body.dokan-dashboard .dokan-frontend-layout header,
body.dokan-dashboard .dokan-dashboard-header{
  background:#3C2B0F!important;border-bottom:0!important;
  padding:14px 26px!important;box-shadow:none!important}
body.dokan-dashboard .dokan-frontend-layout header a,
body.dokan-dashboard .dokan-frontend-layout header .visit-store,
body.dokan-dashboard .dokan-frontend-layout header i{color:#F6F2EC!important}
body.dokan-dashboard .dokan-frontend-layout header .visit-store,
body.dokan-dashboard .dokan-frontend-layout header a{color:#3C2B0F!important;font-weight:500!important}
body.dokan-dashboard .dokan-frontend-layout .header-avatar img{
  border-radius:50%!important;border:1px solid #EDE7E0!important}

/* ---- 16.4 the content column --------------------------------------------- */
body.dokan-dashboard .dokan-dashboard-content{
  flex:1 1 auto!important;width:auto!important;max-width:100%!important;
  background:transparent!important;padding:32px 40px 64px!important}
body.dokan-dashboard .dokan-dashboard-content > *{max-width:1180px}
body.dokan-dashboard .dokan-dashboard-content h1,
body.dokan-dashboard .dokan-dashboard-content .dokan-dashboard-header h1{
  font-size:25px!important;font-weight:600!important;color:#1F1B16!important;
  letter-spacing:-.015em!important;margin:0 0 4px!important;line-height:1.2!important}
body.dokan-dashboard .dokan-dashboard-content h2{font-size:17px!important;font-weight:600!important;color:#1F1B16!important;letter-spacing:-.01em!important}
body.dokan-dashboard .dokan-dashboard-content h3{font-size:14px!important;font-weight:600!important;color:#1F1B16!important}

/* cards: the dashboard's own widget surface, house style */
body.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget,
body.dokan-dashboard .dokan-dashboard-content .dashboard-widget,
body.dokan-dashboard .dokan-dashboard-content .dokan-insights-widget{
  background:#fff!important;border:1px solid #EDE7E0!important;border-radius:6px!important;
  padding:18px 20px!important;box-shadow:0 1px 2px rgba(28,22,14,.04)!important;margin-bottom:22px!important}
body.dokan-dashboard .dashboard-widget .widget-title{
  font-size:11.5px!important;font-weight:600!important;letter-spacing:.1em!important;
  text-transform:uppercase!important;color:#8C8378!important;
  border-bottom:1px solid #F1ECE6!important;padding:0 0 11px!important;margin:0 0 14px!important}
/* the overview numbers: label quiet, figure loud — hierarchy instead of nine equal cells */
body.dokan-dashboard .dokan-dashboard-content .dokan-seller-dashboard .dokan-widget-area,
body.dokan-dashboard .dokan-dashboard-content .dashboard-widget .dokan-overview-stat{
  background:#FBFAF8!important;border:1px solid #F1ECE6!important;border-radius:5px!important;padding:14px 16px!important}
body.dokan-dashboard .dashboard-widget strong,
body.dokan-dashboard .dashboard-widget .stat-value,
body.dokan-dashboard .dashboard-widget b{font-size:21px!important;font-weight:600!important;color:#1F1B16!important;letter-spacing:-.01em!important}
body.dokan-dashboard .dashboard-widget span,
body.dokan-dashboard .dashboard-widget label,
body.dokan-dashboard .dashboard-widget .stat-label{
  font-size:11.5px!important;font-weight:500!important;letter-spacing:.06em!important;
  text-transform:uppercase!important;color:#8C8378!important}

/* tables (products, orders, withdraws) */
body.dokan-dashboard table.dokan-table,
body.dokan-dashboard .dokan-table{background:#fff!important;border:1px solid #EDE7E0!important;border-radius:6px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important}
body.dokan-dashboard .dokan-table thead th{
  background:#FBFAF8!important;border-bottom:1px solid #EDE7E0!important;
  font-size:11px!important;font-weight:600!important;letter-spacing:.09em!important;
  text-transform:uppercase!important;color:#8C8378!important;padding:12px 14px!important;text-align:left!important}
body.dokan-dashboard .dokan-table tbody td{padding:13px 14px!important;font-size:13.5px!important;color:#2B2620!important;border-bottom:1px solid #F5F1EC!important;vertical-align:middle!important}
body.dokan-dashboard .dokan-table tbody tr:hover td{background:#FCFAF8!important}

/* actions: Orita's own button, never Dokan's purple */
body.dokan-dashboard .dokan-btn,
body.dokan-dashboard .dokan-btn-theme,
body.dokan-dashboard a.dokan-btn,
body.dokan-dashboard input[type="submit"].dokan-btn,
body.dokan-dashboard button.dokan-btn{
  background:#3C2B0F!important;border:1px solid #3C2B0F!important;color:#fff!important;
  border-radius:3px!important;height:auto!important;padding:10px 18px!important;
  font-size:13px!important;font-weight:600!important;letter-spacing:.01em!important;
  text-transform:none!important;box-shadow:none!important;text-shadow:none!important}
body.dokan-dashboard .dokan-btn:hover,
body.dokan-dashboard .dokan-btn-theme:hover{
  background:#57401A!important;border-color:#57401A!important;color:#fff!important}
/* "Add new product" — the button the seller was hunting for; make it unmissable */
body.dokan-dashboard .dokan-dashboard-content .dokan-add-new-product,
body.dokan-dashboard .dokan-dashboard-content a[href*="new-product"],
body.dokan-dashboard .dokan-dashboard-content a.dokan-btn-theme[href*="products"]{
  background:#E67E22!important;border-color:#E67E22!important;color:#2E2519!important;
  font-weight:700!important;padding:12px 22px!important}
body.dokan-dashboard .dokan-dashboard-content a[href*="new-product"]:hover{background:#F0913C!important;border-color:#F0913C!important}

/* forms + notices keep the house tone instead of Dokan purple/blue */
body.dokan-dashboard input[type="text"]:focus,body.dokan-dashboard input[type="number"]:focus,
body.dokan-dashboard input[type="email"]:focus,body.dokan-dashboard select:focus,
body.dokan-dashboard textarea:focus{border-color:#E67E22!important;box-shadow:0 0 0 3px rgba(230,126,34,.18)!important;outline:none!important}
body.dokan-dashboard .dokan-alert,body.dokan-dashboard .dokan-alert-info{
  background:#FDF8F1!important;border:1px solid #F0E1C8!important;color:#5A4A2E!important;border-radius:5px!important}
body.dokan-dashboard .dokan-form-group label{font-size:12.5px!important;font-weight:600!important;color:#5C544A!important}

/* ---- 16.5 phone: the rail becomes a horizontal strip so nothing is hidden -- */
@media(max-width:1024px){
  body.dokan-dashboard #dokan-dashboard-fullwidth-wrapper,
  body.dokan-dashboard .dokan-dashboard-wrap{display:block!important}
  body.dokan-dashboard .dokan-dash-sidebar{
    flex:none!important;width:100%!important;max-width:100%!important;position:static!important;
    padding:12px 0!important;background:#3C2B0F!important;overflow-x:auto!important;white-space:nowrap!important}
  body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu{display:flex!important;gap:8px!important;padding:0 12px!important}
  body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li{margin:0!important;flex:0 0 auto!important}
  body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a{padding:9px 13px!important;font-size:12.5px!important}
  body.dokan-dashboard .dokan-dashboard-content{padding:22px 18px 48px!important}}


/* ============================================================================
   SECTION 16b — DASHBOARD DELIVERY + THE COLLAPSED RAIL
   The dashboard does NOT render the Elementor header template, which is where this
   stylesheet is injected, so SECTION 16 only ever reached the storefront. These rules
   travel in the CHILD THEME's assets/orita.css instead (enqueued on every front-end
   request, the dashboard included), so the dashboard is styled even when the header
   template is absent.

   Second finding, from the seller's screenshot: Dokan 5.1 ships the sidebar rail
   COLLAPSED to an icon strip (~0px) with a toggle, and the theme repaints that strip
   light while Dokan keeps its labels #fff — so the whole menu is invisible and the
   seller cannot see where to add a product. Nothing here is optional: the rail's
   width, its children's visibility and its label colour are all declared.
   ============================================================================ */
body.dokan-dashboard .dokan-dash-sidebar{
  position:relative!important;z-index:5!important;overflow:visible!important;
  flex:0 0 248px!important;width:248px!important;min-width:248px!important;max-width:248px!important;
  background:#3C2B0F!important;display:block!important}
body.dokan-dashboard .dokan-dash-sidebar #dokan-navigation{
  width:100%!important;min-width:0!important;max-width:none!important;
  background:transparent!important;position:static!important;transform:none!important}
body.dokan-dashboard .dokan-dash-sidebar #mobile-menu-icon,
body.dokan-dashboard .dokan-dash-sidebar #toggle-mobile-menu,
body.dokan-dashboard .dokan-dash-sidebar .dokan-toggle-sidebar{display:none!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a{
  opacity:1!important;visibility:visible!important;transform:none!important;
  position:static!important;white-space:normal!important;
  width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;
  overflow:visible!important;text-indent:0!important;font-size:13.5px!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a{
  display:flex!important;align-items:center!important;gap:12px!important;padding:11px 14px!important;
  color:rgba(246,242,236,.78)!important;border-radius:5px!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a:hover{
  background:rgba(255,255,255,.08)!important;color:#fff!important}
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.active > a,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.current > a{
  background:#3C2B0F!important;color:#fff!important;box-shadow:inset 3px 0 0 #E67E22!important}
/* the seller's own store row at the top of the rail, if the theme renders one */
body.dokan-dashboard .dokan-dash-sidebar .dokan-store-name,
body.dokan-dashboard .dokan-dash-sidebar .store-name{color:#F6F2EC!important;font-weight:600!important}


/* SECTION 16c — the typeface is declared, not inherited: the dashboard is rendered by the
   plugin's own layout, so Archivo is restated here (the child theme enqueues it globally). */
body.dokan-dashboard,body.dokan-dashboard .dokan-dashboard-content,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a,
body.dokan-dashboard table.dokan-table,body.dokan-dashboard .dokan-btn{
  font-family:Archivo,-apple-system,"Helvetica Neue",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased}


/* ============================================================================
   SECTION 16d — the dashboard's own variables, and the two geometry faults
   Dokan declares just three custom properties, on `.dokan-dashboard .dokan-dash-sidebar`:
   `--dokan-sidebar-width`, `--dokan-sidebar-background-color`, and (for actions)
   `--dokan-button-background-color`. Setting them is the same lever Dokan Pro's
   Appearance → Colours panel pulls — so the UI is branded at its source rather than
   fought with overrides. The sidebar's own declaration wins over inheritance, hence
   the variable is set on the sidebar as well as on body.
   Two faults the screenshot showed: the top bar was half purple (#322067, Dokan's
   default) and half brown, and the rail held no items while the content sat pushed to
   the right — both are the collapsed-state geometry.
   ============================================================================ */
body.dokan-dashboard{
  --dokan-sidebar-width:248px!important;
  --dokan-sidebar-background-color:#3C2B0F!important;
  --dokan-button-background-color:#E67E22!important}
body.dokan-dashboard .dokan-dash-sidebar{
  --dokan-sidebar-width:248px!important;
  --dokan-sidebar-background-color:#3C2B0F!important;
  background-color:#3C2B0F!important}
body.dokan-dashboard .dokan-dash-sidebar #dokan-navigation,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li,
body.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a{
  background-color:transparent!important}
/* the top bar: one flat Orita brown, whatever Dokan painted inside it */
body.dokan-dashboard .dokan-frontend-layout header,
body.dokan-dashboard .dokan-frontend-layout header *{background-color:transparent!important}
body.dokan-dashboard .dokan-frontend-layout header{background-color:#3C2B0F!important}
body.dokan-dashboard .dokan-frontend-layout header img{background:transparent!important;box-shadow:none!important}
/* the content column keeps its own surface and must not inherit the rail's colour */
body.dokan-dashboard .dokan-dashboard-content,
body.dokan-dashboard .dokan-dashboard-content > *:not(.dashboard-widget){background-color:transparent!important}
body.dokan-dashboard .dokan-dashboard-content{margin-left:0!important;padding:32px 40px 64px!important}
body.dokan-dashboard .dokan-dashboard-wrap,
body.dokan-dashboard #dokan-dashboard-fullwidth-wrapper{background:#F7F4F0!important}


/* ============================================================================
   SECTION 16e — the REAL vendor-dashboard markup (Dokan 5.1 Tailwind/React UI)
   Captured from the live DOM:
     #dokan-vendor-dashboard-layout-root > .dokan-frontend-layout
       > aside.dokan-frontend-sidebar  (fixed, w-[250px], bg-primary-500, text-white)
           nav > ul > li > a[data-active]  ·  Dashboard · Products · Orders · Withdraw · Settings
           .sidebar-footer .store-name  -> "Amy Thrift"
       > main.flex-1.ms-60 > header   (bg-white, ☰ toggle, Visit Store, avatar)
   There is no `.dokan-dash-sidebar` and no `ul.dokan-dashboard-menu` in this UI, which is
   why every earlier dashboard rule missed. `bg-primary-500` resolves to Dokan's purple and
   was not painting, so white labels sat on the page background — an invisible menu. These
   selectors are unique to the dashboard, so they need no body-class guard.
   ============================================================================ */
aside.dokan-frontend-sidebar{
  background-color:#3C2B0F!important;color:#F6F2EC!important;
  border-right:1px solid rgba(0,0,0,.18)!important}
aside.dokan-frontend-sidebar > a{background-color:transparent!important;color:#fff!important}
aside.dokan-frontend-sidebar > a span{color:#fff!important;font-weight:700!important;letter-spacing:-.01em!important}
aside.dokan-frontend-sidebar nav ul li a{
  color:rgba(246,242,236,.82)!important;text-decoration:none!important;border-radius:6px!important;
  transition:background-color .18s ease,color .18s ease}
aside.dokan-frontend-sidebar nav ul li a span.ms-2{font-weight:500!important;letter-spacing:.01em!important}
aside.dokan-frontend-sidebar nav ul li a:hover{background-color:rgba(255,255,255,.09)!important;color:#fff!important}
aside.dokan-frontend-sidebar nav ul li a[data-active="true"]{
  background-color:#2E2519!important;color:#fff!important;box-shadow:inset 3px 0 0 #E67E22!important}
aside.dokan-frontend-sidebar .dokan-vendor-sidebar-scroll{background-color:transparent!important}
aside.dokan-frontend-sidebar hr{
  border:0!important;height:1px!important;background-color:rgba(246,242,236,.14)!important}
aside.dokan-frontend-sidebar .sidebar-footer,
aside.dokan-frontend-sidebar .store-name,
aside.dokan-frontend-sidebar .store-name div{color:#F6F2EC!important;font-weight:600!important}
/* the tools bar stays white (nav is brown, tools are light, canvas is sand) */
main.flex-1 > header,body.dokan-dashboard main > header{
  background-color:#fff!important;border-bottom:1px solid #EDE7E0!important;box-shadow:none!important}
main.flex-1 > header a,main.flex-1 > header span,main.flex-1 > header div{color:#25252D!important}
main.flex-1 > header button{color:#3C2B0F!important;background-color:transparent!important}
main.flex-1 > header button:hover{background-color:#F2EDE7!important}
body.dokan-dashboard main{background-color:#F7F4F0!important;margin-inline-start:250px!important}
/* Dokan's Tailwind primary buttons -> Orita orange, everything else -> brand ink */
body.dokan-dashboard .bg-primary-500{background-color:#3C2B0F!important}
body.dokan-dashboard [class*="bg-primary-600"],body.dokan-dashboard [class*="bg-primary-700"]{
  background-color:#E67E22!important;color:#fff!important}
body.dokan-dashboard h1,body.dokan-dashboard h2,body.dokan-dashboard h3{color:#1F1B16!important}
/* one typeface, declared rather than inherited */
body.dokan-dashboard,body.dokan-dashboard *{
  font-family:Archivo,-apple-system,"Helvetica Neue",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased}


/* ============================================================================
   SECTION 16f — the call to action, and the rail around it
   The seller's job is "put something up for sale", so that is the loudest element on
   the screen: a full-width amber button pinned to the top of the rail, plus a matching
   button in the tools bar for when the rail is folded away on narrow screens. Everything
   else in the rail stays quiet so nothing competes with it.
   ============================================================================ */
li.orita-cta-row{list-style:none!important;margin:0 0 12px!important;padding:0!important}
a.orita-cta{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  background-color:#E67E22!important;color:#fff!important;font-weight:600!important;
  font-size:14px!important;line-height:1!important;padding:13px 16px!important;border-radius:6px!important;
  text-decoration:none!important;box-shadow:0 1px 3px rgba(0,0,0,.22)!important;letter-spacing:.005em!important}
a.orita-cta:hover{background-color:#F0913C!important;color:#fff!important}
a.orita-cta .orita-plus{font-size:17px!important;line-height:1!important;font-weight:700!important;margin-top:-1px}
a.orita-cta--head{margin:0 0 0 auto!important;padding:10px 16px!important;font-size:13px!important}
@media(max-width:1024px){a.orita-cta--head{padding:9px 13px!important;font-size:12.5px!important}}
/* the products screen's own add button, and anything else pointing at the add flow */
main.flex-1 a[href*="#products/new"],main.flex-1 a[href*="new-product"],
main.flex-1 button[class*="bg-primary"],main.flex-1 a[class*="bg-primary"]{
  background-color:#E67E22!important;color:#fff!important;font-weight:600!important}
/* rail polish: the store block at the foot of the rail reads as a footer, not a nav item */
aside.dokan-frontend-sidebar .sidebar-footer{padding-left:2px!important}
aside.dokan-frontend-sidebar img{border-radius:8px!important}
aside.dokan-frontend-sidebar .dokan-vendor-sidebar-scroll{padding:18px 16px 8px!important}

/* ============================================================================
   PHASE 2 (templates — added as child-theme file overrides, not CSS):
     • ASOS-style mega menu markup (nav overhaul)
     • Depop-style discovery rails: Shop by style / Shop by price / "Popular this week"
     • Condition badges (pa_condition: New with tags / Pre-loved…) on product tiles
     • "Negotiable" pill + "Only 1 available" scarcity line
     • Trust strip: payment held · 3h confirm · 24h payout · NIN-verified sellers
   Reference build: /Users/amarachi/orita-design/index-v2.html
   ============================================================================ */
