/* ===== ORDERYFY GLOBAL BRAND OVERRIDE (injected via settings.custom_css) ===== */
:root { --oy-green:#A6CE39; --oy-green-dark:#8EB82E; --oy-ink:#1A1A1A; --oy-mute:#4B5563; --oy-bg:#F6F7F3; --oy-card:#FFFFFF; --oy-light:#E8F7E9; --oy-border:#EEF0EA; }

/* Nuke old theme chrome */
.main-header, .main-footer, .np-sticky, .np-cookie, .np-chat, .np-whatsapp-float, .scroll-to-top, .mobile-menu, .category-menu, .cart-popup, .np-sticky-cart, .np-sticky-add, .shape, .pattern-layer, .anim-shape, .decor, .shape-1, .shape-2, .shape-3, .shape-4, .shape-5, .shape-6, .shape-7, .float-bob-y, .float-bob-x, .rotate-me, .header-top, .header-lower { display:none !important; }

body { background: var(--oy-bg); font-family: 'Inter','Plus Jakarta Sans', system-ui, -apple-system, Segoe UI, sans-serif; color: var(--oy-ink); margin:0; font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body.oy-no-scroll { overflow:hidden; }

/* === GLOBAL 1200px PAGE WIDTH (desktop) === */
.large-container, .auto-container, .inner-container, .sidebar-page-container, .container, .container-fluid, .container-lg, .container-xl, .container-xxl, .wrapper, .boxed_wrapper > section > .container, .np-container { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 16px; padding-right: 16px; width: 100%; box-sizing: border-box; }
.row { margin-left: 0; margin-right: 0; }
@media (max-width: 1240px) {
  .large-container, .auto-container, .inner-container, .sidebar-page-container, .container, .container-fluid, .wrapper { padding-left: 12px; padding-right: 12px; }
}

/* === HEADER === */
/* Ensure no ancestor breaks sticky positioning. */
html, body, .boxed_wrapper, .boxed_wrapper.ltr, .boxed_wrapper.rtl { overflow-x: clip !important; overflow-y: visible !important; }
.oy-header { background:#fff; border-bottom:1px solid var(--oy-border); position:sticky !important; top:0 !important; z-index:60 !important; box-shadow:0 1px 0 rgba(0,0,0,.02); }
.oy-header-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:14px; padding:12px 16px; }
.oy-ham { display:flex; order:5; margin-left:8px; background:none; border:0; width:28px; height:28px; flex-direction:column; justify-content:space-around; padding:4px; cursor:pointer; }
.oy-ham span { height:2px; background:var(--oy-ink); border-radius:2px; display:block; }
.oy-logo { flex: 0 0 auto; display: inline-flex; align-items: center; overflow: visible; }
.oy-logo img { height:74px; width:auto; max-width:none; display:block; object-fit: contain; }
/* Inline nav removed — desktop now uses the hamburger drawer like mobile. */
.oy-nav { display:none; }
.oy-nav a { color:var(--oy-ink); text-decoration:none; font-weight:600; font-size:14.5px; padding:6px 2px; border-bottom:2px solid transparent; }
.oy-nav a.on, .oy-nav a:hover { color:var(--oy-green-dark); border-color:var(--oy-green); }

/* Location pill inside the header (desktop only) — where the menu used to be. */
.oy-loc-header { display:inline-flex; align-items:center; gap:8px; margin-left:10px; background:none; border:0; padding:4px 8px; border-radius:999px; cursor:pointer; font:inherit; transition:background .15s; }
.oy-loc-header:hover { background:var(--oy-light); }
.oy-loc-header .oy-loc-header-text { display:flex; flex-direction:column; align-items:flex-start; line-height:1.15; }
.oy-loc-header small { color:var(--oy-mute); font-size:11px; font-weight:500; }
.oy-loc-header strong { display:inline-flex; align-items:center; gap:3px; color:var(--oy-ink); font-size:14px; font-weight:800; white-space:nowrap; }
.oy-search-form { display:flex; align-items:center; background:#F6F7F3; border:1px solid var(--oy-border); border-radius:999px; overflow:hidden; max-width:320px; flex:1; }
.oy-search-form input { flex:1; background:none; border:0; outline:none; padding:9px 14px; font-size:14px; color:var(--oy-ink); }
.oy-search-form button { background:var(--oy-green); border:0; width:40px; height:40px; display:flex; align-items:center; justify-content:center; color:var(--oy-ink); cursor:pointer; border-radius:999px; margin:1px; transition: background .15s; }
.oy-search-form button:hover { background:var(--oy-green-dark); color:#fff; }
.oy-actions { display:flex; gap:4px; align-items:center; margin-left:auto; }
.oy-ic { position:relative; width:38px; height:38px; display:flex; align-items:center; justify-content:center; color:var(--oy-ink); text-decoration:none; border-radius:50%; border:0; background:none; cursor:pointer; padding:0; font:inherit; }
.oy-ic:hover { background:var(--oy-light); }
.oy-ic-search { display:none; }
.oy-dot { position:absolute; top:2px; right:0; background:var(--oy-green); color:var(--oy-ink); font-size:10px; font-weight:800; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
/* Hide header-search on home (home has its own live search below the header). */
.oy-header.is-home .oy-search-form, .oy-header.is-home .oy-ic-search { display:none !important; }
/* Location bar — pill chip under the header, both mobile and desktop. */
/* Below-header location bar: desktop hides it (moved into header), mobile shows it. */
.oy-locbar-wrap { display:none; background:#fff; border-top:1px solid var(--oy-border); }
.oy-locbar { max-width:1200px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; gap:8px; font-size:13.5px; }
.oy-locbar > div { display:flex; align-items:center; gap:4px; }
.oy-locbar .oy-loc-pin { width:28px; height:28px; border-radius:50%; background:var(--oy-light); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.oy-locbar .oy-loc-label { color:var(--oy-mute); font-size:12px; font-weight:500; white-space:nowrap; }
.oy-locbar .oy-loc-value { display:inline-flex; align-items:center; gap:4px; color:var(--oy-ink); font-weight:700; cursor:pointer; padding:2px 6px; border-radius:999px; transition:background .15s; white-space:nowrap; }
.oy-locbar .oy-loc-value:hover { background:var(--oy-light); }
.oy-locbar .oy-loc-change { margin-left:auto; color:var(--oy-green-dark); font-size:12px; font-weight:700; text-decoration:none; padding:4px 10px; border:1px solid var(--oy-green); border-radius:999px; }
.oy-locbar .oy-loc-change:hover { background:var(--oy-green); color:var(--oy-ink); }

/* === DRAWER === */
.oy-drawer { position:fixed; inset:0; z-index:100; display:none; }
.oy-drawer.open { display:block; }
.oy-drawer-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.oy-drawer-panel { position:absolute; left:0; top:0; bottom:0; width:85%; max-width:340px; background:#fff; overflow-y:auto; display:flex; flex-direction:column; animation:oy-slide-in .22s ease-out; }
@keyframes oy-slide-in { from { transform:translateX(-100%);} to{ transform:translateX(0);} }
.oy-drawer-head { padding:14px 16px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--oy-border); }
.oy-drawer-head .oy-logo img { height:74px; }
.oy-drawer-x { background:none; border:0; font-size:28px; line-height:1; cursor:pointer; color:var(--oy-ink); }
.oy-drawer-user { display:flex; gap:12px; align-items:center; padding:14px 16px; background:var(--oy-light); }
.oy-avatar { width:40px; height:40px; border-radius:50%; background:var(--oy-green); color:var(--oy-ink); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; }
.oy-u-name { font-weight:700; font-size:14px; }
.oy-u-mail { font-size:12px; color:var(--oy-mute); }
.oy-drawer-login { display:flex; flex-direction:column; padding:14px 16px; background:var(--oy-light); color:var(--oy-ink); text-decoration:none; }
.oy-drawer-login strong { font-size:15px; }
.oy-drawer-login span { font-size:12px; color:var(--oy-mute); }
.oy-drawer-sec { padding:16px 16px 6px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--oy-mute); }
.oy-drawer-nav { display:flex; flex-direction:column; }
.oy-drawer-nav a { display:flex; align-items:center; gap:12px; padding:12px 16px; color:var(--oy-ink); text-decoration:none; font-size:14.5px; font-weight:500; border-bottom:1px solid #f3f4ef; }
.oy-drawer-nav a:hover { background:var(--oy-light); }
.oy-drawer-nav a > svg { flex:0 0 auto; color:var(--oy-green-dark); }
.oy-drawer-nav a > span { flex:1; }
.oy-drawer-cats a { padding:10px 16px; }
.oy-drawer-cat-img { width:28px; height:28px; border-radius:7px; object-fit:cover; flex:0 0 auto; }
.oy-drawer-cat-ph { width:28px; height:28px; border-radius:7px; background:var(--oy-light); color:var(--oy-green-dark); font-weight:800; font-size:13px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.oy-drawer-logout { padding:16px; }
.oy-drawer-logout button { width:100%; padding:12px; background:none; color:#B91C1C; border:1px solid #FECACA; border-radius:10px; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.oy-drawer-logout button svg { flex:0 0 auto; }
.oy-drawer-foot { margin-top:auto; padding:16px; text-align:center; font-size:12px; color:var(--oy-mute); border-top:1px solid var(--oy-border); }
.oy-drawer-socials a { color:var(--oy-green-dark); text-decoration:none; }

/* === FOOTER (desktop) === */
.oy-footer { background:#111214; color:#E5E7EB; padding:28px 16px; margin-top:40px; }
.oy-footer-compact { text-align:center; }
.oy-f-logo-c { height:52px; width:auto; margin:0 auto 12px; display:block; }
.oy-f-copy { color:#9CA3AF; font-size:12px; margin:0; }

/* === MOBILE TAB BAR === */
.oy-tabbar { display:none; position:fixed; bottom:0; left:0; right:0; background:#fff; border-top:1px solid var(--oy-border); padding:6px 0 10px; z-index:60; box-shadow:0 -2px 10px rgba(0,0,0,.06); }
.oy-tabbar a { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; color:var(--oy-mute); text-decoration:none; font-size:11px; font-weight:600; padding:4px 0; }
.oy-tabbar a.on { color:var(--oy-green-dark); }
.oy-tabbar a.on svg { stroke:var(--oy-green-dark); }
.oy-tab-badge-wrap { position:relative; }
.oy-tab-badge { position:absolute; top:-4px; right:-6px; background:var(--oy-green); color:var(--oy-ink); font-size:10px; font-weight:800; min-width:16px; height:16px; padding:0 4px; border-radius:999px; display:flex; align-items:center; justify-content:center; }

/* === SHOP + CATEGORY LAYOUT (shared via shop/partials/body) === */

/* Mobile-first: single column, no sidebar grid */
.oy-shop { max-width:1200px; margin:0 auto; padding:0 10px 90px; display:flex; flex-direction:column; }
@media (min-width:900px){ .oy-shop { display:grid; grid-template-columns: 260px 1fr; gap:20px; padding:24px 16px 40px; } }

.oy-shop, .oy-shop-content, .boxed_wrapper { overflow: visible !important; }

/* --- Mobile: horizontal pills bar --- */
.oy-rail { background:#fff; position:sticky; top:56px; z-index:15; padding:6px 10px; border-bottom:1px solid var(--oy-border); display:flex; gap:6px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; margin:0 -10px 0; width:calc(100% + 20px); }
.oy-rail::-webkit-scrollbar { display:none; }
.oy-rail-cat { flex:0 0 auto; scroll-snap-align:start; display:inline-flex; align-items:center; gap:5px; padding:5px 10px; border:1px solid var(--oy-border); border-radius:999px; color:var(--oy-ink); text-decoration:none; font-size:13px; font-weight:600; white-space:nowrap; background:#fff; height:34px; box-sizing:border-box; }
.oy-rail-cat.on { background:var(--oy-green); border-color:var(--oy-green); color:var(--oy-ink); font-weight:700; }
.oy-rail-cat:hover { background:var(--oy-light); }
.oy-rail-cat.on:hover { background:var(--oy-green-dark); }
.oy-rail-cat img { width:22px; height:22px; border-radius:5px; object-fit:cover; flex:0 0 auto; }
.oy-rail-cat .oy-rail-ico { width:22px; height:22px; border-radius:5px; background:var(--oy-light); color:var(--oy-green-dark); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; font-size:11px; font-weight:800; }
.oy-rail-cat .oy-rail-ico-all { width:auto; height:auto; background:none; }
.oy-rail-cat .oy-rail-ico-all svg { width:16px; height:16px; }
.oy-rail-label { }
.oy-rail-head { display:none; }
.oy-rail-divider { display:none; }
.oy-filter-group { display:none; }
.oy-rail > form { display:none; }
.oy-rail .oy-btn-primary { display:none; }
.oy-rail .oy-link-mute { display:none; }

/* --- Mobile: filter bottom sheet --- */
.oy-filter-fab { position:fixed; bottom:80px; right:14px; z-index:40; width:48px; height:48px; border-radius:50%; background:var(--oy-green); border:0; color:var(--oy-ink); box-shadow:0 4px 14px rgba(0,0,0,.15); display:flex; align-items:center; justify-content:center; cursor:pointer; }
@media (min-width:900px){ .oy-filter-fab { display:none; } }
.oy-filter-sheet { display:none; position:fixed; inset:0; z-index:200; }
.oy-filter-sheet.open { display:flex; flex-direction:column; justify-content:flex-end; }
.oy-filter-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.4); }
.oy-filter-panel { position:relative; background:#fff; border-radius:18px 18px 0 0; padding:20px 16px 30px; max-height:70vh; overflow-y:auto; display:flex; flex-direction:column; gap:16px; }
.oy-filter-panel-head { display:flex; align-items:center; justify-content:space-between; }
.oy-filter-panel-head h3 { font-size:17px; font-weight:800; margin:0; }
.oy-filter-panel-close { background:none; border:0; font-size:24px; cursor:pointer; color:var(--oy-ink); padding:4px; }
.oy-filter-panel .oy-price-range { display:flex; gap:8px; }
.oy-filter-panel .oy-price-range input { flex:1; padding:10px 12px; border:1px solid var(--oy-border); border-radius:10px; font-size:14px; background:#fff; min-width:0; }
.oy-filter-panel .oy-btn-primary { display:inline-flex; align-items:center; justify-content:center; width:100%; padding:13px; background:var(--oy-green); color:var(--oy-ink); border:0; border-radius:12px; font-weight:700; font-size:15px; cursor:pointer; }
.oy-filter-panel .oy-link-mute { display:block; text-align:center; margin-top:6px; font-size:13px; color:var(--oy-mute); text-decoration:none; }

/* --- Desktop: restore sidebar --- */
@media (min-width:900px){
  .oy-rail { position:sticky; top:100px; flex-direction:column; overflow-x:visible; overflow-y:auto; max-height:calc(100vh - 140px); overscroll-behavior:contain; padding:20px; background:#fff; border:1px solid var(--oy-border); border-radius:14px; border-bottom:1px solid var(--oy-border); gap:0; scrollbar-width:thin; margin:0; width:auto; }
  .oy-rail::-webkit-scrollbar { width:5px; display:block; }
  .oy-rail::-webkit-scrollbar-thumb { background:#D7DCCC; border-radius:999px; }
  .oy-rail::-webkit-scrollbar-track { background:transparent; }
  .oy-rail > form { display:block; }
  .oy-rail .oy-btn-primary { display:inline-flex; }
  .oy-rail .oy-link-mute { display:block; }
  .oy-rail-head { display:block; font-size:14px; font-weight:800; margin:0 0 14px; color:var(--oy-ink); letter-spacing:.01em; }
  .oy-rail-cat { flex:unset; padding:10px 12px; gap:10px; font-size:13.5px; border:0; border-radius:10px; margin-bottom:4px; white-space:normal; }
  .oy-rail-cat img { width:40px; height:40px; border-radius:10px; }
  .oy-rail-cat .oy-rail-ico { width:40px; height:40px; border-radius:10px; }
  .oy-rail-cat.on { background:var(--oy-green); border-color:transparent; }
  .oy-rail-divider { display:block; height:1px; background:var(--oy-border); margin:14px 0; }
  .oy-filter-group { display:block; margin-bottom:16px; }
  .oy-filter-title { font-size:13px; font-weight:800; margin:0 0 10px; color:var(--oy-ink); }
  .oy-filter-group label { display:flex; align-items:center; gap:8px; padding:4px 0; font-size:13px; color:var(--oy-ink); cursor:pointer; }
  .oy-filter-group label input { accent-color:var(--oy-green-dark); }
  .oy-filter-group label .oy-fc-count { margin-left:auto; color:var(--oy-mute); font-size:11px; }
  .oy-price-range { display:flex; gap:8px; }
  .oy-price-range input { flex:1; padding:8px 10px; border:1px solid var(--oy-border); border-radius:8px; font-size:13px; background:#fff; min-width:0; }
  .oy-btn-primary { display:inline-flex; align-items:center; justify-content:center; width:100%; padding:11px; background:var(--oy-green); color:var(--oy-ink); border:0; border-radius:10px; font-weight:700; cursor:pointer; text-decoration:none; }
  .oy-btn-primary:hover { background:var(--oy-green-dark); color:#fff; }
  .oy-link-mute { display:block; text-align:center; margin-top:10px; font-size:12.5px; color:var(--oy-mute); text-decoration:none; }
  .oy-link-mute:hover { color:var(--oy-ink); }
}

.oy-shop-content { min-width:0; }
.oy-breadcrumb { font-size:12px; color:var(--oy-mute); margin:0; display:none; }
@media (min-width:900px){ .oy-breadcrumb { display:block; font-size:13px; margin-bottom:12px; } }
.oy-breadcrumb a { color:var(--oy-mute); text-decoration:none; }
.oy-breadcrumb strong { color:var(--oy-ink); }
.oy-page-title { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:16px; font-weight:800; margin:4px 0 6px; letter-spacing:-0.01em; }
@media (min-width:768px){ .oy-page-title { font-size:28px; margin:0 0 14px; } }

.oy-shop-head { background:#fff; border:1px solid var(--oy-border); border-radius:10px; padding:8px 12px; display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.oy-shop-count { font-size:12px; color:var(--oy-mute); }
.oy-shop-count strong { color:var(--oy-ink); font-weight:800; font-size:14px; margin-right:4px; }
.oy-sort { display:flex; align-items:center; gap:6px; font-size:12px; }
.oy-sort label { display:none; }
.oy-sort select { border:1px solid var(--oy-border); border-radius:8px; padding:6px 8px; font-size:12px; background:#fff; color:var(--oy-ink); cursor:pointer; }
@media (min-width:900px){
  .oy-shop-head { padding:10px 14px; border-radius:12px; margin-bottom:12px; }
  .oy-shop-count { font-size:13px; }
  .oy-shop-count strong { font-size:15px; }
  .oy-sort { font-size:13px; }
  .oy-sort label { display:inline; }
  .oy-sort select { font-size:13px; padding:6px 10px; }
}

.oy-chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.oy-chip { background:#fff; border:1px solid var(--oy-border); color:var(--oy-ink); padding:6px 10px; border-radius:999px; font-size:12px; text-decoration:none; font-weight:600; }
.oy-chip:hover { background:var(--oy-light); }
.oy-chip.is-clear { background:var(--oy-ink); color:#fff; border-color:var(--oy-ink); }

.oy-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:5px; }
@media (min-width:410px){ .oy-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width:600px){ .oy-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width:900px){ .oy-grid { grid-template-columns: repeat(4, 1fr); gap:7px; } }
@media (min-width:1100px){ .oy-grid { grid-template-columns: repeat(5, 1fr); } }

.oy-pager { display:flex; justify-content:center; margin-top:20px; }
.oy-pager .pagination { display:flex; gap:4px; list-style:none; padding:0; margin:0; }
.oy-pager .pagination li a, .oy-pager .pagination li span { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 10px; background:#fff; border:1px solid var(--oy-border); border-radius:8px; text-decoration:none; color:var(--oy-ink); font-size:13px; font-weight:600; }
.oy-pager .pagination li.active span { background:var(--oy-green); border-color:var(--oy-green); color:var(--oy-ink); }
.oy-pager .pagination li.disabled span { opacity:.4; }

.oy-empty { background:#fff; border:1px solid var(--oy-border); border-radius:14px; padding:40px 20px; text-align:center; }
.oy-empty h3 { margin:0 0 4px; font-size:16px; font-weight:800; }
.oy-empty p { margin:0 0 16px; color:var(--oy-mute); font-size:13px; }
.oy-empty .oy-btn-primary { display:inline-flex; width:auto; padding:10px 24px; }

/* === GLOBAL PRODUCT CARD (used on home, shop, category, search) === */
.oy-card { background:#fff; border:1px solid var(--oy-border); border-radius:12px; padding:0; display:block; text-decoration:none; color:var(--oy-ink); position:relative; transition: box-shadow .15s, transform .15s; overflow:hidden; }
.oy-card:hover { box-shadow:0 4px 14px rgba(0,0,0,.07); transform: translateY(-1px); }
.oy-card-off { position:absolute; top:6px; left:6px; background:#E6253D; color:#fff; font-size:10px; font-weight:800; padding:2px 7px; border-radius:6px; z-index:2; letter-spacing:.02em; }
.oy-card-wish { position:absolute; top:6px; right:6px; background:#fff; border:1px solid var(--oy-border); width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; padding:0; }
.oy-card-wish:hover { background:var(--oy-light); }
.oy-card-wish.is-active { background:#FFEBEE; border-color:#FECACA; }
.oy-card-img { aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; margin:0; overflow:hidden; }
.oy-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.oy-card-img-fallback { width:100%; height:100%; background:var(--oy-light); color:var(--oy-green-dark); display:flex; align-items:center; justify-content:center; font-size:32px; border-radius:8px; }
.oy-card-name { font-family:'Plus Jakarta Sans','Inter',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:15.5px; font-weight:800; line-height:1.35; min-height:38px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; margin-bottom:6px; color:var(--oy-ink); padding:8px 8px 0; letter-spacing:-0.005em; }
.oy-card-name mark { background:#FEF3C7; color:inherit; padding:0 1px; }
.oy-card-row { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:0 8px 8px; }
.oy-card-price { display:flex; flex-direction:column; min-width:0; line-height:1.1; }
.oy-card-strike { color:#6B7280; text-decoration:line-through; font-size:12px; font-weight:500; }
.oy-card-now { font-size:14px; font-weight:800; color:var(--oy-ink); }
.oy-card-addform { margin:0; padding:0; flex:0 0 auto; }
.oy-card-add { width:30px; height:30px; border-radius:8px; background:var(--oy-green); color:var(--oy-ink); border:0; font-size:18px; font-weight:800; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; line-height:1; box-shadow:0 1px 2px rgba(0,0,0,.08); transition: background .12s; }
.oy-card-add:hover { background:var(--oy-green-dark); color:#fff; }
@media (min-width:768px){
  .oy-card-img { aspect-ratio:1/1; }
  .oy-card-img img { width:100%; height:100%; object-fit:cover; }
  .oy-card-name { font-size:14px; min-height:38px; }
  .oy-card-now { font-size:15px; }
  .oy-card-add { width:34px; height:34px; font-size:20px; }
}

/* === UNIVERSAL BUTTON REBRAND === */
.theme-btn, .theme-btn.btn-one, .theme-btn.btn-two, button.btn-primary, .btn-primary, .np-btn-primary { background:var(--oy-green) !important; color:var(--oy-ink) !important; border-color:var(--oy-green) !important; }
.theme-btn:hover, .theme-btn.btn-one:hover, .theme-btn.btn-two:hover, button.btn-primary:hover, .btn-primary:hover { background:var(--oy-green-dark) !important; color:#fff !important; }
a { color:var(--oy-green-dark); }
a:hover { color:var(--oy-ink); }

/* === MOBILE === */
@media (max-width: 900px) {
  .oy-ham { display:flex; order:0; margin-left:0; }
  .oy-nav { display:none; }
  .oy-loc-header { display:none; }
  .oy-locbar-wrap { display:block; }
  .oy-search-form { display:none; }
  .oy-ic-search { display:flex; }
  .oy-logo img { height:64px; }
  .oy-footer { display:none; }
  .oy-tabbar { display:flex; }
  body { padding-bottom:68px; }
}
@media (max-width: 480px) {
  .oy-header-inner { gap:8px; padding:10px 12px; }
  .oy-actions .oy-ic:nth-child(2) { display:none; }
}

/* === CART SIDEBAR (slide-in from right) === */
.oy-cart-sidebar { position:fixed; inset:0; z-index:300; visibility:hidden; pointer-events:none; }
.oy-cart-sidebar.open { visibility:visible; pointer-events:auto; }
.oy-cart-sb-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); opacity:0; transition:opacity .3s ease; }
.oy-cart-sidebar.open .oy-cart-sb-backdrop { opacity:1; }
.oy-cart-sb-panel { position:absolute; top:0; right:0; bottom:0; width:340px; max-width:85vw; background:#fff; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1); box-shadow:-4px 0 20px rgba(0,0,0,.1); }
.oy-cart-sidebar.open .oy-cart-sb-panel { transform:translateX(0); }

.oy-cart-sb-head { display:flex; align-items:center; justify-content:space-between; padding:16px; border-bottom:1px solid var(--oy-border); }
.oy-cart-sb-head h3 { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:17px; font-weight:800; margin:0; color:var(--oy-ink); }
.oy-cart-sb-count { background:var(--oy-green); color:var(--oy-ink); font-size:12px; font-weight:800; padding:2px 8px; border-radius:999px; margin-left:6px; }
.oy-cart-sb-x { background:var(--oy-light); border:0; width:36px; height:36px; border-radius:50%; font-size:26px; cursor:pointer; color:var(--oy-ink); line-height:1; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; transition:background .15s; }
.oy-cart-sb-x:hover { background:var(--oy-border); }

.oy-cart-sb-empty { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:40px 20px; color:var(--oy-mute); text-align:center; }
.oy-cart-sb-empty p { font-size:14px; margin:0; }
.oy-cart-sb-shop { background:var(--oy-green); color:var(--oy-ink); padding:10px 20px; border-radius:999px; font-size:13px; font-weight:700; text-decoration:none; }

.oy-cart-sb-items { flex:1; overflow-y:auto; padding:10px 14px; display:flex; flex-direction:column; gap:10px; }
.oy-cart-sb-item { display:flex; gap:10px; align-items:flex-start; padding:10px 0; border-bottom:1px solid var(--oy-border); position:relative; }
.oy-cart-sb-item:last-child { border-bottom:0; }
.oy-cart-sb-img { flex:0 0 56px; height:56px; border-radius:8px; overflow:hidden; background:var(--oy-light); }
.oy-cart-sb-img img { width:100%; height:100%; object-fit:cover; }
.oy-cart-sb-info { flex:1; min-width:0; }
.oy-cart-sb-name { display:block; font-size:13px; font-weight:700; color:var(--oy-ink); text-decoration:none; line-height:1.3; margin-bottom:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.oy-cart-sb-var { font-size:11px; color:var(--oy-mute); display:block; margin-bottom:4px; }
.oy-cart-sb-row { display:flex; align-items:center; justify-content:space-between; font-size:12.5px; color:var(--oy-mute); }
.oy-cart-sb-row strong { color:var(--oy-ink); font-weight:800; font-size:13px; }
.oy-cart-sb-rm { position:absolute; top:8px; right:0; background:none; border:0; font-size:18px; color:var(--oy-mute); cursor:pointer; padding:2px 6px; line-height:1; }
.oy-cart-sb-rm:hover { color:#B91C1C; }

.oy-cart-sb-footer { padding:14px 16px; border-top:1px solid var(--oy-border); display:flex; flex-direction:column; gap:8px; background:#fff; }
.oy-cart-sb-total { display:flex; justify-content:space-between; align-items:center; font-size:14px; }
.oy-cart-sb-total span { color:var(--oy-mute); font-weight:600; }
.oy-cart-sb-total strong { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:18px; font-weight:800; color:var(--oy-ink); }
.oy-cart-sb-checkout { display:flex; align-items:center; justify-content:center; padding:12px; background:var(--oy-green); color:var(--oy-ink); border-radius:999px; font-weight:800; font-size:14px; text-decoration:none; }
.oy-cart-sb-checkout:hover { background:var(--oy-green-dark); color:#fff; }
.oy-cart-sb-viewcart { text-align:center; font-size:12.5px; color:var(--oy-mute); text-decoration:none; font-weight:600; }
.oy-cart-sb-viewcart:hover { color:var(--oy-ink); }

/* ===== Auth pages (login / register) — Orderyfy app look ===== */
.oy-auth { min-height: calc(100vh - 140px); display:flex; align-items:flex-start; justify-content:center; padding:28px 16px 60px; background:var(--oy-bg); }
.oy-auth-card { width:100%; max-width:420px; background:var(--oy-card); border:1px solid var(--oy-border); border-radius:20px; padding:28px 24px 26px; box-shadow:0 6px 24px rgba(31,31,31,.05); }
.oy-auth-brand { display:flex; flex-direction:column; align-items:center; text-align:center; margin-bottom:22px; }
.oy-auth-brand img { height:66px; width:auto; display:block; }
.oy-auth-tag { margin:8px 0 0; font-size:14px; color:var(--oy-mute); font-weight:600; }
.oy-auth-title { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:22px; font-weight:800; color:var(--oy-ink); text-align:center; margin:0 0 4px; }
.oy-auth-sub { text-align:center; font-size:14.5px; color:var(--oy-mute); margin:0 0 20px; }
.oy-field { margin-bottom:14px; }
.oy-field label { display:block; font-size:13.5px; font-weight:700; color:var(--oy-ink); margin-bottom:6px; }
.oy-field input { width:100%; box-sizing:border-box; background:#F6F7F3; border:1px solid var(--oy-border); border-radius:12px; padding:12px 14px; font-size:14px; color:var(--oy-ink); outline:none; transition:border-color .15s, background .15s; }
.oy-field input:focus { border-color:var(--oy-green); background:#fff; }
.oy-auth-row { display:flex; align-items:center; justify-content:space-between; margin:4px 0 18px; gap:10px; }
.oy-auth-row .oy-remember { display:flex; align-items:center; gap:7px; font-size:13px; color:var(--oy-mute); font-weight:600; cursor:pointer; }
.oy-auth-row .oy-remember input { width:16px; height:16px; accent-color:var(--oy-green); }
.oy-link { color:var(--oy-green-dark); font-size:13px; font-weight:700; text-decoration:none; }
.oy-link:hover { text-decoration:underline; }
.oy-auth-btn { width:100%; border:0; cursor:pointer; background:var(--oy-green); color:var(--oy-ink); border-radius:999px; padding:13px; font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:15px; font-weight:800; transition:background .15s, color .15s; }
.oy-auth-btn:hover { background:var(--oy-green-dark); color:#fff; }
.oy-auth-foot { text-align:center; font-size:14px; color:var(--oy-mute); margin:18px 0 0; }
.oy-auth-foot a { color:var(--oy-green-dark); font-weight:800; text-decoration:none; }
.oy-flash { border-radius:12px; padding:11px 14px; font-size:13px; font-weight:600; margin-bottom:16px; }
.oy-flash.success { background:var(--oy-light); color:#2F6B13; border:1px solid #CDEBAE; }
.oy-flash.error { background:#FEF2F2; color:#B91C1C; border:1px solid #FECACA; }
.np-auth-divider { display:flex; align-items:center; text-align:center; color:var(--oy-mute); font-size:12.5px; font-weight:600; margin:18px 0; }
.np-auth-divider::before, .np-auth-divider::after { content:""; flex:1; height:1px; background:var(--oy-border); }
.np-auth-divider span { padding:0 12px; }
.np-google-btn { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; box-sizing:border-box; background:#fff; border:1px solid var(--oy-border); border-radius:999px; padding:12px; font-size:14px; font-weight:700; color:var(--oy-ink); text-decoration:none; transition:border-color .15s, background .15s; }
.np-google-btn:hover { border-color:var(--oy-green); background:#F6F7F3; }

/* ===== Rider app — Orderyfy branded, native mobile feel ===== */
.oy-rider-body { background:var(--oy-bg); margin:0; -webkit-tap-highlight-color:transparent; }
.oy-rider-app { max-width:520px; margin:0 auto; min-height:100vh; padding-bottom:76px; position:relative; }
/* Top bar */
.oy-rtop { position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; background:#fff; border-bottom:1px solid var(--oy-border); }
.oy-rtop-logo img { height:40px; width:auto; display:block; }
.oy-rtop-toggle-form { margin:0; }
.oy-toggle { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--oy-border); background:#F6F7F3; color:var(--oy-mute); border-radius:999px; padding:7px 14px 7px 11px; font:inherit; font-size:13px; font-weight:800; cursor:pointer; transition:all .15s; }
.oy-toggle .oy-toggle-dot { width:9px; height:9px; border-radius:50%; background:var(--oy-mute); transition:background .15s; }
.oy-toggle.is-on { background:var(--oy-light); border-color:var(--oy-green); color:var(--oy-green-dark); }
.oy-toggle.is-on .oy-toggle-dot { background:var(--oy-green); box-shadow:0 0 0 3px rgba(166,206,57,.25); }
/* Main */
.oy-rmain { padding:16px; }
.oy-rhead { display:flex; align-items:center; justify-content:space-between; margin:4px 0 14px; }
.oy-rhead h1 { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:20px; font-weight:800; margin:0; color:var(--oy-ink); letter-spacing:-0.01em; }
.oy-rlive { font-size:11.5px; font-weight:800; color:var(--oy-green-dark); display:inline-flex; align-items:center; gap:3px; }
.oy-rnotice { background:#FFF7E6; border:1px solid #FDE9B8; color:#8A6D1A; border-radius:12px; padding:11px 14px; font-size:13px; font-weight:600; margin-bottom:14px; }
/* Feed + cards */
.oy-rfeed { display:flex; flex-direction:column; gap:12px; }
.oy-rcard { background:var(--oy-card); border:1px solid var(--oy-border); border-radius:16px; padding:14px; box-shadow:0 4px 16px rgba(31,31,31,.04); }
.oy-rcard-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.oy-rcard-num { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-weight:800; font-size:14px; color:var(--oy-ink); }
.oy-rcard-cod { background:var(--oy-light); color:var(--oy-green-dark); font-weight:800; font-size:12.5px; padding:4px 10px; border-radius:999px; }
.oy-rcard-area { display:flex; align-items:flex-start; gap:6px; color:var(--oy-mute); font-size:13px; font-weight:600; margin-bottom:8px; }
.oy-rcard-area svg { flex:0 0 auto; margin-top:1px; color:var(--oy-green-dark); }
.oy-rcard-items { font-size:12.5px; color:var(--oy-mute); margin-bottom:12px; line-height:1.5; }
.oy-rcard-accept { width:100%; border:0; cursor:pointer; background:var(--oy-green); color:var(--oy-ink); border-radius:999px; padding:12px; font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:14.5px; font-weight:800; transition:background .15s, color .15s; }
.oy-rcard-accept:hover { background:var(--oy-green-dark); color:#fff; }
.oy-rcard-meta { font-size:12px; color:var(--oy-mute); font-weight:600; margin-top:6px; }
.oy-rcard-done { opacity:.85; }
/* Active delivery */
.oy-rcust { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.oy-rcust strong { font-size:14px; color:var(--oy-ink); }
.oy-rcall { display:inline-flex; align-items:center; gap:5px; color:var(--oy-green-dark); font-weight:800; font-size:13px; text-decoration:none; background:var(--oy-light); padding:5px 11px; border-radius:999px; }
.oy-rlist-title { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--oy-mute); margin:10px 0 7px; }
.oy-rlist { list-style:none; margin:0 0 14px; padding:0; display:flex; flex-direction:column; gap:7px; }
.oy-rlist li { display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--oy-ink); background:#F6F7F3; border-radius:10px; padding:9px 11px; }
.oy-rlist-qty { font-weight:800; color:var(--oy-green-dark); flex:0 0 auto; min-width:28px; }
.oy-rlist em { color:var(--oy-mute); font-style:normal; font-size:12px; }
/* Empty + notices */
.oy-rempty { text-align:center; color:var(--oy-mute); padding:48px 16px; }
.oy-rempty svg { color:var(--oy-border); margin-bottom:10px; }
.oy-rempty p { font-size:14px; font-weight:600; margin:0; }
/* History stats */
.oy-rstats { display:flex; gap:12px; margin-bottom:16px; }
.oy-rstat { flex:1; background:var(--oy-card); border:1px solid var(--oy-border); border-radius:14px; padding:14px; text-align:center; }
.oy-rstat-num { display:block; font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:20px; font-weight:800; color:var(--oy-ink); }
.oy-rstat-lbl { display:block; font-size:11.5px; font-weight:600; color:var(--oy-mute); margin-top:2px; }
/* Profile */
.oy-rprofile { display:flex; align-items:center; gap:14px; background:var(--oy-card); border:1px solid var(--oy-border); border-radius:16px; padding:16px; margin-bottom:14px; }
.oy-ravatar { width:52px; height:52px; font-size:20px; flex:0 0 auto; }
.oy-rprofile strong { display:block; font-size:15px; color:var(--oy-ink); }
.oy-rprofile span { font-size:13px; color:var(--oy-mute); }
.oy-rinfo { background:var(--oy-card); border:1px solid var(--oy-border); border-radius:16px; padding:4px 16px; margin-bottom:16px; }
.oy-rinfo-row { display:flex; align-items:center; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--oy-border); font-size:13.5px; }
.oy-rinfo-row:last-child { border-bottom:0; }
.oy-rinfo-row span { color:var(--oy-mute); font-weight:600; }
.oy-rinfo-row strong { color:var(--oy-ink); }
.oy-rbadge { padding:3px 10px; border-radius:999px; font-size:12px; }
.oy-rbadge-approved { background:var(--oy-light); color:var(--oy-green-dark); }
.oy-rbadge-pending { background:#FFF7E6; color:#8A6D1A; }
.oy-rbadge-rejected { background:#FEF2F2; color:#B91C1C; }
.oy-rlogout { margin-top:14px; text-align:center; }
.oy-rlogout button { background:none; border:0; color:#B91C1C; font-weight:700; font-size:13.5px; cursor:pointer; padding:10px; }
/* Pending / rejected state */
.oy-auth-centered { text-align:center; }
.oy-rstate { display:flex; justify-content:center; margin:6px 0 14px; }
.oy-rstate-pending { color:var(--oy-green-dark); }
.oy-rstate-rejected { color:#B91C1C; }
/* Rider bottom tab bar (always visible inside the rider app) */
.oy-rtabbar { position:fixed; left:50%; transform:translateX(-50%); bottom:0; width:100%; max-width:520px; z-index:55; display:flex; background:#fff; border-top:1px solid var(--oy-border); box-shadow:0 -1px 0 rgba(0,0,0,.02); }
.oy-rtabbar a { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:9px 0 10px; color:var(--oy-mute); text-decoration:none; font-size:11px; font-weight:700; }
.oy-rtabbar a.on { color:var(--oy-green-dark); }
.oy-rtabbar a.on svg { stroke:var(--oy-green-dark); }
/* Rider PWA install chip */
.oy-install-chip { position:fixed; left:50%; transform:translateX(-50%); bottom:84px; z-index:56; display:inline-flex; align-items:center; gap:7px; background:var(--oy-ink); color:#fff; border:0; border-radius:999px; padding:10px 18px; font-family:'Inter',sans-serif; font-size:13px; font-weight:800; cursor:pointer; box-shadow:0 6px 20px rgba(31,31,31,.25); }
.oy-install-chip svg { color:var(--oy-green); }
/* Rider enable-alerts button */
.oy-alerts-btn { display:inline-flex; align-items:center; gap:7px; width:100%; justify-content:center; background:var(--oy-light); color:var(--oy-green-dark); border:1px solid var(--oy-green); border-radius:12px; padding:11px; font-family:'Inter',sans-serif; font-size:13.5px; font-weight:800; cursor:pointer; margin-bottom:14px; }
.oy-alerts-btn:hover { background:var(--oy-green); color:var(--oy-ink); }
/* Register role selector (segmented) */
.oy-seg { display:flex; gap:4px; background:#F6F7F3; border:1px solid var(--oy-border); border-radius:12px; padding:4px; margin:0 0 18px; }
.oy-seg-btn { flex:1; border:0; background:none; color:var(--oy-mute); font:inherit; font-size:13px; font-weight:800; padding:9px 6px; border-radius:9px; cursor:pointer; transition:all .15s; }
.oy-seg-btn.on { background:#fff; color:var(--oy-green-dark); box-shadow:0 1px 3px rgba(31,31,31,.08); }
.oy-field .oy-opt { color:var(--oy-mute); font-weight:600; font-size:11.5px; }
/* Rider document uploads (register) */
.oy-upload { margin-bottom:14px; }
.oy-upload > label:first-child { display:block; font-size:12.5px; font-weight:700; color:var(--oy-ink); margin-bottom:6px; }
.oy-file { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.oy-upload-box { display:flex; align-items:center; justify-content:center; height:120px; border:1.5px dashed var(--oy-border); border-radius:12px; background:#F6F7F3 center/cover no-repeat; color:var(--oy-mute); font-size:13px; font-weight:700; cursor:pointer; transition:border-color .15s; overflow:hidden; }
.oy-upload-box:hover { border-color:var(--oy-green); }
.oy-upload-box.has-img { border-style:solid; border-color:var(--oy-green); }
.oy-upload-box.has-img .oy-upload-ph { display:none; }
/* Add-to-cart toast */
.oy-toast { position:fixed; left:50%; bottom:92px; transform:translateX(-50%) translateY(12px); z-index:120; display:flex; align-items:center; gap:8px; background:var(--oy-ink); color:#fff; padding:11px 18px; border-radius:999px; font-size:13.5px; font-weight:700; box-shadow:0 8px 24px rgba(31,31,31,.28); opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; max-width:calc(100% - 32px); }
.oy-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.oy-toast svg { color:var(--oy-green); flex:0 0 auto; }
@media (min-width:900px){ .oy-toast { bottom:28px; } }
.oy-card-add.is-loading, .oy-rcardx-add.is-loading, .oy-pd2-add.is-loading { opacity:.6; pointer-events:none; }

/* ===== Customer Account — app-feel, Orderyfy branded ===== */
.oy-acc { max-width:720px; margin:0 auto; padding:14px 16px 90px; color:var(--oy-ink); }
.oy-acc, .oy-acc * { box-sizing:border-box; }
@media (min-width:900px){ .oy-acc { padding:22px 16px 60px; } }

/* Hero */
.oy-acc-hero { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.oy-acc-hero-left { display:flex; align-items:center; gap:12px; min-width:0; }
.oy-acc-avatar { width:48px; height:48px; font-size:19px; font-weight:800; flex:0 0 auto; }
.oy-acc-hello { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:20px; font-weight:800; margin:0; letter-spacing:-0.015em; color:var(--oy-ink); line-height:1.15; }
@media (min-width:768px){ .oy-acc-hello { font-size:24px; } }
.oy-acc-sub { color:var(--oy-mute); font-size:14px; margin:2px 0 0; line-height:1.3; }
.oy-acc-hero-right { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.oy-acc-ghost { font-size:13px; font-weight:700; color:var(--oy-ink); text-decoration:none; padding:7px 12px; border:1px solid var(--oy-border); border-radius:999px; }
.oy-acc-ghost:hover { background:var(--oy-light); border-color:var(--oy-green); color:var(--oy-green-dark); }
.oy-acc-logout { background:none; border:1px solid #FECACA; color:#B91C1C; border-radius:999px; padding:7px 12px; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.oy-acc-logout:hover { background:#FEF2F2; }
.oy-acc-back { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid var(--oy-border); border-radius:50%; color:var(--oy-ink); text-decoration:none; flex:0 0 auto; }
.oy-acc-back:hover { background:var(--oy-light); border-color:var(--oy-green); color:var(--oy-green-dark); }

/* Stat tiles — 2x2 mobile, 4-col desktop */
.oy-acc-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:14px; }
@media (min-width:600px){ .oy-acc-stats { grid-template-columns:repeat(4,1fr); gap:12px; } }
.oy-acc-stat { background:var(--oy-card); border:1px solid var(--oy-border); border-radius:14px; padding:14px; text-align:left; position:relative; }
.oy-acc-stat::before { content:''; position:absolute; left:0; top:14px; bottom:14px; width:3px; background:var(--oy-green); border-radius:0 3px 3px 0; }
.oy-acc-stat-num { display:block; font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:20px; font-weight:800; color:var(--oy-ink); line-height:1.1; letter-spacing:-0.01em; }
@media (min-width:600px){ .oy-acc-stat-num { font-size:22px; } }
.oy-acc-stat-lbl { display:block; font-size:11.5px; font-weight:700; color:var(--oy-mute); text-transform:uppercase; letter-spacing:.04em; margin-top:4px; }

/* Quick links */
.oy-acc-quick { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:16px; }
@media (min-width:600px){ .oy-acc-quick { grid-template-columns:repeat(4,1fr); } }
.oy-acc-ql { background:var(--oy-card); border:1px solid var(--oy-border); border-radius:14px; padding:14px; text-decoration:none; color:var(--oy-ink); display:flex; flex-direction:column; align-items:center; gap:7px; font-size:12.5px; font-weight:700; transition:all .15s; }
.oy-acc-ql svg { color:var(--oy-green-dark); }
.oy-acc-ql:hover { background:var(--oy-light); border-color:var(--oy-green); color:var(--oy-green-dark); transform:translateY(-1px); }

/* Section cards */
.oy-acc-section { background:var(--oy-card); border:1px solid var(--oy-border); border-radius:16px; padding:18px; margin-bottom:14px; box-shadow:0 1px 2px rgba(31,31,31,.03), 0 4px 16px rgba(31,31,31,.04); }
.oy-acc-section-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.oy-acc-section-head h2 { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:16px; font-weight:800; margin:0; letter-spacing:-0.01em; color:var(--oy-ink); }
.oy-acc-section-head .oy-link { font-size:13px; }

/* Order card list */
.oy-acc-orders { display:flex; flex-direction:column; gap:10px; }
.oy-acc-order { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid var(--oy-border); border-radius:12px; text-decoration:none; color:var(--oy-ink); background:#fff; transition:border-color .15s, box-shadow .15s; }
.oy-acc-order:hover { border-color:#dcdfd3; box-shadow:0 4px 14px rgba(31,31,31,.05); }
.oy-acc-order-main { min-width:0; }
.oy-acc-order-num { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:14px; font-weight:800; color:var(--oy-ink); }
.oy-acc-order-meta { font-size:12px; color:var(--oy-mute); margin-top:2px; }
.oy-acc-order-rider { display:inline-flex; align-items:center; gap:5px; margin-top:6px; font-size:12px; color:var(--oy-green-dark); background:var(--oy-light); border:1px solid #d9ecb6; padding:3px 9px; border-radius:999px; font-weight:700; }
.oy-acc-order-right { display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:0 0 auto; }
.oy-acc-order-amt { font-family:'Plus Jakarta Sans','Inter',sans-serif; font-size:14px; }
.oy-acc-badge { display:inline-block; padding:3px 10px; border-radius:999px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.oy-acc-badge-pending { background:#FFF7E6; color:#8A6D1A; }
.oy-acc-badge-confirmed { background:#DBEAFE; color:#1E40AF; }
.oy-acc-badge-accepted { background:var(--oy-light); color:var(--oy-green-dark); }
.oy-acc-badge-packed { background:#E0E7FF; color:#3730A3; }
.oy-acc-badge-shipped { background:#C7D2FE; color:#1E3A8A; }
.oy-acc-badge-delivered { background:#D1FAE5; color:#065F46; }
.oy-acc-badge-cancelled { background:#FEE2E2; color:#991B1B; }
.oy-acc-badge-returned { background:#FEE2E2; color:#991B1B; }

/* Empty state */
.oy-acc-empty { text-align:center; padding:28px 16px; color:var(--oy-mute); }
.oy-acc-empty svg { color:var(--oy-border); margin-bottom:10px; }
.oy-acc-empty p { font-size:14px; font-weight:600; margin:0 0 14px; }

/* Profile forms */
.oy-acc-form { display:flex; flex-direction:column; }
.oy-acc-logout-wide { width:100%; background:none; border:1px solid #FECACA; color:#B91C1C; border-radius:12px; padding:12px; font:inherit; font-size:14px; font-weight:800; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.oy-acc-logout-wide:hover { background:#FEF2F2; }
.oy-acc-rate { display:inline-flex; align-items:center; gap:4px; background:var(--oy-green); color:var(--oy-ink); font-size:11.5px; font-weight:800; padding:4px 11px; border-radius:999px; text-decoration:none; margin-top:4px; }
.oy-acc-rate:hover { background:var(--oy-green-dark); color:#fff; }
.oy-toast.is-err { background:#991B1B; }
.oy-toast.is-err svg { color:#FEE2E2; }

/* ===== LANGUAGE POPUP ===== */
.oy-lang-overlay { position:fixed; inset:0; z-index:500; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; padding:16px; transition:opacity .2s; }
.oy-lang-popup { background:#fff; border-radius:16px; padding:32px 24px; text-align:center; max-width:340px; width:100%; box-shadow:0 12px 40px rgba(0,0,0,.18); position:relative; }
.oy-lang-close { position:absolute; top:10px; right:12px; background:none; border:none; font-size:24px; line-height:1; color:var(--oy-mute); cursor:pointer; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:background .15s; }
.oy-lang-close:hover { background:var(--oy-light); color:var(--oy-ink); }
.oy-lang-logo { height:56px; width:auto; margin:0 auto 16px; display:block; }
.oy-lang-auth { margin-bottom:4px; }
.oy-lang-auth-q { font-size:14px; font-weight:700; color:var(--oy-ink); margin:0 0 12px; }
.oy-lang-auth-btns { display:flex; gap:10px; }
.oy-lang-auth-btn { flex:1; display:flex; align-items:center; justify-content:center; padding:11px 8px; border-radius:10px; font-size:14px; font-weight:700; text-decoration:none; transition:all .15s; background:var(--oy-green); color:var(--oy-ink); }
.oy-lang-auth-reg { background:transparent; border:2px solid var(--oy-border); }
.oy-lang-auth-reg:hover { border-color:var(--oy-green); background:var(--oy-light); }
.oy-lang-divider { height:1px; background:var(--oy-border); margin:16px 0; }
.oy-lang-q { font-size:15px; font-weight:700; color:var(--oy-ink); margin:0 0 20px; line-height:1.5; }
.oy-lang-btns { display:flex; gap:12px; }
.oy-lang-btn { flex:1; display:flex; align-items:center; justify-content:center; padding:14px 8px; border:2px solid var(--oy-border); border-radius:12px; text-decoration:none; color:var(--oy-ink); transition:all .15s; }
.oy-lang-btn:hover { border-color:var(--oy-green); background:var(--oy-light); }
.oy-lang-label { font-size:16px; font-weight:800; }
.oy-lang-ur .oy-lang-label { font-family:'Noto Nastaliq Urdu','Jameel Noori Nastaleeq',serif; font-size:20px; }

/* ===== DRAWER LANGUAGE SWITCHER ===== */
.oy-drawer-lang { display:flex; gap:8px; padding:14px 16px; position:sticky; bottom:0; background:#fff; border-top:1px solid var(--oy-border); z-index:2; }
.oy-lang-chip { flex:1; text-align:center; padding:8px; border:1px solid var(--oy-border); border-radius:10px; text-decoration:none; font-size:13px; font-weight:700; color:var(--oy-ink); transition:all .15s; }
.oy-lang-chip.on { background:var(--oy-green); border-color:var(--oy-green); }
.oy-lang-chip:hover { border-color:var(--oy-green); }

/* ===== RTL OVERRIDES ===== */
html[dir="rtl"] body { text-align:right; }
html[dir="rtl"] .oy-header-inner { direction:rtl; }
html[dir="rtl"] .oy-actions { margin-left:0; margin-right:auto; }
html[dir="rtl"] .oy-ham { margin-left:0; margin-right:0; }
html[dir="rtl"] .oy-loc-header { margin-left:0; margin-right:10px; }
html[dir="rtl"] .oy-drawer-panel { left:auto; right:0; animation:oy-slide-in-rtl .22s ease-out; }
@keyframes oy-slide-in-rtl { from { transform:translateX(100%);} to{ transform:translateX(0);} }
html[dir="rtl"] .oy-card-off { left:auto; right:6px; }
html[dir="rtl"] .oy-card-wish { right:auto; left:6px; }
html[dir="rtl"] .oy-dot { right:auto; left:0; }
html[dir="rtl"] .oy-tab-badge { right:auto; left:-6px; }
html[dir="rtl"] .oy-search-form { direction:rtl; }
html[dir="rtl"] .oy-lang-close { right:auto; left:12px; }
html[dir="rtl"] .oy-breadcrumb { direction:rtl; }
html[dir="rtl"] .oy-filter-panel { left:0; right:auto; transform:translateX(-100%); }
html[dir="rtl"] .oy-filter-panel.open { transform:translateX(0); }
html[dir="rtl"] .oy-cart-sb-panel { right:auto; left:0; transform:translateX(-100%); }
html[dir="rtl"] .oy-cart-sb.open .oy-cart-sb-panel { transform:translateX(0); }
html[dir="rtl"] .oy-cart-sb-rm { right:auto; left:0; }
html[dir="rtl"] .oy-filter-fab { right:auto; left:14px; }
html[dir="rtl"] .oy-locbar .oy-loc-change { margin-left:0; margin-right:auto; }
html[dir="rtl"] .oy-acc-hero { direction:rtl; }
html[dir="rtl"] .oy-drawer-nav a { direction:rtl; }
html[dir="rtl"] .oy-field label { text-align:right; }
html[dir="rtl"] .oy-field input { text-align:right; direction:rtl; }
html[dir="rtl"] .oy-auth-row { direction:rtl; }

/* --- Store-conflict dialog: one cart belongs to one store --- */
.oy-sc-overlay { position:fixed; inset:0; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; z-index:9999; padding:16px; }
.oy-sc-box { background:#fff; border-radius:16px; padding:22px 20px 18px; width:100%; max-width:380px; box-shadow:0 18px 50px rgba(0,0,0,.25); }
.oy-sc-box h3 { margin:0 0 8px; font-size:17px; font-weight:800; color:var(--oy-ink); }
.oy-sc-box p { margin:0 0 18px; font-size:14px; line-height:1.5; color:var(--oy-mute); }
.oy-sc-actions { display:flex; gap:10px; }
.oy-sc-actions button { flex:1; padding:11px 12px; border-radius:10px; font-size:14px; font-weight:700; cursor:pointer; border:0; }
.oy-sc-cancel { background:var(--oy-light); color:var(--oy-ink); }
.oy-sc-confirm { background:var(--oy-green); color:var(--oy-ink); }
.oy-sc-confirm:hover { background:var(--oy-green-dark); color:#fff; }

/* Seller name on a product card shown outside its own store page */
.oy-card-store { font-size:11px; font-weight:600; color:var(--oy-mute); margin:1px 0 2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
