/* Dentfriend Theme 2026 — modern UI layer for OpenCart 3.0.2.0 / HomeCrest */
:root {
  --df-green: #9bd600;
  --df-green-hover: #86bd00;
  --df-green-deep: #658d00;
  --df-ink: #171a21;
  --df-ink-2: #303641;
  --df-muted: #69717f;
  --df-soft: #9299a5;
  --df-line: #e6e9ee;
  --df-line-strong: #d8dde5;
  --df-bg: #f6f8fb;
  --df-surface: #ffffff;
  --df-blue: #2454c6;
  --df-blue-soft: #f2f6ff;
  --df-success: #24833c;
  --df-success-soft: #edf8ef;
  --df-danger: #d84b4b;
  --df-danger-soft: #fff1f1;
  --df-radius: 16px;
  --df-radius-sm: 10px;
  --df-shadow: 0 8px 30px rgba(22, 29, 37, .06);
  --df-shadow-hover: 0 16px 40px rgba(22, 29, 37, .10);
}

html { background: var(--df-bg); }
body.df-theme {
  margin: 0;
  color: var(--df-ink);
  background: var(--df-bg);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.df-theme * { box-sizing: border-box; }
body.df-theme a { color: var(--df-ink-2); transition: color .16s ease, opacity .16s ease; }
body.df-theme a:hover, body.df-theme a:focus { color: var(--df-green-deep); text-decoration: none; }
body.df-theme .container { width: auto; max-width: 1320px; padding-left: 24px; padding-right: 24px; }
body.df-theme h1, body.df-theme h2, body.df-theme h3, body.df-theme h4, body.df-theme h5, body.df-theme h6 {
  color: var(--df-ink); font-family: inherit; font-weight: 700; letter-spacing: -.025em;
}
body.df-theme h1, body.df-theme .page-title { font-size: 32px; line-height: 1.2; margin: 0 0 24px; text-transform: none; }
body.df-theme h2 { font-size: 25px; }
body.df-theme h3 { font-size: 20px; }
body.df-theme p { color: var(--df-muted); }

/* Global controls */
body.df-theme .btn {
  min-height: 44px; padding: 10px 18px; border-radius: 10px; border: 1px solid transparent;
  font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1.3; text-transform: none;
  box-shadow: none; transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
body.df-theme .btn:hover { transform: translateY(-1px); }
body.df-theme .btn-primary, body.df-theme .addtocart.btn-primary, body.df-theme #button-cart {
  background: var(--df-green) !important; color: #172000 !important; border-color: var(--df-green) !important;
}
body.df-theme .btn-primary:hover, body.df-theme .addtocart.btn-primary:hover, body.df-theme #button-cart:hover {
  background: var(--df-green-hover) !important; border-color: var(--df-green-hover) !important;
}
body.df-theme .btn-default { background: #fff; color: var(--df-ink-2); border-color: var(--df-line-strong); }
body.df-theme .btn-danger { background: var(--df-danger-soft); color: var(--df-danger); border-color: transparent; }
body.df-theme .form-control {
  min-height: 46px; border: 1px solid var(--df-line-strong); border-radius: 10px; background: #fff;
  color: var(--df-ink); font-family: inherit; font-size: 14px; box-shadow: none; padding: 10px 13px;
}
body.df-theme .form-control:focus { border-color: #9eafca; box-shadow: 0 0 0 3px rgba(36,84,198,.08); }
body.df-theme label, body.df-theme .control-label { color: var(--df-ink-2); font-weight: 600; }
body.df-theme select.form-control { cursor: pointer; }

/* Header */
.df-topbar { min-height: 34px; background: #12151a !important; border: 0 !important; color: #cdd2da; }
.df-topbar .container { padding-top: 0; padding-bottom: 0; }
.df-topbar-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; }
.df-topbar-note { letter-spacing: .01em; }
.df-topbar-tools { display: flex; align-items: center; gap: 10px; }
.df-topbar-tools .btn, .df-topbar-tools button { min-height: 28px !important; color: #fff !important; background: transparent !important; padding: 3px 7px !important; }
.df-site-header { position: sticky; top: 0; z-index: 1000; background: #fff; box-shadow: 0 1px 0 var(--df-line); }
.df-header-container, body.df-theme .header-container { background: #fff !important; background-image: none !important; min-height: 0 !important; }
body.df-theme .header-container .container { padding-top: 0; padding-bottom: 0; }
body.df-theme .header-main { float: none; width: 100%; }
body.df-theme .df-header-top, body.df-theme .header-top {
  min-height: 78px; display: flex; align-items: center; gap: 28px; padding: 13px 0; position: relative;
}
body.df-theme .header-logo { flex: 0 0 auto; width: auto; margin: 0; padding: 0; }
body.df-theme #logo { margin: 0; }
body.df-theme #logo img { max-width: 225px; max-height: 52px; width: auto; height: auto; }
body.df-theme .lang-curr { display: none; }
body.df-theme .head-right-bottom { margin-left: auto; display: flex; align-items: center; flex: 1 1 auto; justify-content: flex-end; gap: 12px; position: static; }
body.df-theme .head-right-bottom > #search { order: -1; flex: 1 1 480px; max-width: 620px; }
body.df-theme #search { position: relative; margin: 0; }
body.df-theme #search .search_button { display: none !important; }
body.df-theme #search .search_toggle { display: block !important; position: static !important; width: 100% !important; opacity: 1 !important; visibility: visible !important; }
body.df-theme #search #searchbox { display: flex; width: 100%; }
body.df-theme #search input {
  width: 100%; height: 46px; border: 1px solid var(--df-line); border-radius: 12px 0 0 12px !important;
  background: #f7f8fa; padding: 0 15px; font-size: 14px;
}
body.df-theme #search .input-group-btn .btn { height: 46px; min-width: 48px; border-radius: 0 12px 12px 0 !important; border-color: var(--df-line); background: #f7f8fa; color: var(--df-ink); }
body.df-theme .myaccount { width: auto; height: auto; margin: 0; }
body.df-theme .myaccount > a {
  min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid var(--df-line); border-radius: 11px;
  display: flex; align-items: center; gap: 7px; justify-content: center; background: #fff; color: var(--df-ink) !important;
}
body.df-theme .df-account-icon { font-size: 17px; }
body.df-theme .header-cart { width: auto; margin: 0; }
body.df-theme #cart { margin: 0; min-width: 48px; }
body.df-theme #cart > button {
  min-height: 44px !important; min-width: 48px; border-radius: 11px !important; border: 1px solid var(--df-line) !important;
  background: #fff !important; color: var(--df-ink) !important; padding: 0 11px !important; box-shadow: none !important;
}
body.df-theme #cart-total { font-size: 12px; font-weight: 650; }
body.df-theme #cart .cart_heading { display: none; }
body.df-theme #cart .dropdown-menu, body.df-theme .myaccount-menu {
  margin-top: 10px; border: 1px solid var(--df-line); border-radius: 14px; box-shadow: var(--df-shadow-hover); padding: 12px; background: #fff;
}
body.df-theme .df-legacy-hero { display: none !important; }

/* Main navigation */
body.df-theme .nav-container { background: #fff !important; border-top: 1px solid var(--df-line); box-shadow: none; }
body.df-theme .nav-inner { max-width: 1320px; margin: 0 auto; padding: 0 24px; }
body.df-theme #menu { float: none; width: 100%; }
body.df-theme #menu > ul.nav { float: none; display: flex; align-items: center; gap: 4px; margin: 0; }
body.df-theme #menu > ul.nav > li { float: none; }
body.df-theme #menu > ul.nav > li > a {
  display: flex; align-items: center; min-height: 48px; padding: 0 13px; color: #333945 !important;
  font-family: inherit; font-size: 13px; font-weight: 650; letter-spacing: .005em; text-transform: none; border: 0 !important;
}
body.df-theme #menu > ul.nav > li > a:hover { color: var(--df-green-deep) !important; background: #f8faf3; }
body.df-theme #menu .dropdown-menu { border: 1px solid var(--df-line); border-radius: 14px; box-shadow: var(--df-shadow-hover); padding: 14px; background: #fff; }
body.df-theme #menu .dropdown-menu a { padding: 8px 10px; border-radius: 8px; font-size: 13px; color: var(--df-ink-2); }
body.df-theme #res-menu { display: none; }

/* Page shell */
body.df-theme #product-category,
body.df-theme #product-product,
body.df-theme #checkout-cart,
body.df-theme #account-login,
body.df-theme #account-account,
body.df-theme #information-information,
body.df-theme #information-contact,
body.df-theme .container[id^="account-"],
body.df-theme .container[id^="checkout-"] {
  padding-top: 26px; padding-bottom: 48px;
}
body.df-theme .breadcrumb { padding: 0; margin: 0 0 24px; background: transparent; border: 0; font-size: 12px; }
body.df-theme .breadcrumb > li + li:before { color: #b5bbc5; content: "›"; padding: 0 8px; }
body.df-theme .breadcrumb a { color: var(--df-muted); }
body.df-theme .breadcrumb li:last-child a { color: var(--df-ink); }
body.df-theme #content { min-height: 300px; }

/* Sidebar */
body.df-theme #column-left .box, body.df-theme #column-right .box,
body.df-theme #column-left .list-group, body.df-theme #column-right .list-group {
  border: 1px solid var(--df-line); border-radius: var(--df-radius); background: #fff; box-shadow: none; overflow: hidden; margin-bottom: 18px;
}
body.df-theme #column-left .box-heading, body.df-theme #column-right .box-heading {
  background: #fff; color: var(--df-ink); border-bottom: 1px solid var(--df-line); padding: 16px 18px; font-size: 15px; font-weight: 700; text-transform: none;
}
body.df-theme .list-group-item { border-color: var(--df-line); padding: 11px 15px; color: var(--df-muted); }
body.df-theme .list-group-item.active, body.df-theme .list-group-item.active:hover { background: var(--df-blue-soft); color: var(--df-blue); border-color: var(--df-line); }

/* Home */
body.df-theme .df-home { background: var(--df-bg); }
body.df-theme .df-home-top .home-container { max-width: 100%; }
body.df-theme .df-home-content { padding-top: 28px; padding-bottom: 48px; }
body.df-theme .home_row { margin-left: -12px; margin-right: -12px; }
body.df-theme .box { margin-bottom: 38px; }
body.df-theme .box-heading, body.df-theme .hometab-heading {
  margin: 0 0 18px; padding: 0; border: 0; background: transparent; color: var(--df-ink);
  font-size: 24px; line-height: 1.25; font-weight: 750; letter-spacing: -.025em; text-transform: none;
}
body.df-theme .hometab .tab-head { border: 0; }

/* Product cards globally */
body.df-theme .product-block, body.df-theme .product-thumb {
  border: 1px solid var(--df-line) !important; border-radius: var(--df-radius) !important; background: #fff !important;
  box-shadow: none !important; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.df-theme .product-block:hover, body.df-theme .product-thumb:hover {
  transform: translateY(-3px); box-shadow: var(--df-shadow-hover) !important; border-color: #d9dee7 !important;
}
body.df-theme .product-block-inner { padding: 0; }
body.df-theme .product-thumb .image, body.df-theme .product-block .image { padding: 18px 18px 8px; background: #fff; }
body.df-theme .product-thumb .image img, body.df-theme .product-block .image img { max-height: 240px; margin: 0 auto; object-fit: contain; }
body.df-theme .product-details, body.df-theme .product-thumb .caption { padding: 14px 17px 17px !important; }
body.df-theme .product-thumb h4, body.df-theme .product-block h4 { margin: 5px 0 10px; min-height: 44px; font-size: 15px; line-height: 1.45; font-weight: 650; }
body.df-theme .product-thumb h4 a, body.df-theme .product-block h4 a { color: var(--df-ink); }
body.df-theme .product-thumb .price, body.df-theme .product-block .price { color: var(--df-ink); font-size: 18px; line-height: 1.25; font-weight: 750; margin: 10px 0 14px; }
body.df-theme .price-old { color: var(--df-soft) !important; font-size: 13px !important; font-weight: 500 !important; }
body.df-theme .price-new { color: var(--df-ink) !important; }
body.df-theme .price-tax { display: block; color: var(--df-soft); font-size: 11px; font-weight: 400; }
body.df-theme .product-thumb .rating, body.df-theme .product-block .rating { color: #f2b203; min-height: 18px; }
body.df-theme .product-thumb .fa-stack, body.df-theme .product-block .fa-stack { width: 13px; height: 14px; font-size: 7px; }
body.df-theme .product-thumb .addtocart, body.df-theme .product-block .addtocart {
  width: 100%; min-height: 43px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px !important;
}
body.df-theme .product-thumb .quickview-button, body.df-theme .product-thumb .compare,
body.df-theme .product-block .quickview-button, body.df-theme .product-block .compare { display: none !important; }
body.df-theme .product-thumb .wishlist, body.df-theme .product-block .wishlist {
  width: 38px; height: 38px; border-radius: 10px !important; border: 1px solid var(--df-line) !important; background: rgba(255,255,255,.96) !important;
}
body.df-theme .saleback .saleicon, body.df-theme .percentsaving {
  border: 0 !important; border-radius: 999px !important; padding: 6px 9px !important; background: #171a21 !important; color: #fff !important;
  font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase;
}

/* Categories */
body.df-theme .category_thumb { border: 0; border-radius: var(--df-radius); background: #fff; padding: 18px; margin: 0 0 22px; }
body.df-theme .category_img img { border: 0; border-radius: 12px; }
body.df-theme .category_description { color: var(--df-muted); }
body.df-theme .refine-search { font-size: 18px; margin: 22px 0 12px; }
body.df-theme .category_list ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 22px; padding: 0; }
body.df-theme .category_list li { margin: 0; padding: 0; list-style: none; }
body.df-theme .category_list a { display: inline-flex; padding: 9px 13px; border: 1px solid var(--df-line); border-radius: 999px; background: #fff; font-size: 13px; }
body.df-theme .category_filter {
  min-height: 64px; margin: 0 0 20px; padding: 10px 12px; border: 1px solid var(--df-line); border-radius: 14px; background: #fff;
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
body.df-theme .category_filter:before, body.df-theme .category_filter:after { display: none; }
body.df-theme .category_filter .btn-list-grid { width: auto; padding: 0; }
body.df-theme .category_filter .pagination-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
body.df-theme .category_filter .sort-by-wrapper, body.df-theme .category_filter .show-wrapper { display: flex; align-items: center; gap: 6px; }
body.df-theme .category_filter [class*="col-md-"] { width: auto; float: none; padding: 0; }
body.df-theme .category_filter .form-control { min-height: 40px; height: 40px; }
body.df-theme .compare-total { display: none; }
body.df-theme .cat_prod { margin-left: -10px; margin-right: -10px; display: flex; flex-wrap: wrap; }
body.df-theme .cat_prod .product-layout { padding: 10px; }
body.df-theme .product-layout.product-list { width: 25%; float: none; }
body.df-theme .product-layout.product-list .desc, body.df-theme .product-layout.product-list .list-rate { display: none !important; }
body.df-theme .pagination-wrapper { clear: both; margin-top: 24px; padding: 16px 0; border-top: 1px solid var(--df-line); }
body.df-theme .pagination > li > a, body.df-theme .pagination > li > span { border: 1px solid var(--df-line); color: var(--df-ink); margin: 0 3px; border-radius: 8px !important; }
body.df-theme .pagination > .active > span { background: var(--df-green); border-color: var(--df-green); color: #172000; }

/* Product page */
body.df-theme #product-product #content > .row { margin: 0 -12px; }
body.df-theme #product-product .product-left, body.df-theme #product-product .product-right { padding: 0 12px; }
body.df-theme #product-product .product-info { padding: 20px; border: 1px solid var(--df-line); border-radius: var(--df-radius); background: #fff; }
body.df-theme #product-product .product-image .image { border: 0; background: #fff; }
body.df-theme #product-product .product-image .thumbnail { border: 0; border-radius: 14px; margin: 0; padding: 12px; }
body.df-theme #product-product .product-image .thumbnail img { max-height: 520px; object-fit: contain; }
body.df-theme #product-product .additional-carousel { margin-top: 14px; }
body.df-theme #product-product .additional-carousel .product-block { border-radius: 10px !important; box-shadow: none !important; transform: none !important; }
body.df-theme #product-product .product-right { padding-left: 30px; }
body.df-theme #product-product .product-title { margin: 5px 0 13px; font-size: 30px; line-height: 1.2; font-weight: 750; text-transform: none; }
body.df-theme #product-product .rating-wrapper { margin: 0 0 16px; color: #f2b203; }
body.df-theme #product-product .attr { display: flex; flex-wrap: wrap; gap: 7px 16px; margin: 0 0 20px; padding-bottom: 18px; border-bottom: 1px solid var(--df-line); }
body.df-theme #product-product .attr li { color: var(--df-muted); font-size: 13px; }
body.df-theme #product-product .attr .desc { color: var(--df-soft); }
body.df-theme #product-product .product-option { margin: 0 0 14px; font-size: 17px; }
body.df-theme #product-product .form-group { margin-bottom: 16px; }
body.df-theme #product-product .radio label, body.df-theme #product-product .checkbox label {
  min-height: 42px; display: inline-flex; align-items: center; gap: 8px; margin: 4px 6px 4px 0; padding: 8px 12px;
  border: 1px solid var(--df-line); border-radius: 10px; background: #fff;
}
body.df-theme #product-product .price-cartbox {
  margin-top: 20px; padding: 20px; border: 1px solid var(--df-line); border-radius: var(--df-radius); background: #fff; box-shadow: var(--df-shadow);
}
body.df-theme #product-product ul.price { margin: 0 0 18px; }
body.df-theme #product-product .product-price, body.df-theme #product-product .special-price { margin: 0; font-size: 31px; line-height: 1.1; font-weight: 800; color: var(--df-ink); }
body.df-theme #product-product .old-price { color: var(--df-soft); font-size: 14px; }
body.df-theme #product-product .form-group.qty { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
body.df-theme #product-product .form-group.qty > .control-label { flex: 0 0 100%; margin: 0; }
body.df-theme #product-product .df-qty-stepper { height: 48px; display: inline-grid; grid-template-columns: 40px 52px 40px; border: 1px solid var(--df-line-strong); border-radius: 10px; overflow: hidden; background: #fff; }
body.df-theme #product-product .df-qty-stepper #input-quantity { width: 52px !important; height: 46px; border: 0 !important; border-radius: 0 !important; text-align: center; padding: 0; box-shadow: none !important; }
body.df-theme .df-qty-btn { border: 0; background: #f7f8fa; color: var(--df-ink); font-size: 18px; font-weight: 600; }
body.df-theme #product-product #button-cart { flex: 1 1 250px; min-height: 48px; border-radius: 10px; }
body.df-theme #product-product .wishlist, body.df-theme #product-product .compare { width: 48px; min-width: 48px; height: 48px; border-radius: 10px; }
body.df-theme #product-product .addthis_toolbox { display: none; }
body.df-theme #tabs_info { margin-top: 34px; padding: 0; border: 1px solid var(--df-line); border-radius: var(--df-radius); background: #fff; overflow: hidden; }
body.df-theme #tabs_info .nav-tabs { border-bottom: 1px solid var(--df-line); padding: 0 18px; background: #fff; }
body.df-theme #tabs_info .nav-tabs > li > a { border: 0; border-bottom: 2px solid transparent; padding: 15px 12px 13px; color: var(--df-muted); font-weight: 650; }
body.df-theme #tabs_info .nav-tabs > li.active > a { color: var(--df-ink); border-bottom-color: var(--df-green); background: transparent; }
body.df-theme #tabs_info .tab-content { padding: 24px; color: var(--df-muted); }

/* Tables and cart */
body.df-theme .table-responsive { border: 0; }
body.df-theme table.table { background: #fff; border-color: var(--df-line); }
body.df-theme .table > thead > tr > td, body.df-theme .table > thead > tr > th { background: #f8f9fb; color: var(--df-muted); font-size: 11px; font-weight: 700; text-transform: none; border-color: var(--df-line); padding: 13px; }
body.df-theme .table > tbody > tr > td { border-color: var(--df-line); padding: 14px; vertical-align: middle; }
body.df-theme #checkout-cart .shopping-cart { border: 1px solid var(--df-line); border-radius: 16px; overflow: hidden; box-shadow: var(--df-shadow); }
body.df-theme #checkout-cart .shopping-cart tbody tr:hover { background: #fbfcfd; }
body.df-theme #checkout-cart .shopping-cart .img-thumbnail { width: 78px; max-height: 78px; object-fit: contain; border: 1px solid var(--df-line); border-radius: 10px; padding: 6px; }
body.df-theme #checkout-cart .shopping-cart a { font-weight: 650; color: var(--df-ink); }
body.df-theme #checkout-cart .shopping-cart small { color: var(--df-muted); }
body.df-theme #checkout-cart .input-group.btn-block { max-width: 170px !important; display: flex; }
body.df-theme #checkout-cart .input-group.btn-block .form-control { width: 58px; text-align: center; border-radius: 9px 0 0 9px; }
body.df-theme #checkout-cart .input-group-btn { display: flex; width: auto; }
body.df-theme #checkout-cart .input-group-btn .btn { min-width: 42px; padding: 8px 11px; border-radius: 0; }
body.df-theme #checkout-cart .input-group-btn .btn:last-child { border-radius: 0 9px 9px 0; }
body.df-theme #checkout-cart #accordion { margin: 22px 0; }
body.df-theme #checkout-cart #accordion .panel { border: 1px solid var(--df-line); border-radius: 12px; box-shadow: none; overflow: hidden; margin-bottom: 10px; }
body.df-theme #checkout-cart #accordion .panel-heading { background: #fff; border: 0; padding: 15px 17px; }
body.df-theme #checkout-cart #accordion .panel-title { font-size: 14px; font-weight: 650; }
body.df-theme #checkout-cart #accordion .panel-body { border-top: 1px solid var(--df-line); padding: 18px; }
body.df-theme #checkout-cart .row > .col-sm-4.col-sm-offset-8 { padding-top: 10px; }
body.df-theme #checkout-cart .row > .col-sm-4.col-sm-offset-8 .table { border: 1px solid var(--df-line); border-radius: 14px; overflow: hidden; box-shadow: var(--df-shadow); }
body.df-theme #checkout-cart .buttons { margin-top: 22px; }

/* Bundle cart row compatibility */
body.df-theme #checkout-cart .dfb-cart-row td { background: #fff !important; }
body.df-theme .dfb-cart-title, body.df-theme .dfb-cart-name { color: var(--df-ink) !important; }

/* Checkout / account / information */
body.df-theme .panel { border: 1px solid var(--df-line); border-radius: var(--df-radius); box-shadow: none; overflow: hidden; }
body.df-theme .panel-default > .panel-heading { background: #fff; border-color: var(--df-line); color: var(--df-ink); padding: 15px 18px; }
body.df-theme .panel-body { padding: 20px; }
body.df-theme .well { background: #fff; border: 1px solid var(--df-line); border-radius: var(--df-radius); box-shadow: none; padding: 22px; }
body.df-theme .nav-tabs { border-bottom-color: var(--df-line); }
body.df-theme .alert { border: 0; border-radius: 11px; padding: 13px 16px; }
body.df-theme .alert-success { background: var(--df-success-soft); color: var(--df-success); }
body.df-theme .alert-danger { background: var(--df-danger-soft); color: var(--df-danger); }

/* Footer */
body.df-theme .df-footer { margin-top: 0; background: #15191f; color: #aeb5c0; border: 0; }
body.df-theme .df-footer-main { padding-top: 52px; padding-bottom: 42px; }
body.df-theme .df-footer-grid { display: flex; flex-wrap: wrap; }
body.df-theme .df-footer-column { padding-right: 28px; }
body.df-theme .df-footer-brand { color: #fff; font-size: 22px; font-weight: 800; letter-spacing: .04em; margin-bottom: 8px; }
body.df-theme .df-footer-tagline { max-width: 270px; color: #8f98a5; font-size: 13px; line-height: 1.65; margin-bottom: 16px; }
body.df-theme .df-footer h5 { margin: 0 0 16px; color: #fff; font-size: 14px; letter-spacing: 0; text-transform: none; }
body.df-theme .df-footer ul li { margin: 0 0 9px; }
body.df-theme .df-footer a { color: #aeb5c0; font-size: 13px; }
body.df-theme .df-footer a:hover { color: #fff; }
body.df-theme .df-footer .newsletter, body.df-theme .df-footer .footer-newsletter { background: transparent; }
body.df-theme .df-footer .form-control { background: #20262e; color: #fff; border-color: #303842; }
body.df-theme .df-footer-bottom { border-top: 1px solid #282e36; }
body.df-theme .df-footer-bottom-inner { min-height: 68px; display: flex; align-items: center; gap: 24px; justify-content: space-between; color: #7f8895; font-size: 12px; }
body.df-theme .df-footer-bottom-links { display: flex; gap: 18px; }
body.df-theme .df-footer-extra { display: none; }

/* Bundle surfaces inherit full theme */
body.df-theme .dfb-parent, body.df-theme .dfb-widget, body.df-theme .dfb-contents { font-family: inherit !important; }
body.df-theme .dfb-parent { box-shadow: var(--df-shadow) !important; }

/* Mobile */
@media (max-width: 991px) {
  body.df-theme .container { padding-left: 16px; padding-right: 16px; }
  .df-topbar { display: none; }
  .df-site-header { position: sticky; top: 0; }
  body.df-theme .df-header-top, body.df-theme .header-top { min-height: 66px; gap: 10px; padding: 9px 0; }
  body.df-theme #logo img { max-width: 165px; max-height: 42px; }
  body.df-theme .head-right-bottom { gap: 8px; }
  body.df-theme .head-right-bottom > #search { flex: 1 1 250px; }
  body.df-theme .myaccount > a span, body.df-theme #cart-total { display: none !important; }
  body.df-theme .nav-container .nav-inner { display: none; }
  body.df-theme #res-menu { display: block; padding: 0 16px; background: #fff; border-top: 1px solid var(--df-line); }
  body.df-theme #res-menu .nav-responsive { min-height: 46px; display: flex; align-items: center; color: var(--df-ink); font-size: 14px; font-weight: 650; }
  body.df-theme #res-menu .main-navigation { background: #fff; border: 1px solid var(--df-line); border-radius: 12px; box-shadow: var(--df-shadow-hover); padding: 10px; }
  body.df-theme .product-layout.product-list { width: 33.3333%; }
  body.df-theme #product-product .product-right { padding-left: 12px; margin-top: 18px; }
}

@media (max-width: 767px) {
  body.df-theme { font-size: 14px; }
  body.df-theme h1, body.df-theme .page-title { font-size: 26px; margin-bottom: 18px; }
  body.df-theme .df-header-top, body.df-theme .header-top { flex-wrap: wrap; }
  body.df-theme .header-logo { order: 1; }
  body.df-theme .head-right-bottom { order: 2; flex: 1 1 auto; }
  body.df-theme .head-right-bottom > #search { order: 3; flex: 0 0 100%; max-width: none; margin-top: 3px; }
  body.df-theme .df-header-top, body.df-theme .header-top { padding-bottom: 11px; }
  body.df-theme .product-layout.product-list { width: 50%; }
  body.df-theme .category_filter { display: block; }
  body.df-theme .category_filter .pagination-right { margin: 10px 0 0; display: flex; flex-wrap: wrap; }
  body.df-theme #product-product .product-title { font-size: 25px; }
  body.df-theme #product-product .product-price, body.df-theme #product-product .special-price { font-size: 28px; }
  body.df-theme #tabs_info .nav-tabs { display: flex; overflow-x: auto; white-space: nowrap; }
  body.df-theme #checkout-cart .shopping-cart thead { display: none; }
  body.df-theme #checkout-cart .shopping-cart, body.df-theme #checkout-cart .shopping-cart tbody, body.df-theme #checkout-cart .shopping-cart tr, body.df-theme #checkout-cart .shopping-cart td { display: block; width: 100%; }
  body.df-theme #checkout-cart .shopping-cart tr { position: relative; padding: 16px; border-bottom: 1px solid var(--df-line); }
  body.df-theme #checkout-cart .shopping-cart td { border: 0 !important; padding: 5px 0 !important; text-align: left !important; }
  body.df-theme #checkout-cart .shopping-cart td.text-center:first-child { width: 92px; float: left; margin-right: 14px; }
  body.df-theme #checkout-cart .shopping-cart tr:after { content: ""; display: block; clear: both; }
  body.df-theme #checkout-cart .row > .col-sm-4.col-sm-offset-8 { width: 100%; margin: 0; }
  body.df-theme #checkout-cart .buttons .pull-left, body.df-theme #checkout-cart .buttons .pull-right { float: none !important; width: 100%; margin: 8px 0; }
  body.df-theme #checkout-cart .buttons .btn { width: 100%; }
  body.df-theme .df-footer-grid { display: block; }
  body.df-theme .df-footer-column { margin-bottom: 28px; }
  body.df-theme .df-footer-bottom-inner { padding-top: 18px; padding-bottom: 18px; display: block; }
  body.df-theme .df-footer-bottom-links { margin-top: 10px; flex-wrap: wrap; }
}

@media (max-width: 479px) {
  body.df-theme .product-layout.product-list { width: 100%; }
  body.df-theme .product-thumb .image img, body.df-theme .product-block .image img { max-height: 280px; }
  body.df-theme .header-logo { flex: 1 1 auto; }
  body.df-theme #logo img { max-width: 145px; }
}

/* =========================================================
   Dentfriend Theme 2026 — v1.1.0 beta structural refresh
   ========================================================= */
body.df-theme { background:#f5f7fa; color:#151820; }
body.df-theme .container { max-width:1280px; }

/* Header 2.0 */
body.df-theme .df-site-header { position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.97); border-bottom:1px solid #e7ebf0; box-shadow:0 8px 24px rgba(20,28,38,.03); backdrop-filter:blur(12px); }
body.df-theme .df-header-shell { padding-top:0; padding-bottom:0; }
body.df-theme .df-header-row { min-height:78px; display:grid; grid-template-columns:270px minmax(360px,1fr) auto; gap:28px; align-items:center; }
body.df-theme .df-brand { display:inline-flex; align-items:center; gap:11px; color:#151820 !important; text-decoration:none; min-width:0; }
body.df-theme .df-brand-mark { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#9bd600; color:#172000; font-size:15px; font-weight:850; letter-spacing:-.04em; }
body.df-theme .df-brand-copy { display:flex; flex-direction:column; min-width:0; line-height:1.05; }
body.df-theme .df-brand-copy strong { font-size:20px; font-weight:850; letter-spacing:.035em; color:#171a21; }
body.df-theme .df-brand-copy small { margin-top:5px; color:#808895; font-size:11px; font-weight:550; letter-spacing:.015em; }
body.df-theme .df-header-search { width:100%; }
body.df-theme .df-header-search #search { margin:0; width:100%; position:relative; }
body.df-theme .df-header-search #search .search_button { display:none !important; }
body.df-theme .df-header-search #search .search_toggle { position:static !important; display:block !important; opacity:1 !important; visibility:visible !important; width:100% !important; }
body.df-theme .df-header-search #searchbox { display:flex; width:100%; }
body.df-theme .df-header-search #search input { height:48px; border:1px solid #e2e6ec; border-right:0; border-radius:13px 0 0 13px !important; background:#f7f9fb; padding:0 16px; color:#171a21; box-shadow:none; }
body.df-theme .df-header-search #search input:focus { background:#fff; border-color:#b8c1cd; }
body.df-theme .df-header-search #search .input-group-btn .btn { height:48px; min-width:52px; margin:0; border:1px solid #e2e6ec; border-left:0; border-radius:0 13px 13px 0 !important; background:#f7f9fb; color:#4f5968; }
body.df-theme .df-header-actions { display:flex; align-items:center; gap:9px; }
body.df-theme .df-icon-btn { width:46px; height:46px; display:grid !important; place-items:center; padding:0 !important; border:1px solid #e2e6ec; border-radius:13px; background:#fff; color:#242a34 !important; }
body.df-theme .df-icon-btn:hover { background:#f7f9fb; border-color:#cfd6df; color:#171a21 !important; }
body.df-theme .df-icon-btn svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.df-theme .myaccount { margin:0; width:auto; height:auto; }
body.df-theme .myaccount-menu { min-width:230px; padding:9px; border:1px solid #e3e7ed; border-radius:13px; box-shadow:0 16px 50px rgba(17,24,39,.12); }
body.df-theme .myaccount-menu > li > a { padding:9px 11px; border-radius:8px; font-size:13px; }
body.df-theme .header-cart { margin:0; width:auto; }
body.df-theme #cart { margin:0; min-width:46px; }
body.df-theme #cart > button { width:46px; height:46px; min-width:46px; min-height:46px !important; padding:0 !important; border:1px solid #e2e6ec !important; border-radius:13px !important; background:#fff !important; color:#242a34 !important; position:relative; overflow:visible; }
body.df-theme #cart > button > i { font-size:18px; }
body.df-theme #cart-total { position:absolute; right:-6px; top:-6px; min-width:20px; height:20px; padding:0 5px; display:flex !important; align-items:center; justify-content:center; border-radius:999px; background:#9bd600; color:#172000; font-size:10px; font-weight:800; line-height:20px; white-space:nowrap; }
body.df-theme #cart .dropdown-menu { width:440px; max-width:calc(100vw - 32px); max-height:min(650px,calc(100vh - 110px)); overflow:auto; margin-top:12px; padding:12px; border:1px solid #e2e6ec; border-radius:16px; box-shadow:0 22px 60px rgba(15,23,42,.16); }
body.df-theme #cart .dropdown-menu .table { margin:0; table-layout:auto; }
body.df-theme #cart .dropdown-menu .table > tbody > tr > td { padding:10px 7px; border-top:1px solid #eef1f4; vertical-align:middle; font-size:12px; }
body.df-theme #cart .dropdown-menu .table > tbody > tr:first-child > td { border-top:0; }
body.df-theme #cart .dropdown-menu .img-thumbnail { width:48px !important; height:48px; object-fit:contain; border:1px solid #edf0f3 !important; border-radius:9px; padding:4px; }
body.df-theme #cart .dropdown-menu .dfb-mini-row td:nth-child(2) { min-width:185px; }
body.df-theme #cart .dropdown-menu .dfb-mini-row a { display:block; line-height:1.35; }
body.df-theme #cart .dropdown-menu .dfb-mini-row small { display:block; margin-top:3px; color:#7b8491; line-height:1.35; }
body.df-theme #cart .button-container { display:flex; gap:8px; justify-content:stretch; margin:10px 0 0; }
body.df-theme #cart .button-container a { flex:1 1 0; margin:0 !important; float:none !important; }
body.df-theme .df-nav-wrap { border-top:1px solid #eef1f4; background:#fff; }
body.df-theme .df-nav-wrap .nav-container { border:0; background:#fff !important; }
body.df-theme .df-nav-wrap .nav-inner { max-width:1280px; margin:0 auto; padding:0 24px; }
body.df-theme #menu > ul.nav { justify-content:center; gap:2px; }
body.df-theme #menu > ul.nav > li > a { min-height:46px; padding:0 15px; font-size:13px; font-weight:650; }

/* New homepage */
body.df-theme .df-home-top .main-slider { display:none !important; }
body.df-theme .df-hero { position:relative; overflow:hidden; padding:54px 0 46px; background:linear-gradient(135deg,#f9fbfd 0%,#f3f7fb 58%,#f4f9eb 100%); border-bottom:1px solid #e7ebf0; }
body.df-theme .df-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); gap:70px; align-items:center; }
body.df-theme .df-eyebrow { display:inline-block; color:#2454c6; font-size:11px; line-height:1.2; font-weight:800; letter-spacing:.08em; }
body.df-theme .df-hero h1 { max-width:780px; margin:12px 0 18px; font-size:48px; line-height:1.04; letter-spacing:-.045em; font-weight:820; }
body.df-theme .df-hero-copy > p { max-width:700px; margin:0 0 26px; color:#626c7a; font-size:17px; line-height:1.7; }
body.df-theme .df-hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
body.df-theme .df-hero-actions .btn { min-height:50px; padding:14px 22px; }
body.df-theme .df-hero-promo { margin-top:26px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; color:#697382; font-size:13px; }
body.df-theme .df-hero-promo strong { display:inline-grid; place-items:center; min-width:44px; height:28px; padding:0 8px; border-radius:999px; background:#171a21; color:#fff; font-size:12px; }
body.df-theme .df-hero-promo > span { width:1px; height:17px; background:#ccd2da; margin:0 6px; }
body.df-theme .df-hero-visual { position:relative; min-height:360px; }
body.df-theme .df-hero-orb { position:absolute; border-radius:999px; filter:blur(.2px); }
body.df-theme .df-orb-a { width:300px; height:300px; right:20px; top:15px; background:linear-gradient(145deg,#dff0b6,#a9dc28); opacity:.85; }
body.df-theme .df-orb-b { width:220px; height:220px; left:12px; bottom:5px; background:linear-gradient(145deg,#dfe8ff,#89a8ef); opacity:.8; }
body.df-theme .df-hero-panel { position:absolute; right:48px; top:73px; width:310px; padding:26px; border:1px solid rgba(255,255,255,.75); border-radius:22px; background:rgba(255,255,255,.86); box-shadow:0 24px 60px rgba(31,41,55,.12); backdrop-filter:blur(12px); }
body.df-theme .df-hero-panel span { display:inline-block; padding:6px 9px; border-radius:999px; background:#f1f5ff; color:#2454c6; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
body.df-theme .df-hero-panel strong { display:block; margin:18px 0 8px; font-size:24px; line-height:1.15; letter-spacing:-.03em; }
body.df-theme .df-hero-panel small { color:#737d89; font-size:13px; line-height:1.55; }
body.df-theme .df-hero-stat { position:absolute; left:12px; bottom:30px; min-width:154px; padding:18px 20px; border-radius:17px; background:#171a21; color:#fff; box-shadow:0 20px 45px rgba(23,26,33,.18); }
body.df-theme .df-hero-stat strong { display:block; font-size:30px; line-height:1; }
body.df-theme .df-hero-stat span { display:block; margin-top:6px; color:#bbc1ca; font-size:12px; }
body.df-theme .df-trust-strip { background:#fff; border-bottom:1px solid #e7ebf0; }
body.df-theme .df-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
body.df-theme .df-trust-grid > div { padding:22px 20px; border-right:1px solid #edf0f3; }
body.df-theme .df-trust-grid > div:last-child { border-right:0; }
body.df-theme .df-trust-grid b { display:block; color:#222833; font-size:13px; }
body.df-theme .df-trust-grid span { display:block; margin-top:3px; color:#89919c; font-size:12px; }
body.df-theme .df-home-content { padding-top:44px; padding-bottom:32px; }
body.df-theme .df-home .box-heading, body.df-theme .df-home .hometab-heading { font-size:28px; }
body.df-theme .df-home-about { padding:24px 0 64px; }
body.df-theme .df-home-about-card { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; padding:38px 42px; border:1px solid #e4e8ed; border-radius:22px; background:#fff; box-shadow:0 12px 40px rgba(21,29,39,.05); }
body.df-theme .df-home-about-card h2 { margin:10px 0 0; font-size:31px; line-height:1.18; }
body.df-theme .df-about-points { display:grid; gap:12px; }
body.df-theme .df-about-points p { margin:0; padding:15px 0; border-bottom:1px solid #edf0f3; color:#66707d; }
body.df-theme .df-about-points p:last-child { border-bottom:0; }
body.df-theme .df-about-points b { color:#232933; }
body.df-theme .df-legacy-about-block, body.df-theme .df-legacy-promo-block { display:none !important; }

/* Product cards 2.0 */
body.df-theme .product-block, body.df-theme .product-thumb { height:100%; display:flex; flex-direction:column; border-color:#e3e7ec !important; border-radius:18px !important; box-shadow:0 5px 20px rgba(20,28,38,.035) !important; }
body.df-theme .product-block:hover, body.df-theme .product-thumb:hover { transform:translateY(-4px); box-shadow:0 18px 46px rgba(20,28,38,.09) !important; }
body.df-theme .product-block-inner { height:100%; display:flex; flex-direction:column; }
body.df-theme .product-thumb .image, body.df-theme .product-block .image { position:relative; display:flex; align-items:center; justify-content:center; min-height:235px; padding:20px; border-bottom:1px solid #f0f2f5; }
body.df-theme .product-thumb .image img, body.df-theme .product-block .image img { max-height:205px; width:auto; object-fit:contain; }
body.df-theme .product-details, body.df-theme .product-thumb .caption { flex:1 1 auto; padding:15px 17px 18px !important; background:#fff !important; text-align:left; }
body.df-theme .product-thumb h4, body.df-theme .product-block h4 { min-height:42px; margin:5px 0 6px; font-size:15px; line-height:1.4; }
body.df-theme .product-thumb .rating, body.df-theme .product-block .rating { min-height:0; margin:0 0 8px; }
body.df-theme .product-thumb .rating.df-rating-empty, body.df-theme .product-block .rating.df-rating-empty { display:none !important; }
body.df-theme .product-thumb .price, body.df-theme .product-block .price { margin:8px 0 0; font-size:19px; font-weight:800; }
body.df-theme .product-thumb .button-group, body.df-theme .product-block .button-group { position:static !important; opacity:1 !important; visibility:visible !important; height:auto !important; bottom:auto !important; width:auto !important; padding:0 17px 17px; background:#fff !important; }
body.df-theme .product-thumb .button-group .top-btn, body.df-theme .product-block .button-group .top-btn { display:flex; gap:7px; }
body.df-theme .product-thumb .button-group .addtocart, body.df-theme .product-block .button-group .addtocart { order:-1; flex:1 1 auto; width:auto; height:42px; min-height:42px; padding:0 14px; border:0 !important; border-radius:10px !important; background:#9bd600 !important; color:#172000 !important; font-size:13px !important; font-weight:750; text-transform:none; }
body.df-theme .product-thumb .button-group .addtocart span, body.df-theme .product-block .button-group .addtocart span { display:inline !important; }
body.df-theme .product-thumb .button-group .wishlist, body.df-theme .product-block .button-group .wishlist { position:static !important; flex:0 0 42px; width:42px; height:42px; border:1px solid #e1e6ec !important; border-radius:10px !important; background:#fff !important; }
body.df-theme .product-thumb .button-group .compare, body.df-theme .product-block .button-group .compare, body.df-theme .quickview-button { display:none !important; }
body.df-theme .df-card-bundle-badge { position:absolute; left:14px; top:14px; z-index:4; padding:6px 9px; border-radius:999px; background:#f0f5ff; color:#2454c6; font-size:10px; font-weight:800; letter-spacing:.04em; }
body.df-theme .df-card-bundle-price { display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; }
body.df-theme .df-card-bundle-price .df-card-old { color:#9aa1ab; font-size:12px; font-weight:500; text-decoration:line-through; }
body.df-theme .df-card-bundle-price strong { color:#171a21; font-size:19px; }
body.df-theme .df-card-save { display:inline-flex; margin-top:5px; padding:4px 7px; border-radius:999px; background:#edf8ef; color:#25823a; font-size:10px; font-weight:750; }

/* Product pages */
body.df-theme #product-product { padding-top:34px; }
body.df-theme #product-product .product-info { padding:16px; border-radius:20px; box-shadow:0 8px 30px rgba(20,28,38,.04); }
body.df-theme #product-product .product-right { padding-left:36px; }
body.df-theme #product-product .product-title { font-size:34px; }
body.df-theme #product-product .price-cartbox { border-radius:18px; padding:22px; }
body.df-theme #product-product.df-no-product-image .product-left { display:none !important; }
body.df-theme #product-product.df-no-product-image .product-right { width:100% !important; float:none !important; padding-left:12px; max-width:760px; margin:0 auto; }
body.df-theme #product-product.df-no-product-image .product-right .product-title, body.df-theme #product-product.df-no-product-image .product-right .attr { text-align:left; }

/* Bundle system 2.0 */
body.df-theme .df2026-bundle-parent, body.df-theme .dfb-parent { border:1px solid #dfe5ed !important; border-radius:20px !important; background:#fff !important; box-shadow:0 12px 38px rgba(20,28,38,.06) !important; padding:24px !important; }
body.df-theme .dfb-topline { display:flex; align-items:center; justify-content:space-between; gap:14px; }
body.df-theme .dfb-badge { display:inline-flex; padding:6px 9px; border-radius:999px; background:#eef4ff !important; color:#2454c6 !important; font-size:10px !important; font-weight:800 !important; letter-spacing:.045em; }
body.df-theme .dfb-main-price { display:flex; align-items:baseline; gap:12px; margin-top:18px; }
body.df-theme .dfb-main-price strong { font-size:34px !important; line-height:1; }
body.df-theme .dfb-save { display:inline-flex; margin-top:8px; padding:5px 9px; border-radius:999px; background:#edf8ef !important; color:#25823a !important; font-size:12px; font-weight:700; }
body.df-theme .dfb-stock { margin-top:16px; padding-top:14px; border-top:1px solid #edf0f3; }
body.df-theme .dfb-config { margin-top:18px; padding-top:18px; border-top:1px solid #edf0f3; }
body.df-theme .dfb-config-title { font-size:17px; font-weight:750; margin-bottom:18px; }
body.df-theme .dfb-config-item { margin-bottom:18px; }
body.df-theme .dfb-option-pills { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
body.df-theme .dfb-pill span { min-width:42px; min-height:40px; display:flex; align-items:center; justify-content:center; padding:8px 11px; border:1px solid #dce2e9; border-radius:10px; background:#fff; color:#252b35; font-weight:650; }
body.df-theme .dfb-pill input:checked + span { border-color:#7cae00; background:#f5fae8; box-shadow:0 0 0 2px rgba(155,214,0,.15); }
body.df-theme .dfb-buy-row { margin-top:20px; padding-top:18px; border-top:1px solid #edf0f3; display:flex; align-items:end; gap:10px; }
body.df-theme .dfb-buy-row .dfb-add { flex:1 1 auto; min-height:48px; }
body.df-theme .df2026-bundle-widget, body.df-theme .dfb-widget { border:1px solid #dfe5ed !important; border-radius:18px !important; background:#fff !important; box-shadow:0 10px 32px rgba(20,28,38,.05); padding:18px !important; }
body.df-theme .dfb-widget-title { margin-bottom:12px; }
body.df-theme .dfb-widget-title span { display:block; color:#2454c6; font-size:10px; font-weight:800; letter-spacing:.06em; }
body.df-theme .dfb-widget-title strong { display:block; margin-top:3px; font-size:17px; }
body.df-theme .dfb-widget-card { border:1px solid #e5e9ef !important; border-radius:13px !important; padding:12px !important; }
body.df-theme .df2026-bundle-contents { margin-top:28px; border:1px solid #e1e6ec; border-radius:20px; background:#fff; padding:24px; }

/* Cart 2.0 */
body.df-theme .df-cart-page { padding-top:28px; padding-bottom:64px; }
body.df-theme .df-cart-page > .breadcrumb { margin-bottom:18px; }
body.df-theme .df-cart-head { margin-bottom:18px; }
body.df-theme .df-cart-head .page-title { margin:7px 0 0; font-size:34px; }
body.df-theme .df-cart-head .page-title small { color:#8b929d; font-size:13px; font-weight:500; }
body.df-theme .df-cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:24px; align-items:start; }
body.df-theme .df-cart-main { min-width:0; }
body.df-theme .df-cart-products { overflow:hidden; border:1px solid #e1e6ec; border-radius:18px; background:#fff; box-shadow:0 8px 30px rgba(20,28,38,.04); }
body.df-theme .df-cart-products .shopping-cart { margin:0; border:0 !important; box-shadow:none !important; }
body.df-theme .df-cart-products .shopping-cart > thead { display:none; }
body.df-theme .df-cart-products .shopping-cart > tbody > tr > td { padding:18px 12px; border-top:1px solid #edf0f3; }
body.df-theme .df-cart-products .shopping-cart > tbody > tr:first-child > td { border-top:0; }
body.df-theme .df-cart-product-name { display:block; margin-bottom:5px; font-size:15px; font-weight:750 !important; }
body.df-theme .df-cart-option { display:block; color:#7c8591; font-size:12px; }
body.df-theme .df-cart-model { color:#78818d; font-size:12px; }
body.df-theme .df-cart-line-total { font-size:15px; white-space:nowrap; }
body.df-theme .df-cart-unit { white-space:nowrap; }
body.df-theme .df-cart-coupon { margin-top:14px; }
body.df-theme .df-cart-coupon #accordion { margin:0 !important; }
body.df-theme .df-cart-coupon .panel { border-radius:13px !important; }
body.df-theme .df-cart-continue { display:inline-flex; margin-top:18px; color:#69727f !important; font-size:13px; font-weight:650; }
body.df-theme .df-cart-summary { position:sticky; top:150px; padding:24px; border:1px solid #e0e5eb; border-radius:18px; background:#fff; box-shadow:0 12px 36px rgba(20,28,38,.055); }
body.df-theme .df-cart-summary h2 { margin:6px 0 20px; font-size:22px; }
body.df-theme .df-summary-lines { display:grid; gap:0; }
body.df-theme .df-summary-line { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid #edf0f3; color:#727b87; font-size:13px; }
body.df-theme .df-summary-line strong { color:#252b34; font-size:13px; }
body.df-theme .df-summary-line.is-total { margin-top:4px; padding:17px 0 4px; border-bottom:0; color:#171a21; font-size:15px; }
body.df-theme .df-summary-line.is-total strong { font-size:24px; font-weight:850; }
body.df-theme .df-checkout-btn { width:100%; margin-top:22px; min-height:50px; }
body.df-theme .df-summary-note { margin:12px 0 0; color:#939aa4; font-size:11px; line-height:1.45; text-align:center; }
body.df-theme .dfb-cart-row .dfb-cart-name { display:block; margin:6px 0 7px; font-size:15px; font-weight:750; }
body.df-theme .dfb-cart-row .dfb-cart-items { margin-top:9px; color:#75808d; }
body.df-theme .dfb-cart-row .dfb-cart-type { display:inline-flex; padding:5px 7px; border-radius:999px; background:#eff5ff; color:#2454c6; font-size:9px; font-weight:800; }

/* Footer refinement */
body.df-theme .df-footer { background:#14181e; }
body.df-theme .df-footer-main { padding-top:48px; padding-bottom:38px; }
body.df-theme .df-footer-brand { font-size:20px; letter-spacing:.05em; }

@media (max-width: 991px) {
  body.df-theme .df-header-row { grid-template-columns:1fr auto; gap:12px; min-height:70px; }
  body.df-theme .df-brand { grid-column:1; }
  body.df-theme .df-header-actions { grid-column:2; }
  body.df-theme .df-header-search { grid-column:1 / -1; grid-row:2; padding-bottom:12px; }
  body.df-theme .df-header-row { padding-top:10px; }
  body.df-theme .df-wishlist-btn { display:none !important; }
  body.df-theme .df-nav-wrap .nav-inner { display:none; }
  body.df-theme .df-hero-grid { grid-template-columns:1fr; gap:25px; }
  body.df-theme .df-hero-visual { display:none; }
  body.df-theme .df-hero h1 { font-size:40px; }
  body.df-theme .df-trust-grid { grid-template-columns:repeat(2,1fr); }
  body.df-theme .df-home-about-card { grid-template-columns:1fr; gap:20px; }
  body.df-theme .df-cart-layout { grid-template-columns:1fr; }
  body.df-theme .df-cart-summary { position:static; }
}

@media (max-width: 767px) {
  body.df-theme .container { padding-left:14px; padding-right:14px; }
  body.df-theme .df-brand-mark { width:38px; height:38px; border-radius:11px; }
  body.df-theme .df-brand-copy strong { font-size:17px; }
  body.df-theme .df-brand-copy small { display:none; }
  body.df-theme .df-icon-btn, body.df-theme #cart > button { width:42px; height:42px; min-width:42px; min-height:42px !important; }
  body.df-theme #cart .dropdown-menu { position:fixed; left:12px !important; right:12px !important; top:72px !important; width:auto; max-width:none; max-height:calc(100vh - 96px); }
  body.df-theme .df-hero { padding:38px 0 34px; }
  body.df-theme .df-hero h1 { font-size:34px; }
  body.df-theme .df-hero-copy > p { font-size:15px; }
  body.df-theme .df-hero-actions .btn { width:100%; }
  body.df-theme .df-hero-promo > span { display:none; }
  body.df-theme .df-trust-grid { grid-template-columns:1fr 1fr; }
  body.df-theme .df-trust-grid > div { padding:16px 10px; }
  body.df-theme .df-home-about-card { padding:26px 22px; }
  body.df-theme .df-home-about-card h2 { font-size:26px; }
  body.df-theme .product-layout.product-list { width:50%; }
  body.df-theme .product-thumb .image, body.df-theme .product-block .image { min-height:190px; }
  body.df-theme .product-thumb .image img, body.df-theme .product-block .image img { max-height:165px; }
  body.df-theme #product-product .product-title { font-size:28px; }
  body.df-theme #product-product .product-right { padding-left:12px; }
  body.df-theme .dfb-buy-row { display:block; }
  body.df-theme .dfb-buy-row .dfb-add { width:100%; margin-top:10px; }
  body.df-theme .df-cart-products { border-radius:14px; }
  body.df-theme .df-cart-products .shopping-cart, body.df-theme .df-cart-products .shopping-cart tbody, body.df-theme .df-cart-products .shopping-cart tr, body.df-theme .df-cart-products .shopping-cart td { display:block; width:100%; }
  body.df-theme .df-cart-products .shopping-cart tr { padding:16px; border-bottom:1px solid #edf0f3; }
  body.df-theme .df-cart-products .shopping-cart td { border:0 !important; padding:5px 0 !important; text-align:left !important; }
  body.df-theme .df-cart-products .shopping-cart td:first-child { width:80px; float:left; margin-right:12px; }
  body.df-theme .df-cart-products .shopping-cart tr:after { content:""; display:block; clear:both; }
  body.df-theme .df-cart-summary { padding:20px; border-radius:14px; }
}

@media (max-width: 479px) {
  body.df-theme .product-layout.product-list { width:100%; }
  body.df-theme .df-trust-grid { grid-template-columns:1fr; }
  body.df-theme .df-trust-grid > div { border-right:0; border-bottom:1px solid #edf0f3; }
}

/* =========================================================
   Dentfriend Theme 2026 — v1.2.0 RC1
   Structural homepage + real brand + cleaner catalogue
   ========================================================= */
body.df-theme { --df-page:#f4f7fa; --df-white:#fff; }

/* Real store logo */
body.df-theme .df-brand-logo { display:flex; align-items:center; justify-content:center; min-width:188px; min-height:50px; padding:7px 14px; border-radius:14px; background:#171b21; overflow:hidden; }
body.df-theme .df-brand-logo img { display:block; max-width:172px; max-height:38px; width:auto; height:auto; object-fit:contain; }

/* Home: use the store's real slideshow/banner instead of a decorative empty hero */
body.df-theme .df26-hero { padding:30px 0 26px; background:linear-gradient(135deg,#f8fafc 0%,#f1f5f8 52%,#f4f8e9 100%); border-bottom:1px solid #e5eaf0; }
body.df-theme .df26-hero-shell { display:grid; grid-template-columns:minmax(380px,.92fr) minmax(520px,1.08fr); gap:30px; align-items:stretch; min-height:490px; }
body.df-theme .df26-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:44px 20px 44px 4px; min-width:0; }
body.df-theme .df26-kicker { display:inline-flex; width:max-content; max-width:100%; color:#2454c6; font-size:10px; font-weight:850; letter-spacing:.105em; line-height:1.2; }
body.df-theme .df26-hero-copy h1 { margin:14px 0 18px; max-width:590px; color:#151820; font-size:48px; line-height:1.03; font-weight:850; letter-spacing:-.045em; }
body.df-theme .df26-hero-copy > p { margin:0 0 25px; max-width:570px; color:#626d79; font-size:16px; line-height:1.68; }
body.df-theme .df26-hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
body.df-theme .df26-hero-actions .btn { min-height:48px; padding:13px 20px; border-radius:11px; font-size:13px; font-weight:750; }
body.df-theme .df26-hero-notes { display:flex; gap:8px 18px; flex-wrap:wrap; margin-top:28px; color:#76818e; font-size:11px; }
body.df-theme .df26-hero-notes span { display:inline-flex; align-items:center; gap:5px; }
body.df-theme .df26-hero-notes b { color:#232933; font-size:12px; }
body.df-theme .df26-hero-media { position:relative; min-width:0; padding:12px 0; }
body.df-theme .df26-slider-frame { position:relative; height:100%; min-height:466px; overflow:hidden; border:1px solid rgba(217,224,232,.95); border-radius:24px; background:#fff; box-shadow:0 22px 62px rgba(24,32,42,.10); }
body.df-theme .df26-slider-frame .main-slider { display:block !important; height:100%; margin:0 !important; padding:0 !important; background:#fff; }
body.df-theme .df26-slider-frame #spinner { display:none !important; }
body.df-theme .df26-slider-frame .swiper-viewport,
body.df-theme .df26-slider-frame .swiper-container,
body.df-theme .df26-slider-frame .swiper-wrapper,
body.df-theme .df26-slider-frame .swiper-slide { height:100% !important; min-height:466px; margin:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; background:#fff; }
body.df-theme .df26-slider-frame .swiper-slide { display:flex; align-items:center; justify-content:center; overflow:hidden; }
body.df-theme .df26-slider-frame .swiper-slide > a { width:100%; height:100%; display:flex; }
body.df-theme .df26-slider-frame .swiper-slide img { width:100% !important; height:466px !important; max-width:none !important; object-fit:cover; object-position:center; }
body.df-theme .df26-slider-frame .swiper-pager { opacity:0; transition:.18s ease; }
body.df-theme .df26-slider-frame:hover .swiper-pager { opacity:1; }
body.df-theme .df26-slider-frame .swiper-pagination { bottom:14px !important; }
body.df-theme .df26-media-badge { position:absolute; left:24px; bottom:30px; z-index:15; max-width:250px; padding:15px 17px; border:1px solid rgba(255,255,255,.8); border-radius:15px; background:rgba(255,255,255,.93); box-shadow:0 12px 36px rgba(18,27,38,.13); backdrop-filter:blur(10px); }
body.df-theme .df26-media-badge span { display:block; color:#2454c6; font-size:9px; font-weight:850; letter-spacing:.07em; }
body.df-theme .df26-media-badge strong { display:block; margin-top:5px; color:#171a21; font-size:17px; }

/* Value strip */
body.df-theme .df26-value-strip { background:#fff; border-bottom:1px solid #e6ebf0; }
body.df-theme .df26-value-grid { display:grid; grid-template-columns:repeat(4,1fr); }
body.df-theme .df26-value-grid > div { display:flex; align-items:flex-start; gap:12px; padding:20px 18px; border-right:1px solid #edf0f3; }
body.df-theme .df26-value-grid > div:first-child { padding-left:4px; }
body.df-theme .df26-value-grid > div:last-child { border-right:0; }
body.df-theme .df26-value-icon { flex:0 0 30px; height:30px; display:grid; place-items:center; border-radius:9px; background:#f1f5e7; color:#678f00; font-size:10px; font-weight:850; }
body.df-theme .df26-value-grid p { margin:0; }
body.df-theme .df26-value-grid b { display:block; color:#232933; font-size:12px; line-height:1.3; }
body.df-theme .df26-value-grid small { display:block; margin-top:3px; color:#858e99; font-size:10px; line-height:1.45; }

/* Shortcuts */
body.df-theme .df26-shortcuts { padding:42px 0 14px; }
body.df-theme .df26-section-head { display:flex; align-items:end; justify-content:space-between; margin-bottom:18px; }
body.df-theme .df26-section-head h2 { margin:7px 0 0; font-size:28px; letter-spacing:-.025em; }
body.df-theme .df26-shortcut-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
body.df-theme .df26-shortcut-grid a { position:relative; min-height:125px; display:flex; flex-direction:column; justify-content:flex-end; padding:20px; border:1px solid #e0e6ec; border-radius:17px; background:#fff; color:#171a21 !important; text-decoration:none !important; box-shadow:0 7px 24px rgba(20,28,38,.035); transition:.18s ease; }
body.df-theme .df26-shortcut-grid a:hover { transform:translateY(-3px); border-color:#cfd7e1; box-shadow:0 16px 36px rgba(20,28,38,.075); }
body.df-theme .df26-shortcut-grid a.is-bundle { background:linear-gradient(145deg,#f2f6ff,#f7fbed); }
body.df-theme .df26-shortcut-grid strong { font-size:16px; }
body.df-theme .df26-shortcut-grid span { margin-top:7px; padding-right:30px; color:#75808d; font-size:11px; line-height:1.5; }
body.df-theme .df26-shortcut-grid i { position:absolute; right:18px; top:18px; font-style:normal; color:#2454c6; font-size:20px; }

/* Legacy HomeCrest HTML modules are hidden explicitly by JS after being wrapped. */
body.df-theme .df-html-module.df-legacy-home-hidden { display:none !important; }
body.df-theme .df-home-content { padding-top:30px; }
body.df-theme .df-home-content > .home_row > #content { width:100% !important; float:none !important; }
body.df-theme .df-home-content > .home_row > #column-left,
body.df-theme .df-home-content > .home_row > #column-right { display:none !important; }

/* Product cards: actions belong under the product, never floating on the photo */
body.df-theme .product-block, body.df-theme .product-thumb { overflow:hidden; min-height:0 !important; }
body.df-theme .product-thumb .image, body.df-theme .product-block .image { min-height:205px; height:205px; padding:14px; }
body.df-theme .product-thumb .image a, body.df-theme .product-block .image a { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
body.df-theme .product-thumb .image img, body.df-theme .product-block .image img { width:82% !important; height:172px !important; max-width:82% !important; max-height:172px !important; object-fit:contain; }
body.df-theme .product-details, body.df-theme .product-thumb .caption { padding:16px 16px 11px !important; }
body.df-theme .product-thumb h4, body.df-theme .product-block h4 { min-height:40px; margin:3px 0 7px; font-size:14px; line-height:1.38; }
body.df-theme .product-thumb .price, body.df-theme .product-block .price { margin:7px 0 0; font-size:17px; }
body.df-theme .product-thumb .button-group, body.df-theme .product-block .button-group { padding:0 16px 16px !important; border:0 !important; }
body.df-theme .product-thumb .button-group .top-btn, body.df-theme .product-block .button-group .top-btn { width:100%; }
body.df-theme .product-thumb .button-group .addtocart, body.df-theme .product-block .button-group .addtocart { min-height:40px; height:40px; }

/* Checkout must not show the catalogue sidebar. */
body.df-theme #checkout-checkout { max-width:1080px; padding-top:28px; padding-bottom:60px; }
body.df-theme #checkout-checkout .df26-checkout-content { width:100%; float:none; }
body.df-theme #checkout-checkout > h1, body.df-theme #checkout-checkout #content > h1 { margin-top:0; font-size:34px; }
body.df-theme #checkout-checkout #accordion .panel { margin-bottom:12px; border-radius:14px; }
body.df-theme #checkout-checkout #accordion .panel-heading { padding:17px 20px; }
body.df-theme #checkout-checkout #accordion .panel-body { padding:24px; }

/* Newsletter is Ukrainian and lighter visually. */
body.df-theme .newsletter .subscribe-btn .btn { text-transform:none !important; }

@media (max-width: 1100px) {
  body.df-theme .df26-hero-shell { grid-template-columns:1fr 1fr; min-height:440px; }
  body.df-theme .df26-hero-copy h1 { font-size:40px; }
  body.df-theme .df26-slider-frame, body.df-theme .df26-slider-frame .swiper-viewport, body.df-theme .df26-slider-frame .swiper-container, body.df-theme .df26-slider-frame .swiper-wrapper, body.df-theme .df26-slider-frame .swiper-slide { min-height:416px; }
  body.df-theme .df26-slider-frame .swiper-slide img { height:416px !important; }
}
@media (max-width: 900px) {
  body.df-theme .df26-hero-shell { grid-template-columns:1fr; min-height:0; }
  body.df-theme .df26-hero-copy { padding:24px 0 8px; }
  body.df-theme .df26-hero-copy h1 { max-width:720px; font-size:39px; }
  body.df-theme .df26-hero-media { padding:8px 0 0; }
  body.df-theme .df26-value-grid, body.df-theme .df26-shortcut-grid { grid-template-columns:1fr 1fr; }
  body.df-theme .df26-value-grid > div:nth-child(2) { border-right:0; }
  body.df-theme .df-brand-logo { min-width:150px; }
  body.df-theme .df-brand-logo img { max-width:140px; }
}
@media (max-width: 600px) {
  body.df-theme .df26-hero { padding-top:14px; }
  body.df-theme .df26-hero-copy h1 { font-size:32px; }
  body.df-theme .df26-hero-actions .btn { width:100%; }
  body.df-theme .df26-slider-frame, body.df-theme .df26-slider-frame .swiper-viewport, body.df-theme .df26-slider-frame .swiper-container, body.df-theme .df26-slider-frame .swiper-wrapper, body.df-theme .df26-slider-frame .swiper-slide { min-height:300px; }
  body.df-theme .df26-slider-frame .swiper-slide img { height:300px !important; }
  body.df-theme .df26-media-badge { left:14px; bottom:16px; max-width:220px; }
  body.df-theme .df26-value-grid, body.df-theme .df26-shortcut-grid { grid-template-columns:1fr; }
  body.df-theme .df26-value-grid > div { border-right:0; border-bottom:1px solid #edf0f3; padding-left:4px; }
  body.df-theme .df26-shortcut-grid a { min-height:105px; }
}

/* =========================================================
   Dentfriend 2026 v1.3 — structural rebuild
   Home + categories + catalog cards
   ========================================================= */
html, body.df-theme { overflow-x:hidden; }
body.df-theme { background:#f4f6f8; color:#171b22; }
body.df-theme .container { width:min(1280px, calc(100% - 48px)); max-width:1280px; padding-left:0; padding-right:0; }
body.df-theme .df-kicker { display:block; color:#2454c6; font-size:11px; line-height:1.2; letter-spacing:.095em; font-weight:800; text-transform:uppercase; }
body.df-theme .btn { border-radius:10px; box-shadow:none; }
body.df-theme .btn-light { background:#fff; border:1px solid #dfe5eb; color:#1c222a; }
body.df-theme .btn-light:hover { background:#f7f9fb; border-color:#cfd7df; }

/* Home: do not allow old layout HTML blocks to leak into the new homepage. */
body.df-theme .df13-home .df-html-module { display:none !important; }
body.df-theme .df13-home .breadcrumb,
body.df-theme .df13-home #column-left,
body.df-theme .df13-home #column-right { display:none !important; }

body.df-theme .df13-hero { padding:36px 0 28px; background:linear-gradient(135deg,#f7f9fb 0%,#f4f6f8 54%,#f2f7e8 100%); }
body.df-theme .df13-hero-grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); min-height:520px; border:1px solid #e1e6eb; border-radius:24px; overflow:hidden; background:#fff; box-shadow:0 18px 55px rgba(22,31,42,.08); }
body.df-theme .df13-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:54px 54px 48px; }
body.df-theme .df13-hero-copy h1 { margin:14px 0 18px; max-width:600px; font-size:48px; line-height:1.04; letter-spacing:-.045em; font-weight:850; color:#151920; }
body.df-theme .df13-hero-copy > p { margin:0; max-width:560px; color:#697481; font-size:16px; line-height:1.7; }
body.df-theme .df13-hero-actions { display:flex; gap:10px; margin-top:26px; flex-wrap:wrap; }
body.df-theme .df13-hero-actions .btn { min-height:48px; padding:14px 20px; font-size:14px; font-weight:750; }
body.df-theme .df13-hero-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:38px; padding-top:22px; border-top:1px solid #e7ebef; }
body.df-theme .df13-hero-facts div { padding-right:14px; }
body.df-theme .df13-hero-facts strong { display:block; color:#171b22; font-size:18px; }
body.df-theme .df13-hero-facts span { display:block; margin-top:3px; color:#858e98; font-size:10px; line-height:1.45; }
body.df-theme .df13-hero-visual { position:relative; min-width:0; min-height:520px; background:#dedbd7; overflow:hidden; }
body.df-theme .df13-hero-visual > img { width:100%; height:100%; min-height:520px; display:block; object-fit:cover; object-position:center; }
body.df-theme .df13-hero-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(19,24,30,.04),rgba(19,24,30,.10)); pointer-events:none; }
body.df-theme .df13-hero-card { position:absolute; z-index:2; right:24px; bottom:24px; width:min(310px,calc(100% - 48px)); padding:18px 20px; border-radius:16px; background:rgba(255,255,255,.94); box-shadow:0 16px 46px rgba(18,26,36,.18); backdrop-filter:blur(8px); }
body.df-theme .df13-hero-card span { color:#2454c6; font-size:9px; font-weight:850; letter-spacing:.08em; }
body.df-theme .df13-hero-card strong { display:block; margin-top:5px; font-size:19px; color:#151a21; }
body.df-theme .df13-hero-card small { display:block; margin-top:5px; color:#75808b; font-size:11px; line-height:1.5; }

body.df-theme .df13-trustbar { background:#fff; border-top:1px solid #e7ebef; border-bottom:1px solid #e7ebef; }
body.df-theme .df13-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
body.df-theme .df13-trust-grid > div { padding:22px 24px; border-right:1px solid #edf0f3; }
body.df-theme .df13-trust-grid > div:first-child { padding-left:0; }
body.df-theme .df13-trust-grid > div:last-child { border-right:0; }
body.df-theme .df13-trust-grid b { display:block; font-size:13px; color:#202630; }
body.df-theme .df13-trust-grid span { display:block; margin-top:4px; color:#8a929b; font-size:10px; line-height:1.45; }

body.df-theme .df13-categories { padding:54px 0 28px; }
body.df-theme .df13-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:20px; }
body.df-theme .df13-section-heading h2 { margin:7px 0 0; font-size:30px; letter-spacing:-.025em; }
body.df-theme .df13-section-heading p { max-width:380px; margin:0; color:#7a8490; font-size:13px; }
body.df-theme .df13-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
body.df-theme .df13-category-card { position:relative; min-height:118px; display:flex; flex-direction:column; justify-content:flex-end; padding:19px; border:1px solid #dfe5eb; border-radius:16px; background:#fff; color:#161b22 !important; text-decoration:none !important; box-shadow:0 6px 22px rgba(24,32,42,.035); transition:.18s ease; }
body.df-theme .df13-category-card:hover { transform:translateY(-3px); border-color:#cbd4dd; box-shadow:0 15px 34px rgba(24,32,42,.08); }
body.df-theme .df13-category-card.is-bundle { background:linear-gradient(145deg,#f2f6ff,#f5faed); }
body.df-theme .df13-category-index { position:absolute; left:19px; top:17px; color:#2454c6; font-size:10px; font-weight:850; }
body.df-theme .df13-category-card strong { font-size:16px; }
body.df-theme .df13-category-card i { position:absolute; right:18px; top:16px; color:#2454c6; font-size:20px; font-style:normal; }

body.df-theme .df13-products { padding:30px 0 62px; }
body.df-theme .df13-home-modules > .df-html-module { display:none !important; }
body.df-theme .df13-home-tabs { margin:0; }
body.df-theme .df13-home-tabs-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
body.df-theme .df13-home-tabs-head h2 { margin:7px 0 0; font-size:30px; letter-spacing:-.025em; }
body.df-theme .df13-tab-buttons { display:flex; gap:7px; flex-wrap:wrap; }
body.df-theme .df13-tab-buttons button { min-height:38px; padding:9px 14px; border:1px solid #dfe5eb; border-radius:999px; background:#fff; color:#67727d; font-size:12px; font-weight:700; }
body.df-theme .df13-tab-buttons button.is-active { border-color:#171b22; background:#171b22; color:#fff; }
body.df-theme .df13-tab-panel { display:none; }
body.df-theme .df13-tab-panel.is-active { display:block; }

body.df-theme .df13-about { padding:0 0 66px; }
body.df-theme .df13-about-card { display:grid; grid-template-columns:.8fr 1.2fr; gap:55px; padding:38px 42px; border:1px solid #e0e5eb; border-radius:20px; background:#fff; box-shadow:0 8px 28px rgba(24,32,42,.035); }
body.df-theme .df13-about-title h2 { margin:8px 0 0; font-size:31px; line-height:1.15; letter-spacing:-.03em; }
body.df-theme .df13-about-points { display:grid; gap:0; }
body.df-theme .df13-about-points > div { padding:14px 0; border-bottom:1px solid #edf0f3; }
body.df-theme .df13-about-points > div:last-child { border-bottom:0; }
body.df-theme .df13-about-points b { color:#1d2229; font-size:13px; }
body.df-theme .df13-about-points p { display:inline; margin:0 0 0 5px; color:#707b87; font-size:12px; line-height:1.65; }

/* Product cards: same component on homepage and category pages. */
body.df-theme .df13-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.df-theme .df13-product-card { min-width:0; display:flex !important; flex-direction:column; margin:0 !important; padding:0 !important; border:1px solid #dfe5eb !important; border-radius:17px !important; background:#fff !important; overflow:hidden; box-shadow:0 7px 25px rgba(21,29,39,.035); transition:.18s ease; }
body.df-theme .df13-product-card:hover { transform:translateY(-3px); border-color:#cfd7df !important; box-shadow:0 16px 38px rgba(21,29,39,.075); }
body.df-theme .df13-product-card .df13-product-media { position:relative; height:230px !important; min-height:230px !important; display:flex; align-items:center; justify-content:center; padding:22px; border:0 !important; background:#fff; overflow:hidden; }
body.df-theme .df13-product-card .df13-product-media > a { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
body.df-theme .df13-product-card .df13-product-media img { display:block; width:auto !important; height:auto !important; max-width:88% !important; max-height:88% !important; object-fit:contain; transition:.2s ease; }
body.df-theme .df13-product-card:hover .df13-product-media img { transform:scale(1.035); }
body.df-theme .df13-sale-badge, body.df-theme .df-card-bundle-badge { position:absolute; left:14px; top:14px; z-index:2; display:inline-flex; align-items:center; min-height:24px; padding:5px 8px; border-radius:999px; background:#eef3ff; color:#2454c6; font-size:9px; font-weight:850; letter-spacing:.055em; }
body.df-theme .df13-wish { position:absolute; right:13px; top:13px; z-index:2; width:34px; height:34px; display:grid; place-items:center; padding:0; border:1px solid #e0e5eb; border-radius:10px; background:rgba(255,255,255,.95); color:#2d343c; }
body.df-theme .df13-product-body { display:flex; flex:1; flex-direction:column; padding:18px 18px 17px !important; border-top:1px solid #edf0f3; }
body.df-theme .df13-product-body h2, body.df-theme .df13-product-body h3 { min-height:44px; margin:0; font-size:14px; line-height:1.55; font-weight:650; }
body.df-theme .df13-product-body h2 a, body.df-theme .df13-product-body h3 a { color:#29313a !important; text-decoration:none !important; }
body.df-theme .df13-product-price { min-height:46px; display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; margin-top:10px; }
body.df-theme .df13-product-price strong { color:#171b22; font-size:19px; line-height:1.1; }
body.df-theme .df13-product-price .price-old { color:#9aa2ab; font-size:11px; text-decoration:line-through; }
body.df-theme .df13-card-actions { display:grid !important; grid-template-columns:.8fr 1.2fr; gap:8px; margin-top:auto !important; padding-top:14px; position:static !important; opacity:1 !important; visibility:visible !important; transform:none !important; background:none !important; }
body.df-theme .df13-card-actions .btn { min-width:0; min-height:42px; display:flex; align-items:center; justify-content:center; padding:10px 9px; font-size:11px; font-weight:750; white-space:normal; }
body.df-theme .df13-product-card.df-bundle-card .df13-card-actions .btn-light { display:none; }
body.df-theme .df13-product-card.df-bundle-card .df13-card-actions { grid-template-columns:1fr; }
body.df-theme .df13-product-card .df-card-save { width:100%; margin-top:2px; color:#25813a; font-size:10px; }
body.df-theme .df13-product-card .df-card-bundle-price { display:flex; align-items:flex-end; gap:8px; flex-wrap:wrap; }
body.df-theme .df13-product-card .df-card-old { color:#9aa2ab; font-size:11px; text-decoration:line-through; }

/* Category page: full width, no HomeCrest columns, no legacy modules. */
body.df-theme #product-category.df13-category-page { width:100% !important; max-width:none !important; margin:0 !important; padding:0 0 68px !important; }
body.df-theme #product-category.df13-category-page > .container { padding-top:24px; }
body.df-theme .df13-category-page #column-left,
body.df-theme .df13-category-page #column-right,
body.df-theme .df13-category-page .df-html-module { display:none !important; }
body.df-theme .df13-breadcrumb { display:flex; gap:8px; align-items:center; margin:0 0 22px; color:#9aa2ab; font-size:11px; }
body.df-theme .df13-breadcrumb a { color:#697481; text-decoration:none; }
body.df-theme .df13-category-header { min-height:150px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:30px 34px; border:1px solid #e0e5ea; border-radius:20px; background:linear-gradient(135deg,#fff,#f8fafb); box-shadow:0 7px 28px rgba(22,30,40,.035); }
body.df-theme .df13-category-header h1 { margin:8px 0 0; font-size:36px; line-height:1.08; letter-spacing:-.035em; }
body.df-theme .df13-category-header p { margin:10px 0 0; color:#79838e; font-size:13px; }
body.df-theme .df13-category-thumb { flex:0 0 170px; height:100px; display:flex; align-items:center; justify-content:center; }
body.df-theme .df13-category-thumb img { max-width:160px; max-height:96px; object-fit:contain; border:0; }
body.df-theme .df13-subcategories { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 24px; }
body.df-theme .df13-subcategories a { display:inline-flex; align-items:center; gap:12px; padding:10px 13px; border:1px solid #dfe5eb; border-radius:999px; background:#fff; color:#27303a !important; font-size:12px; text-decoration:none !important; }
body.df-theme .df13-subcategories a:hover { border-color:#bfcad5; }
body.df-theme .df13-subcategories i { color:#2454c6; font-style:normal; }
body.df-theme .df13-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 18px; padding:13px 14px; border:1px solid #dfe5eb; border-radius:13px; background:#fff; }
body.df-theme .df13-toolbar-note { color:#505b67; font-size:12px; font-weight:700; }
body.df-theme .df13-toolbar-controls { display:flex; gap:12px; align-items:center; }
body.df-theme .df13-toolbar-controls label { display:flex; align-items:center; gap:7px; margin:0; color:#77818c; font-size:11px; font-weight:500; }
body.df-theme .df13-toolbar-controls .form-control { min-width:150px; height:38px; min-height:38px; border-radius:9px; font-size:11px; }
body.df-theme .df13-toolbar-controls label:last-child .form-control { min-width:80px; }
body.df-theme .df13-pagination { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:26px; color:#858e98; font-size:11px; }
body.df-theme .df13-pagination .pagination { margin:0; }
body.df-theme .df13-category-description { margin-top:36px; padding:27px 30px; border:1px solid #e0e5eb; border-radius:17px; background:#fff; color:#6f7984; font-size:13px; line-height:1.7; }
body.df-theme .df13-category-description img { max-width:100%; height:auto; }
body.df-theme .df13-empty { padding:60px 0; text-align:center; }

/* Checkout: no catalog/sidebar modules in the purchase funnel. */
body.df-theme #checkout-checkout { width:min(1040px,calc(100% - 48px)); max-width:1040px; padding:24px 0 70px; }
body.df-theme #checkout-checkout .df26-checkout-content { width:100% !important; }
body.df-theme #checkout-checkout #column-left,
body.df-theme #checkout-checkout #column-right { display:none !important; }

@media (max-width:1199px) {
  body.df-theme .df13-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.df-theme .df13-category-grid { grid-template-columns:repeat(3,1fr); }
  body.df-theme .df13-hero-copy { padding:42px 36px; }
  body.df-theme .df13-hero-copy h1 { font-size:41px; }
}
@media (max-width:991px) {
  body.df-theme .container { width:min(100% - 32px,1280px); }
  body.df-theme .df13-hero-grid { grid-template-columns:1fr; }
  body.df-theme .df13-hero-visual { min-height:390px; }
  body.df-theme .df13-hero-visual > img { min-height:390px; }
  body.df-theme .df13-trust-grid { grid-template-columns:1fr 1fr; }
  body.df-theme .df13-trust-grid > div:nth-child(2) { border-right:0; }
  body.df-theme .df13-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.df-theme .df13-category-grid { grid-template-columns:repeat(2,1fr); }
  body.df-theme .df13-about-card { grid-template-columns:1fr; gap:22px; }
  body.df-theme .df13-category-header h1 { font-size:31px; }
}
@media (max-width:767px) {
  body.df-theme .container { width:calc(100% - 24px); }
  body.df-theme .df13-hero { padding:14px 0 18px; }
  body.df-theme .df13-hero-grid { border-radius:18px; }
  body.df-theme .df13-hero-copy { padding:30px 22px; }
  body.df-theme .df13-hero-copy h1 { font-size:33px; }
  body.df-theme .df13-hero-copy > p { font-size:14px; }
  body.df-theme .df13-hero-actions .btn { width:100%; }
  body.df-theme .df13-hero-facts { grid-template-columns:1fr; gap:12px; }
  body.df-theme .df13-hero-visual, body.df-theme .df13-hero-visual > img { min-height:310px; }
  body.df-theme .df13-hero-card { left:14px; right:14px; bottom:14px; width:auto; }
  body.df-theme .df13-trust-grid { grid-template-columns:1fr; }
  body.df-theme .df13-trust-grid > div { padding:15px 0; border-right:0; border-bottom:1px solid #edf0f3; }
  body.df-theme .df13-section-heading, body.df-theme .df13-home-tabs-head { align-items:flex-start; flex-direction:column; }
  body.df-theme .df13-category-grid, body.df-theme .df13-product-grid { grid-template-columns:1fr; }
  body.df-theme .df13-product-card .df13-product-media { height:245px !important; }
  body.df-theme .df13-category-header { align-items:flex-start; padding:24px; }
  body.df-theme .df13-category-thumb { display:none; }
  body.df-theme .df13-category-header h1 { font-size:30px; }
  body.df-theme .df13-catalog-toolbar { align-items:flex-start; flex-direction:column; }
  body.df-theme .df13-toolbar-controls { width:100%; flex-direction:column; align-items:stretch; }
  body.df-theme .df13-toolbar-controls label { justify-content:space-between; }
  body.df-theme .df13-toolbar-controls .form-control { width:60%; min-width:0; }
  body.df-theme .df13-pagination { flex-direction:column; align-items:flex-start; }
  body.df-theme .df13-about-card { padding:27px 24px; }
}

/* ============================================================
   Dentfriend v1.4 — centralized availability states
   ============================================================ */
.df-stock-line {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 600;
}
.df-stock-line .df-stock-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: currentColor;
}
.df-stock-line.is-available { color: #26843b; }
.df-stock-line.is-unavailable { color: #9a3e3e; }

.df13-product-card.is-out-of-stock .df13-product-media img {
  opacity: .64;
  filter: saturate(.72);
}
.df13-product-card.is-out-of-stock .df13-product-price {
  opacity: .72;
}
.btn.btn-disabled,
button.df-no-stock {
  cursor: not-allowed !important;
  color: #737b86 !important;
  background: #eef0f3 !important;
  border-color: #e0e4e9 !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
}
button.df-no-stock:hover,
button.df-no-stock:focus {
  color: #737b86 !important;
  background: #eef0f3 !important;
  border-color: #e0e4e9 !important;
}

#product-product .attr li:last-child {
  font-weight: 600;
}
#product-product .attr li:last-child .desc {
  font-weight: 600;
}

/* ============================================================
   Dentfriend v1.4 — header / category / card polish
   ============================================================ */
body.df-theme .df-header-search #search,
body.df-theme .df-header-search #searchbox {
  width:100%;
}
body.df-theme .df-header-search .input-group-btn {
  width:54px;
}
body.df-theme .df-search-submit {
  width:54px !important;
  min-width:54px !important;
  height:48px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid #dfe5eb !important;
  border-left:0 !important;
  border-radius:0 12px 12px 0 !important;
  background:#fff !important;
  color:#1e2530 !important;
}
body.df-theme .df-search-submit svg,
body.df-theme .df-cart-trigger svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.df-theme .header-cart #cart > .df-cart-trigger {
  position:relative;
  width:48px !important;
  min-width:48px !important;
  height:48px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid #dfe5eb !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#1e2530 !important;
  box-shadow:none !important;
}
body.df-theme .header-cart #cart > .df-cart-trigger #cart-total {
  position:absolute;
  right:-5px;
  top:-7px;
  min-width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border-radius:999px;
  background:#95d600;
  color:#182100;
  font-size:0;
  font-weight:800;
  line-height:20px;
}
body.df-theme .header-cart #cart > .df-cart-trigger #cart-total::first-letter { font-size:11px; }

/* Less empty space in category header: category images are usually too small to add value. */
body.df-theme .df13-category-header {
  min-height:118px !important;
  padding:24px 28px !important;
}
body.df-theme .df13-category-header h1 {
  font-size:34px !important;
}
body.df-theme .df13-category-thumb {
  display:none !important;
}
body.df-theme .df13-subcategories {
  margin-top:12px !important;
}

/* Product cards: larger product visual and buttons that fit on one line. */
body.df-theme .df13-product-card .df13-product-media {
  height:245px !important;
  min-height:245px !important;
  padding:18px !important;
}
body.df-theme .df13-product-card .df13-product-media img {
  max-width:94% !important;
  max-height:94% !important;
}
body.df-theme .df13-card-actions {
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
body.df-theme .df13-card-actions .btn {
  min-height:42px !important;
  padding:10px 8px !important;
  font-size:11px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
body.df-theme .df13-card-actions .df-no-stock {
  grid-column:1 / -1;
  white-space:normal !important;
}
body.df-theme .df13-product-body h2,
body.df-theme .df13-product-body h3 {
  min-height:44px;
  line-height:1.4 !important;
}

@media (max-width: 767px) {
  body.df-theme .df13-category-header { min-height:0 !important; padding:20px !important; }
  body.df-theme .df13-category-header h1 { font-size:28px !important; }
  body.df-theme .df13-product-card .df13-product-media { height:220px !important; min-height:220px !important; }
}

/* ============================================================
   Dentfriend v1.4.1 — cart alignment, coupon and sticky footer
   ============================================================ */

/* Sticky footer means: on short pages it is pushed to the bottom of the
   viewport. It is intentionally NOT position:fixed, so it never covers
   products, forms or checkout controls. */
html { min-height:100%; }
body.df-theme {
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body.df-theme > .df-site-header { flex:0 0 auto; }
body.df-theme > .df-footer {
  flex:0 0 auto;
  margin-top:auto !important;
}

/* Cart table uses one fixed column system for normal SKUs and bundle rows. */
body.df-theme .df-cart-products .shopping-cart {
  width:100%;
  table-layout:fixed;
}
body.df-theme .df-cart-products .shopping-cart col.df-col-image { width:96px; }
body.df-theme .df-cart-products .shopping-cart col.df-col-name { width:auto; }
body.df-theme .df-cart-products .shopping-cart col.df-col-model { width:150px; }
body.df-theme .df-cart-products .shopping-cart col.df-col-quantity { width:174px; }
body.df-theme .df-cart-products .shopping-cart col.df-col-price { width:112px; }
body.df-theme .df-cart-products .shopping-cart col.df-col-total { width:120px; }
body.df-theme .df-cart-products .shopping-cart > tbody > tr > td {
  vertical-align:middle;
}
body.df-theme .df-cart-products .shopping-cart > tbody > tr > td.df-cart-actions-cell,
body.df-theme .df-cart-products .shopping-cart > tbody > tr.dfb-cart-row > td:nth-child(4) {
  padding-left:10px;
  padding-right:10px;
}

/* Exactly the same quantity / update / delete geometry on every cart row. */
body.df-theme .df-cart-qty-control {
  width:154px;
  height:44px;
  display:grid;
  grid-template-columns:58px 44px 44px;
  gap:4px;
  align-items:stretch;
  margin:0;
}
body.df-theme .df-cart-qty-input {
  width:58px !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 8px !important;
  text-align:center !important;
  border:1px solid #dfe5eb !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:none !important;
  font-size:13px;
  font-weight:650;
}
body.df-theme .df-cart-action {
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:10px !important;
  box-shadow:none !important;
  transform:none !important;
}
body.df-theme .df-cart-action svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.df-theme .df-cart-action-update {
  border:1px solid #dce8c1 !important;
  background:#eef7d8 !important;
  color:#5e8500 !important;
}
body.df-theme .df-cart-action-update:hover,
body.df-theme .df-cart-action-update:focus {
  background:#e4f1c5 !important;
  color:#4e7000 !important;
}
body.df-theme .df-cart-action-remove {
  border:1px solid #f3dddd !important;
  background:#fff1f1 !important;
  color:#cc5656 !important;
}
body.df-theme .df-cart-action-remove:hover,
body.df-theme .df-cart-action-remove:focus {
  background:#ffe8e8 !important;
  color:#b93d3d !important;
}

/* Bundle rows use the same column geometry as normal products. */
body.df-theme .dfb-cart-row td:first-child { width:auto !important; }
body.df-theme .dfb-cart-row .dfb-cart-qty-wrap { max-width:none !important; }

/* Coupon: one calm, correctly proportioned row instead of a clipped button. */
body.df-theme .df-cart-coupon .df-coupon-panel {
  margin:0 !important;
  overflow:hidden;
  border:1px solid #dfe5eb !important;
  border-radius:14px !important;
  background:#fff;
  box-shadow:none !important;
}
body.df-theme .df-cart-coupon .df-coupon-panel .panel-heading {
  padding:0 !important;
  background:#fff !important;
}
body.df-theme .df-cart-coupon .df-coupon-panel .panel-title a {
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 16px;
  color:#252c35 !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:700;
}
body.df-theme .df-cart-coupon .df-coupon-panel .panel-body {
  padding:16px !important;
  border-top:1px solid #edf0f3 !important;
}
body.df-theme .df-coupon-label {
  display:block;
  margin:0 0 8px;
  color:#58626e;
  font-size:12px;
  font-weight:650;
}
body.df-theme .df-coupon-control {
  display:grid;
  grid-template-columns:minmax(0,1fr) 172px;
  gap:10px;
  align-items:center;
}
body.df-theme .df-coupon-control .form-control {
  width:100%;
  height:46px;
  min-height:46px;
  border:1px solid #dfe5eb;
  border-radius:10px;
  box-shadow:none;
  font-size:13px;
}
body.df-theme .df-coupon-submit {
  width:172px !important;
  min-width:172px !important;
  height:46px !important;
  min-height:46px !important;
  margin:0 !important;
  padding:0 16px !important;
  border-radius:10px !important;
  white-space:nowrap;
  font-size:13px !important;
  font-weight:750 !important;
}

/* A little more room between cart and footer; summary remains sticky. */
body.df-theme .df-cart-page { padding-bottom:46px; }
body.df-theme .df-cart-continue { margin-bottom:4px; }

@media (max-width:1199px) {
  body.df-theme .df-cart-products .shopping-cart col.df-col-model { width:125px; }
  body.df-theme .df-cart-products .shopping-cart col.df-col-quantity { width:164px; }
  body.df-theme .df-cart-products .shopping-cart col.df-col-price { width:100px; }
  body.df-theme .df-cart-products .shopping-cart col.df-col-total { width:108px; }
  body.df-theme .df-cart-qty-control { width:150px; grid-template-columns:56px 43px 43px; }
  body.df-theme .df-cart-qty-input { width:56px !important; }
  body.df-theme .df-cart-action { width:43px !important; min-width:43px !important; }
}

@media (max-width:767px) {
  body.df-theme .df-cart-products .shopping-cart colgroup { display:none; }
  body.df-theme .df-cart-qty-control {
    width:154px;
    margin-top:5px;
  }
  body.df-theme .df-coupon-control {
    grid-template-columns:1fr;
  }
  body.df-theme .df-coupon-submit {
    width:100% !important;
    min-width:0 !important;
  }
}

/* ========================================================================
   Dentfriend Theme 2026 v1.5.0 — Home clarity, fixed header & section rhythm
   ======================================================================== */

:root { --df-fixed-header-height: 126px; }
html { scroll-padding-top: calc(var(--df-fixed-header-height) + 18px); }
body.df-theme {
  padding-top: var(--df-fixed-header-height) !important;
  color:#1c222b;
}
body.df-theme .df-site-header {
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:5000 !important;
  background:rgba(255,255,255,.985) !important;
  border-bottom:1px solid #e6ebef !important;
  box-shadow:0 8px 28px rgba(18,28,40,.055) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
body.df-theme .df-site-header.df-is-scrolled {
  box-shadow:0 10px 34px rgba(18,28,40,.10) !important;
}
body.df-theme .df-nav-wrap { background:rgba(255,255,255,.985) !important; }

/* Home hero: no old photo or floating promotional plate. */
body.df-theme .df15-hero {
  padding:42px 0 0 !important;
  background:linear-gradient(135deg,#f7f9fc 0%,#f5f7fa 58%,#f4f8ed 100%) !important;
}
body.df-theme .df15-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr);
  gap:0;
  min-height:500px;
  overflow:hidden;
  border:1px solid #dde4ea;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 54px rgba(19,29,41,.07);
}
body.df-theme .df15-hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:58px 58px 54px;
}
body.df-theme .df15-hero-copy h1 {
  max-width:650px;
  margin:13px 0 20px;
  color:#151a21;
  font-size:48px;
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:850;
}
body.df-theme .df15-hero-copy > p {
  max-width:650px;
  margin:0;
  color:#515c68;
  font-size:16px;
  line-height:1.72;
}
body.df-theme .df15-hero-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}
body.df-theme .df15-hero-actions .btn {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 22px;
  font-size:13px;
  font-weight:750;
}
body.df-theme .df15-hero-promo {
  display:flex;
  gap:14px 24px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid #e8ecef;
  color:#616b77;
  font-size:12px;
  line-height:1.5;
}
body.df-theme .df15-hero-promo strong { color:#151a21; font-size:15px; }
body.df-theme .df15-hero-promo b { color:#313944; font-weight:750; }

body.df-theme .df15-hero-side {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:52px 48px;
  border-left:1px solid #e1e7eb;
  background:
    radial-gradient(circle at 82% 14%,rgba(153,215,0,.22),transparent 34%),
    radial-gradient(circle at 18% 88%,rgba(66,105,255,.10),transparent 35%),
    linear-gradient(145deg,#f9fbf6,#f4f8f0 54%,#f7f9fc);
}
body.df-theme .df15-hero-side:after {
  content:"DF";
  position:absolute;
  right:28px;
  bottom:16px;
  color:rgba(38,51,33,.035);
  font-size:150px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.08em;
  pointer-events:none;
}
body.df-theme .df15-hero-side h2 {
  position:relative;
  z-index:1;
  max-width:430px;
  margin:12px 0 24px;
  color:#171c23;
  font-size:31px;
  line-height:1.15;
  letter-spacing:-.03em;
}
body.df-theme .df15-hero-benefits { position:relative; z-index:1; display:grid; gap:10px; }
body.df-theme .df15-benefit {
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:15px 16px;
  border:1px solid rgba(215,224,217,.9);
  border-radius:14px;
  background:rgba(255,255,255,.78);
}
body.df-theme .df15-benefit-index {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#eef6dd;
  color:#608800;
  font-size:10px;
  font-weight:850;
}
body.df-theme .df15-benefit strong { display:block; color:#20262e; font-size:13px; }
body.df-theme .df15-benefit small { display:block; margin-top:4px; color:#66717c; font-size:11px; line-height:1.5; }
body.df-theme .df15-side-link {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:16px;
  padding:14px 16px;
  border-radius:13px;
  background:#171c23;
  color:#fff !important;
  font-size:12px;
  font-weight:750;
  text-decoration:none !important;
}
body.df-theme .df15-side-link span { font-size:18px; line-height:1; }
body.df-theme .df15-side-link:hover { background:#252c35; }

/* Main-page clarity. */
body.df-theme .df-kicker { color:#2454c6 !important; font-weight:850 !important; letter-spacing:.075em; }
body.df-theme .df15-trustbar { margin-top:0; }
body.df-theme .df13-trust-grid > div { padding-top:25px !important; padding-bottom:25px !important; }
body.df-theme .df13-trust-grid b { color:#202630 !important; font-size:13px !important; font-weight:750 !important; }
body.df-theme .df13-trust-grid span { color:#66717c !important; font-size:11px !important; line-height:1.5 !important; }
body.df-theme .df13-section-heading p { color:#626d79 !important; font-size:13px !important; line-height:1.6; }
body.df-theme .df13-category-card strong { color:#202630 !important; font-size:14px !important; }
body.df-theme .df13-about-points p { color:#596572 !important; font-size:13px !important; }

/* A consistent vertical rhythm between large sections. */
body.df-theme .df13-categories { padding:82px 0 56px !important; }
body.df-theme .df13-section-heading { margin-bottom:30px !important; }
body.df-theme .df13-products { padding:54px 0 88px !important; }
body.df-theme .df13-home-tabs-head { margin-bottom:30px !important; }
body.df-theme .df13-about { padding:0 0 96px !important; }
body.df-theme .df13-about-card { padding:44px 46px !important; }

/* Category spacing: enough breathing room around header, filters, grid and footer. */
body.df-theme #product-category.df13-category-page {
  padding-bottom:96px !important;
}
body.df-theme #product-category.df13-category-page > .container { padding-top:38px !important; }
body.df-theme #product-category .df13-breadcrumb { margin-bottom:26px !important; }
body.df-theme #product-category .df13-category-header { margin-bottom:22px !important; }
body.df-theme #product-category .df13-subcategories { margin:0 0 30px !important; }
body.df-theme #product-category .df13-catalog-toolbar { margin-bottom:26px !important; }
body.df-theme #product-category .df13-product-grid { gap:24px 18px !important; }
body.df-theme #product-category .df13-pagination { margin-top:38px !important; padding-top:20px; border-top:1px solid #e5eaee; }
body.df-theme #product-category .df13-category-description { margin-top:52px !important; }

/* Brand page receives its own proper section spacing instead of running into footer. */
body.df-theme #product-manufacturer.df13-category-page {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:44px 0 100px !important;
}
body.df-theme #product-manufacturer .df13-category-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin:0 0 30px;
  padding:30px 32px;
  border:1px solid #e0e6eb;
  border-radius:19px;
  background:linear-gradient(135deg,#fff,#f8fafb);
  box-shadow:0 8px 28px rgba(22,30,40,.035);
}
body.df-theme #product-manufacturer .df13-category-head h1 {
  margin:7px 0 0;
  color:#171c23;
  font-size:35px;
  line-height:1.1;
  letter-spacing:-.035em;
}
body.df-theme #product-manufacturer .df13-category-head p {
  margin:11px 0 0;
  color:#626d79;
  font-size:13px;
  line-height:1.6;
}
body.df-theme #product-manufacturer .df13-eyebrow {
  color:#2454c6;
  font-size:10px;
  font-weight:850;
  letter-spacing:.075em;
}
body.df-theme #product-manufacturer .df13-category-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 28px;
  padding:14px 16px;
  border:1px solid #e0e6eb;
  border-radius:13px;
  background:#fff;
}
body.df-theme #product-manufacturer .df13-category-toolbar > strong { color:#313944; font-size:12px; }
body.df-theme #product-manufacturer .df13-product-grid { gap:24px 18px !important; }
body.df-theme #product-manufacturer .df13-pagination-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:38px;
  padding-top:20px;
  border-top:1px solid #e5eaee;
  color:#68737f;
  font-size:12px;
}

/* More room before footer on standard content pages too. */
body.df-theme #information-information,
body.df-theme #information-contact,
body.df-theme #product-search,
body.df-theme #product-special {
  padding-bottom:90px !important;
}

@media (max-width:991px) {
  :root { --df-fixed-header-height: 132px; }
  body.df-theme .df15-hero-grid { grid-template-columns:1fr; }
  body.df-theme .df15-hero-copy { padding:44px 38px 40px; }
  body.df-theme .df15-hero-copy h1 { font-size:41px; }
  body.df-theme .df15-hero-side { border-left:0; border-top:1px solid #e1e7eb; padding:38px; }
  body.df-theme #product-manufacturer.df13-category-page { padding-top:34px !important; padding-bottom:82px !important; }
}

@media (max-width:767px) {
  :root { --df-fixed-header-height: 148px; }
  body.df-theme .df15-hero { padding-top:18px !important; }
  body.df-theme .df15-hero-grid { min-height:0; border-radius:18px; }
  body.df-theme .df15-hero-copy { padding:30px 22px 28px; }
  body.df-theme .df15-hero-copy h1 { font-size:34px; }
  body.df-theme .df15-hero-copy > p { font-size:14px; }
  body.df-theme .df15-hero-actions .btn { width:100%; }
  body.df-theme .df15-hero-promo { display:grid; gap:8px; }
  body.df-theme .df15-hero-side { padding:28px 22px; }
  body.df-theme .df15-hero-side h2 { font-size:26px; }
  body.df-theme .df15-hero-side:after { font-size:100px; }
  body.df-theme .df13-categories { padding:58px 0 42px !important; }
  body.df-theme .df13-products { padding:42px 0 66px !important; }
  body.df-theme .df13-about { padding-bottom:70px !important; }
  body.df-theme #product-category.df13-category-page > .container { padding-top:26px !important; }
  body.df-theme #product-category.df13-category-page,
  body.df-theme #product-manufacturer.df13-category-page { padding-bottom:72px !important; }
  body.df-theme #product-manufacturer .df13-category-head { padding:24px 22px; }
  body.df-theme #product-manufacturer .df13-category-head h1 { font-size:30px; }
  body.df-theme #product-manufacturer .df13-category-toolbar { align-items:flex-start; flex-direction:column; }
  body.df-theme #product-manufacturer .df13-pagination-row { align-items:flex-start; flex-direction:column; }
}

/* ========================================================================
   Dentfriend Theme 2026 v1.5.3 — fixed header guard + product-card rhythm
   ======================================================================== */

/* The whole Dentfriend header owns the viewport top. HomeCrest must never
   independently fix its old navigation bar over the logo/search row. */
html body.df-theme > header.df-site-header {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 10000 !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: rgba(255,255,255,.99) !important;
}

/* Global on purpose: Codezeel may move/clone the nav outside our header before
   adding .fixed. Whichever DOM position it occupies, it must remain in flow. */
body.df-theme .nav-container.fixed,
body.df-theme nav.nav-container.fixed {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  margin: 0 !important;
  transform: none !important;
  animation: none !important;
  box-shadow: none !important;
  z-index: auto !important;
}

body.df-theme .df-site-header .df-header-shell,
body.df-theme .df-site-header .df-header-row,
body.df-theme .df-site-header .df-brand,
body.df-theme .df-site-header .df-header-search,
body.df-theme .df-site-header .df-header-actions,
body.df-theme .df-site-header .df-nav-wrap {
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.df-theme .df-site-header .df-header-shell {
  position: relative !important;
  z-index: 2 !important;
  background: #fff !important;
}
body.df-theme .df-site-header .df-nav-wrap {
  position: relative !important;
  z-index: 1 !important;
  background: #fff !important;
}

/* Product cards: make availability easy to scan without crowding actions. */
body.df-theme .df13-product-card .df13-product-body {
  display: flex !important;
  flex-direction: column !important;
}
body.df-theme .df13-product-card .df-stock-line {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}
body.df-theme .df13-product-card .df13-card-actions {
  margin-top: auto !important;
  padding-top: 20px !important;
}

/* When Details is the only action, it belongs visually in the centre. */
body.df-theme .df13-product-card .df13-card-actions.is-single {
  grid-template-columns: 1fr !important;
}
body.df-theme .df13-product-card .df13-card-actions.is-single .btn-light {
  width: 156px !important;
  max-width: 100% !important;
  min-width: 132px !important;
  margin: 0 auto !important;
  justify-self: center !important;
  align-self: center !important;
}

/* Fallback for any older cached card markup without the new is-single class. */
@supports selector(.df13-card-actions:not(:has(.addtocart))) {
  body.df-theme .df13-product-card .df13-card-actions:not(:has(.addtocart)) {
    grid-template-columns: 1fr !important;
  }
  body.df-theme .df13-product-card .df13-card-actions:not(:has(.addtocart)) .btn-light {
    width: 156px !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
  }
}

body.df-theme .df13-product-card .df-no-stock {
  display: none !important;
}

@media (max-width: 767px) {
  body.df-theme .df13-product-card .df13-card-actions {
    padding-top: 17px !important;
  }
  body.df-theme .df13-product-card .df13-card-actions.is-single .btn-light {
    width: 100% !important;
  }
}

/* ========================================================================
   Dentfriend Theme 2026 v1.6.0 — directions + one catalogue action standard
   ======================================================================== */

/* Home catalogue navigator: compact directory rather than large empty tiles. */
body.df-theme .df16-directions {
  padding: 70px 0 52px;
}
body.df-theme .df16-directions-shell {
  padding: 30px 32px 26px;
  border: 1px solid #dfe5ea;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 32px rgba(25,33,43,.04);
}
body.df-theme .df16-directions-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(260px,420px);
  align-items: end;
  gap: 34px;
  padding: 0 2px 24px;
  border-bottom: 1px solid #e8ecef;
}
body.df-theme .df16-directions-head h2 {
  margin: 7px 0 0;
  color: #171c23;
  font-size: 31px;
  line-height: 1.08;
  letter-spacing: -.035em;
}
body.df-theme .df16-directions-head p {
  margin: 0;
  color: #66717c;
  font-size: 13px;
  line-height: 1.65;
}
body.df-theme .df16-direction-list {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  column-gap: 28px;
}
body.df-theme .df16-direction-link {
  min-width: 0;
  min-height: 76px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 26px;
  align-items: center;
  gap: 10px;
  padding: 12px 2px;
  border-bottom: 1px solid #e8ecef;
  color: #1b2129 !important;
  text-decoration: none !important;
  transition: color .18s ease, padding-left .18s ease, background .18s ease;
}
body.df-theme .df16-direction-link:hover {
  padding-left: 8px;
  color: #2454c6 !important;
}
body.df-theme .df16-direction-number {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #f1f4f6;
  color: #2454c6;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .04em;
}
body.df-theme .df16-direction-link strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: inherit;
  font-size: 14px;
  font-weight: 720;
  white-space: nowrap;
}
body.df-theme .df16-direction-arrow {
  justify-self: end;
  color: #8a96a1;
  font-size: 18px;
  transition: transform .18s ease, color .18s ease;
}
body.df-theme .df16-direction-link:hover .df16-direction-arrow {
  color: #2454c6;
  transform: translateX(3px);
}
body.df-theme .df16-direction-link.is-bundle {
  margin: 7px 0;
  min-height: 62px;
  padding-left: 12px;
  padding-right: 12px;
  border: 1px solid #dce8c5;
  border-radius: 14px;
  background: linear-gradient(135deg,#f7faef,#eef6ff);
}
body.df-theme .df16-direction-link.is-bundle:hover { padding-left: 16px; }
body.df-theme .df16-direction-link.is-bundle .df16-direction-number {
  background: #e9f5cf;
  color: #547500;
}

/* One clear call to action per product card. The image/name remain links to the
   details page, so a second Details button is unnecessary while direct purchase
   is possible. */
body.df-theme .df13-product-card .df16-card-actions,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin-top: auto !important;
  padding-top: 20px !important;
}
body.df-theme .df13-product-card .df16-card-action,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions .df16-card-action,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions .btn-light {
  width: 184px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
body.df-theme .df13-product-card .df16-card-action.is-loading,
body.df-theme .df13-product-card .df16-card-action:disabled {
  cursor: wait;
  opacity: .7;
}
/* Explicitly cancel the old bundle-specific rule that hid Details. */
body.df-theme .df13-product-card.df-bundle-card .df13-card-actions .btn-light {
  display: inline-flex !important;
}
/* A bundle never has a catalogue Buy button: all selections happen on its page. */
body.df-theme .df13-product-card.df-bundle-card .df-catalog-buy {
  display: none !important;
}

/* Clear confirmation that an AJAX catalogue purchase actually happened. */
body.df-theme .df16-cart-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 12050;
  max-width: min(420px,calc(100vw - 32px));
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid #dce5d0;
  border-radius: 13px;
  background: #fff;
  color: #202730;
  box-shadow: 0 18px 48px rgba(18,27,36,.16);
  font-size: 13px;
  font-weight: 650;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
body.df-theme .df16-cart-toast.is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
body.df-theme .df16-cart-toast.is-error {
  border-color: #f0cece;
  background: #fffafa;
}
body.df-theme .df16-cart-toast a {
  margin-left: auto;
  color: #2454c6 !important;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
  text-decoration: none !important;
}

@media (max-width: 991px) {
  body.df-theme .df16-direction-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.df-theme .df16-directions-head { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 767px) {
  body.df-theme .df16-directions { padding: 50px 0 38px; }
  body.df-theme .df16-directions-shell { padding: 24px 20px 20px; border-radius: 18px; }
  body.df-theme .df16-directions-head h2 { font-size: 28px; }
  body.df-theme .df16-direction-list { grid-template-columns: 1fr; }
  body.df-theme .df16-direction-link { min-height: 66px; }
  body.df-theme .df13-product-card .df16-card-action,
  body.df-theme .df13-product-card.df-bundle-card .df16-card-actions .df16-card-action {
    width: 100% !important;
  }
  body.df-theme .df16-cart-toast { right: 16px; bottom: 16px; left: 16px; max-width: none; }
}

/* ========================================================================
   Dentfriend Theme 2026 v1.6.1 — cart visibility, feedback, information pages
   and natural Ukrainian UI casing
   ======================================================================== */

/* The legacy HomeCrest stylesheet hides Font Awesome inside the cart button.
   Dentfriend uses its own SVG, so make the trigger independent of legacy rules. */
body.df-theme .header-cart .df-cart-trigger {
  position:relative !important;
  width:48px !important;
  min-width:48px !important;
  height:48px !important;
  min-height:48px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border:1px solid #dfe5eb !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#1e2530 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
body.df-theme .header-cart .df-cart-trigger svg {
  display:block !important;
  width:21px !important;
  height:21px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.df-theme .header-cart .df-cart-count {
  position:absolute !important;
  right:-6px !important;
  top:-7px !important;
  min-width:20px !important;
  height:20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 5px !important;
  border-radius:999px !important;
  background:#95d600 !important;
  color:#182100 !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:20px !important;
  letter-spacing:0 !important;
}

/* Modern mini-cart: visible, readable and stable after AJAX refreshes. */
body.df-theme .df-mini-cart-menu {
  width:390px !important;
  max-width:calc(100vw - 28px) !important;
  right:0 !important;
  left:auto !important;
  margin-top:12px !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #e0e5ea !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 22px 60px rgba(18,27,36,.16) !important;
}
body.df-theme .df-mini-cart-list { display:block !important; max-height:370px; overflow:auto; padding:8px 14px 0; }
body.df-theme .df-mini-cart-item {
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 34px;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid #edf0f3;
}
body.df-theme .df-mini-cart-thumb {
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border:1px solid #e6eaee;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
body.df-theme .df-mini-cart-thumb img { max-width:90%; max-height:90%; object-fit:contain; }
body.df-theme .df-mini-cart-copy { min-width:0; }
body.df-theme .df-mini-cart-name {
  display:block;
  color:#1c222b !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.35;
  white-space:normal;
}
body.df-theme .df-mini-cart-options { margin-top:5px; color:#697481; font-size:11px; line-height:1.45; }
body.df-theme .df-mini-cart-options span { display:block; }
body.df-theme .df-mini-cart-meta { display:flex; gap:8px; margin-top:7px; color:#68727e; font-size:12px; }
body.df-theme .df-mini-cart-meta strong { color:#1f2630; font-weight:750; }
body.df-theme .df-mini-cart-remove {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:8px;
  background:#fff5f5;
  color:#c44b4b;
}
body.df-theme .df-mini-cart-remove svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
body.df-theme .df-mini-cart-summary { display:block !important; padding:14px; background:#fbfcfd; }
body.df-theme .df-mini-cart-totals { display:grid; gap:7px; margin-bottom:12px; }
body.df-theme .df-mini-total { display:flex; justify-content:space-between; gap:16px; color:#626d79; font-size:12px; }
body.df-theme .df-mini-total strong { color:#1d242d; font-weight:750; }
body.df-theme .df-mini-cart-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
body.df-theme .df-mini-cart-actions .btn { min-height:42px; display:flex; align-items:center; justify-content:center; margin:0 !important; }
body.df-theme .df-mini-cart-empty { display:block !important; padding:24px 20px; }
body.df-theme .df-mini-cart-empty p { margin:0; text-align:center; color:#66717d; }

/* Information pages should not inherit old editor fonts such as Times New Roman.
   The content is deliberately wide enough to read, but not full-screen wide. */
body.df-theme .df-info-page { padding:52px 0 82px; background:#f4f6f8; }
body.df-theme .df-info-breadcrumbs {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  max-width:1040px;
  margin:0 auto 16px;
  color:#84909c;
  font-size:12px;
}
body.df-theme .df-info-breadcrumbs a { color:#667381 !important; font-weight:550; }
body.df-theme .df-info-article {
  max-width:1040px;
  margin:0 auto;
  padding:46px 54px 52px;
  border:1px solid #e1e6eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 44px rgba(22,31,42,.055);
}
body.df-theme .df-info-kicker {
  margin-bottom:10px;
  color:#2454c6;
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
}
body.df-theme .df-info-article h1 {
  margin:0 0 28px !important;
  color:#171d25;
  font-size:38px !important;
  line-height:1.15;
  letter-spacing:-.035em;
}
body.df-theme .df-info-content {
  color:#424d59;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:16px !important;
  line-height:1.78 !important;
  letter-spacing:0 !important;
}
body.df-theme .df-info-content p,
body.df-theme .df-info-content div,
body.df-theme .df-info-content span,
body.df-theme .df-info-content li,
body.df-theme .df-info-content font {
  font-family:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}
body.df-theme .df-info-content p { margin:0 0 20px !important; color:#424d59 !important; }
body.df-theme .df-info-content ul,
body.df-theme .df-info-content ol { margin:12px 0 24px; padding-left:24px; }
body.df-theme .df-info-content li { margin:0 0 10px; color:#424d59 !important; }
body.df-theme .df-info-content strong,
body.df-theme .df-info-content b { color:#1f2630 !important; font-weight:750 !important; }
body.df-theme .df-info-content a { color:#2454c6 !important; text-decoration:underline; text-underline-offset:2px; }
body.df-theme .df-info-content h2,
body.df-theme .df-info-content h3,
body.df-theme .df-info-content h4 {
  margin:32px 0 14px;
  color:#1b222b;
  font-family:inherit !important;
  text-transform:none !important;
}

/* HomeCrest uses text-transform:capitalize in several old navigation selectors.
   Dentfriend uses natural Ukrainian sentence case instead. */
body.df-theme .df-nav-wrap a,
body.df-theme #res-menu a,
body.df-theme .myaccount-menu a,
body.df-theme .box-category a,
body.df-theme .list-group-item,
body.df-theme .df-footer a {
  text-transform:none !important;
}

/* Keep native/bootstrap success notices below the fixed header if another old
   module still creates one. The central Dentfriend cart toast remains primary. */
body.df-theme [data-notify="container"] { z-index:12030 !important; }

@media (max-width:767px) {
  body.df-theme .df-mini-cart-menu { width:min(390px,calc(100vw - 20px)) !important; }
  body.df-theme .df-info-page { padding:28px 0 54px; }
  body.df-theme .df-info-article { padding:30px 22px 34px; border-radius:16px; }
  body.df-theme .df-info-article h1 { font-size:30px !important; }
  body.df-theme .df-info-content { font-size:15px !important; line-height:1.72 !important; }
}
body.df-theme .df-info-content strong,
body.df-theme .df-info-content b,
body.df-theme .df-info-content em,
body.df-theme .df-info-content i { font-family:inherit !important; }

/* ========================================================================
   Dentfriend Theme 2026 v1.6.2 — prominent cart feedback, modern Contacts,
   unified footer typography
   ======================================================================== */

/* Cart feedback must be impossible to miss: centered directly under fixed header. */
body.df-theme .df16-cart-toast {
  top: calc(var(--df-fixed-header-height, 138px) + 18px) !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  width: min(560px, calc(100vw - 32px)) !important;
  max-width: 560px !important;
  min-height: 66px;
  padding: 15px 18px 15px 58px !important;
  border: 1px solid rgba(151,214,0,.38) !important;
  border-radius: 16px !important;
  background: #171c22 !important;
  color: #fff !important;
  box-shadow: 0 22px 60px rgba(10,18,28,.24) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  opacity: 0;
  transform: translate(-50%, -12px) scale(.985) !important;
  transition: opacity .2s ease, transform .22s ease !important;
}
body.df-theme .df16-cart-toast::before {
  content: "✓";
  position: absolute;
  left: 17px;
  top: 50%;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--df-green);
  color: #172000;
  font-size: 17px;
  font-weight: 900;
}
body.df-theme .df16-cart-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1) !important;
}
body.df-theme .df16-cart-toast.is-error {
  border-color: rgba(216,75,75,.46) !important;
  background: #2a1719 !important;
}
body.df-theme .df16-cart-toast.is-error::before {
  content: "!";
  background: #e96060;
  color: #fff;
}
body.df-theme .df16-cart-toast a {
  margin-left: auto !important;
  padding: 8px 12px;
  border-radius: 9px;
  background: #fff;
  color: #17202a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap;
  text-decoration: none !important;
}

/* Modern Contacts page — no legacy sidebars, panels or serif typography. */
body.df-theme .df-contact-page {
  padding: 50px 0 88px;
  background: #f4f6f8;
}
body.df-theme .df-contact-hero {
  max-width: 1120px;
  margin: 0 auto 28px;
}
body.df-theme .df-contact-hero h1 {
  margin: 0 0 12px !important;
  font-size: 42px !important;
  letter-spacing: -.045em;
}
body.df-theme .df-contact-hero p {
  max-width: 700px;
  margin: 0;
  color: #596572;
  font-size: 16px;
  line-height: 1.7;
}
body.df-theme .df-contact-layout {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: 28px;
  align-items: start;
}
body.df-theme .df-contact-card,
body.df-theme .df-contact-form-card {
  border: 1px solid #e0e5ea;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(22,31,42,.055);
}
body.df-theme .df-contact-card-main { padding: 34px; }
body.df-theme .df-contact-card-label {
  margin-bottom: 8px;
  color: #2454c6;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .075em;
}
body.df-theme .df-contact-card h2,
body.df-theme .df-contact-form-card h2 {
  margin: 0 0 24px;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -.03em;
}
body.df-theme .df-contact-detail-row {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 14px;
  align-items: start;
  padding: 18px 0;
  border-top: 1px solid #edf0f3;
}
body.df-theme .df-contact-detail-row:first-of-type { border-top: 0; }
body.df-theme .df-contact-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #f2f6e8;
  color: #628900;
}
body.df-theme .df-contact-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.df-theme .df-contact-detail-row strong {
  display: block;
  margin-bottom: 4px;
  color: #1e2530;
  font-size: 13px;
  font-weight: 800;
}
body.df-theme .df-contact-detail-row p {
  margin: 0;
  color: #56626f;
  font-size: 14px;
  line-height: 1.65;
  white-space: pre-line;
}
body.df-theme .df-contact-detail-row a { color: inherit; }
body.df-theme .df-contact-link {
  display: inline-block;
  margin-top: 7px;
  color: #2454c6 !important;
  font-size: 13px;
  font-weight: 750;
}
body.df-theme .df-contact-note {
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f7f9fb;
  color: #66717c;
  font-size: 13px;
  line-height: 1.6;
}
body.df-theme .df-contact-locations { display: grid; gap: 14px; margin-top: 14px; }
body.df-theme .df-contact-location-card { padding: 22px 24px; }
body.df-theme .df-contact-location-card h3 { margin: 0 0 8px; font-size: 18px; }
body.df-theme .df-contact-location-card p { margin: 5px 0; font-size: 13px; line-height: 1.55; }
body.df-theme .df-contact-form-card { padding: 34px 36px 38px; }
body.df-theme .df-contact-form-intro {
  margin: -12px 0 24px;
  color: #687481;
  font-size: 14px;
  line-height: 1.6;
}
body.df-theme .df-contact-form { display: grid; gap: 18px; }
body.df-theme .df-contact-field label {
  display: block;
  margin: 0 0 7px;
  color: #303945;
  font-size: 13px;
  font-weight: 750;
}
body.df-theme .df-contact-field.required label::after { content: " *"; color: #cf4545; }
body.df-theme .df-contact-field textarea.form-control { min-height: 174px; resize: vertical; }
body.df-theme .df-contact-submit { min-width: 170px; justify-self: start; margin-top: 2px; }

/* Footer typography: one family, one scale and one line-height system even when
   old modules inject their own inline typography. */
body.df-theme .df-footer,
body.df-theme .df-footer *,
body.df-theme .df-footer input,
body.df-theme .df-footer button,
body.df-theme .df-footer select,
body.df-theme .df-footer textarea {
  font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.df-theme .df-footer-main { padding-top: 56px; padding-bottom: 46px; }
body.df-theme .df-footer-brand {
  margin-bottom: 10px;
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: .035em !important;
}
body.df-theme .df-footer-tagline {
  max-width: 250px;
  margin-bottom: 18px;
  color: #98a4b2 !important;
  font-size: 13px !important;
  font-weight: 450 !important;
  line-height: 1.65 !important;
}
body.df-theme .df-footer h1,
body.df-theme .df-footer h2,
body.df-theme .df-footer h3,
body.df-theme .df-footer h4,
body.df-theme .df-footer h5,
body.df-theme .df-footer h6,
body.df-theme .df-footer .title,
body.df-theme .df-footer strong {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
body.df-theme .df-footer h5 { margin: 0 0 18px !important; }
body.df-theme .df-footer p,
body.df-theme .df-footer li,
body.df-theme .df-footer address,
body.df-theme .df-footer span,
body.df-theme .df-footer label {
  color: #9da8b5 !important;
  font-size: 13px !important;
  font-weight: 450 !important;
  line-height: 1.58 !important;
}
body.df-theme .df-footer ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.df-theme .df-footer ul li { margin: 0 0 10px !important; padding: 0 !important; }
body.df-theme .df-footer a {
  color: #aeb8c5 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}
body.df-theme .df-footer a:hover { color: #fff !important; }
body.df-theme .df-footer .newsletter,
body.df-theme .df-footer .footer-newsletter,
body.df-theme .df-footer .footertop,
body.df-theme .df-footer .footerbefore { color: inherit !important; }
body.df-theme .df-footer .form-control {
  height: 46px;
  font-size: 13px !important;
  font-weight: 450 !important;
}
body.df-theme .df-footer .btn,
body.df-theme .df-footer button {
  font-size: 13px !important;
  font-weight: 750 !important;
}
body.df-theme .df-footer-bottom-inner,
body.df-theme .df-footer-bottom-inner * {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

@media (max-width: 767px) {
  body.df-theme .df16-cart-toast {
    top: calc(var(--df-fixed-header-height, 124px) + 10px) !important;
    width: calc(100vw - 20px) !important;
    min-height: 62px;
    padding: 13px 14px 13px 52px !important;
    gap: 10px !important;
  }
  body.df-theme .df16-cart-toast::before { left: 13px; width: 28px; height: 28px; }
  body.df-theme .df16-cart-toast a { padding: 7px 9px; }
  body.df-theme .df-contact-page { padding: 30px 0 58px; }
  body.df-theme .df-contact-hero h1 { font-size: 34px !important; }
  body.df-theme .df-contact-layout { grid-template-columns: 1fr; gap: 16px; }
  body.df-theme .df-contact-card-main,
  body.df-theme .df-contact-form-card { padding: 26px 22px 30px; border-radius: 16px; }
  body.df-theme .df-contact-form-card { order: -1; }
  body.df-theme .df-contact-submit { width: 100%; }
}

/* ========================================================================
   Dentfriend Theme 2026 v1.6.3 — clickable cart, unified bundle feedback,
   clean contact success page
   ======================================================================== */

/* The cart icon is now a real link to checkout/cart. This is deliberately
   independent of Bootstrap dropdown behaviour and therefore cannot become
   unclickable after an AJAX refresh. */
body.df-theme .header-cart #cart > a.df-cart-trigger,
body.df-theme .header-cart .df-cart-trigger {
  position: relative !important;
  z-index: 4 !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid #dfe5eb !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #1e2530 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
body.df-theme .header-cart #cart > a.df-cart-trigger:hover {
  border-color: #cbd4df !important;
  background: #f8fafc !important;
  color: #111827 !important;
}
body.df-theme .header-cart #cart > a.df-cart-trigger svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Bundle add success is global now. The old inline success box must never
   occupy permanent space below the CTA after a successful add. */
body.df-theme .dfb-form-message:empty { display: none !important; }
body.df-theme .dfb-form-message .alert-success { display: none !important; }

/* Contact/message success: isolate it from old HomeCrest layout modules. */
body.df-theme .df-success-page {
  min-height: calc(100vh - var(--df-fixed-header-height, 138px) - 360px);
  padding: 76px 0 110px;
  background: #f4f6f8;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}
body.df-theme .df-success-page .container { max-width: 1120px; }
body.df-theme .df-success-card {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 72px minmax(0,1fr);
  gap: 24px;
  align-items: start;
  padding: 42px;
  border: 1px solid #e0e5ea;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(20,28,38,.07);
}
body.df-theme .df-success-icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #eff8d7;
  color: #598900;
}
body.df-theme .df-success-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.df-theme .df-success-label {
  margin: 3px 0 9px;
  color: #2454c6;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
}
body.df-theme .df-success-copy h1 {
  margin: 0 0 14px !important;
  color: #121820 !important;
  font-family: inherit !important;
  font-size: clamp(30px, 4vw, 42px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em;
}
body.df-theme .df-success-copy p {
  max-width: 590px;
  margin: 0 0 26px !important;
  color: #687383 !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 450 !important;
  line-height: 1.65 !important;
}
body.df-theme .df-success-actions { display: flex; gap: 12px; flex-wrap: wrap; }
body.df-theme .df-success-actions .btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px !important;
  border-radius: 11px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
@media (max-width: 767px) {
  body.df-theme .df-success-page { padding: 42px 0 72px; }
  body.df-theme .df-success-card { grid-template-columns: 1fr; padding: 28px 22px; gap: 18px; }
  body.df-theme .df-success-icon { width: 54px; height: 54px; border-radius: 15px; }
}


/* ========================================================================
   Dentfriend Theme 2026 v1.6.4 — deterministic stock, hover mini-cart,
   direct cart click and guaranteed bundle feedback
   ======================================================================== */

/* Bootstrap/legacy code must never decide when the mini-cart is visible.
   Desktop: hover opens it. Click is captured by Dentfriend JS and goes to cart. */
body.df-theme .header-cart .df-mini-cart > .df-mini-cart-menu,
body.df-theme .header-cart .df-mini-cart.open > .df-mini-cart-menu {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-5px) !important;
  pointer-events: none !important;
}
body.df-theme .header-cart .df-mini-cart.df-mini-hover-open > .df-mini-cart-menu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
  animation: dfMiniCartIn .14s ease-out both;
}
body.df-theme .header-cart .df-mini-cart.df-cart-navigate > .df-mini-cart-menu {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
@keyframes dfMiniCartIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* A selected unavailable variant is visibly blocked before the customer can
   submit it. The server validates the same rule as a second line of defence. */
body.df-theme #product-product.df-selection-out-of-stock #button-cart {
  background: #edf0f3 !important;
  border-color: #dfe4e9 !important;
  color: #7e8792 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* The bundle form keeps no inline success state. Only the global toast is used. */
body.df-theme .dfb-form-message .alert-success,
body.df-theme .dfb-form-message:empty {
  display: none !important;
}

@media (max-width: 767px), (hover: none), (pointer: coarse) {
  body.df-theme .header-cart .df-mini-cart.df-mini-hover-open > .df-mini-cart-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* ========================================================================
   Dentfriend v1.6.8 — bundle rows inside the modern mini-cart
   ======================================================================== */
body.df-theme .df-mini-bundle-item {
  background:linear-gradient(90deg, rgba(243,247,255,.68), rgba(255,255,255,0) 72%);
}
body.df-theme .df-mini-bundle-label {
  display:inline-flex;
  align-items:center;
  min-height:20px;
  margin:0 0 5px;
  padding:3px 7px;
  border-radius:999px;
  background:#eef4ff;
  color:#1f57c7;
  font-size:9px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:.045em;
  text-transform:uppercase;
}
body.df-theme .df-mini-bundle-lines {
  display:grid;
  gap:2px;
}
body.df-theme .df-mini-cart-list > .df-mini-cart-item:last-child {
  border-bottom:0;
}


/* ========================================================================
   Dentfriend v1.6.9 — truthful mini-cart unit price + bottom breathing room
   ======================================================================== */
body.df-theme .df-mini-cart-summary {
  padding:14px 14px 22px !important;
}
body.df-theme .df-mini-cart-actions,
body.df-theme .df-mini-cart-actions .btn {
  margin-bottom:0 !important;
}

/* ========================================================================
   Dentfriend Theme 2026 v1.7.0 — unified catalogue action standard
   ======================================================================== */
/* Available goods always expose two equal actions. The first action either
   buys immediately or opens mandatory choices; Details always opens the card. */
body.df-theme .df13-product-card .df16-card-actions.is-dual,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-dual {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  gap:10px !important;
  width:100% !important;
  margin-top:auto !important;
  padding-top:20px !important;
}
body.df-theme .df13-product-card .df16-card-actions.is-dual .df16-card-action,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-dual .df16-card-action,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-dual .btn-light {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:42px !important;
  margin:0 !important;
  padding:10px 8px !important;
  border:1px solid var(--df-green) !important;
  border-radius:10px !important;
  background:var(--df-green) !important;
  color:#172000 !important;
  font-size:11px !important;
  font-weight:760 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
}
body.df-theme .df13-product-card .df16-card-actions.is-dual .df16-card-action:hover,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-dual .df16-card-action:hover {
  border-color:var(--df-green-hover) !important;
  background:var(--df-green-hover) !important;
  color:#172000 !important;
}
/* Cancel the previous bundle rule which hid the catalogue buy action. In the
   new standard a bundle receives "Обрати варіант" + "Детальніше". */
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-dual .df-catalog-option,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-dual .df-catalog-details {
  display:inline-flex !important;
}
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-dual .df-catalog-buy {
  display:inline-flex !important;
}
/* Unavailable goods keep one quiet, centred, transparent Details action. */
body.df-theme .df13-product-card .df16-card-actions.is-single.is-details-only,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-single.is-details-only {
  display:flex !important;
  grid-template-columns:none !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  width:100% !important;
  margin-top:auto !important;
  padding-top:20px !important;
}
body.df-theme .df13-product-card .df16-card-actions.is-single.is-details-only .df16-card-action,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-single.is-details-only .df16-card-action {
  width:184px !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:42px !important;
  margin:0 auto !important;
  padding:10px 16px !important;
  border:1px solid #d9e1e8 !important;
  border-radius:10px !important;
  background:transparent !important;
  color:#1c2732 !important;
  font-size:11px !important;
  font-weight:760 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
}
body.df-theme .df13-product-card .df16-card-actions.is-single.is-details-only .df16-card-action:hover,
body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-single.is-details-only .df16-card-action:hover {
  border-color:#c9d3dd !important;
  background:#f7f9fb !important;
  color:#111820 !important;
}
@media (max-width:480px) {
  body.df-theme .df13-product-card .df16-card-actions.is-dual,
  body.df-theme .df13-product-card.df-bundle-card .df16-card-actions.is-dual {
    grid-template-columns:1fr !important;
  }
}

/* ========================================================================
   Dentfriend Theme 2026 v1.7.1 — stronger cart continuation + smart search
   ======================================================================== */
body.df-theme .df-cart-continue {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:20px !important;
  margin-bottom:8px !important;
  padding:0 18px;
  border:1px solid #97d700;
  border-radius:10px;
  background:#97d700;
  color:#111820 !important;
  font-size:13px;
  font-weight:800;
  line-height:1;
  text-decoration:none !important;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
body.df-theme .df-cart-continue:hover,
body.df-theme .df-cart-continue:focus {
  border-color:#88c300;
  background:#88c300;
  color:#111820 !important;
  text-decoration:none !important;
}
body.df-theme .df-cart-continue:active { transform:translateY(1px); }
