/* D&H Huawei-style modules v0.2.6 */
.dhds-full-home-wrap,
.dhds-huawei-home,
.dhds-huawei-header,
.dhds-huawei-footer,
.dhds-full-home-wrap * {
    box-sizing: border-box;
    font-family: var(--dhds-font) !important;
}
.dhds-full-home-wrap { background: var(--dhds-bg); color: var(--dhds-text); min-height:100vh; }
.dhds-full-home-wrap img { height:auto; }

/* Header: Huawei-style compact header with icon-only search */
.dhds-huawei-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(229,231,235,.75);
}
.admin-bar .dhds-huawei-header { top: 32px; }
.dhds-header-shell {
    max-width: 1320px;
    margin: 0 auto;
    min-height: 64px;
    display: grid;
    grid-template-columns: 265px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 0 28px;
    overflow: visible;
}
.dhds-header-logo { display:flex; align-items:center; min-width:0; overflow: visible; }
.dhds-header-logo .custom-logo-link,
.dhds-header-logo a { display:flex; align-items:center; max-width: 265px; min-width:0; }
.dhds-header-logo img { max-height: 34px; width: auto; max-width: 255px; display: block; }
.dhds-logo-text { color:#111827; text-decoration:none; font-size:22px; font-weight:850; letter-spacing:-.045em; white-space:nowrap; }
.dhds-logo-text span { display:inline-block; margin-left:2px; font-weight:900; }

.dhds-mega-nav {
    min-height:64px;
    display:flex;
    min-width: 0;
    justify-content:center;
    align-items:center;
    gap:4px;
    position:relative;
    overflow: visible;
}
.dhds-mega-item { position:static; flex: 0 1 auto; }
.dhds-mega-item > a {
    display:flex;
    align-items:center;
    height:38px;
    padding:0 13px;
    color:#111827;
    text-decoration:none;
    font-size:14px;
    font-weight:750;
    letter-spacing:-.018em;
    border-radius:999px;
    transition:.18s ease;
    white-space:nowrap;
}
.dhds-mega-item > a span { font-size:10px; opacity:.62; margin-left:4px; }
.dhds-mega-item:hover > a { background:#f3f4f6; color:#111827; }

.dhds-header-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    white-space:nowrap;
}
.dhds-icon-link {
    width:24px;
    height:24px;
    border:0;
    background:transparent;
    color:#111827;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    cursor:pointer;
    text-decoration:none;
    transition:.16s ease;
}
.dhds-icon-link:hover { color:#000; transform:translateY(-1px); }
.dhds-icon-link svg {
    width:22px;
    height:22px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.dhds-cart-count {
    position:absolute;
    top:-8px;
    right:-9px;
    min-width:16px;
    height:16px;
    padding:0 4px;
    border-radius:999px;
    background:#111827;
    color:#fff;
    font-size:10px;
    line-height:16px;
    font-weight:800;
    text-align:center;
}
.dhds-cart-count:empty { display:none; }

.dhds-search-panel {
    position:absolute;
    left:0;
    right:0;
    top:100%;
    background:rgba(244,246,248,.98);
    border-top:1px solid rgba(229,231,235,.8);
    box-shadow:0 28px 70px rgba(17,24,39,.14);
    z-index:999;
}
.dhds-huawei-header.is-search-open:after {
    content:"";
    position:fixed;
    left:0;
    right:0;
    top:calc(64px + 0px);
    bottom:0;
    background:rgba(0,0,0,.42);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    pointer-events:none;
    z-index:998;
}
.admin-bar .dhds-huawei-header.is-search-open:after { top:96px; }
.dhds-search-inner {
    max-width:1320px;
    margin:0 auto;
    padding:34px 60px 42px;
    position:relative;
    z-index:1000;
}
.dhds-search-large {
    display:grid;
    grid-template-columns:44px 1fr 36px;
    align-items:center;
    gap:12px;
    border-bottom:1px solid #cfd4dc;
    padding-bottom:18px;
}
.dhds-search-large-icon { color:#b5bac2; display:flex; align-items:center; }
.dhds-search-large-icon svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.dhds-search-large input {
    border:0;
    background:transparent;
    outline:0;
    width:100%;
    height:52px;
    font-size:34px;
    line-height:1;
    color:#111827;
    font-weight:400;
    letter-spacing:-.04em;
}
.dhds-search-large input::placeholder { color:#aeb4bd; }
.dhds-search-close {
    width:34px;
    height:34px;
    border:0;
    background:transparent;
    color:#667085;
    font-size:32px;
    line-height:1;
    cursor:pointer;
}
.dhds-search-suggestions { padding-top:28px; display:grid; gap:32px; }
.dhds-search-suggestions h3 { margin:0 0 18px; font-size:14px; color:#667085; font-weight:700; letter-spacing:-.01em; }
.dhds-search-links { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); column-gap:80px; row-gap:22px; }
.dhds-search-links a { color:#111827; text-decoration:none; font-size:15px; font-weight:600; letter-spacing:-.01em; }
.dhds-search-links a:hover { text-decoration:underline; }
.dhds-search-quick { grid-template-columns:repeat(4, minmax(0, 1fr)); }

.dhds-mega-panel {
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top:64px;
    width:min(1180px, calc(100vw - 72px));
    background:rgba(255,255,255,.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border:1px solid rgba(229,231,235,.95);
    border-radius:0 0 30px 30px;
    box-shadow:0 28px 70px rgba(17,24,39,.12);
    padding:30px 34px;
    display:none;
    grid-template-columns:270px 1fr;
    gap:46px;
    min-height:285px;
}
.dhds-mega-item:hover .dhds-mega-panel { display:grid; }
.dhds-huawei-header.is-search-open .dhds-mega-panel { display:none !important; }
.dhds-mega-list { display:flex; flex-direction:column; border:1px solid var(--dhds-border); border-radius:20px; overflow:hidden; background:#fff; }
.dhds-mega-list a { padding:17px 20px; text-decoration:none; color:#4b5563; font-size:14px; font-weight:650; border-bottom:1px solid var(--dhds-border); }
.dhds-mega-list a:last-child { border-bottom:none; }
.dhds-mega-list a.is-active, .dhds-mega-list a:hover { background:#111827; color:#fff; }
.dhds-mega-feature { display:flex; align-items:center; justify-content:center; flex-direction:column; min-height:220px; gap:12px; }
.dhds-mega-device { width:148px; height:148px; border-radius:32px; background:linear-gradient(135deg,#f8fafc,#dfe4ed); box-shadow:inset 0 0 0 1px rgba(0,0,0,.05), 0 18px 42px rgba(17,24,39,.08); }
.dhds-mega-feature strong { font-size:24px; letter-spacing:-.04em; color:#111827; }
.dhds-mega-feature span { color:var(--dhds-muted); }

@media (max-width: 1320px) {
    .dhds-header-shell { grid-template-columns: 255px minmax(0, 1fr) auto; gap:14px; padding: 0 22px; }
    .dhds-header-logo img { max-width:240px; }
    .dhds-mega-item > a { font-size:13px; padding:0 9px; }
    .dhds-header-actions { gap:14px; }
}
@media (max-width: 1120px) {
    .dhds-header-shell { grid-template-columns:1fr auto; min-height:auto; padding:12px 20px 0; }
    .dhds-header-logo { min-width:0; }
    .dhds-header-logo img { max-width:230px; }
    .dhds-header-actions { justify-self:end; }
    .dhds-mega-nav { grid-column:1 / -1; order:3; min-height:48px; justify-content:flex-start; overflow-x:auto; overflow-y:hidden; padding-bottom:2px; }
    .dhds-mega-panel { display:none !important; }
    .dhds-search-inner { padding:30px 36px 38px; }
}
@media (max-width: 720px) {
    .admin-bar .dhds-huawei-header { top: 0; }
    .dhds-header-shell { display:grid; grid-template-columns:1fr auto; gap:10px; padding:12px 14px 0; }
    .dhds-header-logo img { max-height:30px; max-width:220px; }
    .dhds-mega-nav { grid-column:1 / -1; }
    .dhds-search-large { grid-template-columns:34px 1fr 30px; }
    .dhds-search-large input { font-size:25px; }
    .dhds-search-links, .dhds-search-quick { grid-template-columns:1fr 1fr; column-gap:24px; }
}

/* Homepage */
.dhds-huawei-home { max-width: 1320px; margin:0 auto; padding: 22px 28px 58px; }
.dhds-floating-nav {
    position: sticky; top: 78px; z-index: 900; display:flex; justify-content:center; gap:6px; flex-wrap:wrap;
    width:max-content; max-width: calc(100vw - 40px); margin:0 auto 30px; padding:9px;
    background:rgba(255,255,255,.9); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border:1px solid rgba(229,231,235,.8); border-radius:0 0 28px 28px;
    box-shadow:0 18px 45px rgba(17,24,39,.08);
}
.admin-bar .dhds-floating-nav { top:110px; }
.dhds-floating-nav a { padding:11px 17px; border-radius:999px; text-decoration:none; color:#344054; font-weight:750; font-size:13px; letter-spacing:-.01em; }
.dhds-floating-nav a.is-active, .dhds-floating-nav a:hover { background:#111827; color:#fff; }

.dhds-hero-card, .dhds-section {
    background:var(--dhds-surface); border-radius:var(--dhds-radius-lg); border:1px solid rgba(229,231,235,.78);
    box-shadow: 0 12px 45px rgba(17,24,39,.045); margin-bottom:28px;
}
.dhds-hero-card { min-height:600px; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; overflow:hidden; padding:70px 72px; }
.dhds-label { display:block; text-transform:uppercase; font-size:11px; font-weight:850; letter-spacing:.075em; color:#667085; margin-bottom:12px; }
.dhds-hero-copy h1 { margin:0 0 18px; font-size:62px; line-height:.96; letter-spacing:-.06em; font-weight:850; color:#111827; max-width:560px; }
.dhds-hero-copy p { max-width:560px; color:#4b5563; font-size:18px; line-height:1.62; margin:0 0 30px; }
.dhds-pill-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 24px; background:#111827; color:#fff !important; border-radius:999px; text-decoration:none; font-weight:800; font-size:13px; box-shadow:0 10px 24px rgba(17,24,39,.18); }
.dhds-pill-btn:hover { transform:translateY(-1px); box-shadow:0 14px 30px rgba(17,24,39,.2); }
.dhds-hero-visual { min-height:430px; display:flex; align-items:center; justify-content:center; position:relative; }
.dhds-hero-visual:before { content:""; position:absolute; width:480px; height:480px; border-radius:50%; background:linear-gradient(135deg,#dff6f4,#e8f0ff); filter:blur(2px); }
.dhds-hero-img, .dhds-image-placeholder { position:relative; z-index:1; max-width:100%; border-radius:34px; }
.dhds-hero-img { max-height:430px; object-fit:contain; }
.dhds-image-placeholder { width:520px; height:355px; display:flex; align-items:center; justify-content:center; color:#6b7280; background:linear-gradient(135deg,#f8fafc,#dbe2eb); border:1px dashed #aeb7c2; }

.dhds-section { padding:36px 38px; }
.dhds-section-head { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:20px; margin-bottom:24px; }
.dhds-section-head .dhds-label { grid-column:1; align-self:end; margin-bottom:4px; }
.dhds-section-head h2 { grid-column:2; margin:0; font-size:36px; line-height:1; letter-spacing:-.05em; font-weight:850; color:#111827; text-align:center; }
.dhds-section-head a { grid-column:3; justify-self:end; color:#111827; font-weight:750; text-decoration:none; font-size:13px; }
.dhds-section-head a:hover { text-decoration:underline; }
.dhds-category-strip { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.dhds-category-chip { min-height:128px; padding:20px; background:#f8fafc; border:1px solid var(--dhds-border); border-radius:22px; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; transition:.18s ease; }
.dhds-category-chip:hover { background:#fff; transform:translateY(-2px); box-shadow:0 14px 32px rgba(17,24,39,.06); }
.dhds-category-chip span { align-self:flex-start; min-width:46px; height:46px; padding:0 8px; border-radius:16px; background:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; color:#667085; box-shadow:0 8px 18px rgba(17,24,39,.05); }
.dhds-category-chip strong { color:#111827; font-size:17px; letter-spacing:-.025em; }

.dhds-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.dhds-product-card { background:#fff; border:1px solid var(--dhds-border); border-radius:24px; padding:20px 18px 18px; min-height:340px; text-decoration:none; color:#111827; display:flex; flex-direction:column; align-items:center; text-align:center; transition:.2s ease; position:relative; overflow:hidden; }
.dhds-product-card:hover { transform:translateY(-4px); box-shadow:0 20px 48px rgba(17,24,39,.09); }
.dhds-product-card:after { content:"View details"; margin-top:auto; padding:9px 16px; border-radius:999px; background:#f3f4f6; color:#111827; font-size:12px; font-weight:800; opacity:0; transform:translateY(6px); transition:.2s ease; }
.dhds-product-card:hover:after { opacity:1; transform:translateY(0); }
.dhds-product-img { height:190px; width:100%; display:flex; align-items:center; justify-content:center; margin-bottom:14px; background:linear-gradient(180deg,#fff,#fbfcfd); border-radius:18px; }
.dhds-product-img img { max-height:178px; max-width:100%; width:auto; object-fit:contain; mix-blend-mode:multiply; }
.dhds-product-card h3 { font-size:15px; line-height:1.32; font-weight:750; margin:0 0 8px; letter-spacing:-.018em; color:#111827; text-transform:none; min-height:40px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dhds-product-price { color:#006fc9; font-weight:800; font-size:14px; line-height:1.3; margin-bottom:12px; min-height:20px; }
.dhds-product-price .woocommerce-price-suffix,
.dhds-product-price small,
.dhds-product-price .ex-vat,
.dhds-product-price .inc-vat { display:none !important; }

.dhds-offer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:18px; }
.dhds-offer-card { min-height:230px; border-radius:26px; background:linear-gradient(135deg,#f0f5ff,#fff); border:1px solid var(--dhds-border); padding:30px; text-decoration:none; color:#111827; display:flex; flex-direction:column; justify-content:space-between; transition:.2s ease; }
.dhds-offer-card:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(17,24,39,.08); }
.dhds-offer-card.large { background:radial-gradient(circle at 85% 25%, rgba(255,255,255,.20), transparent 34%), linear-gradient(135deg,#111827,#344054); color:#fff; }
.dhds-offer-card span { color:inherit; opacity:.72; text-transform:uppercase; font-size:12px; font-weight:850; letter-spacing:.07em; }
.dhds-offer-card strong { font-size:29px; line-height:1.05; letter-spacing:-.045em; max-width:430px; }
.dhds-offer-card em { font-style:normal; font-weight:850; }

.dhds-guarantee-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.dhds-guarantee-grid div { border:1px solid var(--dhds-border); border-radius:20px; padding:21px; background:#fff; }
.dhds-guarantee-grid strong { display:block; font-size:17px; margin-bottom:10px; letter-spacing:-.02em; }
.dhds-guarantee-grid span { color:var(--dhds-muted); line-height:1.45; }

.dhds-huawei-footer { max-width:1320px; margin:0 auto; padding:0 28px 42px; color:#475467; }
.dhds-footer-newsletter { background:linear-gradient(135deg,#fff,#effafa); border:1px solid var(--dhds-border); border-radius:28px; padding:38px; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:30px; }
.dhds-footer-newsletter h2 { margin:0 0 8px; font-size:34px; letter-spacing:-.05em; color:#111827; }
.dhds-footer-newsletter p { margin:0; color:#667085; }
.dhds-footer-newsletter form { display:flex; gap:0; min-width:390px; }
.dhds-footer-newsletter input { height:54px; border:1px solid var(--dhds-border); border-right:0; border-radius:16px 0 0 16px; padding:0 18px; flex:1; background:#fff; }
.dhds-footer-newsletter button { height:54px; border:0; border-radius:0 16px 16px 0; padding:0 24px; background:#111827; color:#fff; font-weight:850; }
.dhds-footer-links { display:grid; grid-template-columns:1fr 1fr 1.2fr 1.2fr 1.2fr; gap:28px; padding:30px 8px; }
.dhds-footer-links h3 { font-size:13px; color:#111827; text-transform:uppercase; letter-spacing:.07em; margin:0 0 14px; font-weight:850; }
.dhds-footer-links a, .dhds-footer-links p { display:block; color:#667085; text-decoration:none; margin:0 0 9px; font-size:14px; line-height:1.5; }
.dhds-footer-links a:hover { color:#111827; }
.dhds-payment-box { border:1px solid #9ac7ff; background:#fff; color:#006fc9; border-radius:14px; padding:15px; font-weight:800; font-size:12px; line-height:1.45; }
.dhds-footer-bottom { border-top:1px solid var(--dhds-border); padding-top:22px; text-align:center; font-size:13px; color:#98a2b3; }

@media (max-width: 1024px) {
    .dhds-hero-card { grid-template-columns:1fr; padding:42px; min-height:0; }
    .dhds-hero-copy h1 { font-size:46px; }
    .dhds-category-strip, .dhds-product-grid { grid-template-columns:repeat(2,1fr); }
    .dhds-offer-grid, .dhds-guarantee-grid, .dhds-footer-links { grid-template-columns:1fr 1fr; }
    .dhds-footer-newsletter { flex-direction:column; align-items:stretch; }
    .dhds-footer-newsletter form { min-width:0; }
    .dhds-section-head { grid-template-columns:1fr; }
    .dhds-section-head .dhds-label, .dhds-section-head h2, .dhds-section-head a { grid-column:auto; justify-self:start; text-align:left; }
}
@media (max-width: 640px) {
    .admin-bar .dhds-huawei-header { top: 0; }
    .dhds-huawei-home { padding: 16px 14px 36px; }
    .dhds-floating-nav { top: 0; border-radius:18px; justify-content:flex-start; overflow:auto; flex-wrap:nowrap; }
    .dhds-section { padding:28px 22px; }
    .dhds-category-strip, .dhds-product-grid, .dhds-offer-grid, .dhds-guarantee-grid, .dhds-footer-links { grid-template-columns:1fr; }
    .dhds-hero-card { padding:32px 24px; }
    .dhds-hero-copy h1 { font-size:36px; }
    .dhds-hero-copy p { font-size:16px; }
    .dhds-footer-newsletter { padding:28px 22px; }
}


/* v0.2.4 Huawei-style live product search */
.dhds-search-panel[hidden] { display:none !important; }
.dhds-search-large { position:relative; }
.dhds-search-large input[type="hidden"] { display:none !important; }
.dhds-search-live { padding-top:26px; }
.dhds-search-live[hidden], .dhds-search-suggestions[hidden] { display:none !important; }
.dhds-search-live-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.dhds-search-live-head h3 { margin:0; font-size:14px; color:#667085; font-weight:800; letter-spacing:-.01em; }
.dhds-search-live-head a { color:#111827; text-decoration:none; font-size:13px; font-weight:800; }
.dhds-search-live-head a:hover { text-decoration:underline; }
.dhds-search-live-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.dhds-search-result-item { display:grid; grid-template-columns:78px 1fr; gap:14px; align-items:center; min-height:104px; padding:12px; border:1px solid rgba(229,231,235,.95); border-radius:18px; background:#fff; color:#111827; text-decoration:none; transition:.18s ease; }
.dhds-search-result-item:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(17,24,39,.08); border-color:#d8dde6; }
.dhds-search-result-thumb { width:78px; height:78px; border-radius:14px; background:#f8fafc; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.dhds-search-result-thumb img { width:100%; height:100%; object-fit:contain; display:block; }
.dhds-search-thumb-placeholder { width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,#eef2f7,#dbe2ec); display:block; }
.dhds-search-result-copy { min-width:0; display:flex; flex-direction:column; gap:5px; }
.dhds-search-result-copy strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; line-height:1.25; font-weight:800; letter-spacing:-.018em; color:#111827; }
.dhds-search-result-price { font-size:13px; line-height:1.25; color:#0067b1; font-weight:800; }
.dhds-search-empty { grid-column:1 / -1; padding:20px; border:1px dashed #d1d5db; border-radius:18px; color:#667085; background:#fff; font-size:14px; font-weight:650; }
@media (max-width: 980px) { .dhds-search-live-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .dhds-search-live-grid { grid-template-columns:1fr; } .dhds-search-result-item { grid-template-columns:68px 1fr; } .dhds-search-result-thumb { width:68px; height:68px; } }

/* v0.2.5 adaptive full-width refinement: less boxed, closer to Huawei layout */
.dhds-full-home-wrap {
    width: 100%;
    overflow-x: clip;
}
.dhds-huawei-header {
    width: 100%;
    left: 0;
    right: 0;
}
.dhds-header-shell {
    max-width: var(--dhds-header-max, 1760px) !important;
    width: 100%;
    min-height: 72px;
    grid-template-columns: minmax(230px, 330px) minmax(0, 1fr) auto;
    padding-left: clamp(28px, 3.2vw, 64px);
    padding-right: clamp(28px, 3.2vw, 64px);
    gap: clamp(20px, 2.4vw, 46px);
}
.dhds-header-logo .custom-logo-link,
.dhds-header-logo a { max-width: 330px; }
.dhds-header-logo img { max-height: 38px; max-width: 320px; }
.dhds-logo-text { font-size: 27px; }
.dhds-mega-nav { justify-content: center; gap: 8px; }
.dhds-mega-item > a { font-size: 15px; padding: 0 16px; height: 42px; }
.dhds-header-actions { gap: 24px; }
.dhds-icon-link { width: 28px; height: 28px; }
.dhds-icon-link svg { width: 24px; height: 24px; }

.dhds-search-inner {
    max-width: var(--dhds-header-max, 1760px) !important;
    padding-left: clamp(44px, 4vw, 72px);
    padding-right: clamp(44px, 4vw, 72px);
}
.dhds-mega-panel { width: min(1360px, calc(100vw - 112px)); }

.dhds-huawei-home {
    width: 100%;
    max-width: var(--dhds-home-max, 1680px) !important;
    padding-left: clamp(24px, 3.2vw, 56px);
    padding-right: clamp(24px, 3.2vw, 56px);
    padding-top: 26px;
}
.dhds-hero-card,
.dhds-section {
    max-width: var(--dhds-section-max, 1500px);
    margin-left: auto;
    margin-right: auto;
}
.dhds-hero-card {
    min-height: 650px;
    padding: clamp(66px, 5vw, 92px) clamp(72px, 6vw, 108px);
    grid-template-columns: 0.86fr 1.14fr;
}
.dhds-hero-copy h1 { font-size: clamp(56px, 4.5vw, 78px); max-width: 650px; }
.dhds-hero-copy p { max-width: 620px; font-size: 19px; }
.dhds-hero-visual { min-height: 480px; }
.dhds-hero-visual:before { width: 560px; height: 560px; }
.dhds-image-placeholder { width: min(640px, 100%); height: 410px; }
.dhds-section { padding: clamp(38px, 3vw, 52px); }
.dhds-section-head h2 { font-size: clamp(36px, 2.6vw, 48px); }
.dhds-category-chip { min-height: 140px; }
.dhds-product-card { min-height: 360px; }
.dhds-product-img { height: 205px; }
.dhds-product-img img { max-height: 194px; }
.dhds-huawei-footer {
    width: 100%;
    max-width: var(--dhds-home-max, 1680px) !important;
    padding-left: clamp(24px, 3.2vw, 56px);
    padding-right: clamp(24px, 3.2vw, 56px);
}
.dhds-footer-newsletter,
.dhds-footer-links,
.dhds-footer-bottom {
    max-width: var(--dhds-section-max, 1500px);
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1760px) {
    .dhds-huawei-home { padding-top: 34px; }
    .dhds-floating-nav { margin-bottom: 38px; }
}
@media (max-width: 1320px) {
    .dhds-header-shell {
        grid-template-columns: 250px minmax(0, 1fr) auto;
        padding-left: 28px;
        padding-right: 28px;
        gap: 18px;
    }
    .dhds-header-logo img { max-width: 240px; }
    .dhds-logo-text { font-size: 23px; }
    .dhds-mega-item > a { font-size: 13px; padding: 0 10px; }
    .dhds-header-actions { gap: 16px; }
    .dhds-hero-card { min-height: 580px; padding: 64px; }
}
@media (max-width: 1120px) {
    .dhds-header-shell { grid-template-columns:1fr auto; }
    .dhds-hero-card { grid-template-columns: 1fr; }
}


/* v0.2.6 header and hero breathing refinement
   - softer Huawei-style typography
   - less compressed header menu
   - less tight hero title */
.dhds-header-shell {
    min-height: 68px !important;
    grid-template-columns: minmax(210px, 300px) minmax(0, 1fr) auto !important;
    gap: clamp(22px, 2.8vw, 56px) !important;
    padding-left: clamp(36px, 4vw, 72px) !important;
    padding-right: clamp(36px, 4vw, 72px) !important;
}
.dhds-logo-text {
    font-size: 25px !important;
    font-weight: 820 !important;
    letter-spacing: -0.032em !important;
}
.dhds-header-logo .custom-logo-link,
.dhds-header-logo a { max-width: 300px !important; }
.dhds-header-logo img {
    max-height: 35px !important;
    max-width: 285px !important;
}
.dhds-mega-nav {
    gap: clamp(10px, 1.2vw, 24px) !important;
    min-height: 68px !important;
}
.dhds-mega-item > a {
    height: 40px !important;
    padding: 0 8px !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    letter-spacing: -0.004em !important;
    line-height: 1 !important;
}
.dhds-mega-item > a span {
    font-size: 9px !important;
    margin-left: 5px !important;
    opacity: .55 !important;
}
.dhds-header-actions {
    gap: 22px !important;
}
.dhds-icon-link {
    width: 26px !important;
    height: 26px !important;
}
.dhds-icon-link svg {
    width: 23px !important;
    height: 23px !important;
    stroke-width: 1.8 !important;
}

.dhds-hero-copy h1 {
    font-size: clamp(50px, 4.05vw, 68px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.043em !important;
    font-weight: 800 !important;
    max-width: 690px !important;
}
.dhds-section-head h2,
.dhds-footer-newsletter h2 {
    letter-spacing: -0.035em !important;
    font-weight: 800 !important;
}
.dhds-section-head h2 { line-height: 1.08 !important; }
.dhds-product-card h3,
.dhds-category-chip strong,
.dhds-guarantee-grid strong {
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

@media (max-width: 1440px) {
    .dhds-header-shell {
        grid-template-columns: 250px minmax(0, 1fr) auto !important;
        gap: 18px !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
    }
    .dhds-logo-text { font-size: 22px !important; }
    .dhds-header-logo img { max-width: 235px !important; }
    .dhds-mega-nav { gap: 6px !important; }
    .dhds-mega-item > a { font-size: 13px !important; padding: 0 8px !important; }
    .dhds-header-actions { gap: 16px !important; }
}
@media (max-width: 1180px) {
    .dhds-header-shell {
        grid-template-columns: 1fr auto !important;
        gap: 12px !important;
        padding: 12px 22px 0 !important;
    }
    .dhds-mega-nav {
        grid-column: 1 / -1 !important;
        min-height: 46px !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 4px !important;
    }
    .dhds-mega-item > a { font-size: 13px !important; padding: 0 11px !important; }
}
@media (max-width: 640px) {
    .dhds-hero-copy h1 {
        font-size: 38px !important;
        line-height: 1.08 !important;
        letter-spacing: -0.035em !important;
    }
}

/* v0.3.0 Homepage Content Manager additions */
.dhds-category-chip img { width:40px; height:40px; object-fit:contain; display:block; margin-bottom:16px; border-radius:14px; }
.dhds-manual-product-card .dhds-card-subtitle { margin:0 0 8px; color:var(--dhds-muted); font-size:12px; line-height:1.35; min-height:32px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dhds-card-badge { position:absolute; top:14px; left:14px; z-index:2; background:#eef6ff; color:#006fc9; border-radius:999px; padding:5px 9px; font-size:10px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; }
.dhds-product-img .dhds-image-placeholder { width:100%; height:100%; min-height:0; border-radius:18px; background:linear-gradient(180deg,#f5f7fa,#edf2f7); display:flex; align-items:center; justify-content:center; color:#8b95a1; font-size:12px; }
.dhds-product-img .dhds-image-placeholder span { display:block; }
.dhds-offer-card p { margin:10px 0 0; color:inherit; opacity:.76; font-size:13px; line-height:1.45; max-width:360px; }
.dhds-offer-card.has-image { background-size:cover; background-position:center; color:#fff; }
.dhds-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.dhds-feature-card { min-height:185px; background:#fff; border:1px solid var(--dhds-border); border-radius:24px; padding:24px; color:#111827; text-decoration:none; display:flex; flex-direction:column; justify-content:flex-end; transition:.2s ease; overflow:hidden; position:relative; }
.dhds-feature-card:hover { transform:translateY(-4px); box-shadow:0 20px 48px rgba(17,24,39,.08); }
.dhds-feature-card strong { font-size:24px; line-height:1.1; letter-spacing:-.035em; font-weight:780; margin-bottom:10px; }
.dhds-feature-card span { color:var(--dhds-muted); font-size:14px; line-height:1.45; max-width:380px; }
.dhds-feature-card em { margin-top:16px; font-style:normal; font-weight:800; font-size:12px; }
.dhds-feature-img { position:absolute; right:14px; top:14px; width:42%; height:60%; display:flex; align-items:center; justify-content:center; opacity:.92; }
.dhds-feature-img img { max-width:100%; max-height:100%; object-fit:contain; }
.dhds-feature-img .dhds-image-placeholder { display:none; }
@media (max-width: 900px) { .dhds-feature-grid { grid-template-columns:1fr; } .dhds-feature-card { min-height:160px; } }

/* v0.3.1 full-width adaptive + 50/50 hero slider refinement */
.dhds-full-home-wrap {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow-x: clip !important;
}
.dhds-huawei-header {
    width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.dhds-header-shell {
    max-width: min(1920px, 100vw) !important;
    width: 100% !important;
    padding-left: clamp(34px, 3.2vw, 72px) !important;
    padding-right: clamp(34px, 3.2vw, 72px) !important;
}
.dhds-huawei-home {
    width: 100% !important;
    max-width: none !important;
    padding-left: clamp(24px, 2.4vw, 48px) !important;
    padding-right: clamp(24px, 2.4vw, 48px) !important;
}
.dhds-huawei-footer {
    width: 100% !important;
    max-width: none !important;
    padding-left: clamp(24px, 2.4vw, 48px) !important;
    padding-right: clamp(24px, 2.4vw, 48px) !important;
}
.dhds-floating-nav {
    max-width: min(1000px, calc(100vw - 64px)) !important;
}
.dhds-hero-card,
.dhds-section,
.dhds-footer-newsletter,
.dhds-footer-links,
.dhds-footer-bottom {
    width: min(1840px, calc(100vw - 64px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.dhds-section {
    padding: clamp(38px, 2.8vw, 56px) clamp(38px, 3vw, 64px) !important;
}

/* Hero slider: Huawei-style 50/50 split, not narrow boxed */
.dhds-hero-card.dhds-hero-slider {
    display:block !important;
    padding:0 !important;
    min-height: min(720px, calc(100vh - 150px)) !important;
    height: clamp(560px, 58vw, 760px) !important;
    overflow:hidden !important;
    position:relative !important;
    background:#fff !important;
}
.dhds-hero-track {
    position:relative;
    width:100%;
    height:100%;
    min-height:100%;
}
.dhds-hero-slide {
    position:absolute;
    inset:0;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    align-items:stretch;
    opacity:0;
    pointer-events:none;
    transform:translateX(18px);
    transition:opacity .55s ease, transform .55s ease;
}
.dhds-hero-slide.is-active {
    opacity:1;
    pointer-events:auto;
    transform:translateX(0);
}
.dhds-hero-slider .dhds-hero-visual {
    min-height:0 !important;
    height:100%;
    width:100%;
    display:block;
    padding:0 !important;
    background:linear-gradient(135deg,#eef2f3,#f7fafb);
    overflow:hidden;
    position:relative;
}
.dhds-hero-slider .dhds-hero-visual:before {
    display:none !important;
}
.dhds-hero-slider .dhds-hero-img {
    display:block;
    width:100%;
    height:100%;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
.dhds-hero-slider .dhds-image-placeholder {
    width:100% !important;
    height:100% !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(135deg,#eef2f3,#dfe7ef) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.dhds-hero-slider .dhds-hero-copy {
    padding:clamp(42px, 5vw, 92px);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-width:0;
}
.dhds-hero-slider .dhds-hero-copy h1 {
    font-size:clamp(44px, 3.3vw, 78px) !important;
    line-height:1.05 !important;
    letter-spacing:-.045em !important;
    max-width:760px !important;
    margin-bottom:20px !important;
}
.dhds-hero-slider .dhds-hero-copy p {
    max-width:720px !important;
    font-size:clamp(16px, 1vw, 21px) !important;
    line-height:1.55 !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.dhds-hero-dots {
    position:absolute;
    left:50%;
    bottom:20px;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    z-index:5;
}
.dhds-hero-dots button {
    width:9px;
    height:9px;
    border:0;
    border-radius:999px;
    background:rgba(17,24,39,.18);
    padding:0;
    cursor:pointer;
    transition:.18s ease;
}
.dhds-hero-dots button.is-active {
    width:24px;
    background:#111827;
}

/* Wider merchandising grids on desktop */
@media (min-width: 1500px) {
    .dhds-product-grid { grid-template-columns:repeat(5, minmax(0,1fr)) !important; }
    .dhds-category-strip { grid-template-columns:repeat(6, minmax(0,1fr)) !important; }
    .dhds-product-card { min-height:380px !important; }
    .dhds-product-img { height:220px !important; }
    .dhds-product-img img { max-height:210px !important; }
}

@media (max-width: 1024px) {
    .dhds-hero-card.dhds-hero-slider {
        height:auto !important;
        min-height:0 !important;
    }
    .dhds-hero-slide {
        position:relative;
        display:none;
        grid-template-columns:1fr;
    }
    .dhds-hero-slide.is-active { display:grid; }
    .dhds-hero-slider .dhds-hero-visual { min-height:360px !important; order:2; }
    .dhds-hero-slider .dhds-hero-copy { order:1; padding:42px 32px 28px; }
}
@media (max-width: 640px) {
    .dhds-hero-card,
    .dhds-section,
    .dhds-footer-newsletter,
    .dhds-footer-links,
    .dhds-footer-bottom {
        width:calc(100vw - 28px) !important;
    }
    .dhds-hero-slider .dhds-hero-copy h1 { font-size:38px !important; }
    .dhds-hero-slider .dhds-hero-visual { min-height:280px !important; }
}


/* v0.3.2 Huawei-style hero slider fade / cross-dissolve refinement
   - no horizontal slide movement
   - outgoing slide softly fades out while incoming slide fades in
   - image and copy content use subtle staggered fade-in for premium feel */
.dhds-hero-card.dhds-hero-slider {
    background:#fff !important;
}
.dhds-hero-slide {
    transform:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    z-index:0 !important;
    transition:
        opacity 1150ms cubic-bezier(.22,.61,.36,1),
        visibility 0s linear 1150ms !important;
    will-change:opacity;
}
.dhds-hero-slide.is-active {
    opacity:1 !important;
    visibility:visible !important;
    z-index:2 !important;
    pointer-events:auto !important;
    transition:opacity 1150ms cubic-bezier(.22,.61,.36,1) !important;
}
.dhds-hero-slide.is-leaving {
    opacity:0 !important;
    visibility:visible !important;
    z-index:1 !important;
    pointer-events:none !important;
    transition:opacity 1150ms cubic-bezier(.22,.61,.36,1) !important;
}
.dhds-hero-slide .dhds-hero-visual,
.dhds-hero-slide .dhds-hero-copy {
    will-change:opacity, transform;
}
.dhds-hero-slide.is-active .dhds-hero-visual {
    animation:dhdsHeroImageFade 1250ms cubic-bezier(.22,.61,.36,1) both;
}
.dhds-hero-slide.is-active .dhds-hero-copy .dhds-label {
    animation:dhdsHeroTextFade 760ms cubic-bezier(.22,.61,.36,1) 180ms both;
}
.dhds-hero-slide.is-active .dhds-hero-copy h1 {
    animation:dhdsHeroTextFade 820ms cubic-bezier(.22,.61,.36,1) 260ms both;
}
.dhds-hero-slide.is-active .dhds-hero-copy p {
    animation:dhdsHeroTextFade 820ms cubic-bezier(.22,.61,.36,1) 360ms both;
}
.dhds-hero-slide.is-active .dhds-hero-copy .dhds-pill-btn {
    animation:dhdsHeroTextFade 820ms cubic-bezier(.22,.61,.36,1) 460ms both;
}
.dhds-hero-slide.is-leaving .dhds-hero-visual,
.dhds-hero-slide.is-leaving .dhds-hero-copy {
    animation:none !important;
}
@keyframes dhdsHeroImageFade {
    from { opacity:0; transform:scale(1.018); filter:blur(8px); }
    45% { filter:blur(0); }
    to { opacity:1; transform:scale(1); filter:blur(0); }
}
@keyframes dhdsHeroTextFade {
    from { opacity:0; transform:translateY(18px); }
    to { opacity:1; transform:translateY(0); }
}
.dhds-hero-dots {
    bottom:18px !important;
    gap:10px !important;
}
.dhds-hero-dots button {
    width:8px !important;
    height:8px !important;
    background:rgba(17,24,39,.16) !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.45) !important;
}
.dhds-hero-dots button.is-active {
    width:26px !important;
    background:rgba(17,24,39,.72) !important;
}
@media (prefers-reduced-motion: reduce) {
    .dhds-hero-slide,
    .dhds-hero-slide.is-active,
    .dhds-hero-slide.is-leaving,
    .dhds-hero-slide.is-active .dhds-hero-visual,
    .dhds-hero-slide.is-active .dhds-hero-copy .dhds-label,
    .dhds-hero-slide.is-active .dhds-hero-copy h1,
    .dhds-hero-slide.is-active .dhds-hero-copy p,
    .dhds-hero-slide.is-active .dhds-hero-copy .dhds-pill-btn {
        animation:none !important;
        transition:none !important;
        filter:none !important;
        transform:none !important;
    }
}


/* v0.3.3 Huawei-style secondary sticky header refinement
   When the page scrolls, the main header hides and the section nav becomes the only sticky header.
   The secondary header uses the full viewport width instead of a small centered pill. */
.dhds-huawei-header {
    transition: transform 260ms ease, opacity 220ms ease, box-shadow 220ms ease !important;
    will-change: transform, opacity;
}
body.dhds-secondary-nav-active .dhds-full-home-wrap .dhds-huawei-header,
body.dhds-secondary-nav-active .dhds-huawei-header {
    transform: translateY(-100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
body.dhds-secondary-nav-active .dhds-floating-nav {
    top: 0 !important;
    z-index: 1200 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-bottom: 30px !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 10px 26px rgba(17,24,39,.08) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    padding: 0 clamp(28px, 3.2vw, 72px) !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(18px, 2vw, 38px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}
.admin-bar body.dhds-secondary-nav-active .dhds-floating-nav,
body.admin-bar.dhds-secondary-nav-active .dhds-floating-nav {
    top: 32px !important;
}
body.dhds-secondary-nav-active .dhds-floating-nav a {
    height: 56px !important;
    min-height: 56px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    letter-spacing: -.012em !important;
    position: relative !important;
    white-space: nowrap !important;
}
body.dhds-secondary-nav-active .dhds-floating-nav a.is-active,
body.dhds-secondary-nav-active .dhds-floating-nav a:hover {
    color: #111827 !important;
    background: transparent !important;
}
body.dhds-secondary-nav-active .dhds-floating-nav a.is-active:after,
body.dhds-secondary-nav-active .dhds-floating-nav a:hover:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    height: 2px;
    border-radius: 999px;
    background: #111827;
}
@media (max-width: 782px) {
    body.admin-bar.dhds-secondary-nav-active .dhds-floating-nav { top: 46px !important; }
}
@media (max-width: 640px) {
    body.dhds-secondary-nav-active .dhds-floating-nav {
        padding-left: 16px !important;
        padding-right: 16px !important;
        gap: 22px !important;
    }
    body.dhds-secondary-nav-active .dhds-floating-nav a {
        font-size: 14px !important;
    }
}

/* v0.3.5 Header logo image controls */
.dhds-header-logo img{max-height:var(--dhds-logo-height,34px) !important;width:auto !important;object-fit:contain !important;}
.dhds-logo-image-link{display:flex;align-items:center;text-decoration:none;}

/* v0.3.6: hero slide image fills the left column using centered cover cropping. */


/* v0.3.7: Huawei-style hero hover arrows and richer slide motion */
.dhds-hero-card.dhds-hero-slider {
    isolation:isolate;
}
.dhds-hero-slider .dhds-hero-slide {
    transform:none !important;
    transition:opacity 1.05s cubic-bezier(.22,.61,.36,1), filter 1.05s cubic-bezier(.22,.61,.36,1) !important;
    filter:blur(4px);
}
.dhds-hero-slider .dhds-hero-slide.is-active {
    filter:blur(0);
}
.dhds-hero-slider .dhds-hero-slide.is-leaving {
    filter:blur(2px);
}
.dhds-hero-slider .dhds-hero-img {
    transform:scale(1.055);
    transition:transform 6.8s cubic-bezier(.16,1,.3,1), opacity 1.05s cubic-bezier(.22,.61,.36,1), filter 1.05s cubic-bezier(.22,.61,.36,1);
    will-change:transform, opacity;
}
.dhds-hero-slider .dhds-hero-slide.is-active .dhds-hero-img {
    transform:scale(1.0);
}
.dhds-hero-slider .dhds-hero-copy .dhds-label,
.dhds-hero-slider .dhds-hero-copy h1,
.dhds-hero-slider .dhds-hero-copy p,
.dhds-hero-slider .dhds-hero-copy .dhds-pill-btn {
    opacity:0;
    transform:translateY(18px);
    transition:opacity .82s cubic-bezier(.22,.61,.36,1), transform .82s cubic-bezier(.22,.61,.36,1);
}
.dhds-hero-slider .dhds-hero-slide.is-active .dhds-hero-copy .dhds-label { opacity:1; transform:translateY(0); transition-delay:.16s; }
.dhds-hero-slider .dhds-hero-slide.is-active .dhds-hero-copy h1 { opacity:1; transform:translateY(0); transition-delay:.24s; }
.dhds-hero-slider .dhds-hero-slide.is-active .dhds-hero-copy p { opacity:1; transform:translateY(0); transition-delay:.34s; }
.dhds-hero-slider .dhds-hero-slide.is-active .dhds-hero-copy .dhds-pill-btn { opacity:1; transform:translateY(0); transition-delay:.44s; }

.dhds-hero-arrow {
    position:absolute;
    top:50%;
    z-index:8;
    width:56px;
    height:56px;
    border:0;
    border-radius:999px;
    background:rgba(17,24,39,.18);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    opacity:0;
    transform:translateY(-50%) scale(.92);
    transition:opacity .28s ease, transform .28s ease, background .28s ease;
    box-shadow:0 12px 30px rgba(17,24,39,.12);
    backdrop-filter:blur(8px);
}
.dhds-hero-arrow span {
    display:block;
    font-size:44px;
    line-height:1;
    font-weight:300;
    margin-top:-3px;
}
.dhds-hero-arrow-prev { left:22px; }
.dhds-hero-arrow-next { right:22px; }
.dhds-hero-card.dhds-hero-slider:hover .dhds-hero-arrow,
.dhds-hero-card.dhds-hero-slider:focus-within .dhds-hero-arrow {
    opacity:1;
    transform:translateY(-50%) scale(1);
}
.dhds-hero-arrow:hover {
    background:rgba(17,24,39,.34);
    transform:translateY(-50%) scale(1.04) !important;
}
.dhds-hero-arrow:focus-visible {
    outline:3px solid rgba(59,130,246,.45);
    outline-offset:3px;
    opacity:1;
}

@media (max-width: 900px) {
    .dhds-hero-arrow {
        width:44px;
        height:44px;
        opacity:1;
        background:rgba(17,24,39,.22);
    }
    .dhds-hero-arrow span { font-size:34px; }
    .dhds-hero-arrow-prev { left:12px; }
    .dhds-hero-arrow-next { right:12px; }
}

@media (prefers-reduced-motion: reduce) {
    .dhds-hero-slider .dhds-hero-slide,
    .dhds-hero-slider .dhds-hero-img,
    .dhds-hero-slider .dhds-hero-copy .dhds-label,
    .dhds-hero-slider .dhds-hero-copy h1,
    .dhds-hero-slider .dhds-hero-copy p,
    .dhds-hero-slider .dhds-hero-copy .dhds-pill-btn {
        transition:none !important;
        transform:none !important;
        filter:none !important;
    }
}

/* v0.3.9: restored hero slider prev/next arrow markup compatibility. */


/* v0.4.0: category section carousel with Media Library-controlled cards */
.dhds-category-carousel {
    position:relative;
    width:100%;
    overflow:visible;
}
.dhds-category-carousel .dhds-category-strip {
    display:flex !important;
    grid-template-columns:none !important;
    gap:18px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    padding:4px 2px 14px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.dhds-category-carousel .dhds-category-strip::-webkit-scrollbar {
    display:none;
}
.dhds-category-chip {
    flex:0 0 clamp(190px, 13.5vw, 260px);
    min-height:150px;
    scroll-snap-align:start;
}
.dhds-category-chip .dhds-category-icon {
    align-self:flex-start;
    width:58px;
    height:58px;
    min-width:58px;
    padding:0;
    border-radius:18px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    font-size:12px;
    color:#667085;
    box-shadow:0 8px 18px rgba(17,24,39,.05);
}
.dhds-category-chip .dhds-category-icon img {
    width:100%;
    height:100%;
    object-fit:contain;
    padding:6px;
    display:block;
}
.dhds-category-arrow {
    position:absolute;
    top:50%;
    z-index:5;
    width:52px;
    height:52px;
    border:0;
    border-radius:999px;
    background:rgba(17,24,39,.18);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    opacity:0;
    transform:translateY(-50%) scale(.92);
    transition:opacity .25s ease, transform .25s ease, background .25s ease;
    box-shadow:0 12px 30px rgba(17,24,39,.10);
    backdrop-filter:blur(8px);
}
.dhds-category-arrow span {
    display:block;
    font-size:40px;
    line-height:1;
    font-weight:300;
    margin-top:-3px;
}
.dhds-category-arrow-prev { left:-24px; }
.dhds-category-arrow-next { right:-24px; }
.dhds-category-carousel:hover .dhds-category-arrow,
.dhds-category-carousel:focus-within .dhds-category-arrow {
    opacity:1;
    transform:translateY(-50%) scale(1);
}
.dhds-category-arrow:hover {
    background:rgba(17,24,39,.34);
    transform:translateY(-50%) scale(1.04);
}
.dhds-category-carousel.is-edge-left .dhds-category-arrow-prev,
.dhds-category-carousel.is-edge-right .dhds-category-arrow-next {
    opacity:.22;
    pointer-events:none;
}
@media(max-width:900px){
    .dhds-category-chip{flex-basis:160px;min-height:132px}
    .dhds-category-arrow{width:42px;height:42px;opacity:1;background:rgba(17,24,39,.22)}
    .dhds-category-arrow span{font-size:32px}
    .dhds-category-arrow-prev{left:8px}
    .dhds-category-arrow-next{right:8px}
}

/* v0.4.1: fixed Media Library preview/storage update for Category image controls. */


/* v0.4.2: make category carousel clearly scrollable and robust */
.dhds-section#dhds-categories {
    overflow:visible !important;
}
.dhds-category-carousel {
    overflow:visible !important;
    cursor:default;
}
.dhds-category-carousel.has-overflow .dhds-category-arrow {
    opacity:.42;
    transform:translateY(-50%) scale(1);
}
.dhds-category-carousel.has-overflow:hover .dhds-category-arrow,
.dhds-category-carousel.has-overflow:focus-within .dhds-category-arrow {
    opacity:1;
}
.dhds-category-carousel.is-dragging,
.dhds-category-carousel.is-dragging * {
    cursor:grabbing !important;
    user-select:none;
}
.dhds-category-carousel .dhds-category-strip {
    cursor:grab;
    padding-left:2px;
    padding-right:2px;
}
.dhds-category-carousel.is-dragging .dhds-category-strip {
    scroll-snap-type:none;
}
.dhds-category-carousel .dhds-category-chip {
    user-select:none;
}
.dhds-category-carousel:not(.has-overflow) .dhds-category-arrow {
    display:none !important;
}


/* v0.4.3: Huawei-style category carousel item visuals */
.dhds-category-carousel .dhds-category-strip {
    gap: clamp(24px, 3vw, 54px) !important;
    align-items:flex-start;
    padding: 8px 10px 18px !important;
}
.dhds-category-carousel .dhds-category-chip {
    flex: 0 0 clamp(120px, 8.8vw, 170px) !important;
    min-height: 138px !important;
    padding: 8px 8px 10px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:center !important;
}
.dhds-category-carousel .dhds-category-chip:hover {
    background: transparent !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
}
.dhds-category-carousel .dhds-category-chip .dhds-category-icon {
    align-self:center !important;
    width: clamp(82px, 6.4vw, 118px) !important;
    height: clamp(82px, 6.4vw, 118px) !important;
    min-width: clamp(82px, 6.4vw, 118px) !important;
    border-radius: 22px !important;
    margin: 0 auto 12px !important;
    background:#fff !important;
    box-shadow:0 10px 28px rgba(17,24,39,.055) !important;
}
.dhds-category-carousel .dhds-category-chip .dhds-category-icon img {
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    padding: 8px !important;
}
.dhds-category-carousel .dhds-category-chip strong {
    display:block !important;
    width:100% !important;
    text-align:center !important;
    font-size:16px !important;
    line-height:1.25 !important;
    letter-spacing:-.02em !important;
    color:#111827 !important;
}
.dhds-category-arrow {
    top: 44% !important;
}
@media(max-width:900px){
    .dhds-category-carousel .dhds-category-chip{flex-basis:118px !important;min-height:120px !important}
}


/* v0.4.4: New Products Huawei-style carousel */
#dhds-new {
    overflow:visible !important;
}
.dhds-product-carousel {
    position:relative;
    width:100%;
    overflow:visible;
}
.dhds-product-track {
    display:flex;
    gap:22px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
    padding: 10px 6px 28px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.dhds-product-track::-webkit-scrollbar {
    display:none;
}
.dhds-carousel-product-card {
    flex:0 0 clamp(260px, 18vw, 350px);
    min-height:460px;
    scroll-snap-align:start;
    transform-origin:center center;
    transition:transform .34s cubic-bezier(.16,1,.3,1), box-shadow .34s cubic-bezier(.16,1,.3,1), background .34s ease;
    will-change:transform;
}
.dhds-carousel-product-card .dhds-product-img {
    height:245px;
    width:100%;
    margin-bottom:18px;
    transition:transform .34s cubic-bezier(.16,1,.3,1);
}
.dhds-carousel-product-card .dhds-product-img img,
.dhds-carousel-product-card .dhds-product-img .dhds-card-img {
    width:100%;
    height:100%;
    object-fit:contain;
}
.dhds-carousel-product-card:hover {
    transform:translateY(-10px) scale(1.035);
    box-shadow:0 28px 70px rgba(17,24,39,.14);
    z-index:3;
}
.dhds-carousel-product-card:hover .dhds-product-img {
    transform:scale(1.045);
}
.dhds-carousel-product-card:after {
    content:"View details";
}
.dhds-product-arrow {
    position:absolute;
    top:45%;
    z-index:8;
    width:54px;
    height:54px;
    border:0;
    border-radius:999px;
    background:rgba(17,24,39,.18);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    opacity:0;
    transform:translateY(-50%) scale(.92);
    transition:opacity .25s ease, transform .25s ease, background .25s ease;
    box-shadow:0 12px 30px rgba(17,24,39,.10);
    backdrop-filter:blur(8px);
}
.dhds-product-arrow span {
    display:block;
    font-size:42px;
    line-height:1;
    font-weight:300;
    margin-top:-3px;
}
.dhds-product-arrow-prev { left:-22px; }
.dhds-product-arrow-next { right:-22px; }
.dhds-product-carousel.has-overflow .dhds-product-arrow {
    opacity:.42;
    transform:translateY(-50%) scale(1);
}
.dhds-product-carousel.has-overflow:hover .dhds-product-arrow,
.dhds-product-carousel.has-overflow:focus-within .dhds-product-arrow {
    opacity:1;
}
.dhds-product-arrow:hover {
    background:rgba(17,24,39,.34);
    transform:translateY(-50%) scale(1.04);
}
.dhds-product-carousel.is-edge-left .dhds-product-arrow-prev,
.dhds-product-carousel.is-edge-right .dhds-product-arrow-next {
    opacity:.22;
    pointer-events:none;
}
.dhds-product-carousel.is-dragging,
.dhds-product-carousel.is-dragging * {
    cursor:grabbing !important;
    user-select:none;
}
.dhds-product-carousel .dhds-product-track {
    cursor:grab;
}
@media(max-width:900px){
    .dhds-carousel-product-card{flex-basis:230px;min-height:410px}
    .dhds-carousel-product-card .dhds-product-img{height:205px}
    .dhds-product-arrow{width:44px;height:44px;opacity:1;background:rgba(17,24,39,.22)}
    .dhds-product-arrow span{font-size:34px}
    .dhds-product-arrow-prev{left:8px}
    .dhds-product-arrow-next{right:8px}
}


/* v0.4.5: robust New Products carousel navigation and mouse-follow movement */
.dhds-product-carousel {
    isolation:isolate;
}
.dhds-product-track {
    position:relative;
    z-index:1;
}
.dhds-product-arrow {
    z-index:50 !important;
    pointer-events:auto !important;
}
.dhds-product-carousel.has-overflow .dhds-product-arrow {
    display:flex !important;
}
.dhds-product-carousel.has-overflow .dhds-product-arrow-prev,
.dhds-product-carousel.has-overflow .dhds-product-arrow-next {
    pointer-events:auto !important;
}
.dhds-product-carousel.has-overflow:hover .dhds-product-arrow {
    opacity:1 !important;
}
.dhds-product-carousel.is-edge-left.has-overflow .dhds-product-arrow-prev,
.dhds-product-carousel.is-edge-right.has-overflow .dhds-product-arrow-next {
    opacity:.35 !important;
    pointer-events:auto !important;
}
.dhds-product-arrow:active {
    transform:translateY(-50%) scale(.96) !important;
}
.dhds-product-carousel .dhds-carousel-product-card {
    backface-visibility:hidden;
}
.dhds-product-carousel.is-dragging .dhds-carousel-product-card {
    pointer-events:none;
}


/* v0.4.6: New Products card image acts as the whole product card background */
.dhds-product-carousel .dhds-carousel-product-card {
    position:relative;
    overflow:hidden;
    align-items:stretch !important;
    justify-content:space-between !important;
    text-align:left !important;
}
.dhds-product-carousel .dhds-carousel-product-card.has-bg-image {
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    min-height:520px !important;
    padding:30px 28px 26px !important;
    color:#111827 !important;
}
.dhds-carousel-card-shade {
    display:none;
}
.dhds-carousel-product-card.has-bg-image .dhds-carousel-card-shade {
    display:block;
    position:absolute;
    inset:0;
    z-index:0;
    background:
      linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.18) 34%, rgba(255,255,255,0) 58%),
      linear-gradient(0deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 36%);
    pointer-events:none;
}
.dhds-carousel-product-card.has-bg-image .dhds-card-badge,
.dhds-carousel-product-card.has-bg-image .dhds-carousel-card-copy,
.dhds-carousel-product-card.has-bg-image .dhds-carousel-card-bottom {
    position:relative;
    z-index:1;
}
.dhds-carousel-product-card.has-bg-image .dhds-card-badge {
    align-self:flex-start;
    background:rgba(255,255,255,.82);
    color:#111827;
    backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.58);
}
.dhds-carousel-product-card.has-bg-image .dhds-carousel-card-copy {
    display:block;
    max-width:86%;
}
.dhds-carousel-product-card.has-bg-image h3 {
    margin:0 0 8px !important;
    font-size:30px !important;
    line-height:1.05 !important;
    font-weight:760 !important;
    letter-spacing:-.045em !important;
    color:#111827 !important;
    text-align:left !important;
}
.dhds-carousel-product-card.has-bg-image .dhds-card-subtitle {
    margin:0 !important;
    max-width:92% !important;
    font-size:14px !important;
    line-height:1.35 !important;
    color:rgba(17,24,39,.68) !important;
    text-align:left !important;
}
.dhds-carousel-card-bottom {
    margin-top:auto;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    width:100%;
}
.dhds-carousel-product-card.has-bg-image .dhds-product-price {
    margin:0 !important;
    color:#111827 !important;
    font-size:18px !important;
    font-weight:800 !important;
    text-align:left !important;
}
.dhds-buy-now-pill {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 20px;
    border-radius:10px;
    background:#050505;
    color:#fff;
    font-size:13px;
    font-weight:780;
    letter-spacing:-.01em;
    white-space:nowrap;
    box-shadow:0 10px 22px rgba(0,0,0,.16);
}
.dhds-carousel-product-card:not(.has-bg-image) .dhds-carousel-card-copy,
.dhds-carousel-product-card:not(.has-bg-image) .dhds-carousel-card-bottom {
    display:contents;
}
.dhds-carousel-product-card:not(.has-bg-image) .dhds-buy-now-pill {
    display:none;
}
.dhds-carousel-product-card.has-bg-image:after {
    display:none !important;
}
.dhds-carousel-product-card.has-bg-image:hover {
    transform:translateY(-12px) scale(1.045) !important;
}
@media(max-width:900px){
    .dhds-product-carousel .dhds-carousel-product-card.has-bg-image {
        min-height:430px !important;
        padding:24px 22px 22px !important;
    }
    .dhds-carousel-product-card.has-bg-image h3 {
        font-size:23px !important;
    }
    .dhds-carousel-product-card.has-bg-image .dhds-card-subtitle {
        font-size:13px !important;
    }
}


/* v0.4.7: New Products carousel follows cursor at left/right edges continuously. */
.dhds-product-carousel.has-overflow {
    cursor:default;
}
.dhds-product-carousel.has-overflow:hover .dhds-product-arrow {
    opacity:1 !important;
}
.dhds-product-track {
    overscroll-behavior-inline:contain;
}


/* v0.4.8: Offers visual editor + background-image cards */
.dhds-offer-card {
    position:relative;
    overflow:hidden;
    isolation:isolate;
    background:#f8fafc;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    transition:transform .34s cubic-bezier(.16,1,.3,1), box-shadow .34s cubic-bezier(.16,1,.3,1), filter .34s ease;
    will-change:transform;
}
.dhds-offer-card.has-bg-image {
    color:#111827 !important;
}
.dhds-offer-card .dhds-offer-card-shade {
    display:none;
}
.dhds-offer-card.has-bg-image .dhds-offer-card-shade {
    display:block;
    position:absolute;
    inset:0;
    z-index:0;
    background:
      linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.35) 34%, rgba(255,255,255,0) 64%),
      linear-gradient(0deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,0) 42%);
    pointer-events:none;
}
.dhds-offer-card > .dhds-offer-label,
.dhds-offer-card > strong,
.dhds-offer-card > p,
.dhds-offer-card > em {
    position:relative;
    z-index:1;
}
.dhds-offer-card > .dhds-offer-label,
.dhds-offer-card > span:not(.dhds-offer-card-shade) {
    font-size:11px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#667085;
}
.dhds-offer-card.has-bg-image > strong {
    color:#111827 !important;
    text-shadow:0 1px 0 rgba(255,255,255,.18);
}
.dhds-offer-card.has-bg-image > p {
    color:rgba(17,24,39,.7) !important;
}
.dhds-offer-card.has-bg-image > em {
    color:#111827 !important;
    background:rgba(255,255,255,.8);
    border:1px solid rgba(255,255,255,.72);
    backdrop-filter:blur(6px);
    align-self:flex-start;
    padding:9px 14px;
    border-radius:999px;
    font-style:normal;
}
.dhds-offer-card:hover {
    transform:translateY(-10px) scale(1.035) !important;
    box-shadow:0 28px 70px rgba(17,24,39,.14) !important;
    z-index:2;
}
.dhds-offer-card.has-bg-image:hover {
    background-size:108% auto !important;
}
.dhds-offer-grid {
    overflow:visible;
}
@media(max-width:900px){
    .dhds-offer-card:hover {
        transform:translateY(-4px) scale(1.015) !important;
    }
}


/* v0.4.9: visual editors for Home Cinema, Productivity and Guarantee sections */
.dhds-guarantee-icon {
    width:34px;
    height:34px;
    object-fit:contain;
    display:block;
    margin:0 0 10px;
}
.dhds-guarantee-grid > div:has(.dhds-guarantee-icon) {
    align-items:flex-start;
}


/* v0.6.0: Three-level Header Mega Menu Manager */
.dhds-mega-panel-v3 {
    grid-template-columns:270px minmax(0, 1fr) !important;
    width:min(1420px, calc(100vw - 72px)) !important;
    min-height:430px !important;
    gap:38px !important;
}
.dhds-mega-tabs {
    display:flex;
    flex-direction:column;
    border:1px solid var(--dhds-border);
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    align-self:start;
}
.dhds-mega-tabs button {
    appearance:none;
    border:0;
    border-bottom:1px solid var(--dhds-border);
    background:#fff;
    padding:18px 20px;
    text-align:left;
    color:#4b5563;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease, color .2s ease, transform .2s ease;
}
.dhds-mega-tabs button:last-child { border-bottom:0; }
.dhds-mega-tabs button.is-active,
.dhds-mega-tabs button:hover {
    background:#111827;
    color:#fff;
}
.dhds-mega-card-area { min-width:0; }
.dhds-mega-card-grid-v3 {
    display:none;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:24px 30px;
    align-items:start;
}
.dhds-mega-card-grid-v3.is-active { display:grid; }
.dhds-mega-card-v3 {
    text-decoration:none;
    color:#111827;
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    gap:14px;
    padding:14px 10px 18px;
    border-radius:24px;
    transition:transform .26s cubic-bezier(.16,1,.3,1), box-shadow .26s cubic-bezier(.16,1,.3,1), background .26s ease;
}
.dhds-mega-card-v3:hover {
    transform:translateY(-7px) scale(1.035);
    background:rgba(248,250,252,.95);
    box-shadow:0 20px 50px rgba(17,24,39,.08);
}
.dhds-mega-card-image-v3 {
    width:130px;
    height:110px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:24px;
    background:linear-gradient(135deg,#f8fafc,#edf2f7);
    overflow:hidden;
    transition:transform .26s cubic-bezier(.16,1,.3,1), filter .26s ease;
}
.dhds-mega-card-v3:hover .dhds-mega-card-image-v3 {
    transform:scale(1.08);
}
.dhds-mega-card-image-v3 img {
    width:100%;
    height:100%;
    object-fit:contain;
    padding:6px;
    display:block;
}
.dhds-mega-card-image-v3 > span {
    font-size:30px;
    font-weight:850;
    color:#667085;
}
.dhds-mega-card-v3 strong {
    font-size:17px;
    line-height:1.28;
    font-weight:650;
    color:#6b7280;
    letter-spacing:-.02em;
}
.dhds-mega-card-v3:hover strong { color:#111827; }
@media(max-width:1100px){
    .dhds-mega-card-grid-v3 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media(max-width:760px){
    .dhds-mega-panel-v3 { grid-template-columns:1fr !important; }
    .dhds-mega-card-grid-v3 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}


/* v0.6.2: menu typography/background refinements and jump prevention */
.dhds-huawei-header,
.dhds-huawei-header *:not(svg):not(path),
.dhds-huawei-home,
.dhds-huawei-home *:not(svg):not(path),
.dhds-huawei-footer,
.dhds-huawei-footer *:not(svg):not(path) {
    font-family: var(--dhds-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif) !important;
}
.dhds-mega-card-image-v3 {
    background:transparent !important;
    box-shadow:none !important;
}
.dhds-mega-card-image-v3 img {
    padding:0 !important;
}
.dhds-mega-card-v3 {
    background:transparent;
}
.dhds-mega-card-v3:hover {
    background:rgba(255,255,255,.72) !important;
}
.dhds-mega-card-v3.is-disabled {
    cursor:default;
    pointer-events:none;
}
.dhds-mega-item.has-panel > a {
    cursor:default;
}


/* v0.6.4: hard typography reset for D&H Design System modules.
   This prevents the theme/browser serif font from overriding the Huawei-style layout. */
.dhds-huawei-header,
.dhds-huawei-header *,
.dhds-huawei-home,
.dhds-huawei-home *,
.dhds-huawei-footer,
.dhds-huawei-footer *,
.dhds-search-panel,
.dhds-search-panel *,
.dhds-mega-panel,
.dhds-mega-panel * {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Helvetica Neue", sans-serif !important;
}
.dhds-huawei-header h1,
.dhds-huawei-header h2,
.dhds-huawei-header h3,
.dhds-huawei-header h4,
.dhds-huawei-header h5,
.dhds-huawei-header h6,
.dhds-huawei-home h1,
.dhds-huawei-home h2,
.dhds-huawei-home h3,
.dhds-huawei-home h4,
.dhds-huawei-home h5,
.dhds-huawei-home h6,
.dhds-huawei-footer h1,
.dhds-huawei-footer h2,
.dhds-huawei-footer h3,
.dhds-huawei-footer h4,
.dhds-huawei-footer h5,
.dhds-huawei-footer h6,
.dhds-huawei-header strong,
.dhds-huawei-home strong,
.dhds-huawei-footer strong,
.dhds-mega-panel strong {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Helvetica Neue", sans-serif !important;
}
.dhds-huawei-header svg,
.dhds-huawei-header svg *,
.dhds-huawei-home svg,
.dhds-huawei-home svg *,
.dhds-huawei-footer svg,
.dhds-huawei-footer svg * {
    font-family: initial !important;
}


/* v0.6.5: additional high-specificity typography override */
html body .dhds-huawei-header,
html body .dhds-huawei-header *:not(svg):not(path),
html body .dhds-huawei-home,
html body .dhds-huawei-home *:not(svg):not(path),
html body .dhds-huawei-footer,
html body .dhds-huawei-footer *:not(svg):not(path),
html body .dhds-search-panel,
html body .dhds-search-panel *:not(svg):not(path),
html body .dhds-mega-panel,
html body .dhds-mega-panel *:not(svg):not(path) {
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,"Helvetica Neue",sans-serif !important;
}


/* v0.6.6: stable mega menu hover bridge and typography/image persistence fixes */
.dhds-mega-item {
    min-height:64px;
    display:flex;
    align-items:center;
}
.dhds-mega-item.is-open > .dhds-mega-panel {
    display:grid !important;
}
.dhds-mega-item.has-panel:before {
    content:"";
    position:absolute;
    top:38px;
    left:0;
    right:0;
    height:34px;
    z-index:1;
}
.dhds-mega-item.has-panel > a {
    position:relative;
    z-index:2;
}
.dhds-mega-panel {
    top:60px !important;
}
html body .dhds-huawei-header,
html body .dhds-huawei-header *:not(svg):not(path),
html body .dhds-huawei-home,
html body .dhds-huawei-home *:not(svg):not(path),
html body .dhds-huawei-footer,
html body .dhds-huawei-footer *:not(svg):not(path),
html body .dhds-search-panel,
html body .dhds-search-panel *:not(svg):not(path),
html body .dhds-mega-panel,
html body .dhds-mega-panel *:not(svg):not(path) {
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,"Helvetica Neue",sans-serif !important;
}


/* v0.6.7: mega menu stability + save reliability.
   Disable the old full-width hover bridge; it could capture the pointer and switch to Sound System. */
.dhds-mega-item.has-panel:before {
    display:none !important;
    content:none !important;
    pointer-events:none !important;
}
.dhds-mega-item {
    position:static !important;
}
.dhds-mega-item.is-open > .dhds-mega-panel,
.dhds-mega-item:hover > .dhds-mega-panel {
    display:grid !important;
}
.dhds-mega-panel {
    z-index:1005 !important;
    pointer-events:auto !important;
}


/* v0.7.0: Huawei-style carousel drag + vertical wheel page scrolling */
.dhds-product-track,
.dhds-category-carousel .dhds-category-strip {
    cursor:grab;
    user-select:none;
}
.dhds-product-carousel.is-dragging .dhds-product-track,
.dhds-category-carousel.is-dragging .dhds-category-strip {
    cursor:grabbing !important;
}
.dhds-product-track a,
.dhds-category-carousel .dhds-category-strip a,
.dhds-product-track img,
.dhds-category-carousel .dhds-category-strip img {
    -webkit-user-drag:none;
    user-drag:none;
    user-select:none;
}
.dhds-product-carousel.is-dragging a,
.dhds-category-carousel.is-dragging a {
    pointer-events:none;
}


/* v0.7.1: footer visual editor styles + Huawei-style secondary sticky nav */
.dhds-footer-newsletter {
    background-size:cover;
    background-position:center right;
    overflow:hidden;
}
.dhds-footer-newsletter-form-wrap {
    min-width:min(560px, 100%);
}
.dhds-newsletter-form {
    display:grid;
    gap:14px;
}
.dhds-newsletter-row {
    display:flex;
    gap:10px;
    align-items:center;
}
.dhds-newsletter-row input[type="email"] {
    flex:1;
    min-height:48px;
    border:1px solid rgba(229,231,235,.9);
    border-radius:14px;
    padding:0 16px;
    background:#fff;
}
.dhds-newsletter-row button {
    min-height:48px;
    border:0;
    border-radius:14px;
    padding:0 22px;
    background:#111827;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.dhds-newsletter-consent {
    display:flex;
    gap:10px;
    align-items:flex-start;
    color:#667085;
    font-size:12px;
    line-height:1.45;
}
.dhds-newsletter-consent input {
    margin-top:2px;
}
.dhds-newsletter-consent a,
.dhds-huawei-footer a[href^="mailto:"] {
    color:#111827;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:2px;
}
.dhds-payment-box {
    display:grid;
    gap:10px;
    align-items:start;
}
.dhds-payment-box img {
    max-width:210px;
    width:100%;
    height:auto;
    display:block;
    object-fit:contain;
}
.dhds-floating-nav {
    display:none !important;
    opacity:0;
    pointer-events:none;
}
body.dhds-secondary-nav-active .dhds-floating-nav {
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    display:flex !important;
    opacity:1 !important;
    pointer-events:auto !important;
    background:rgba(255,255,255,.70) !important;
    backdrop-filter:blur(20px) !important;
    -webkit-backdrop-filter:blur(20px) !important;
    box-shadow:0 10px 26px rgba(17,24,39,.06) !important;
    transition:opacity .2s ease, transform .2s ease !important;
}
body.admin-bar.dhds-secondary-nav-active .dhds-floating-nav {
    top:32px !important;
}
@media(max-width:782px){
    body.admin-bar.dhds-secondary-nav-active .dhds-floating-nav { top:46px !important; }
}


/* v0.7.2: Huawei-style sticky section nav actions on the right */
.dhds-floating-nav-inner {
    width: min(1440px, 100%);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(18px, 2.5vw, 44px);
}
.dhds-floating-links {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2vw, 34px);
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.dhds-floating-links::-webkit-scrollbar { display:none; }
.dhds-floating-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex: 0 0 auto;
}
.dhds-floating-search {
    width: 188px;
    height: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid rgba(209,213,219,.9);
    border-radius: 8px;
    background: rgba(255,255,255,.52);
    color: #6b7280;
}
.dhds-floating-search svg {
    width: 16px;
    height: 16px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dhds-floating-search input {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 30px !important;
    padding: 0 !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}
.dhds-floating-search input::placeholder { color:#6b7280; }
.dhds-floating-icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    text-decoration: none !important;
}
.dhds-floating-icon svg {
    width: 22px;
    height: 22px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.dhds-floating-icon:hover {
    background: transparent !important;
    color:#000 !important;
    transform: translateY(-1px);
}
body.dhds-secondary-nav-active .dhds-floating-nav {
    justify-content: center !important;
    padding: 0 clamp(24px, 3vw, 64px) !important;
}
body.dhds-secondary-nav-active .dhds-floating-nav a[href^="#"] {
    height: 56px !important;
    min-height: 56px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    letter-spacing: -.012em !important;
    position: relative !important;
    white-space: nowrap !important;
}
body.dhds-secondary-nav-active .dhds-floating-nav a[href^="#"].is-active,
body.dhds-secondary-nav-active .dhds-floating-nav a[href^="#"]:hover {
    color:#111827 !important;
    background:transparent !important;
}
body.dhds-secondary-nav-active .dhds-floating-nav a[href^="#"].is-active:after,
body.dhds-secondary-nav-active .dhds-floating-nav a[href^="#"]:hover:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:10px;
    height:2px;
    border-radius:999px;
    background:#111827;
}
body.dhds-secondary-nav-active .dhds-floating-actions a,
body.dhds-secondary-nav-active .dhds-floating-actions a:hover {
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color:#111827 !important;
}
@media(max-width:900px){
    .dhds-floating-search { display:none; }
    .dhds-floating-nav-inner { gap:12px; }
    .dhds-floating-actions { gap:10px; }
}
@media(max-width:640px){
    .dhds-floating-actions { display:none; }
    .dhds-floating-nav-inner { justify-content:flex-start; }
}


/* v0.7.3: sticky search uses the same full search panel as the main header */
.dhds-floating-search {
    cursor: text !important;
}
.dhds-floating-search input[readonly] {
    cursor: text !important;
}
body.dhds-search-open.dhds-secondary-nav-active .dhds-huawei-header {
    transform: translateY(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
body.dhds-search-open.dhds-secondary-nav-active .dhds-floating-nav {
    opacity: 0 !important;
    pointer-events: none !important;
}
body.dhds-search-open .dhds-floating-search {
    pointer-events: none !important;
}


/* v0.7.4: newsletter consent sits below the email input row, not beside it */
.dhds-footer-newsletter .dhds-footer-newsletter-form-wrap {
    min-width: min(620px, 100%) !important;
}
.dhds-footer-newsletter form.dhds-newsletter-form,
.dhds-footer-newsletter .dhds-newsletter-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    min-width: 0 !important;
    width: 100% !important;
}
.dhds-footer-newsletter .dhds-newsletter-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
}
.dhds-footer-newsletter .dhds-newsletter-row input[type="email"] {
    flex: 1 1 auto !important;
    min-width: 220px !important;
    border: 1px solid rgba(229,231,235,.9) !important;
    border-radius: 14px !important;
}
.dhds-footer-newsletter .dhds-newsletter-consent {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    column-gap: 10px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}
.dhds-footer-newsletter .dhds-newsletter-consent input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    border: 1px solid rgba(209,213,219,.95) !important;
    border-radius: 4px !important;
    background: #fff !important;
}
.dhds-footer-newsletter .dhds-newsletter-consent span {
    display: block !important;
}
@media(max-width: 760px){
    .dhds-footer-newsletter .dhds-newsletter-row {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .dhds-footer-newsletter .dhds-newsletter-row input[type="email"],
    .dhds-footer-newsletter .dhds-newsletter-row button {
        width: 100% !important;
    }
}


/* v0.7.5: sticky search should open the main search panel and stay open after mouse release */
.dhds-floating-search[data-dhds-floating-search-trigger] {
    cursor: text !important;
    user-select: none;
}
.dhds-floating-search[data-dhds-floating-search-trigger] input {
    pointer-events: none;
}


/* v0.7.7: sticky search opens on click, then stays open after mouse release */
.dhds-floating-search[data-dhds-floating-search-trigger] {
    cursor: text !important;
}


/* v0.7.8: fix search panel close button alignment and remove theme button styling */
html body .dhds-huawei-header .dhds-search-panel .dhds-search-large {
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    align-items: center !important;
}
html body .dhds-huawei-header .dhds-search-panel .dhds-search-close,
html body .dhds-huawei-header .dhds-search-panel button.dhds-search-close {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    place-self: center !important;
    cursor: pointer !important;
    overflow: visible !important;
}
html body .dhds-huawei-header .dhds-search-panel .dhds-search-close::before {
    content: "×" !important;
    display: block !important;
    color: #667085 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    font-size: 34px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    width: 34px !important;
    height: 34px !important;
    text-align: center !important;
}
html body .dhds-huawei-header .dhds-search-panel .dhds-search-close:hover,
html body .dhds-huawei-header .dhds-search-panel .dhds-search-close:focus {
    background: rgba(17,24,39,.06) !important;
    box-shadow: none !important;
}
html body .dhds-huawei-header .dhds-search-panel .dhds-search-close:hover::before,
html body .dhds-huawei-header .dhds-search-panel .dhds-search-close:focus::before {
    color: #111827 !important;
}


/* v0.7.9: align main header menu close to the logo instead of centered */
@media (min-width: 1181px) {
    html body .dhds-huawei-header .dhds-header-shell {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        column-gap: clamp(20px, 1.6vw, 34px) !important;
    }
    html body .dhds-huawei-header .dhds-header-logo {
        justify-self: start !important;
        width: auto !important;
        min-width: 0 !important;
    }
    html body .dhds-huawei-header .dhds-mega-nav {
        justify-content: flex-start !important;
        justify-self: start !important;
        margin-left: 0 !important;
        width: 100% !important;
        text-align: left !important;
    }
    html body .dhds-huawei-header .dhds-header-actions {
        justify-self: end !important;
        margin-left: auto !important;
    }
}


/* v0.7.10: search panel 70% transparent, Huawei-style glass layer */
html body .dhds-huawei-header .dhds-search-panel {
    background: rgba(244, 246, 248, .70) !important;
    backdrop-filter: blur(22px) !important;
    -webkit-backdrop-filter: blur(22px) !important;
}
html body .dhds-huawei-header.is-search-open::after {
    background: rgba(0, 0, 0, .18) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}
html body .dhds-huawei-header .dhds-search-inner {
    background: transparent !important;
}


/* v0.8.0: wide promotional carousel between Home Cinema and Productivity */
.dhds-wide-promo-carousel {
    position: relative;
    margin-top: 6px;
}
.dhds-wide-promo-track {
    display: flex;
    gap: 22px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    padding: 6px 8px 28px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.dhds-wide-promo-track::-webkit-scrollbar { display:none; }
.dhds-wide-promo-card {
    flex: 0 0 clamp(760px, 72vw, 1040px);
    min-height: 420px;
    border-radius: 24px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fff;
    border: 1px solid rgba(229,231,235,.85);
    box-shadow: 0 18px 50px rgba(17,24,39,.08);
    text-decoration: none;
    color: #111827;
    scroll-snap-align: start;
    transition: transform .28s cubic-bezier(.16,1,.3,1), box-shadow .28s ease;
    user-select: none;
}
.dhds-wide-promo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 70px rgba(17,24,39,.13);
}
.dhds-wide-promo-copy {
    padding: clamp(30px, 3vw, 58px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
}
.dhds-wide-promo-copy em {
    font-style: normal;
    font-size: 18px;
    line-height: 1.1;
    color: #4b5563;
}
.dhds-wide-promo-copy strong {
    font-size: clamp(38px, 4.3vw, 62px);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 780;
    max-width: 520px;
}
.dhds-wide-promo-subtitle {
    color: #4b5563;
    font-size: 18px;
    line-height: 1.42;
    max-width: 520px;
}
.dhds-wide-promo-meta {
    color: #6b7280;
    font-size: 16px;
    margin-top: 8px;
}
.dhds-wide-promo-bottom {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 8px;
    flex-wrap: wrap;
}
.dhds-wide-promo-price {
    font-size: 22px;
    font-weight: 780;
    letter-spacing: -.02em;
}
.dhds-wide-promo-button {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 10px;
    background: #050505;
    color: #fff;
    font-weight: 800;
    font-size: 13px;
}
.dhds-wide-promo-image {
    min-width: 0;
    min-height: 100%;
    background: linear-gradient(135deg,#f8fafc,#eef2f7);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.dhds-wide-promo-img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
}
.dhds-wide-promo-image .dhds-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 420px;
    border-radius: 0;
    border: 0;
}
@media(max-width: 900px){
    .dhds-wide-promo-card {
        flex-basis: min(88vw, 720px);
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .dhds-wide-promo-image {
        min-height: 260px;
        order: -1;
    }
    .dhds-wide-promo-copy strong {
        font-size: 36px;
    }
}


/* v0.8.1: robust two-way drag for the wide promo carousel */
.dhds-product-carousel.is-pointer-down .dhds-product-track,
.dhds-product-carousel.is-dragging .dhds-product-track {
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    cursor: grabbing !important;
}
.dhds-wide-promo-track {
    scroll-snap-type: none !important;
}
.dhds-wide-promo-card {
    scroll-snap-align: none !important;
    -webkit-user-drag: none !important;
    user-drag: none !important;
}
.dhds-wide-promo-card *,
.dhds-wide-promo-card img {
    -webkit-user-drag: none !important;
    user-drag: none !important;
    user-select: none !important;
}


/* v0.9.0: Homepage Section Manager admin styles and duplicated section support */
.dhds-home-section-row.is-disabled {
    opacity: .62;
}


/* v0.9.1: Section Manager now controls Hero Slider as a section block */


/* v1.1.2: Boxed homepage/header/footer mode */
body.dhds-boxed-layout .dhds-huawei-header .dhds-header-shell {
    max-width: var(--dhds-boxed-header, 1280px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(18px, 2.4vw, 34px) !important;
    padding-right: clamp(18px, 2.4vw, 34px) !important;
}

body.dhds-boxed-layout .dhds-huawei-header .dhds-search-inner {
    max-width: var(--dhds-boxed-header, 1280px) !important;
}

body.dhds-boxed-layout .dhds-huawei-header .dhds-mega-panel {
    width: min(var(--dhds-boxed-header, 1280px), calc(100vw - 40px)) !important;
}

body.dhds-boxed-layout .dhds-huawei-home {
    max-width: var(--dhds-boxed-max, 1180px) !important;
    padding-left: clamp(18px, 2.4vw, 34px) !important;
    padding-right: clamp(18px, 2.4vw, 34px) !important;
}

body.dhds-boxed-layout .dhds-hero-card,
body.dhds-boxed-layout .dhds-section {
    max-width: var(--dhds-boxed-max, 1180px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.dhds-boxed-layout .dhds-hero-card {
    min-height: clamp(480px, 45vw, 590px) !important;
    padding: clamp(38px, 4vw, 64px) clamp(34px, 4.2vw, 68px) !important;
    grid-template-columns: 1fr 1fr !important;
}

body.dhds-boxed-layout .dhds-hero-copy h1 {
    font-size: clamp(40px, 4vw, 58px) !important;
    max-width: 520px !important;
}

body.dhds-boxed-layout .dhds-hero-copy p {
    font-size: 17px !important;
    max-width: 520px !important;
}

body.dhds-boxed-layout .dhds-hero-visual {
    min-height: 380px !important;
}

body.dhds-boxed-layout .dhds-hero-visual:before {
    width: 420px !important;
    height: 420px !important;
}

body.dhds-boxed-layout .dhds-image-placeholder {
    width: min(520px, 100%) !important;
    height: 340px !important;
}

body.dhds-boxed-layout .dhds-section {
    padding: clamp(30px, 3vw, 44px) !important;
}

body.dhds-boxed-layout .dhds-section-head h2 {
    font-size: clamp(30px, 3vw, 42px) !important;
}

body.dhds-boxed-layout .dhds-wide-promo-card {
    flex-basis: min(920px, calc(100vw - 72px)) !important;
    min-height: 360px !important;
}

body.dhds-boxed-layout .dhds-wide-promo-copy {
    padding: clamp(26px, 3vw, 44px) !important;
}

body.dhds-boxed-layout .dhds-wide-promo-copy strong {
    font-size: clamp(34px, 4vw, 52px) !important;
}

body.dhds-boxed-layout .dhds-product-carousel,
body.dhds-boxed-layout .dhds-category-carousel {
    max-width: 100% !important;
}

body.dhds-boxed-layout .dhds-floating-nav {
    max-width: min(var(--dhds-boxed-max, 1180px), calc(100vw - 40px)) !important;
}

body.dhds-boxed-layout .dhds-huawei-footer {
    max-width: var(--dhds-boxed-max, 1180px) !important;
    padding-left: clamp(18px, 2.4vw, 34px) !important;
    padding-right: clamp(18px, 2.4vw, 34px) !important;
}

body.dhds-boxed-layout .dhds-footer-newsletter {
    padding: clamp(28px, 3vw, 38px) !important;
}

body.dhds-boxed-layout .dhds-footer-links {
    gap: clamp(18px, 3vw, 42px) !important;
}

@media (max-width: 900px) {
    body.dhds-boxed-layout .dhds-hero-card {
        grid-template-columns: 1fr !important;
    }
}
