/* SlimStore 2026 storefront system — shared across every customer-facing page */
:root {
    --ss-ink: #17202a;
    --ss-muted: #667085;
    --ss-paper: #f6f7f4;
    --ss-card: rgba(255, 255, 255, .94);
    --ss-line: rgba(23, 32, 42, .10);
    --ss-brand: #183153;
    --ss-brand-hover: #0f2440;
    --ss-accent: #ef6a47;
    --ss-accent-soft: #fff0eb;
    --ss-success: #167d61;
    --ss-radius: 18px;
    --ss-radius-lg: 28px;
    --ss-shadow: 0 12px 34px rgba(16, 31, 54, .08);
    --ss-shadow-hover: 0 22px 48px rgba(16, 31, 54, .14);
    --primary-color: var(--ss-brand);
    --accent-color: var(--ss-accent);
    --border-color: var(--ss-line);
    --bg-light: var(--ss-paper);
    --text-color: var(--ss-ink);
    --text-muted: var(--ss-muted);
    --radius-md: 14px;
    --radius-lg: 22px;
}

html { scroll-behavior: smooth; }
body.theme-ecomus,
body {
    color: var(--ss-ink);
    background:
        radial-gradient(circle at 8% -8%, rgba(239, 106, 71, .09), transparent 28rem),
        radial-gradient(circle at 94% 9%, rgba(24, 49, 83, .08), transparent 32rem),
        var(--ss-paper);
    font-family: 'DM Sans', 'Albert Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
}

main { min-height: 62vh; }
a { color: var(--ss-brand); text-underline-offset: 3px; }
a:hover { color: var(--ss-accent); }
::selection { color: #fff; background: var(--ss-accent); }
.container { --bs-gutter-x: 2rem; }

h1, h2, h3, h4, h5, h6,
.section-header__title {
    color: var(--ss-ink);
    font-family: 'Albert Sans', 'DM Sans', sans-serif;
    font-weight: 700;
    letter-spacing: -.035em;
}
h1 { font-size: clamp(2rem, 4vw, 4.25rem); line-height: 1.04; }
h2 { font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1.1; }
.text-muted { color: var(--ss-muted) !important; }

/* Navigation */
.top-bar--ecomus,
.top-bar {
    background: var(--ss-brand) !important;
    color: rgba(255,255,255,.88);
    letter-spacing: .01em;
}
.header-main {
    border-bottom: 1px solid rgba(255,255,255,.7);
    background: rgba(255,255,255,.84) !important;
    box-shadow: 0 8px 30px rgba(23,32,42,.06) !important;
    backdrop-filter: blur(18px) saturate(150%);
}
.header-inline__grid { min-height: 76px; }
.header-inline__site-name,
.navbar-brand {
    color: var(--ss-ink) !important;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.04em;
}
.header-inline__logo { max-height: 42px; }
.navbar-nav-main .nav-link {
    border-radius: 999px;
    color: var(--ss-ink) !important;
    font-size: .94rem;
    font-weight: 600;
    padding: .7rem .95rem !important;
}
.navbar-nav-main .nav-link::after { display: none; }
.navbar-nav-main .nav-link:hover,
.navbar-nav-main .nav-link:focus {
    color: var(--ss-brand) !important;
    background: rgba(24,49,83,.07);
}
.header-search-form {
    border: 1px solid var(--ss-line);
    border-radius: 999px;
    background: rgba(246,247,244,.9);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.header-search-form__input { background: transparent !important; }
.header-icon-link {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid !important;
    place-items: center;
}
.header-icon-link:hover { background: var(--ss-accent-soft); }
.cart-badge { background: var(--ss-accent) !important; }
.mega-menu,
.header-dropdown .dropdown-menu,
.dropdown-menu {
    border: 1px solid var(--ss-line) !important;
    border-radius: var(--ss-radius) !important;
    box-shadow: var(--ss-shadow-hover) !important;
}
.mobile-nav-panel { padding: .75rem 0 1.25rem; }

/* Buttons and form controls */
.btn {
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: -.01em;
    padding: .72rem 1.25rem;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary,
.btn-dark {
    border-color: var(--ss-brand) !important;
    background: var(--ss-brand) !important;
    box-shadow: 0 8px 18px rgba(24,49,83,.16);
}
.btn-primary:hover,
.btn-dark:hover { border-color: var(--ss-brand-hover) !important; background: var(--ss-brand-hover) !important; }
.btn-outline-primary { color: var(--ss-brand); border-color: rgba(24,49,83,.28); }
.btn-outline-primary:hover { color: #fff; border-color: var(--ss-brand); background: var(--ss-brand); }
.btn-danger { background: #c94141; border-color: #c94141; }
.form-control,
.form-select,
.input-group-text {
    min-height: 48px;
    border-color: var(--ss-line);
    border-radius: 13px;
    background-color: rgba(255,255,255,.92);
}
.form-control:focus,
.form-select:focus {
    border-color: rgba(24,49,83,.52);
    box-shadow: 0 0 0 .24rem rgba(24,49,83,.10);
}
.input-group > :not(:first-child) { margin-left: -1px; }
.input-group > .form-control:first-child { border-radius: 13px 0 0 13px; }
.input-group > .btn:last-child,
.input-group > .input-group-text:last-child { border-radius: 0 13px 13px 0; }
.form-check-input:checked { border-color: var(--ss-brand); background-color: var(--ss-brand); }

/* Cards and common page surfaces */
.card {
    overflow: hidden;
    border: 1px solid rgba(23,32,42,.08);
    border-radius: var(--ss-radius);
    background: var(--ss-card);
    box-shadow: var(--ss-shadow);
}
.card-header,
.card-footer {
    border-color: var(--ss-line);
    background: rgba(248,249,247,.78);
    padding: 1.15rem 1.35rem;
}
.card-body { padding: 1.35rem; }
.alert { border-width: 1px; border-radius: 14px; }
.badge { border-radius: 999px; padding: .48em .7em; }
.breadcrumb { font-size: .9rem; }
.pagination { gap: .35rem; }
.page-link { border: 0; border-radius: 10px !important; color: var(--ss-ink); }
.active > .page-link { background: var(--ss-brand); }

/* Home, editorial sections and hero */
.hero-section,
.section-hero,
[class*="hero-"] {
    position: relative;
    overflow: hidden;
    border-radius: clamp(0px, 2vw, var(--ss-radius-lg));
}
.hero-content { max-width: 680px; }
.section-header { margin-bottom: clamp(1.5rem, 3vw, 2.6rem); }
.section-header__eyebrow,
.eyebrow {
    color: var(--ss-accent);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.rich-text-section,
.image-with-text { border-radius: var(--ss-radius-lg); }
.newsletter-section {
    border-radius: var(--ss-radius-lg);
    background: var(--ss-brand) !important;
    color: #fff;
}

/* Product and collection cards */
.product-card,
.collection-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(23,32,42,.07) !important;
    border-radius: var(--ss-radius) !important;
    background: #fff;
    box-shadow: 0 8px 24px rgba(16,31,54,.055);
    transition: transform .28s ease, box-shadow .28s ease;
}
.product-card:hover,
.collection-card:hover { transform: translateY(-6px); box-shadow: var(--ss-shadow-hover); }
.product-card img,
.collection-card img { transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.product-card:hover img,
.collection-card:hover img { transform: scale(1.035); }
.product-card__image,
.product-image-wrapper,
.collection-card__image { overflow: hidden; background: #eef0ed; }
.product-card__title,
.product-title { font-weight: 700; letter-spacing: -.02em; }
.product-price,
.price-current,
[class*="current-price"] { color: var(--ss-ink); font-weight: 800; }
.sale-badge,
.discount-badge { background: var(--ss-accent) !important; }
.collection-header { padding-top: clamp(2.5rem, 7vw, 6.5rem); padding-bottom: clamp(2rem, 5vw, 4.5rem); }
.collection-filters,
.filters-sidebar { border-radius: var(--ss-radius); background: rgba(255,255,255,.85); }

/* Product detail */
.product-page { padding-top: clamp(1.5rem, 4vw, 3.5rem) !important; }
.product-page .product-gallery,
.product-page [class*="media-gallery"] {
    overflow: hidden;
    border-radius: var(--ss-radius-lg);
    background: #eef0ed;
}
.product-page .product-gallery img,
.product-page [class*="product-main"] img { border-radius: var(--ss-radius-lg); }
.product-page .product-info,
.product-page [class*="product-info"] { position: relative; }
.product-page .product-price { font-size: clamp(1.55rem, 3vw, 2.2rem); }
.product-page .variant-option,
.product-page .option-value { border-radius: 12px !important; }
.product-page .nav-tabs { border-bottom-color: var(--ss-line); gap: .4rem; }
.product-page .nav-tabs .nav-link { border: 0; border-radius: 999px; color: var(--ss-muted); }
.product-page .nav-tabs .nav-link.active { color: #fff; background: var(--ss-brand); }
.product-description img { max-width: 100%; height: auto; border-radius: 14px; }
.tier-discount-box { border-radius: var(--ss-radius) !important; background: #fff !important; }

/* Cart, checkout, account, contact and content pages */
.cart-item { padding-block: 1.25rem !important; }
.cart-item img { aspect-ratio: 1; object-fit: cover; border-radius: 14px !important; }
.cart-summary-card { position: sticky; top: 110px; }
.account-nav,
.list-group { border-radius: var(--ss-radius); overflow: hidden; box-shadow: var(--ss-shadow); }
.list-group-item { border-color: var(--ss-line); padding: .95rem 1.1rem; }
.list-group-item.active { border-color: var(--ss-brand); background: var(--ss-brand); }
.contact-page .card,
.page-content,
.blog-card { border-radius: var(--ss-radius); }
.table { --bs-table-bg: transparent; }
.table > :not(caption) > * > * { padding: .95rem .8rem; border-color: var(--ss-line); }
.accordion-item { overflow: hidden; border-color: var(--ss-line); background: #fff; }
.accordion-item:first-of-type { border-radius: var(--ss-radius) var(--ss-radius) 0 0; }
.accordion-item:last-of-type { border-radius: 0 0 var(--ss-radius) var(--ss-radius); }

/* Footer */
.footer-main--ecomus,
.footer-main { margin-top: clamp(3rem, 7vw, 7rem); background: #101c2c !important; color: rgba(255,255,255,.72); }
.footer-main h5,
.footer-main h6 { color: #fff; }
.footer-main a { color: rgba(255,255,255,.68); text-decoration: none; }
.footer-main a:hover { color: #fff; }
.footer-top { padding-block: clamp(3rem, 6vw, 5.5rem); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.social-link { border: 1px solid rgba(255,255,255,.16) !important; border-radius: 50% !important; }
.back-to-top { right: 22px; bottom: 22px; border-radius: 50%; background: var(--ss-accent) !important; box-shadow: 0 12px 24px rgba(239,106,71,.3); }

/* Checkout template uses its own markup */
.checkout-wrapper { max-width: 1240px; margin: 0 auto; padding: 2rem; }
.checkout-header { border-bottom: 1px solid var(--ss-line); }
.checkout-form-section,
.checkout-summary,
.order-summary { border: 1px solid var(--ss-line); border-radius: var(--ss-radius); background: #fff; box-shadow: var(--ss-shadow); }

@media (max-width: 991.98px) {
    .header-inline__grid { min-height: 66px; }
    .mobile-nav-panel { border-top: 1px solid var(--ss-line); }
    .cart-summary-card { position: static; }
    .container { --bs-gutter-x: 1.35rem; }
}

@media (max-width: 575.98px) {
    :root { --ss-radius: 15px; --ss-radius-lg: 20px; }
    h1 { font-size: 2.1rem; }
    .btn { min-height: 46px; }
    .card-body { padding: 1.1rem; }
    .checkout-wrapper { padding: .75rem; }
    .top-bar-right { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* 1688-style multi-variant purchasing */
.variant-matrix {
  overflow: hidden;
  border: 1px solid var(--ss-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(20, 32, 51, .07);
}

.variant-matrix__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--ss-line);
  background: linear-gradient(135deg, #fff8f4, #fff);
}

.variant-matrix__heading h2 { margin: 0 0 3px; font-size: 1.08rem; }
.variant-matrix__heading p { margin: 0; color: var(--ss-muted); font-size: .88rem; }
.variant-matrix__count { white-space: nowrap; padding: 7px 11px; border-radius: 999px; background: #fff; color: var(--ss-accent); font-size: .8rem; font-weight: 700; }
.variant-matrix__table-wrap { max-height: 490px; overflow: auto; }
.variant-matrix__table { width: 100%; border-collapse: separate; border-spacing: 0; }
.variant-matrix__table th { position: sticky; top: 0; z-index: 2; padding: 11px 16px; background: #f8fafc; color: var(--ss-muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; }
.variant-matrix__table td { padding: 13px 16px; border-top: 1px solid #eef1f5; vertical-align: middle; }
.variant-matrix__row { transition: background .18s ease, box-shadow .18s ease; }
.variant-matrix__row.is-selected { background: #fff8f4; box-shadow: inset 3px 0 var(--ss-accent); }
.variant-matrix__identity { display: flex; align-items: center; gap: 12px; min-width: 210px; }
.variant-matrix__identity img { width: 52px; height: 52px; border-radius: 12px; object-fit: cover; background: #f4f5f7; }
.variant-matrix__identity span { display: inline-flex; flex-direction: column; margin: 2px 12px 2px 0; font-weight: 650; }
.variant-matrix__identity small { color: var(--ss-muted); font-size: .7rem; font-weight: 500; }
.variant-matrix__price { color: var(--ss-accent); font-weight: 750; }
.variant-qty { display: inline-grid; grid-template-columns: 34px 58px 34px; overflow: hidden; border: 1px solid var(--ss-line); border-radius: 11px; background: #fff; }
.variant-qty__button { border: 0; background: #f6f7f9; color: var(--ss-ink); font-size: 1.05rem; }
.variant-qty__button:hover { background: #eceff3; }
.variant-qty__input { width: 100%; min-width: 0; border: 0; border-inline: 1px solid var(--ss-line); text-align: center; font-weight: 700; outline: none; }
.variant-qty__input::-webkit-inner-spin-button { appearance: none; }

.variant-selection { margin-bottom: 16px; padding: 14px; border-radius: 16px; background: #f8fafc; }
.variant-selection__empty { color: var(--ss-muted); font-size: .88rem; }
.variant-selection__list { display: flex; flex-wrap: wrap; gap: 8px; }
.variant-selection__item { display: inline-flex; align-items: center; gap: 7px; padding: 7px 8px 7px 11px; border: 1px solid #ffd8c9; border-radius: 999px; background: #fff; color: var(--ss-ink); font-size: .82rem; }
.variant-selection__item button { display: grid; width: 21px; height: 21px; place-items: center; border: 0; border-radius: 50%; background: #fff0eb; color: var(--ss-accent); line-height: 1; }
.variant-selection__summary { display: flex; justify-content: space-between; gap: 14px; margin-top: 12px; padding-top: 11px; border-top: 1px dashed var(--ss-line); color: var(--ss-muted); font-size: .85rem; }
.variant-selection__summary strong { color: var(--ss-ink); font-size: 1rem; }

@media (max-width: 700px) {
  .variant-matrix__heading { align-items: flex-start; padding: 16px; }
  .variant-matrix__table th, .variant-matrix__table td { padding: 10px; }
  .variant-matrix__table th:nth-child(3), .variant-matrix__table td:nth-child(3) { display: none; }
  .variant-matrix__identity { min-width: 150px; }
  .variant-matrix__identity img { width: 42px; height: 42px; }
  .variant-qty { grid-template-columns: 31px 46px 31px; }
}

/* ===== Storefront refresh 2026-09-14: clean marketplace direction ===== */
:root {
  --ss-ink: #182230;
  --ss-muted: #667085;
  --ss-paper: #f6f8fb;
  --ss-card: #ffffff;
  --ss-line: #e7ebf0;
  --ss-brand: #1689ed;
  --ss-brand-hover: #0876d1;
  --ss-accent: #ff6a2a;
  --ss-accent-soft: #fff3ed;
  --ss-radius: 14px;
  --ss-radius-lg: 20px;
  --ss-shadow: 0 8px 24px rgba(16, 41, 72, .06);
  --ss-shadow-hover: 0 16px 36px rgba(16, 41, 72, .11);
}

body.theme-ecomus {
  color: var(--ss-ink);
  background: var(--ss-paper);
  font-size: 15px;
}

.container { max-width: 1440px; }
h1 { font-size: clamp(1.85rem, 3vw, 3rem); line-height: 1.12; }
h2 { font-size: clamp(1.45rem, 2.3vw, 2.15rem); }
.section-block { padding-block: clamp(42px, 6vw, 76px); }

.top-bar--ecomus { min-height: 34px; background: #102a43 !important; font-size: 12px; }
.header-main { border-bottom: 1px solid var(--ss-line); background: rgba(255,255,255,.96) !important; box-shadow: 0 4px 18px rgba(16,41,72,.05) !important; }
.header-inline__grid { min-height: 68px; grid-template-columns: minmax(145px,auto) minmax(180px,1fr) minmax(240px,360px) auto; gap: 18px; }
.header-inline__site-name { align-items: center; color: #102a43 !important; font-size: 1.28rem; font-weight: 850; letter-spacing: -.025em; }
.header-inline__site-name::before { content: ''; width: 11px; height: 27px; margin-right: 8px; border-radius: 5px; background: linear-gradient(180deg,#19a7ff,var(--ss-brand)); transform: skew(-12deg); }
.navbar-nav-main .nav-link { padding: .55rem .75rem !important; border-radius: 8px; font-size: .86rem; letter-spacing: .025em; }
.header-search-form { max-width: none; height: 42px; border-color: #d7e3ef; border-radius: 10px; background: #f5f8fc; }
.header-search-form__btn { width: 44px; border-left: 1px solid #d7e3ef; color: #155b94; background: #eaf4fd; }
.header-search-form__btn:hover { color: #fff; background: var(--ss-brand); }
.header-icon-link { width: 38px; height: 38px; border-radius: 9px; }
.header-inline__icons .header-locale-switcher,
.header-inline__icons .header-currency-switcher { position: relative !important; }
.header-inline__icons .header-locale-switcher .dropdown-menu,
.header-inline__icons .header-currency-switcher .dropdown-menu {
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 1100;
  min-width: 178px;
  margin: 0 !important;
  padding: 7px;
  transform: none !important;
}
.header-inline__icons .header-locale-switcher .dropdown-menu::before,
.header-inline__icons .header-currency-switcher .dropdown-menu::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 14px;
  width: 11px;
  height: 11px;
  border-top: 1px solid var(--ss-line);
  border-left: 1px solid var(--ss-line);
  background: #fff;
  transform: rotate(45deg);
}
.header-inline__icons .header-locale-switcher .dropdown-item,
.header-inline__icons .header-currency-switcher .dropdown-item { position: relative; z-index: 1; padding: 8px 11px; border-radius: 8px; }

/* Shopify-style mini cart */
.mini-cart-backdrop { position: fixed; inset: 0; z-index: 1085; background: rgba(9,24,40,.46); opacity: 0; backdrop-filter: blur(2px); transition: opacity .25s ease; }
.mini-cart-backdrop.is-visible { opacity: 1; }
.mini-cart-drawer { position: fixed; top: 0; right: 0; z-index: 1090; display: flex; width: min(440px,100vw); height: 100dvh; flex-direction: column; visibility: hidden; transform: translateX(102%); background: #fff; box-shadow: -24px 0 60px rgba(9,31,52,.2); transition: transform .3s cubic-bezier(.22,.61,.36,1), visibility .3s; }
.mini-cart-drawer.is-open { visibility: visible; transform: translateX(0); }
.mini-cart-drawer__header { display: flex; align-items: center; justify-content: space-between; min-height: 90px; padding: 19px 22px; border-bottom: 1px solid var(--ss-line); }
.mini-cart-drawer__eyebrow { color: var(--ss-brand); font-size: .69rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mini-cart-drawer__header h2 { display: flex; align-items: center; gap: 9px; margin: 3px 0 0; font-size: 1.35rem; font-weight: 780; }
.mini-cart-drawer__count { display: grid; min-width: 25px; height: 25px; padding: 0 7px; place-items: center; border-radius: 999px; color: #fff; background: var(--ss-brand); font-size: .72rem; }
.mini-cart-drawer__close { display: grid; width: 40px; height: 40px; padding: 0; place-items: center; border: 1px solid var(--ss-line); border-radius: 50%; color: var(--ss-ink); background: #fff; font-size: 1.05rem; transition: transform .2s ease, background .2s ease; }
.mini-cart-drawer__close:hover { transform: rotate(8deg); background: #f2f7fc; }
.mini-cart-drawer__body { flex: 1; overflow-y: auto; padding: 4px 22px; }
.mini-cart-item { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 14px; padding: 18px 0; border-bottom: 1px solid #edf1f5; }
.mini-cart-item__image { overflow: hidden; aspect-ratio: 1; border-radius: 12px; background: #f3f5f7; }
.mini-cart-item__image img { width: 100%; height: 100%; object-fit: cover; }
.mini-cart-item__title { display: -webkit-box; overflow: hidden; color: var(--ss-ink); font-size: .91rem; font-weight: 700; line-height: 1.4; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.mini-cart-item__variant { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 6px; color: var(--ss-muted); font-size: .72rem; }
.mini-cart-item__variant span + span::before { content: '/'; margin-right: 8px; color: #b4bec9; }
.mini-cart-item__meta { display: flex; justify-content: space-between; gap: 10px; margin-top: 9px; color: var(--ss-muted); font-size: .8rem; }
.mini-cart-item__meta strong { color: var(--ss-brand); }
.mini-cart-item__remove-form button { margin-top: 7px; padding: 0; border: 0; border-bottom: 1px solid currentColor; color: #788696; background: transparent; font-size: .7rem; }
.mini-cart-drawer__footer { padding: 18px 22px calc(18px + env(safe-area-inset-bottom)); border-top: 1px solid var(--ss-line); background: #fff; box-shadow: 0 -10px 30px rgba(16,41,72,.05); }
.mini-cart-drawer__subtotal { display: flex; align-items: center; justify-content: space-between; font-size: 1rem; }
.mini-cart-drawer__subtotal strong { color: var(--ss-ink); font-size: 1.2rem; }
.mini-cart-drawer__footer p { margin: 7px 0 15px; color: var(--ss-muted); font-size: .73rem; }
.mini-cart-drawer__actions { display: grid; grid-template-columns: 1fr 1.15fr; gap: 9px; }
.mini-cart-drawer__empty { display: grid; flex: 1; padding: 38px 28px; place-content: center; justify-items: center; text-align: center; }
.mini-cart-drawer__empty-icon { display: grid; width: 76px; height: 76px; margin-bottom: 20px; place-items: center; border-radius: 50%; color: var(--ss-brand); background: #edf7ff; font-size: 1.9rem; }
.mini-cart-drawer__empty h3 { font-size: 1.2rem; }
.mini-cart-drawer__empty p { margin-bottom: 20px; color: var(--ss-muted); }
body.mini-cart-open { overflow: hidden; }
@media (max-width: 575.98px) {
  .header-inline__icons .header-icon-link { width: 34px; height: 34px; padding: 6px; }
  .header-locale-switcher .dropdown-toggle::after,
  .header-currency-switcher .dropdown-toggle::after { display: none; }
  .header-inline__icons .header-locale-switcher .dropdown-menu,
  .header-inline__icons .header-currency-switcher .dropdown-menu { right: -4px !important; min-width: 170px; }
  .header-currency-switcher .ms-1 { display: none !important; }
  .mini-cart-drawer { width: min(390px,calc(100vw - 18px)); }
  .mini-cart-drawer__header { min-height: 76px; padding: 15px 17px; }
  .mini-cart-drawer__body { padding-inline: 17px; }
  .mini-cart-item { grid-template-columns: 78px minmax(0,1fr); }
  .mini-cart-drawer__footer { padding-inline: 17px; }
}

.btn { min-height: 42px; border-radius: 9px; padding: .62rem 1.2rem; box-shadow: none !important; }
.btn-primary { border-color: var(--ss-brand) !important; background: var(--ss-brand) !important; }
.btn-primary:hover { background: var(--ss-brand-hover) !important; }
.btn-outline-primary { border-color: var(--ss-brand); color: var(--ss-brand); }
.form-control,.form-select,.input-group-text { min-height: 44px; border-radius: 9px; background: #fff; }

.card { border-color: var(--ss-line); border-radius: var(--ss-radius); box-shadow: var(--ss-shadow); }
.card-header,.card-footer { background: #fff; }
.breadcrumb { margin-bottom: 22px; color: #8a94a3; }
.breadcrumb a { color: #5d6b7d; }

/* Home */
.hero--ecomus {
  min-height: 420px;
  margin: 22px auto 0;
  max-width: 1440px;
  border-radius: 22px;
  background-color: #146fc2;
  background-position: center right;
}
.hero--ecomus.hero--no-image { min-height: 330px; background-image: linear-gradient(120deg,#0b4f8c,#1689ed 68%,#55b4ff); }
.hero--ecomus.hero--no-image::before { background: linear-gradient(90deg,rgba(5,38,69,.55),rgba(13,104,184,.08)); }
.hero--ecomus::before { background: linear-gradient(90deg,rgba(8,42,76,.9) 0%,rgba(8,64,112,.65) 46%,rgba(15,100,166,.14) 78%); }
.hero--ecomus h1 { max-width: 12ch; font-size: clamp(2.35rem,4.5vw,4.25rem); font-weight: 750; }
.hero--ecomus h1,.hero--ecomus p { color: #fff; }
.hero--ecomus .lead { max-width: 520px; font-size: 1.08rem; }
.hero--ecomus .btn-primary { color: #0d68b8; border-color: #fff !important; background: #fff !important; }
.section-header--ecomus { margin-bottom: 24px; }
.section-header--ecomus .section-header__title { font-size: 1.8rem; }
.promo-banner--ecomus { border-radius: 0 !important; }
.newsletter--ecomus,.newsletter-section { border-radius: 20px; background: linear-gradient(135deg,#0e5da5,#1689ed) !important; }

/* Catalog cards */
.product-card--ecomus { overflow: hidden; border: 1px solid var(--ss-line) !important; border-radius: 14px !important; background: #fff; box-shadow: none; }
.product-card--ecomus:hover { transform: translateY(-3px); border-color: #d8e2ec !important; box-shadow: var(--ss-shadow-hover); }
.product-card--ecomus .product-image { padding-top: 100%; background: #f2f4f7; }
.product-card--ecomus .product-info { padding: 13px 14px 16px; }
.product-card--ecomus .product-title { display: -webkit-box; min-height: 42px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; font-size: .92rem; line-height: 1.45; }
.product-card--ecomus .product-price { margin-top: 7px; color: var(--ss-brand); font-size: 1.08rem; }
.product-card--ecomus .product-quick-add { width: 38px; height: 38px; border-radius: 9px; color: #fff; background: var(--ss-brand); }
.collection-header { padding-block: 40px 28px; }
.collection-filters,.filters-sidebar { padding: 18px; border: 1px solid var(--ss-line); background: #fff; }

/* Product page */
.product-page { padding-top: 22px !important; }
.product-page__layout { align-items: flex-start; gap: 0; padding: 22px; border: 1px solid var(--ss-line); border-radius: 18px; background: #fff; box-shadow: var(--ss-shadow); }
.product-page__layout > .col-md-6:first-child { padding-right: 22px; }
.product-page__layout > .col-md-6:last-child { padding-left: 22px; }
.product-media-gallery .carousel-inner { border-radius: 14px; background: #f3f5f7; }
.product-media-gallery .carousel-item img { width: 100%; height: min(540px,48vw) !important; object-fit: contain !important; background: #f3f5f7; }
.product-thumbnails { gap: 9px !important; margin-top: 10px !important; }
.product-thumbnail { flex: 0 0 66px !important; width: 66px !important; height: 66px !important; overflow: hidden; border: 2px solid transparent !important; border-radius: 10px !important; background: #f3f5f7; }
.product-thumbnail.active { border-color: var(--ss-brand) !important; }
.product-page__layout h1 { margin-bottom: 10px !important; font-size: clamp(1.55rem,2.25vw,2rem); line-height: 1.3; font-weight: 740; letter-spacing: -.022em; }
.product-price-block { margin-bottom: 15px !important; padding: 13px 16px; border-radius: 10px; background: #f2f8ff; }
.product-price-block .text-primary,.product-page .product-price { color: var(--ss-brand) !important; font-size: 1.8rem !important; }
.tier-discount-box { margin-bottom: 14px !important; padding: 12px !important; border-color: #dceafa !important; border-radius: 10px !important; background: #f8fbff !important; }

.variant-matrix { margin-bottom: 12px !important; border-color: var(--ss-line); border-radius: 12px; box-shadow: none; }
.variant-matrix__heading { padding: 13px 15px; background: #fff; }
.variant-matrix__heading h2 { font-size: .98rem; }
.variant-matrix__heading p { font-size: .78rem; }
.variant-matrix__count { padding: 5px 9px; color: var(--ss-brand); background: #eef7ff; }
.variant-groups { padding: 14px 15px 10px; border-bottom: 1px solid var(--ss-line); }
.variant-groups__label { margin-bottom: 9px; font-size: .88rem; font-weight: 700; }
.variant-groups__rail { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.variant-group-tab { position: relative; flex: 0 0 62px; width: 62px; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 9px; background: #f3f5f7; color: var(--ss-ink); }
.variant-group-tab img { display: block; width: 58px; height: 58px; object-fit: cover; }
.variant-group-tab span { display: block; overflow: hidden; padding: 4px 3px; font-size: .66rem; white-space: nowrap; text-overflow: ellipsis; }
.variant-group-tab.is-active { border-color: var(--ss-brand); background: #fff; box-shadow: 0 0 0 2px rgba(22,137,237,.1); }
.variant-group-tab__quantity { position: absolute; top: -1px; right: -1px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 0 6px 0 9px; color: #fff; background: var(--ss-accent); font-size: .67rem; line-height: 19px; }
.variant-matrix__table-wrap { max-height: 232px; }
.variant-matrix__table-wrap.is-expanded { max-height: none; overflow: visible; }
.variant-matrix__expand-bar {
  position: relative;
  display: flex;
  justify-content: center;
  min-height: 48px;
  padding: 8px 12px 10px;
  border-top: 1px solid #edf1f5;
  background: linear-gradient(180deg, rgba(248,250,252,.35), #fff 42%);
}
.variant-matrix__expand-bar::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 28px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.96));
}
.variant-matrix__expand-button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  padding: 6px 15px 6px 18px;
  border: 1px solid #cfe3f7;
  border-radius: 999px;
  color: var(--ss-brand);
  background: #f4f9ff;
  font-size: .78rem;
  font-weight: 700;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.variant-matrix__expand-button:hover { transform: translateY(-1px); border-color: var(--ss-brand); background: #fff; box-shadow: 0 7px 18px rgba(22,137,237,.14); }
.variant-matrix__expand-icon { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: #fff; background: var(--ss-brand); transition: transform .25s ease; }
.variant-matrix__expand-button.is-expanded .variant-matrix__expand-icon { transform: rotate(180deg); }
.variant-matrix__table th { padding: 8px 12px; font-size: .67rem; }
.variant-matrix__table td { padding: 9px 12px; font-size: .82rem; }
.variant-matrix__identity { min-width: 140px; }
.variant-matrix__identity span { margin: 0; font-size: .82rem; }
.variant-matrix__identity small { display: none; }
.variant-qty { grid-template-columns: 28px 44px 28px; border-radius: 7px; }
.variant-qty__button { font-size: .9rem; }
.variant-qty__input { height: 30px; font-size: .8rem; }
.variant-selection { margin-bottom: 10px; padding: 11px 12px; border: 1px solid #dceafa; border-radius: 10px; background: #f8fbff; }
.variant-selection__list { gap: 5px; }
.variant-selection__item { padding: 5px 6px 5px 9px; border-color: #cfe5fa; border-radius: 7px; font-size: .75rem; }
.variant-selection__summary { margin-top: 8px; padding-top: 8px; font-size: .76rem; }
.product-buy-panel .d-grid { grid-template-columns: 1fr 1fr; display: grid !important; }
.product-buy-panel .btn { min-height: 48px; border-radius: 9px; }
.product-buy-panel .btn-outline-primary { color: #fff; background: var(--ss-brand); }
.trust-strip--compact { margin-top: 12px; }
.product-page__section { margin-top: 8px; }
.product-page .nav-tabs { justify-content: center; gap: 26px; border-bottom: 1px solid var(--ss-line); }
.product-page .nav-tabs .nav-link { border-radius: 0; background: transparent !important; color: var(--ss-muted) !important; }
.product-page .nav-tabs .nav-link.active { border-bottom: 2px solid var(--ss-brand); color: var(--ss-brand) !important; }
.product-description { max-width: 1180px; margin-inline: auto; }

/* Cart, account, blog and content pages */
.cart-item { margin: 0 !important; padding: 18px 0 !important; }
.cart-item h5 { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: .98rem; }
.cart-summary-card { top: 92px; }
.account-nav,.list-group { border: 1px solid var(--ss-line); box-shadow: none; }
.list-group-item.active { border-color: var(--ss-brand); background: var(--ss-brand); }
.page-content,.blog-card,.contact-page .card { border: 1px solid var(--ss-line); box-shadow: none; }
.footer-main--ecomus { margin-top: 70px; background: #102a43 !important; }
.footer-brand { font-size: 1.35rem; letter-spacing: -.02em; }
.footer-links li { margin-bottom: 9px; }

@media (max-width: 991.98px) {
  .header-inline__grid { grid-template-columns: 1fr auto; min-height: 62px; }
  .hero--ecomus { min-height: 380px; margin-top: 12px; border-radius: 14px; }
  .product-page__layout { padding: 14px; }
  .product-page__layout > .col-md-6:first-child { padding-right: 12px; }
  .product-page__layout > .col-md-6:last-child { padding-left: 12px; }
}

@media (max-width: 767.98px) {
  .section-block { padding-block: 38px; }
  .product-page__layout { display: block; margin-inline: 0; }
  .product-page__layout > .col-md-6 { width: 100%; padding: 0 !important; }
  .product-page__layout > .col-md-6:last-child { margin-top: 18px; }
  .product-media-gallery .carousel-item img { height: min(88vw,460px) !important; }
  .variant-matrix__table th:nth-child(3),.variant-matrix__table td:nth-child(3) { display: none; }
  .variant-matrix__table th,.variant-matrix__table td { padding: 10px 8px; font-size: .78rem; }
  .variant-matrix__price { display: table-cell !important; white-space: nowrap; font-size: .8rem !important; }
  .product-breadcrumb__name { max-width: none; }
  .variant-selection__summary { flex-wrap: wrap; }
}

@media (max-width: 575.98px) {
  .hero--ecomus { min-height: 340px; border-radius: 0; }
  .hero--ecomus.hero--no-image { min-height: 290px; }
  .hero--ecomus h1 { font-size: 2.4rem; }
  .product-page { padding-inline: 8px; }
  .product-page__layout { border-radius: 12px; }
  .product-page__layout h1 { font-size: 1.35rem; }
  .variant-group-tab { flex-basis: 56px; width: 56px; }
  .variant-group-tab img { width: 52px; height: 52px; }
  .variant-matrix__table th:nth-child(2),.variant-matrix__table td:nth-child(2) { display: table-cell; }
  .product-buy-panel .d-grid { grid-template-columns: 1fr; }
}

/* ===== Uoonu brand and homepage trust refresh 2026-10-07 ===== */
:root {
  --ss-ink: #102a36;
  --ss-muted: #65747b;
  --ss-paper: #f7f8f5;
  --ss-line: #e3e9e6;
  --ss-brand: #176b87;
  --ss-brand-hover: #10566e;
  --ss-accent: #ed8a4a;
  --ss-accent-soft: #fff2e8;
  --ss-success: #14806b;
}

body.theme-ecomus {
  background: var(--ss-paper);
}

.header-main {
  border-bottom-color: rgba(16,42,54,.09);
  box-shadow: 0 8px 30px rgba(16,42,54,.055) !important;
}
.header-inline__grid { min-height: 74px; }
.header-inline__logo {
  width: clamp(132px, 12vw, 166px);
  max-width: none;
  max-height: 43px;
}
.header-inline__site-name { color: #0c2e3e !important; font-size: 1.45rem; text-transform: lowercase; }
.header-inline__site-name::before { background: linear-gradient(180deg,#22a699,#176b87); }
.header-search-form {
  border-color: #d9e3e1;
  background: #f6f8f7;
}
.header-search-form__btn {
  border-left-color: #d9e3e1;
  color: #176b87;
  background: #eaf4f2;
}

.theme-ecomus main > .py-2 {
  padding-block: .7rem !important;
  background: linear-gradient(90deg,#0c2e3e,#164b5d) !important;
}
.theme-ecomus main > .py-2 .container { justify-content: center !important; }
.theme-ecomus main > .py-2 .small { font-size: .79rem; letter-spacing: .025em; }

.hero--ecomus {
  min-height: 520px;
  max-width: 1480px;
  margin-top: 18px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 28px;
  background-position: center center;
  box-shadow: 0 24px 70px rgba(18,55,68,.15);
}
.hero--ecomus::before {
  background: linear-gradient(90deg,rgba(5,30,46,.98) 0%,rgba(8,39,57,.94) 37%,rgba(11,44,59,.6) 52%,rgba(12,46,62,.08) 73%);
}
.hero--ecomus .container { padding-inline: clamp(24px,5vw,76px); }
.hero--ecomus__content { max-width: 720px; }
.hero--ecomus__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #dff8f1;
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(8px);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.hero--ecomus h1 {
  max-width: 13ch;
  margin-bottom: 18px !important;
  font-size: clamp(2.8rem,5vw,4.9rem);
  font-weight: 760;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.hero--ecomus .lead { max-width: 590px; color: rgba(255,255,255,.82); font-size: clamp(1rem,1.4vw,1.17rem); line-height: 1.65; }
.hero--ecomus .btn { min-height: 50px; padding-inline: 1.55rem; border-radius: 12px; }
.hero--ecomus .btn-primary { color: #0c2e3e; border-color: #fff !important; background: #fff !important; }
.hero--ecomus .btn-primary:hover { color: #fff; border-color: #22a699 !important; background: #22a699 !important; }
.hero--ecomus .btn-outline-light { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.06); }
.hero--ecomus__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 28px;
  color: rgba(255,255,255,.83);
  font-size: .78rem;
  font-weight: 650;
}
.hero--ecomus__proof span { display: inline-flex; align-items: center; gap: 7px; }
.hero--ecomus__proof i { color: #65d2b7; }

.trust-strip {
  padding: 24px 0;
  border: 0;
  background: transparent;
}
.trust-strip__inner { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.trust-strip__item {
  min-height: 96px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--ss-line);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 24px rgba(16,42,54,.04);
}
.trust-strip__item:hover { transform: translateY(-2px); background: #fff; box-shadow: 0 14px 30px rgba(16,42,54,.08); }
.trust-strip__icon { width: 46px; height: 46px; border-radius: 13px; color: #176b87; background: #e8f5f2; font-size: 1.2rem; }
.trust-strip__title { color: #102a36; font-size: .94rem; }
.trust-strip__text { margin-top: 3px; font-size: .79rem; line-height: 1.45; }

.home-offers { padding: 18px 0 8px; }
.home-offers__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.home-offer {
  position: relative;
  display: grid;
  min-height: 126px;
  grid-template-columns: 48px minmax(0,1fr) auto;
  gap: 15px;
  align-items: center;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(16,42,54,.09);
  border-radius: 18px;
  color: #102a36;
  background: #fff;
  box-shadow: 0 10px 28px rgba(16,42,54,.05);
  text-decoration: none;
  transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.home-offer::after { content: ''; position: absolute; right: -35px; bottom: -55px; width: 130px; height: 130px; border-radius: 50%; background: currentColor; opacity: .035; }
.home-offer:hover { transform: translateY(-4px); border-color: rgba(23,107,135,.25); color: #102a36; box-shadow: 0 18px 38px rgba(16,42,54,.1); }
.home-offer__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: #176b87; background: #e8f5f2; font-size: 1.25rem; }
.home-offer--volume .home-offer__icon { color: #b9612e; background: #fff0e4; }
.home-offer--support .home-offer__icon { color: #5a4b9d; background: #f0edff; }
.home-offer__copy { display: grid; gap: 5px; }
.home-offer__copy small { color: #697980; font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.home-offer__copy strong { max-width: 26ch; font-size: 1rem; line-height: 1.35; }
.home-offer__arrow { align-self: start; color: #8b999e; }

.section-header--ecomus { margin-bottom: 28px; }
.section-header--ecomus .section-header__title { color: #102a36; font-size: clamp(1.65rem,2.4vw,2.35rem); font-weight: 760; }
.product-card--ecomus { border-color: #e2e8e5 !important; border-radius: 18px !important; box-shadow: 0 8px 24px rgba(16,42,54,.045); }
.product-card--ecomus:hover { border-color: #cbdcd7 !important; box-shadow: 0 18px 40px rgba(16,42,54,.11); }
.product-card--ecomus .product-price { color: #176b87; }
.newsletter--ecomus,.newsletter-section { border-radius: 24px; background: linear-gradient(135deg,#0c2e3e,#176b87) !important; box-shadow: 0 22px 55px rgba(12,46,62,.16); }
.footer-main--ecomus { background: #092733 !important; }

@media (max-width: 991.98px) {
  .hero--ecomus { min-height: 470px; margin-inline: 12px; background-position: 58% center; }
  .hero--ecomus::before { background: linear-gradient(90deg,rgba(5,30,46,.96),rgba(8,39,57,.8) 58%,rgba(8,39,57,.25)); }
  .trust-strip__inner,.home-offers__grid { grid-template-columns: 1fr; }
  .trust-strip__item { min-height: 82px; }
}

@media (max-width: 575.98px) {
  .header-inline__logo { width: 118px; max-height: 36px; }
  .hero--ecomus { min-height: 520px; margin: 0; border: 0; border-radius: 0; background-position: 62% center; }
  .hero--ecomus::before { background: linear-gradient(180deg,rgba(5,30,46,.9),rgba(5,30,46,.78) 65%,rgba(5,30,46,.94)); }
  .hero--ecomus .container { padding-inline: 20px; }
  .hero--ecomus h1 { max-width: 11ch; font-size: 2.65rem; }
  .hero--ecomus .lead { max-width: 34ch; }
  .hero--ecomus__proof { display: grid; grid-template-columns: 1fr 1fr; margin-top: 22px; }
  .home-offers { padding-top: 8px; }
  .home-offer { min-height: 106px; padding: 17px; }
  .trust-strip { padding-block: 16px; }
  .trust-strip__item { padding: 14px 16px; }
}


/* Configurable floating contact channels */
.floating-contact {
    position: fixed;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    z-index: 1045;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}
.floating-contact--right { right: max(22px, env(safe-area-inset-right, 0px)); }
.floating-contact--left { left: max(22px, env(safe-area-inset-left, 0px)); align-items: flex-start; }
.floating-contact__toggle {
    width: 58px;
    height: 58px;
    border: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #111827, #334155);
    box-shadow: 0 12px 34px rgba(15, 23, 42, .28);
    font-size: 1.4rem;
    transition: transform .2s ease, box-shadow .2s ease;
}
.floating-contact__toggle:hover { transform: translateY(-2px); box-shadow: 0 16px 38px rgba(15, 23, 42, .34); }
.floating-contact__icon-close { display: none; }
.floating-contact.is-open .floating-contact__icon-open { display: none; }
.floating-contact.is-open .floating-contact__icon-close { display: inline-block; }
.floating-contact__panel {
    min-width: 210px;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 48px rgba(15, 23, 42, .18);
    backdrop-filter: blur(14px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px) scale(.96);
    transform-origin: bottom right;
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.floating-contact--left .floating-contact__panel { transform-origin: bottom left; }
.floating-contact.is-open .floating-contact__panel { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.floating-contact__heading { padding: 2px 6px 10px; color: #64748b; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.floating-contact__channels { display: grid; gap: 6px; }
.floating-contact__channel {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 10px;
    border-radius: 12px;
    color: #172033;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .16s ease, transform .16s ease;
}
.floating-contact__channel:hover { color: #172033; background: #f3f6fa; transform: translateX(2px); }
.floating-contact__channel i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #fff; font-size: 1.08rem; }
.floating-contact__channel--whatsapp i { background: #25d366; }
.floating-contact__channel--telegram i { background: #229ed9; }
.floating-contact__channel--messenger i { background: linear-gradient(135deg, #00b2ff, #7b2cff); }
.floating-contact__channel--line i { background: #06c755; }
.floating-contact__channel--email i { background: #475569; }
@media (max-width: 575.98px) {
    .floating-contact { bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
    .floating-contact--right { right: 14px; }
    .floating-contact--left { left: 14px; }
    .floating-contact__toggle { width: 52px; height: 52px; }
    .floating-contact__panel { min-width: 196px; max-width: calc(100vw - 28px); }
}
