/* Main DIMASMART website only; the store keeps its own design and layout. */
html[data-ds-main="1"] { --dsw-bg:#f5f6f5; --dsw-surface:#fff; --dsw-ink:#14282e; --dsw-muted:#536269; --dsw-line:#e0e6e5; --dsw-teal:#087f83; --dsw-accent:#06676b; --dsw-tint:#e2f2ef; scroll-padding-top:24px; }
html[data-ds-main="1"] body { --bs-body-bg:var(--dsw-bg); --bs-body-color:var(--dsw-ink); --bs-primary:#087f83; --bs-primary-rgb:8,127,131; --bs-link-color:var(--dsw-accent); --bs-link-hover-color:var(--dsw-accent); font-family:Arial,Helvetica,sans-serif; color:var(--dsw-ink); }
html[data-ds-main="1"] :is(#wrapwrap,#wrap,main) { background:var(--dsw-bg) !important; color:var(--dsw-ink); }
html[data-ds-main="1"] :is(h1,h2,h3,h4,h5,h6) { font-family:inherit; color:var(--dsw-ink); letter-spacing:-.035em; }
html[data-ds-main="1"] a { text-underline-offset:4px; }
html[data-ds-main="1"] :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #159f9f; outline-offset:4px; }
html[data-ds-main="1"] #ds-main-header { background:var(--dsw-surface); border-bottom:1px solid var(--dsw-line); position:relative; z-index:20; }
.dsw-nav-inner { max-width:1480px; margin:auto; padding:24px 32px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
html[data-ds-main="1"] .dsw-brand { display:flex; flex-direction:column; gap:7px; flex:0 0 194px; text-decoration:none; }
.dsw-brand img { width:184px; height:auto; }
.dsw-brand span { font-size:8px; letter-spacing:.21em; font-weight:700; color:#637178; }
.dsw-desktop-nav { display:flex; align-items:center; gap:30px; }
html[data-ds-main="1"] .dsw-desktop-nav a { color:var(--dsw-ink); font-size:13px; font-weight:650; text-decoration:none; padding:12px 0; border-bottom:2px solid transparent; }
html[data-ds-main="1"] .dsw-desktop-nav a:is(:hover,[aria-current="page"]) { color:var(--dsw-accent); border-color:var(--dsw-accent); }
.dsw-tools { display:flex; align-items:center; justify-content:flex-end; list-style:none; margin:0; padding:0; gap:5px; flex:0 0 194px; }
html[data-ds-main="1"] .dsw-tool { border:0; background:transparent; color:var(--dsw-ink) !important; border-radius:50%; width:42px; height:42px; display:flex; align-items:center; justify-content:center; text-decoration:none; font-size:19px; opacity:1; position:relative; }
html[data-ds-main="1"] .dsw-tool:hover { background:var(--dsw-tint); transform:none; }
.dsw-cart .my_cart_quantity { position:absolute; top:0; right:0; background:var(--dsw-teal) !important; font-size:10px; }
.dsw-mobile-menu { display:none; }
.dsw-container { max-width:1480px; margin:auto; padding:30px 32px 60px; }
.dsw-hero { display:grid; grid-template-columns:.95fr 1.05fr; border:1px solid var(--dsw-line); border-radius:20px; overflow:hidden; background:var(--dsw-surface); }
.dsw-hero-copy { padding:52px 38px 44px; align-self:center; }
.dsw-eyebrow { display:block; font-size:10px; font-weight:700; line-height:1.6; letter-spacing:.12em; color:var(--dsw-accent); }
html[data-ds-main="1"] .dsw-hero h1 { font-size:clamp(36px,3.65vw,56px); font-weight:600; line-height:1.08; margin:22px 0; letter-spacing:-.045em; }
.dsw-hero h1 span { color:var(--dsw-accent); }
.dsw-hero-copy > p { font-size:16px; line-height:1.8; color:var(--dsw-muted); max-width:500px; margin-bottom:28px; }
.dsw-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
html[data-ds-main="1"] .dsw-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; background:var(--dsw-teal); color:#fff !important; border:1px solid var(--dsw-teal); border-radius:30px; padding:15px 23px; font-size:13px; line-height:1.5; font-weight:650; text-decoration:none; min-height:48px; transition:background .18s,transform .18s; }
html[data-ds-main="1"] .dsw-button:hover { background:#07696c; transform:translateY(-2px); }
html[data-ds-main="1"] .dsw-text-link { display:inline-flex; gap:15px; align-items:center; color:var(--dsw-ink) !important; font-size:12px; font-weight:600; text-decoration:none; }
html[data-ds-main="1"] .dsw-text-link:hover { color:var(--dsw-accent) !important; }
.dsw-hero-note { display:block; color:var(--dsw-muted); font-size:11px; margin-top:28px; line-height:1.6; }
.dsw-hero-note i { margin-right:6px; color:var(--dsw-accent); }
.dsw-hero-media { position:relative; min-height:490px; }
.dsw-hero-media > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:57% center; }
.dsw-image-note { position:absolute; left:24px; right:24px; bottom:24px; width:max-content; max-width:calc(100% - 48px); display:flex; align-items:center; gap:10px; padding:13px 17px; border-radius:10px; background:#fffffff0; color:#14282e; font-size:12px; font-weight:600; box-shadow:0 4px 20px #102b2810; }
.dsw-note-dot { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#087f83; }
.dsw-benefits { display:flex; justify-content:space-between; gap:20px; padding:26px 10px; border-bottom:1px solid var(--dsw-line); color:var(--dsw-muted); font-size:12px; }
.dsw-benefits i { color:var(--dsw-accent); font-size:17px; margin-right:9px; }
.dsw-section { padding-top:70px; }
.dsw-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:26px; }
.dsw-section-heading h2 { font-size:clamp(26px,2.5vw,36px); line-height:1.15; font-weight:600; margin:10px 0 0; }
.dsw-section-heading > p { font-size:13px; color:var(--dsw-muted); margin:0; line-height:1.65; }
.dsw-universes .dsc-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
html[data-ds-main="1"] .dsc-category { background:var(--dsw-surface); border:1px solid var(--dsw-line); border-radius:12px; padding:19px; display:flex; align-items:center; gap:15px; color:var(--dsw-ink) !important; text-decoration:none; font-size:14px; font-weight:600; transition:border-color .18s,transform .18s; }
.dsw-universes .dsc-category::after { content:''; margin-left:auto; width:7px; height:7px; border-right:1.5px solid var(--dsw-accent); border-top:1.5px solid var(--dsw-accent); transform:rotate(45deg); flex-shrink:0; }
html[data-ds-main="1"] .dsc-category:hover { border-color:var(--dsw-accent); transform:translateY(-2px); }
.dsw-universes .dsc-category-icon { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; background:var(--dsw-tint); border-radius:12px; color:var(--dsw-accent); }
.dsw-universes svg { width:27px; height:27px; }
.dsw-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
html[data-ds-main="1"] .dsw-product-card { display:flex; flex-direction:column; background:var(--dsw-surface); border:1px solid var(--dsw-line); border-radius:16px; padding:26px; text-decoration:none; color:var(--dsw-ink); transition:border-color .18s; }
html[data-ds-main="1"] .dsw-product-card:hover { border-color:var(--dsw-accent); }
.dsw-pill { align-self:start; font-size:9px; font-weight:700; letter-spacing:.08em; padding:6px 9px; border-radius:5px; background:var(--dsw-tint); color:var(--dsw-accent); }
.dsw-product-card h3 { margin:20px 0 10px; font-size:25px; font-weight:600; line-height:1.2; }
.dsw-product-card p { color:var(--dsw-muted); font-size:13px; line-height:1.65; margin:0 0 16px; }
.dsw-product-image { background:#fff; border-radius:12px; height:210px; padding:14px; margin-top:auto; }
.dsw-product-image img { width:100%; height:100%; object-fit:contain; }
.dsw-product-bottom { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:18px; font-size:12px; line-height:1.5; font-weight:600; }
.dsw-product-bottom i { width:32px; height:32px; border-radius:50%; background:var(--dsw-tint); color:var(--dsw-accent); flex:0 0 32px; display:grid; place-items:center; }
.dsw-brands { padding:38px 12px; margin-top:50px; border-block:1px solid var(--dsw-line); text-align:center; }
.dsw-brands p { font-size:11px; color:var(--dsw-muted); margin-bottom:22px; }
.dsw-brands > div { display:flex; justify-content:space-around; align-items:center; flex-wrap:wrap; gap:26px; }
html[data-ds-main="1"] .dsw-brands a { color:var(--dsw-muted); text-decoration:none; font-size:22px; font-weight:650; letter-spacing:-.035em; }
html[data-ds-main="1"] .dsw-brands a:hover { color:var(--dsw-accent); }
.dsw-advice { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; }
.dsw-advice-image img { width:100%; height:430px; object-fit:cover; border-radius:16px; }
.dsw-advice-copy h2 { font-size:36px; line-height:1.17; font-weight:600; margin:18px 0; }
.dsw-advice-copy p { font-size:15px; color:var(--dsw-muted); line-height:1.8; }
.dsw-advice-copy ul { list-style:none; padding:0; margin:24px 0 28px; }
.dsw-advice-copy li { display:flex; gap:10px; color:var(--dsw-muted); font-size:13px; margin-bottom:14px; line-height:1.65; }
.dsw-advice-copy li i { color:var(--dsw-accent); padding-top:4px; }
.dsw-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.dsw-steps article { padding:28px; border-radius:14px; background:var(--dsw-surface); border:1px solid var(--dsw-line); }
.dsw-steps article > span { display:block; font-size:12px; font-weight:600; color:var(--dsw-accent); margin-bottom:30px; }
.dsw-steps h3 { font-size:22px; font-weight:600; margin-bottom:12px; }
.dsw-steps p { color:var(--dsw-muted); font-size:14px; line-height:1.7; margin:0; }
.dsw-cta { margin-top:70px; border-radius:18px; background:var(--dsw-tint); padding:46px; display:flex; justify-content:space-between; align-items:center; gap:45px; }
.dsw-cta h2 { font-size:38px; line-height:1.1; font-weight:600; margin:15px 0; }
.dsw-cta p { color:var(--dsw-muted); max-width:570px; font-size:14px; line-height:1.7; margin:0; }
.dsw-cta .dsw-actions { flex-direction:column; align-items:start; flex-shrink:0; }
/* Existing contact, appointment, portal and information forms keep their behavior. */
html[data-ds-main="1"] #wrap:not(.dsw-home) > section.s_title { background:var(--dsw-tint) !important; padding-block:46px !important; border-bottom:1px solid var(--dsw-line); }
html[data-ds-main="1"] #wrap:not(.dsw-home) > section.s_title > .o_we_bg_filter { background:var(--dsw-tint) !important; }
html[data-ds-main="1"] #wrap:not(.dsw-home) > section.s_title h1 { color:var(--dsw-ink) !important; margin:0; }
html[data-ds-main="1"] main .btn-primary { background:var(--dsw-teal) !important; border-color:var(--dsw-teal) !important; color:#fff !important; border-radius:25px; }
html[data-ds-main="1"] main .btn-outline-primary { color:var(--dsw-accent); border-color:var(--dsw-accent); border-radius:25px; }
html[data-ds-main="1"] main .btn-outline-primary:hover { background:var(--dsw-teal); color:#fff; }
html[data-ds-main="1"] main :is(.form-control,.form-select,.input-group-text) { background:var(--dsw-surface); color:var(--dsw-ink); border:1px solid var(--dsw-line); border-radius:9px; min-height:44px; }
html[data-ds-main="1"] main :is(.form-control,.form-select):focus { border-color:var(--dsw-accent); box-shadow:0 0 0 3px #087f8320; }
html[data-ds-main="1"] main :is(.form-control,textarea)::placeholder { color:var(--dsw-muted); }
html[data-ds-main="1"] main :is(.s_website_form form,.oe_login_form) { padding:28px; border:1px solid var(--dsw-line); border-radius:16px; background:var(--dsw-surface); }
html[data-ds-main="1"] #wrap:not(.dsw-home) :is(.card,.o_portal_docs_entry) { border:1px solid var(--dsw-line); border-radius:12px; background:var(--dsw-surface); }
html[data-ds-main="1"] #wrap:not(.dsw-home) h1 { font-size:clamp(32px,4vw,48px); font-weight:600; line-height:1.15; }
html[data-ds-main="1"] main a:not(.btn):not([class]) { color:var(--dsw-accent); }
html[data-ds-main="1"] :is(.dropdown-item.active,.dropdown-item:active,.page-item.active .page-link) { background:var(--dsw-teal) !important; color:#fff !important; }
html[data-ds-main="1"] .ds-footer { background:#e9edeb; padding:56px 32px; color:var(--dsw-muted); }
html[data-ds-main="1"] .ds-footer .container { max-width:1416px; }
html[data-ds-main="1"] .ds-footer :is(p,li,a,.ds-footer-location) { color:var(--dsw-muted); font-size:13px; }
html[data-ds-main="1"] .ds-footer .ds-footer-heading { font-size:15px; font-weight:600; color:var(--dsw-ink); letter-spacing:0; text-transform:uppercase; margin:0 0 1.2rem; }
html[data-ds-main="1"] .ds-footer .btn-light { background:var(--dsw-surface); border-color:var(--dsw-line); color:var(--dsw-ink) !important; }
html[data-ds-main="1"] .ds-footer-logo { background:transparent; padding:0; }
html[data-ds-main="1"] .o_footer_copyright { background:#e9edeb !important; color:var(--dsw-muted) !important; border-top:1px solid var(--dsw-line); }
html[data-ds-main="1"] .o_footer_copyright :is(a,.o_footer_copyright_name) { color:var(--dsw-muted) !important; }
/* Same charcoal/teal palette as the store; photographs retain natural colors. */
html[data-ds-main="1"][data-ds-theme="dark"] { --dsw-bg:#121716; --dsw-surface:#1d2523; --dsw-ink:#edf4f1; --dsw-muted:#b3c2bc; --dsw-line:#394a44; --dsw-tint:#283e37; --dsw-accent:#79dccc; color-scheme:dark; }
html[data-ds-main="1"][data-ds-theme="dark"] body { --bs-body-bg:var(--dsw-bg); --bs-body-color:var(--dsw-ink); --bs-emphasis-color:var(--dsw-ink); --bs-secondary-color:var(--dsw-muted); --bs-border-color:var(--dsw-line); background:var(--dsw-bg); color:var(--dsw-ink); }
html[data-ds-main="1"][data-ds-theme="dark"] :is(.dsw-brand,.ds-footer-logo) { background:white; border-radius:8px; padding:10px; }
html[data-ds-main="1"][data-ds-theme="dark"] .dsw-brand { flex-basis:204px; }
html[data-ds-main="1"][data-ds-theme="dark"] :is(.dsw-desktop-nav a,.dsw-product-card,.dsc-category,.dsw-mobile-menu a) { color:var(--dsw-ink) !important; }
html[data-ds-main="1"][data-ds-theme="dark"] .dsw-desktop-nav a:is(:hover,[aria-current="page"]) { color:var(--dsw-accent) !important; }
html[data-ds-main="1"][data-ds-theme="dark"] :is(.bg-white,.bg-light,.card,.accordion-item,.accordion-button,.dropdown-menu,.modal-content,.list-group-item,.table,.oe_login_form) { background-color:var(--dsw-surface) !important; color:var(--dsw-ink) !important; border-color:var(--dsw-line) !important; --bs-table-bg:var(--dsw-surface); --bs-table-color:var(--dsw-ink); --bs-dropdown-link-color:var(--dsw-ink); --bs-dropdown-link-hover-bg:var(--dsw-tint); }
html[data-ds-main="1"][data-ds-theme="dark"] :is(.text-muted,.text-secondary) { color:var(--dsw-muted) !important; }
html[data-ds-main="1"][data-ds-theme="dark"] :is(.ds-footer,.o_footer_copyright) { background:#1a2220 !important; }
html[data-ds-main="1"][data-ds-theme="dark"] .btn-close { filter:invert(1) grayscale(1); }
@media(max-width:1100px) {
    .dsw-nav-inner { gap:18px; padding:20px 24px; } .dsw-tools { flex-basis:130px; } .dsw-desktop-nav { gap:20px; }
    .dsw-hero-copy { padding:35px 28px; } .dsw-hero-media { min-height:455px; } .dsw-hero .dsw-actions { gap:18px; }
    .dsw-benefits { flex-wrap:wrap; justify-content:center; gap:16px 26px; } .dsw-advice { gap:35px; }
    .dsw-product-card h3 { font-size:22px; } .dsw-advice-copy h2 { font-size:30px; }
}
@media(max-width:850px) {
    .dsw-desktop-nav { display:none; } .dsw-mobile-menu { display:block; } .dsw-tools { flex-basis:auto; }
    .dsw-mobile-menu summary { display:grid; place-items:center; width:40px; height:40px; cursor:pointer; list-style:none; color:var(--dsw-ink); }
    .dsw-mobile-menu summary::-webkit-details-marker { display:none; }
    .dsw-mobile-menu nav { position:absolute; top:100%; left:16px; right:16px; background:var(--dsw-surface); border:1px solid var(--dsw-line); border-radius:12px; box-shadow:0 14px 40px #14282e20; padding:12px; z-index:30; }
    html[data-ds-main="1"] .dsw-mobile-menu a { display:block; color:var(--dsw-ink); padding:13px; border-radius:8px; font-size:14px; text-decoration:none; }
    .dsw-mobile-menu a:hover { background:var(--dsw-tint); }
    .dsw-product-grid { gap:12px; } html[data-ds-main="1"] .dsw-product-card { padding:18px; } .dsw-product-image { height:170px; }
    .dsw-universes .dsc-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dsw-cta { padding:34px; } .dsw-cta h2 { font-size:32px; }
}
@media(max-width:767px) {
    .dsw-nav-inner { padding:18px 16px; gap:10px; } html[data-ds-main="1"] .dsw-brand { flex:0 0 145px; } .dsw-brand img { width:145px; } .dsw-brand span { font-size:7px; letter-spacing:.15em; }
    html[data-ds-main="1"] .dsw-tool { width:34px; height:36px; font-size:17px; } .dsw-tools { gap:0; } .dsw-mobile-menu summary { width:34px; height:36px; }
    html[data-ds-main="1"][data-ds-theme="dark"] .dsw-brand { flex-basis:159px; padding:7px; }
    .dsw-container { padding:16px 14px 35px; } .dsw-hero { grid-template-columns:1fr; border-radius:14px; } .dsw-hero-copy { padding:30px 24px; }
    html[data-ds-main="1"] .dsw-hero h1 { font-size:39px; margin:17px 0; } .dsw-hero-copy > p { font-size:14px; line-height:1.7; margin-bottom:22px; }
    .dsw-eyebrow { font-size:8px; } .dsw-hero .dsw-actions { flex-direction:column; align-items:start; } .dsw-hero-note { font-size:10px; margin-top:24px; }
    .dsw-hero-media { min-height:285px; } .dsw-image-note { left:16px; bottom:16px; padding:11px 13px; font-size:10px; max-width:calc(100% - 32px); }
    .dsw-benefits { display:grid; grid-template-columns:1fr 1fr; padding:22px 4px; gap:16px; font-size:10px; } .dsw-benefits span { line-height:1.6; } .dsw-benefits i { font-size:14px; margin-right:4px; }
    .dsw-section { padding-top:44px; } .dsw-section-heading { align-items:start; flex-direction:column; gap:16px; margin-bottom:20px; } .dsw-section-heading h2 { font-size:28px; }
    .dsw-universes .dsc-categories { gap:9px; } html[data-ds-main="1"] .dsc-category { flex-direction:column; align-items:start; padding:16px 12px; gap:12px; font-size:12px; line-height:1.4; position:relative; }
    .dsw-universes .dsc-category::after { position:absolute; top:34px; right:17px; } .dsw-universes .dsc-category-icon { width:40px; height:40px; flex-basis:40px; }
    .dsw-product-grid { grid-template-columns:1fr; gap:14px; } html[data-ds-main="1"] .dsw-product-card { padding:24px; } .dsw-product-card h3 { font-size:25px; margin-top:16px; } .dsw-product-image { height:205px; }
    .dsw-brands { margin-top:35px; padding:28px 10px; } .dsw-brands > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 12px; } html[data-ds-main="1"] .dsw-brands a { font-size:17px; }
    .dsw-advice { grid-template-columns:1fr; gap:26px; } .dsw-advice-image img { height:275px; } .dsw-advice-copy { padding:0 10px; } .dsw-advice-copy h2 { font-size:31px; } .dsw-advice-copy p { font-size:14px; }
    .dsw-steps { grid-template-columns:1fr; gap:12px; } .dsw-steps article { padding:24px; } .dsw-steps article > span { margin-bottom:18px; }
    .dsw-cta { margin-top:44px; padding:30px 24px; flex-direction:column; align-items:start; gap:26px; } .dsw-cta h2 { font-size:32px; } .dsw-cta p { font-size:13px; }
    html[data-ds-main="1"] .ds-footer { padding:40px 22px; } html[data-ds-main="1"] main :is(.s_website_form form,.oe_login_form) { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { html[data-ds-main="1"] * { transition:none !important; scroll-behavior:auto !important; } }
