/* UBD Modular v1 · Production-safe foundation 0.4.0 */
:root {
  --ubd-orange: #e65100;
  --ubd-orange-soft: #fff4ec;
  --ubd-green: #5e8f4d;
  --ubd-ink: #2d241e;
  --ubd-muted: #776b63;
  --ubd-paper: #fffdfb;
  --ubd-line: #eee5df;
  --ubd-radius: 22px;
}
html { scroll-behavior: smooth; }
body.ubd-modular-page { background: var(--ubd-paper); color: var(--ubd-ink); }
#ubd-site { min-height: 100vh; }
.ubd-home-container { width: 100%; }
.ubd-wrapper { padding: 18px 0 52px; }
.ubd-layout-row { row-gap: 24px; }

/* Header */
.ubd-site-header {
  position: sticky;
  top: 0;
  z-index: 1050;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--ubd-line);
}
.ubd-header-banner:empty,
.ubd-header-nav-left:empty,
.ubd-header-nav-right:empty { display:none; }
.ubd-header-nav { background:#fff8f3; font-size:12px; border-bottom:1px solid #f6e8df; }
.ubd-header-nav-grid { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ubd-header-main { background:#fff; }
.ubd-header-main-grid { min-height:82px; display:grid; grid-template-columns:180px 1fr auto; gap:24px; align-items:center; }
.ubd-header-logo img { max-width:160px !important; width:auto !important; height:auto !important; max-height:64px; object-fit:contain; }
.ubd-logo-heading { margin:0; line-height:0; }
.ubd-header-tools { min-width:0; }
.ubd-header-tools #_desktop_top_menu,
.ubd-header-tools .top-menu { margin:0; }
.ubd-header-tools a { color:var(--ubd-ink); }
.ubd-mobile-menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--ubd-line); border-radius:14px; background:#fff; padding:10px; }
.ubd-mobile-menu-toggle span { display:block; height:2px; background:var(--ubd-ink); margin:5px 0; border-radius:4px; }
.ubd-mobile-menu { padding:10px 0 18px; }

/* Main */
.ubd-content-column { min-width:0; }
.ubd-sidebar > * { margin-bottom:18px; }
.breadcrumb { margin: 8px 0 18px; }
.page-content.card,
.card { border:1px solid var(--ubd-line); border-radius:var(--ubd-radius); box-shadow:none; }

/* Category */
.ubd-category-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,38%);
  gap:28px;
  align-items:center;
  margin-bottom:24px;
  padding:28px;
  border:1px solid var(--ubd-line);
  border-radius:28px;
  background:#fff;
  overflow:hidden;
}
.ubd-category-hero h1 { margin:4px 0 10px; font-size:clamp(30px,4vw,52px); line-height:1.02; letter-spacing:-.04em; }
.ubd-category-hero img { width:100%; height:220px; object-fit:cover; border-radius:20px; }
.ubd-eyebrow { color:var(--ubd-orange); text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:800; }
.ubd-category-intro { color:var(--ubd-muted); max-width:62ch; }
.ubd-category-about { margin-top:28px; padding:22px; border:1px solid var(--ubd-line); border-radius:24px; background:#fff; display:grid; grid-template-columns:200px 1fr; gap:22px; }
.ubd-category-about img { width:100%; height:150px; object-fit:cover; border-radius:16px; }

/* Listing */
.ubd-products-toolbar { margin-bottom:18px; padding:14px 16px; background:#fff; border:1px solid var(--ubd-line); border-radius:18px; }
.ubd-product-count { font-weight:800; color:var(--ubd-ink); }
.ubd-product-sort .sort-by { color:var(--ubd-muted); }
.ubd-active-filters { margin-bottom:14px; }
.ubd-product-grid { margin-left:-8px; margin-right:-8px; }
.ubd-product-card-wrap { padding:8px; margin-bottom:8px; }
.ubd-product-card { height:100%; overflow:hidden; background:#fff; border:1px solid var(--ubd-line); border-radius:24px; transition:transform .18s ease,border-color .18s ease; }
.ubd-product-card:hover { transform:translateY(-3px); border-color:#e5cdbc; }
.ubd-product-image { display:block; position:relative; aspect-ratio:1/1; overflow:hidden; background:#f8f5f2; }
.ubd-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.ubd-product-card:hover .ubd-product-image img { transform:scale(1.025); }
.ubd-product-flags { position:absolute; top:10px; left:10px; display:flex; flex-wrap:wrap; gap:5px; margin:0; padding:0; list-style:none; }
.ubd-product-flags li { padding:5px 8px; border-radius:999px; background:#fff; color:var(--ubd-ink); font-size:10px; font-weight:800; box-shadow:0 4px 16px rgba(45,36,30,.08); }
.ubd-product-info { padding:14px; }
.ubd-product-info h3 { min-height:40px; margin:6px 0 8px; font-size:14px; line-height:1.35; font-weight:800; }
.ubd-product-info h3 a { color:var(--ubd-ink); }
.ubd-product-price { display:flex; align-items:baseline; gap:8px; margin-bottom:12px; }
.ubd-product-price .price { color:var(--ubd-orange); font-size:18px; font-weight:900; }
.ubd-product-price .regular-price { color:#a39890; text-decoration:line-through; font-size:12px; }
.ubd-product-actions { display:flex; gap:8px; }
.ubd-product-actions form { flex:1; margin:0; }
.ubd-product-view,
.ubd-product-add { width:100%; min-height:40px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; text-transform:none; }
.ubd-product-view { background:#f8f3ef; color:var(--ubd-ink); border:1px solid #eee1d8; }
.ubd-product-add { background:var(--ubd-orange); color:#fff; border:1px solid var(--ubd-orange); }

/* Product */
.tvproduct-page-wrapper,
.tvprduct-image-info-wrapper { background:#fff; }
.tvprduct-image-info-wrapper { margin:0; padding:22px; border:1px solid var(--ubd-line); border-radius:28px; }
.tv-product-page-image,
.tv-product-page-content { padding:12px 18px; }
.tv-product-page-content h1 { color:var(--ubd-ink); font-size:clamp(28px,3vw,42px); line-height:1.05; letter-spacing:-.035em; }
.product-actions .add-to-cart { border-radius:16px !important; background:var(--ubd-orange) !important; border-color:var(--ubd-orange) !important; min-height:52px; font-weight:800; }
.ubd-product-accessories { margin-top:28px; padding-top:18px; border-top:1px solid var(--ubd-line); }
.ubd-product-accessories h2 { margin-bottom:16px; font-size:24px; }

/* Checkout */
.ubd-checkout-wrapper { padding:28px 0 56px; }
.ubd-checkout-grid { row-gap:22px; }
.ubd-checkout-summary > * { border-radius:20px; }
#checkout .checkout-step { border:1px solid var(--ubd-line); border-radius:20px; box-shadow:none; margin-bottom:12px; overflow:hidden; }
#checkout .checkout-step .step-title { padding:18px; }

/* Footer */
.ubd-site-footer { margin-top:40px; background:#2d241e; color:#fff; }
.ubd-footer-main { padding:40px 0 26px; }
.ubd-footer-brand { display:flex; flex-direction:column; gap:4px; margin-bottom:26px; }
.ubd-footer-brand strong { font-size:22px; }
.ubd-footer-brand span { color:#d6cbc4; }
.ubd-footer-hooks a { color:#fff; }

/* Responsive */
@media (max-width: 991px) {
  .ubd-header-main-grid { grid-template-columns:1fr auto; min-height:70px; }
  .ubd-header-tools { grid-column:1 / -1; order:3; }
  .ubd-mobile-menu-toggle { display:block; }
  .ubd-sidebar { margin-bottom:14px; }
}
@media (max-width: 767px) {
  .ubd-wrapper { padding-top:10px; }
  .ubd-header-nav { display:none; }
  .ubd-header-main-grid { gap:12px; }
  .ubd-header-logo img { max-width:128px !important; max-height:52px; }
  .ubd-category-hero { grid-template-columns:1fr; padding:18px; border-radius:22px; }
  .ubd-category-hero img { height:160px; }
  .ubd-category-about { grid-template-columns:1fr; }
  .ubd-product-card-wrap { padding:5px; }
  .ubd-product-info { padding:10px; }
  .ubd-product-info h3 { min-height:36px; font-size:12px; }
  .ubd-product-price .price { font-size:16px; }
  .ubd-product-view { display:none; }
  .ubd-product-add { min-height:38px; padding:7px; font-size:10px; }
  .tvprduct-image-info-wrapper { padding:10px; border-radius:20px; }
}

/* UBD Modular 0.5.0 · Breadcrumb nativo */
.ubd-breadcrumb{margin:10px 0 20px;padding:0;background:transparent;font-size:12px}
.ubd-breadcrumb ol{display:flex;align-items:center;gap:7px;min-width:0;margin:0;padding:0;overflow-x:auto;list-style:none;scrollbar-width:none}
.ubd-breadcrumb ol::-webkit-scrollbar{display:none}
.ubd-breadcrumb li{display:flex;align-items:center;gap:7px;min-width:max-content;color:#65777B}
.ubd-breadcrumb li:not(:last-child)::after{content:'›';color:#9AA8AB;font-size:15px}
.ubd-breadcrumb a{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid rgba(24,51,58,.09);border-radius:999px;background:#fff;color:#18333A;text-decoration:none}
.ubd-breadcrumb li[aria-current='page']>span{font-weight:800;color:#18333A}
