/* Front-end helpers for 123EzBiz Boss Designer. Theme owns most layout; plugin supplies shared component skin. */
.ezboss-catalog-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0 0 16px}.ezboss-catalog-search input{min-width:0;width:100%;padding:10px 12px;border-radius:var(--ez-button-radius);border:1px solid var(--boss-button-border,var(--boss-border));background:rgba(255,255,255,.92);color:var(--boss-input-text,#111827);box-shadow:inset 0 1px 2px rgba(0,0,0,.16)}.ezboss-catalog-search button{white-space:nowrap}.ezboss-sidebar-title{font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--boss-header);font-size:.88rem;margin:0 0 14px}.ezboss-left-section{margin:0 0 14px;border:var(--ez-panel-border-width) solid var(--boss-border);border-radius:calc(var(--ez-panel-radius) - 4px);overflow:hidden;background:rgba(var(--ez-panel-rgb),calc(var(--ez-panel-alpha) * .5))}.ezboss-left-section h3{margin:0;font-size:1rem}.ezboss-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;cursor:pointer;padding:11px 13px;font-weight:800;color:var(--boss-header);background:linear-gradient(135deg,var(--boss-button-bg),var(--boss-title-bg));text-align:left}.ezboss-section-toggle[disabled]{cursor:default}.ezboss-section-body{padding:8px}.ezboss-left-section.is-closed .ezboss-section-body{display:none}.ezboss-nav-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}.ezboss-nav-list a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--boss-text);border:1px solid transparent;border-radius:10px;padding:9px 10px;background:rgba(255,255,255,.05)}.ezboss-nav-list a:hover,.ezboss-nav-list .current-menu-item>a{color:var(--boss-button-primary-text,#fff);border-color:var(--boss-accent);background:linear-gradient(135deg,var(--boss-accent),var(--boss-accent2));box-shadow:0 8px 22px rgba(0,0,0,.22)}.ezboss-featured-list{display:grid;gap:14px}.ezboss-featured-card{padding:14px;border:var(--ez-panel-border-width) solid var(--boss-border);border-radius:calc(var(--ez-panel-radius) - 2px);background:rgba(var(--ez-panel-rgb),calc(var(--ez-panel-alpha) * .78));box-shadow:0 14px 32px rgba(0,0,0,.18)}.ezboss-featured-card h3{font-size:1rem;margin:0 0 8px;color:var(--boss-header)}.ezboss-featured-card h3 a{color:inherit;text-decoration:none}.ezboss-featured-card p{margin:0 0 12px;color:var(--boss-text-muted);line-height:1.45}.ezboss-featured-thumb{display:block;margin:-4px -4px 10px}.ezboss-featured-thumb img{display:block;width:100%;height:auto;border-radius:12px}.ez-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:var(--ez-button-radius);padding:10px 14px;font-weight:800;line-height:1.1;border:1px solid var(--boss-button-border,var(--boss-border));color:var(--boss-button-text,var(--boss-text));background:linear-gradient(180deg,var(--boss-button-bg),var(--boss-title-bg));box-shadow:0 10px 24px rgba(0,0,0,.22);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.ez-btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 14px 30px rgba(0,0,0,.28)}.ez-btn-primary,.ez-btn.primary{color:var(--boss-button-primary-text,#fff);background:linear-gradient(135deg,var(--boss-accent),var(--boss-accent2));border-color:rgba(255,255,255,.28)}.ez-btn-secondary{background:linear-gradient(135deg,var(--boss-title-bg),var(--boss-button-bg));color:var(--boss-text)}.ez-btn-outline{background:transparent;color:var(--boss-accent);border-color:var(--boss-accent)}.ez-btn-small{padding:8px 11px;font-size:.88rem}.ezboss-button-pill .ez-btn{border-radius:999px}.ezboss-button-flat .ez-btn{box-shadow:none;background:var(--boss-button-bg)}.ezboss-button-outline .ez-btn{background:transparent;color:var(--boss-accent);border-color:var(--boss-accent);box-shadow:none}.ezboss-button-glass .ez-btn{background:rgba(var(--ez-panel-rgb),.42);backdrop-filter:blur(var(--ez-panel-blur));-webkit-backdrop-filter:blur(var(--ez-panel-blur))}.ezboss-button-metal .ez-btn{background:linear-gradient(180deg,rgba(255,255,255,.28),var(--boss-button-bg) 45%,rgba(0,0,0,.24));border-color:rgba(255,255,255,.22)}.ezboss-checkout-shell .ezboss-site-shell{grid-template-columns:minmax(0,1fr);max-width:var(--ez-checkout-content-width)}.ezboss-checkout-shell .ezboss-left-sidebar,.ezboss-checkout-shell .ezboss-right-sidebar{display:none!important}.ezboss-checkout-shell .ezboss-main-content{grid-column:auto}.ezboss-compact-header .ezboss-site-header{min-height:min(74px,var(--ez-header-height))}
.ezboss-site-width-full .ezboss-site-header,.ezboss-site-width-full .ezboss-site-footer,.ezboss-site-width-full .ezboss-site-shell{width:100%;max-width:none;margin-left:0;margin-right:0}

/* 123EzBoss gradient usage: preset values become layered gradients, not flat cards. */
.ezboss-left-section {
    background: rgba(var(--ez-panel-rgb), calc(var(--ez-panel-alpha) * .34));
    border-color: rgba(255,255,255,.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.ezboss-section-toggle {
    background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.18)), var(--boss-menu-master-gradient);
    background-size: var(--boss-gradient-size, 120% 120%);
    color: var(--boss-sidebar-text, #ffffff);
    text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

.ezboss-nav-list a {
    color: var(--boss-sidebar-text, #ffffff);
    background: rgba(0,0,0,.16);
    border-color: rgba(255,255,255,.14);
}

.ezboss-nav-list a:hover,
.ezboss-nav-list .current-menu-item > a {
    color: var(--boss-button-primary-text, #ffffff);
    border-color: rgba(255,255,255,.36);
    background: var(--boss-button-primary-gradient);
}

.ezboss-featured-card {
    background: var(--boss-input-bg-master-gradient);
    box-shadow: 0 14px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.12);
}

.ez-btn {
    background: var(--boss-button-master-gradient);
    border-color: var(--boss-button-border, var(--boss-border));
    color: var(--boss-button-text, var(--boss-text));
}

.ez-btn-primary,
.ez-btn.primary {
    background: var(--boss-button-primary-gradient);
    color: var(--boss-button-primary-text, #ffffff);
}

.ez-btn-secondary {
    background: linear-gradient(135deg, var(--boss-title-bg), var(--boss-button-bg));
}

.ezboss-button-flat .ez-btn {
    background: var(--boss-button-bg);
}

.ezboss-button-metal .ez-btn {
    background: linear-gradient(180deg, rgba(255,255,255,.28), var(--boss-button-bg) 45%, rgba(0,0,0,.24));
}

/* ── Database-powered featured product cards ────────────── */
.ezboss-featured-product { position: relative; text-align: center; }
.ezboss-featured-product .ezboss-featured-thumb { display: block; margin: -14px -14px 12px; overflow: hidden; border-radius: calc(var(--ez-panel-radius) - 4px) calc(var(--ez-panel-radius) - 4px) 0 0; }
.ezboss-featured-product-image { display: block; width: 100%; height: auto; transition: transform .3s ease; }
.ezboss-featured-product:hover .ezboss-featured-product-image { transform: scale(1.06); }
.ezboss-featured-price { font-weight: 800; font-size: 1.1rem; color: var(--boss-text); margin: 6px 0 12px; }
.ezboss-featured-list-price { text-decoration: line-through; opacity: .55; font-weight: 600; font-size: .92rem; }
.ezboss-sale-badge { position: absolute; top: 6px; left: 6px; width: 54px; height: auto; z-index: 2; }
.ezboss-featured-empty { text-align: center; padding: 18px; color: var(--boss-text-muted); font-size: .9rem; }

/* ── Sidebar cart wrapper ───────────────────────────────── */
.ezboss-sidebar-cart { margin: 0 0 14px; }

/* ── Currency selector ──────────────────────────────────── */
.ezboss-currency-selector { margin: 14px 0; }
.ezboss-currency-selector label { display: block; font-weight: 800; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: var(--boss-text-muted); margin: 0 0 5px; }
.ezboss-select { width: 100%; padding: 9px 10px; border-radius: var(--ez-button-radius); border: 1px solid var(--boss-border); background: rgba(255,255,255,.92); color: var(--boss-input-text, #111827); font-weight: 600; }

/* ── Site Button Type (selected via Boss Designer) ──────── */
.ez-site-btn {
  min-height: 34px;
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 7px 10px;
  border-radius: 8px;
  cursor: pointer; font-weight: 800; font-size: 13px;
  font-family: Arial;
  text-align: center;
  white-space: nowrap;
  width: 75px;
  max-width: 100%;
  box-sizing: border-box;
}
/* Type: Normal — panel gradient */
.ezboss-btntype-normal .ez-site-btn {
  color: var(--boss-button-text);
  background: linear-gradient(var(--ez-button-gradient-dir, 180deg), var(--boss-button-bg), var(--boss-button-hover-bg));
  border: 1px solid var(--boss-border);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}
/* Type: Primary — accent gradient */
.ezboss-btntype-primary .ez-site-btn {
  color: var(--boss-button-text);
  background: linear-gradient(var(--ez-button-gradient-dir, 180deg), var(--boss-accent), var(--boss-accent2));
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
}
/* Type: Active — silver gradient (Menu Link After Click) */
.ezboss-btntype-active .ez-site-btn {
  color: var(--boss-button-text);
  background: linear-gradient(var(--ez-button-gradient-dir, 180deg), var(--boss-button-bg), var(--boss-button-hover-bg));
  border: 1px solid var(--boss-border);
  text-shadow: 0 1px 1px rgba(0,0,0,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.20), 0 4px 12px rgba(0,0,0,.24);
}

/* ── Collapse empty WP entry-header gap on all commerce pages ── */
.ezboss-commerce-body .entry-header,
.ezboss-commerce-body .entry-title { display: none !important; margin: 0 !important; padding: 0 !important; height: 0 !important; }
.ezboss-commerce-body #primary.ezboss-main-content { padding-top: 0 !important; margin-top: 0 !important; }
.ezboss-commerce-body #primary.ezboss-panel { padding-top: 7px !important; }
.ezboss-commerce-body article.ezboss-content-card { padding-top: 0 !important; margin-top: 0 !important; }
.ezboss-commerce-body .entry-content { margin-top: 0 !important; padding-top: 0 !important; }
