/* DYSON.SU — complete visual redesign, 2026-07 */
:root{
  --ink:#101820;
  --ink-2:#1b2732;
  --ink-3:#273746;
  --paper:#f3f4ef;
  --paper-2:#eaede6;
  --surface:#ffffff;
  --surface-dark:#151f29;
  --text:#17212b;
  --muted:#67727d;
  --line:#dce1da;
  --line-dark:rgba(255,255,255,.14);
  --accent:#c9ff45;
  --accent-strong:#aeea1f;
  --violet:#7768ff;
  --danger:#c83c3c;
  --success:#16845b;
  --radius-xs:8px;
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:40px;
  --shadow-sm:0 8px 24px rgba(16,24,32,.07);
  --shadow-md:0 20px 55px rgba(16,24,32,.12);
  --shadow-lg:0 34px 90px rgba(16,24,32,.18);
  --container:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;font-family:Manrope,Inter,Arial,sans-serif;background:var(--paper);color:var(--text);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:Manrope,Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}
:focus-visible{outline:3px solid rgba(201,255,69,.92);outline-offset:3px}
[hidden]{display:none!important}
.site-shell{min-height:100vh;overflow-x:hidden;overflow-x:clip;background:var(--paper)}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.narrow{max-width:940px}
.dyson-wide{width:min(1360px,calc(100% - 48px));margin-inline:auto}
.section{padding:104px 0}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:42px}
.section-title.center{display:block;text-align:center;max-width:850px;margin:0 auto 48px}
.section-title h2,.section h2{overflow-wrap:anywhere;margin:0;font-size:clamp(34px,4.2vw,64px);line-height:1.02;letter-spacing:-.055em}
.section-title p{max-width:680px;margin:14px 0 0;color:var(--muted);font-size:17px;line-height:1.7}
.eyebrow,.catalog-kicker,.dyson-eyebrow,.product-advantages-kicker,.product-banner-eyebrow,.dyson-tech-eyebrow{margin:0 0 14px;color:var(--violet);font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.muted{color:var(--muted)}

/* Buttons and controls */
.btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:13px 24px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;font-weight:800;line-height:1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.dark:hover{background:var(--ink-3);border-color:var(--ink-3)}
.btn.white{background:#fff;color:var(--ink);border-color:#fff}
.btn.white:hover{background:var(--accent);border-color:var(--accent)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.outline:hover{background:var(--ink);color:#fff}
.btn.disabled,.btn:disabled{opacity:.48;pointer-events:none;box-shadow:none;transform:none}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--text);outline:none;transition:border-color .18s ease,box-shadow .18s ease}
input,select{min-height:48px;padding:0 14px}
textarea{padding:13px 14px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(119,104,255,.12)}

/* Header */
.site-header-stack{position:sticky;top:0;z-index:1200}
.trust-strip{background:var(--accent);color:var(--ink);border-bottom:1px solid rgba(16,24,32,.12)}
.trust-strip-inner{min-height:34px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.01em;text-align:center}
.trust-strip-mark{display:inline-grid;width:18px;height:18px;place-items:center;border-radius:50%;background:var(--ink);color:var(--accent);font-size:10px}
.topbar{position:relative;background:rgba(16,24,32,.97);color:#fff;border-bottom:1px solid var(--line-dark);backdrop-filter:blur(18px)}
.nav{position:relative;display:flex;min-height:78px;align-items:center;gap:28px}
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:.9}
.logo span{font-size:29px;font-weight:800;letter-spacing:-.075em;text-transform:lowercase}
.logo small{margin-top:7px;color:rgba(255,255,255,.56);font-size:8px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.dyson-logo{flex:0 0 auto;color:#fff}
.menu{display:flex;align-items:center;gap:26px;flex:1;margin-left:16px;font-size:13px;font-weight:700}
.menu>a,.menu-dropdown>a{position:relative;display:flex;min-height:78px;align-items:center;color:rgba(255,255,255,.82);white-space:nowrap}
.menu>a::after,.menu-dropdown>a::after{content:"";position:absolute;right:0;bottom:19px;left:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .22s ease}
.menu>a:hover,.menu-dropdown>a:hover{color:#fff}
.menu>a:hover::after,.menu-dropdown>a:hover::after,.menu>a:focus-visible::after,.menu-dropdown>a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.menu-dropdown{position:relative}
.mega-menu{position:absolute;top:calc(100% - 1px);left:-150px;width:min(1040px,88vw);padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:rgba(18,28,37,.985);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.menu-dropdown:hover .mega-menu,.menu-dropdown:focus-within .mega-menu{opacity:1;visibility:visible;transform:translateY(0)}
.mega-products-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mega-product{min-width:0;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);background:rgba(255,255,255,.045);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.mega-product:hover{transform:translateY(-3px);border-color:rgba(201,255,69,.5);background:rgba(255,255,255,.085)}
.mega-product-img{display:grid;height:128px;place-items:center;overflow:hidden;border-radius:12px;background:#f4f5f1}
.mega-product-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.mega-product-img b{color:#90979a;font-size:24px;letter-spacing:-.08em}
.mega-product-title{display:block;margin-top:11px;color:#fff;font-size:12px;font-weight:800;line-height:1.35}
.header-actions{display:flex;align-items:center;gap:15px;margin-left:auto}
.search{display:flex;width:198px;height:42px;align-items:center;padding:0 4px 0 13px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);background:rgba(255,255,255,.06);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.search:hover{border-color:rgba(201,255,69,.72);background:rgba(255,255,255,.085)}
.search:focus-within{border:3px solid var(--accent);padding:0 2px 0 11px;background:rgba(255,255,255,.09);box-shadow:0 0 0 4px rgba(201,255,69,.16)}
.search input{min-width:0;min-height:0;height:auto;padding:0;border:0;background:transparent;color:#fff;font-size:13px;box-shadow:none;cursor:text;caret-color:var(--accent)}
.search input:hover,.search input:focus{cursor:text}
.search input:focus{outline:0;box-shadow:none}
.search input::selection{background:rgba(201,255,69,.34);color:#fff}
.search input::placeholder{color:rgba(255,255,255,.48)}
.search button{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;padding:0;border:0;border-radius:9px;background:var(--accent);color:var(--ink);cursor:pointer}
.search button svg{width:19px;height:19px}
.phone{color:#fff;font-size:13px;font-weight:800;white-space:nowrap}
.phone:hover{color:var(--accent)}
.cart-link{position:relative;display:flex;width:43px;height:43px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);background:rgba(255,255,255,.05);color:#fff}
.cart-icon{font-size:18px;line-height:1}
.cart-link b{position:absolute;top:-7px;right:-7px;display:grid;min-width:21px;height:21px;place-items:center;padding:0 5px;border:2px solid var(--ink);border-radius:99px;background:var(--accent);color:var(--ink);font-size:10px}
.burger,.mobile-phone-button{display:none}

/* Hero and home */
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff}
.dyson-hero{min-height:680px;background:radial-gradient(circle at 75% 24%,rgba(119,104,255,.55),transparent 32%),radial-gradient(circle at 82% 74%,rgba(201,255,69,.18),transparent 30%),linear-gradient(125deg,#0e161e 0%,#101820 52%,#1b2631 100%)}
.dyson-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to right,#000,transparent 80%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:52px;align-items:center;padding:92px 0}
.hero-copy{max-width:780px}
.hero .eyebrow{color:var(--accent)}
.hero h1{max-width:800px;margin:0;font-size:clamp(48px,6.4vw,92px);font-weight:700;line-height:.94;letter-spacing:-.07em}
.lead{max-width:660px;margin:28px 0 0;color:rgba(255,255,255,.72);font-size:19px;line-height:1.65}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-visual{display:grid;min-height:470px;place-items:center}
.hero-decorative-circle{position:relative;display:grid;width:min(430px,38vw);aspect-ratio:1;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.26),rgba(255,255,255,.07) 42%,rgba(255,255,255,.02) 70%);box-shadow:inset 0 0 80px rgba(255,255,255,.08),0 40px 100px rgba(0,0,0,.36)}
.hero-decorative-circle::before,.hero-decorative-circle::after{content:"";position:absolute;border-radius:50%}
.hero-decorative-circle::before{inset:-34px;border:1px dashed rgba(201,255,69,.42);animation:orbit 28s linear infinite}
.hero-decorative-circle::after{inset:52px;border:1px solid rgba(255,255,255,.12)}
.hero-dyson-logo{position:relative;z-index:2;display:block;width:min(76%,330px);height:auto;max-height:76%;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(0,0,0,.28));user-select:none;pointer-events:none}
@keyframes orbit{to{transform:rotate(360deg)}}
.service-strip{position:relative;z-index:3;margin-top:-44px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-md)}
.service-grid>div{min-height:150px;padding:28px;border-right:1px solid var(--line)}
.service-grid>div:last-child{border-right:0}
.service-grid b{display:block;font-size:17px;letter-spacing:-.02em}
.service-grid span{display:block;margin-top:8px;color:var(--muted);font-size:13px;line-height:1.6}
.technology-section{padding-top:126px}
.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.showcase-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:0 1px 0 rgba(16,24,32,.03);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.showcase-card:hover{transform:translateY(-7px);border-color:#c8cfc6;box-shadow:var(--shadow-md)}
.showcase-img{height:370px;overflow:hidden;background:linear-gradient(150deg,#eceee8,#f8f9f6)}
.showcase-img img{width:100%;height:100%;object-fit:contain;padding:20px;transition:transform .45s ease}
.showcase-card:hover .showcase-img img{transform:scale(1.045)}
.showcase-img span{display:grid;height:100%;place-items:center;color:#9aa39a;font-size:46px;font-weight:800;letter-spacing:-.08em}
.showcase-card h3{margin:25px 24px 8px;font-size:25px;line-height:1.14;letter-spacing:-.04em}
.showcase-card p{min-height:46px;margin:0 24px;color:var(--muted);font-size:14px;line-height:1.6}
.learn{display:inline-flex;align-items:center;margin:20px 24px 26px;color:var(--ink);font-size:13px;font-weight:800}
.learn::after{content:"";width:26px;height:1px;margin-left:10px;background:var(--violet);transition:width .2s ease}
.showcase-card:hover .learn::after{width:42px}
.products-section{background:var(--paper-2)}
.product-grid-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.product-card:hover{transform:translateY(-6px);border-color:#c8cfc6;box-shadow:var(--shadow-md)}
.product-card-link{display:block}






.product-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.product-card h3{min-height:66px;margin:0 0 9px;font-size:18px;line-height:1.25;letter-spacing:-.03em}
.product-card p{height:44px;margin:0 0 18px;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.6}
.product-buy-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.product-buy-row>div,.product-buy-row>b{font-size:19px;font-weight:800;letter-spacing:-.03em}
.product-buy-row form{margin:0}
.card-buy-btn,.product-buy-row span:not(.card-old-price){display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:10px 14px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;cursor:pointer}
.card-buy-btn:hover{background:var(--violet)}
.card-old-price{display:inline-block;margin-left:7px;color:#9aa1a8;font-size:12px!important;font-weight:500!important;text-decoration:line-through}
.home-slider-title{margin-bottom:34px}
.home-products-slider{position:relative;overflow:hidden;touch-action:pan-y}
.home-products-track{display:flex;gap:18px;will-change:transform;transition:transform .48s cubic-bezier(.22,.61,.36,1)}
.home-products-slider.is-dragging .home-products-track{transition:none}
.home-product-slide{flex:0 0 calc((100% - 54px)/4);min-width:0}
.home-product-slide .product-card{height:100%}
.home-products-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:28px}
.home-products-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#bcc2ba;cursor:pointer;transition:width .2s ease,background .2s ease}
.home-products-dots button.active{width:32px;background:var(--violet)}
.dyson-story-section{background:#fff}
.dyson-story-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:70px;align-items:center}
.dyson-story-copy h2{margin:0 0 28px;font-size:clamp(40px,5vw,70px);line-height:1;letter-spacing:-.06em}
.dyson-story-copy p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.8}
.dyson-story-media{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,230px);gap:14px}
.dyson-story-card{overflow:hidden;border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-sm)}
.dyson-story-card:first-child{grid-row:1/3}
.dyson-story-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .4s ease}
.dyson-story-card:hover img{transform:scale(1.04);filter:saturate(1.1)}
.dyson-value-section{background:var(--ink);color:#fff}
.dyson-value-section .eyebrow{color:var(--accent)}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-lg);background:rgba(255,255,255,.13)}
.value-grid article{min-height:250px;padding:30px;background:var(--ink)}
.value-grid article::before{content:"";display:block;width:38px;height:4px;margin-bottom:70px;border-radius:9px;background:var(--accent)}
.value-grid h3{margin:0 0 12px;font-size:21px;letter-spacing:-.03em}
.value-grid p{margin:0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.7}
.info-banners{background:var(--paper)}
.banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.banner-grid article{position:relative;display:flex;min-height:260px;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:30px;border-radius:var(--radius-lg);background:var(--surface-dark);color:#fff}
.banner-grid article::before{content:"";position:absolute;top:-65px;right:-55px;width:170px;height:170px;border:1px solid rgba(255,255,255,.17);border-radius:50%}
.banner-grid article:nth-child(2){background:var(--violet)}
.banner-grid article:nth-child(3){background:var(--accent);color:var(--ink)}
.banner-grid h3{position:relative;margin:0 0 9px;font-size:26px;letter-spacing:-.04em}
.banner-grid p{position:relative;margin:0;opacity:.75;font-size:14px;line-height:1.65}

/* Breadcrumbs and standard pages */
.breadcrumbs{background:#fff;border-bottom:1px solid var(--line)}
.breadcrumbs ol{display:flex;width:min(var(--container),calc(100% - 48px));align-items:center;gap:8px;margin:0 auto;padding:14px 0;overflow:auto;list-style:none;font-size:12px;white-space:nowrap}
.breadcrumbs li{display:flex;align-items:center;color:var(--muted)}
.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:8px;color:#b0b7b0}
.breadcrumbs a:hover{color:var(--violet)}
.category-hero,.cart-hero,.search-hero{position:relative;overflow:hidden;padding:84px 0;background:linear-gradient(130deg,var(--ink),var(--ink-3));color:#fff}
.category-hero::after,.cart-hero::after,.search-hero::after{content:"";position:absolute;right:-120px;bottom:-230px;width:500px;height:500px;border:1px solid rgba(201,255,69,.25);border-radius:50%}
.category-hero h1,.cart-hero h1,.search-hero h1{position:relative;margin:0;font-size:clamp(40px,5.5vw,76px);line-height:1;letter-spacing:-.06em}
.category-hero p:not(.eyebrow),.cart-hero p:not(.eyebrow),.search-hero p:not(.eyebrow){position:relative;max-width:740px;margin:16px 0 0;color:rgba(255,255,255,.66);font-size:17px;line-height:1.7}
.page-hero{padding:70px 0}
.page-media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:32px}
.page-media-gallery img{width:100%;height:190px;object-fit:cover;border-radius:var(--radius-md)}
.product-description{color:#26313b;font-size:17px;line-height:1.82}
.product-description h2{margin:48px 0 16px;color:var(--ink);font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.04em}
.product-description h3{margin:32px 0 12px;color:var(--ink);font-size:24px;letter-spacing:-.03em}
.product-description p{margin:0 0 18px}
.product-description a{color:#4f43d8;text-decoration:underline;text-underline-offset:3px}
.product-description ul,.product-description ol{margin:0 0 24px;padding-left:22px}
.product-description li{margin:9px 0;padding-left:4px}
.product-description blockquote{margin:30px 0;padding:22px 24px;border-left:4px solid var(--accent);background:#fff;border-radius:0 var(--radius-md) var(--radius-md) 0}
.product-description table,.product-description table.product_features{width:100%;margin:28px 0;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}
.product-description table tr{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);border-bottom:1px solid var(--line)}
.product-description table tr:last-child{border-bottom:0}
.product-description table td{padding:16px 18px}
.product-description table td:first-child{background:#f1f3ee;font-weight:700}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0}
.contact-details p{margin:0;padding:22px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}

/* Category catalog */
.catalog-category{padding:72px 0 100px}
.catalog-category-head{padding-bottom:38px}
.catalog-category-head h1{overflow-wrap:anywhere;max-width:950px;margin:0;font-size:clamp(42px,5.2vw,74px);line-height:1;letter-spacing:-.065em}
.catalog-description{max-width:820px;margin:20px 0 0;color:var(--muted);font-size:17px;line-height:1.72}
.catalog-toolbar{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalog-result-count{color:var(--muted);font-size:13px}
.catalog-result-count b{color:var(--ink)}
.catalog-toolbar-actions{display:flex;align-items:center;gap:10px}
.catalog-filter-toggle{display:inline-flex;height:44px;align-items:center;gap:9px;padding:0 17px;border:1px solid var(--ink);border-radius:10px;background:var(--ink);color:#fff;font-size:13px;font-weight:800;cursor:pointer}
.catalog-filter-toggle:hover{background:var(--ink-3);border-color:var(--ink-3)}
.catalog-filter-toggle::before{content:"";width:15px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.catalog-filter-toggle b{display:grid;min-width:20px;height:20px;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink);font-size:10px}
.catalog-sort{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700}
.catalog-sort select{width:auto;min-width:230px;height:44px;min-height:44px;padding-right:38px;background:#fff;font-size:12px;font-weight:700}
.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:34px;padding-top:32px}
.catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-category-sidebar{position:sticky;top:142px;height:max-content}
.catalog-category-links{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}
.catalog-category-links h2{margin:0;padding:20px 20px 16px;font-size:18px;letter-spacing:-.03em}
.catalog-category-links a{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:700;transition:background .18s ease,color .18s ease,padding .18s ease}
.catalog-category-links a::after{content:"→";color:#a3aaa3}
.catalog-category-links a:hover,.catalog-category-links a.is-current{padding-left:25px;background:var(--paper);color:var(--ink)}
.catalog-category-links a.is-current::after{color:var(--violet)}
.catalog-no-results,.empty-category,.empty-cart{padding:54px;border:1px dashed #c5cbc3;border-radius:var(--radius-lg);background:#fff;text-align:center}
.catalog-no-results h2,.empty-category h2,.empty-cart h2{margin:0 0 10px;font-size:30px}
.catalog-no-results p,.empty-category p,.empty-cart p{margin:0 0 24px;color:var(--muted)}
.catalog-filter-overlay{position:fixed;inset:0;z-index:1390;background:rgba(8,13,18,.58);opacity:0;visibility:hidden;backdrop-filter:blur(4px);transition:.25s ease}
.catalog-filter-overlay.is-open{opacity:1;visibility:visible}
.catalog-sidebar{position:fixed;top:0;right:0;bottom:0;z-index:1400;width:min(430px,94vw);overflow:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom);background:#fff;box-shadow:-28px 0 70px rgba(16,24,32,.22);transform:translateX(105%);transition:transform .28s cubic-bezier(.22,.61,.36,1)}
.catalog-sidebar.is-open{transform:translateX(0)}
.catalog-sidebar-head{position:sticky;top:0;z-index:2;display:flex;height:74px;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.catalog-sidebar-head h2{font-size:25px}
.catalog-sidebar-head button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:25px;cursor:pointer}
.catalog-filter-form{padding:8px 24px 34px}
.catalog-filter-section{margin:0;padding:24px 0;border:0;border-bottom:1px solid var(--line)}
.catalog-filter-section legend{padding:0;font-size:15px;font-weight:800}
.catalog-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.catalog-price-inputs label{display:grid;gap:5px;color:var(--muted);font-size:11px}
.catalog-price-inputs input{min-height:44px}
.catalog-price-caption{margin-top:10px;color:var(--muted);font-size:12px}
.catalog-check-list{display:grid;gap:2px;margin-top:12px}
.catalog-check{display:flex;min-height:42px;align-items:center;gap:10px;padding:7px 0;cursor:pointer}
.catalog-check input{appearance:none;width:20px;height:20px;min-height:0;flex:0 0 20px;padding:0;border:1px solid #b9c0b8;border-radius:6px;background:#fff}
.catalog-check input:checked{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 4px var(--ink)}
.catalog-check input:checked::after{content:"✓";display:grid;height:100%;place-items:center;color:var(--accent);font-size:12px;font-weight:900}
.catalog-check span{flex:1;font-size:13px}
.catalog-check small{color:var(--muted);font-size:11px}
.catalog-filter-buttons{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding-top:26px}
.catalog-filter-buttons a{color:var(--muted);font-size:12px;font-weight:700}
html.catalog-filter-open,html.legal-modal-open{overflow:hidden}

/* Product page */
.product-top{padding:62px 0 82px;background:linear-gradient(180deg,#edf0e9 0%,var(--paper) 100%)}
.product-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(410px,.96fr);gap:44px;align-items:start}
.product-media-panel{position:sticky;top:132px}
.product-main-img{display:grid;min-height:590px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}
.product-main-img img{width:100%;height:100%;max-height:650px;object-fit:contain;padding:28px}
.product-main-img span{color:#a3aaa3;font-size:64px;font-weight:800;letter-spacing:-.08em}
.product-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.product-thumbs a{display:grid;height:92px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .18s ease,transform .18s ease}
.product-thumbs a:hover{transform:translateY(-2px);border-color:var(--violet)}
.product-thumbs img{width:100%;height:100%;object-fit:contain;padding:8px}
.product-summary-card{padding:38px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-md)}
.product-summary-card h1{overflow-wrap:anywhere;margin:0 0 20px;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.06em}
.product-short{color:#43505c;font-size:15px;line-height:1.75}
.product-short p:first-child{margin-top:0}
.variation-short-note{margin-top:14px;padding:14px 16px;border-left:3px solid var(--violet);border-radius:0 10px 10px 0;background:#f5f4ff;color:#59616b;font-size:13px;line-height:1.6}
.price-line{display:flex;align-items:baseline;gap:12px;margin:26px 0}
.price-line b{font-size:36px;letter-spacing:-.045em}
.price-line span{color:#9aa1a8;font-size:16px;text-decoration:line-through}
.product-meta-small{display:flex;flex-wrap:wrap;gap:10px 20px;margin:18px 0;color:var(--muted);font-size:12px}
.product-meta-small b{color:var(--ink)}
.product-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.product-add-form{display:flex;flex:1;gap:8px}
.qty-input{width:70px;min-width:70px;text-align:center}
.product-add-form .btn{flex:1}
.mini-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}
.mini-benefits div{padding:13px 10px;border-radius:10px;background:var(--paper);color:#4a5560;font-size:11px;font-weight:750;text-align:center}
.variation-picker{display:grid;gap:18px;margin:24px 0}
.variation-group>label{display:block;margin-bottom:9px;font-size:12px;font-weight:800}
.variation-options,.swatch-picker{display:flex;flex-wrap:wrap;gap:8px}
.variation-option,.swatch-option{position:relative;display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease}
.variation-option:hover,.swatch-option:hover,.variation-option.active,.swatch-option.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.swatch-option{padding:5px 10px 5px 5px}
.swatch-img,.swatch-fallback{width:30px;height:30px;flex:0 0 30px;border:1px solid #d6dbd4;border-radius:50%;object-fit:cover;background:#eee}
.swatch-text{white-space:nowrap}
.variation-status{min-height:22px;color:var(--muted);font-size:12px}
.product-tabs-section{background:#fff}
.product-tabs-head{display:flex;gap:24px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.product-tab-btn{appearance:none;position:relative;padding:17px 0;border:0;background:transparent;color:var(--muted);font-size:14px;font-weight:800;cursor:pointer}
.product-tab-btn::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:var(--violet);transform:scaleX(0);transition:.2s ease}
.product-tab-btn.active{color:var(--ink)}
.product-tab-btn.active::after{transform:scaleX(1)}
.tab-count{display:inline-grid;min-width:22px;height:22px;place-items:center;margin-left:6px;padding:0 6px;border-radius:99px;background:var(--paper-2);font-size:10px}
.product-tab-btn.active .tab-count{background:var(--ink);color:#fff}
.product-tab-panel{display:none}
.product-tab-panel.active{display:block}
.reviews-list{display:grid;gap:12px;margin-bottom:28px}
.review-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}
.review-card b{display:block;margin:5px 0 8px}
.review-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.review-stars,.review-admin-stars{display:inline-flex;gap:3px;color:#e7a500;font-size:17px}
.review-stars .far,.review-admin-stars .far{color:#cfd4ce}
.reviews-empty{padding:20px;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--paper);color:var(--muted)}
.review-form{margin-top:28px;padding:26px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}
.review-form h3{margin:0 0 20px;font-size:25px}
.review-form label{display:grid;gap:7px;margin-bottom:14px;font-size:12px;font-weight:800}
.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.review-note{color:var(--muted);font-size:12px}
.review-alert{margin-bottom:16px;padding:12px 14px;border-radius:10px;font-size:13px;font-weight:700}
.review-alert.success{background:#e6f7ef;color:var(--success)}
.review-alert.error{background:#fff0ef;color:var(--danger)}
.review-rating-block{display:grid;gap:8px;margin-bottom:16px}
.rating-stars-review{display:flex;gap:4px}
.rating-stars-review .star{border:0;background:transparent;color:#e7a500;font-size:29px;cursor:pointer;transition:transform .15s ease}
.rating-stars-review .star:hover{transform:scale(1.1)}
.floating-product-cart{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:1120;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px);transition:.22s ease}
.floating-product-cart.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.floating-product-cart-btn{min-width:180px;min-height:54px;border-color:var(--accent)!important;background:var(--accent)!important;color:var(--ink)!important;box-shadow:0 18px 48px rgba(16,24,32,.25)}

/* Product content templates */
.product-template-section{padding:96px 0;background:#fff}
.product-template-section:nth-of-type(even){background:var(--paper)}
.dyson-section-head{max-width:850px;margin:0 auto 48px;text-align:center}
.dyson-section-head h2{margin:0;font-size:clamp(34px,4.6vw,62px);line-height:1.04;letter-spacing:-.055em}
.dyson-section-head p{margin:16px 0 0;color:var(--muted);font-size:17px;line-height:1.7}
.equipment-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:52px;align-items:center}
.equipment-device{overflow:hidden;border-radius:var(--radius-lg);background:#eef0eb}
.equipment-device img{width:100%;height:540px;object-fit:contain;padding:24px}
.equipment-device-text{padding:24px;color:var(--muted)}
.equipment-items-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.equipment-item-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}
.equipment-item-card img{width:100%;height:150px;object-fit:contain;padding:14px;background:#f3f4ef}
.equipment-item-text{padding:16px;font-size:13px;line-height:1.55}
.equipment-item-text h3,.equipment-item-card h3{margin:0 0 6px;font-size:16px}
.seller-benefits-section{background:var(--ink)!important;color:#fff}
.seller-benefits-section .dyson-section-head p{color:rgba(255,255,255,.62)}
.seller-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.seller-benefit-card{min-height:250px;padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.045)}
.seller-benefit-icon{display:grid;width:48px;height:48px;place-items:center;margin-bottom:70px;border-radius:12px;background:var(--accent);color:var(--ink);font-size:20px}
.seller-benefit-card h3{margin:0 0 9px;font-size:19px}
.seller-benefit-card p{margin:0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.65}
.related-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.related-product-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}
.related-product-image{display:grid;height:260px;place-items:center;background:var(--paper)}
.related-product-image img{width:100%;height:100%;object-fit:contain;padding:18px}
.related-product-card>h3,.related-product-card>p,.related-price,.related-buy-form{margin-right:18px;margin-left:18px}
.related-product-card>h3{margin-top:18px;margin-bottom:8px;font-size:17px;line-height:1.3}
.related-product-card>p{color:var(--muted);font-size:13px}
.related-price{margin-top:auto;padding-top:12px;font-size:19px;font-weight:800}
.related-buy-form{margin-top:12px;margin-bottom:18px}
.related-buy{width:100%}
.product-advantages-section{background:var(--paper)!important}
.product-advantages-hero{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:40px;align-items:center;margin-bottom:34px}
.product-advantages-copy{padding:30px}
.product-advantages-copy h2{margin:0 0 18px;font-size:clamp(36px,4.6vw,66px);line-height:1;letter-spacing:-.06em}
.product-advantages-subtitle,.product-advantages-text{color:var(--muted);line-height:1.75}
.product-advantages-hero-image{overflow:hidden;border-radius:var(--radius-lg)}
.product-advantages-hero-image img{width:100%;height:520px;object-fit:cover}
.product-advantages-grid,.style-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.product-advantage-card,.style-guide-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}
.product-advantage-card-image,.style-guide-image{overflow:hidden;background:#eef0eb}
.product-advantage-card-image img,.style-guide-image img{width:100%;height:290px;object-fit:cover}
.product-advantage-card-body,.style-guide-text{padding:22px}
.product-advantage-card h3,.style-guide-card h3{margin:0 0 9px;font-size:20px}
.product-advantage-text,.style-guide-text{color:var(--muted);font-size:14px;line-height:1.7}
.product-builder-section{padding:84px 0}
.builder-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.builder-split-img img{width:100%;border-radius:var(--radius-lg)}
.product-banner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:46px;border-radius:var(--radius-xl);background:var(--ink);color:#fff}
.product-banner-media{overflow:hidden;border-radius:var(--radius-lg);background:#fff}
.product-banner-media img{width:100%;min-height:360px;object-fit:contain;padding:18px}
.product-banner-copy h2{margin:0 0 18px;font-size:clamp(34px,4vw,56px);line-height:1.05;letter-spacing:-.05em}
.product-banner-text{color:rgba(255,255,255,.65);font-size:16px;line-height:1.75}
.dynamic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dynamic-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}
.dynamic-img{height:250px;background:var(--paper)}
.dynamic-img img{width:100%;height:100%;object-fit:cover}
.dynamic-body{padding:20px}
.specs,.faq-list{display:grid;gap:10px}
.spec-row,.faq-item{padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}
.spec-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.faq-item h3{margin:0 0 7px;font-size:17px}
.faq-item p{margin:0;color:var(--muted)}
.dyson-tech-slider-section{background:#000;color:#fff}
.dyson-tech-slider{position:relative;min-height:720px;overflow:hidden}
.dyson-tech-track,.dyson-tech-slide{position:absolute;inset:0}
.dyson-tech-slide{opacity:0;visibility:hidden;transition:opacity .5s ease}
.dyson-tech-slide.active{opacity:1;visibility:visible}
.dyson-tech-slide-bg{position:absolute;inset:0}
.dyson-tech-slide-bg img{position:absolute;right:-2vw;width:62vw;height:100%;object-fit:cover}
.dyson-tech-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.96) 38%,rgba(0,0,0,.38) 72%,transparent)}
.dyson-tech-content{position:relative;z-index:2;width:min(580px,45vw);margin-left:8vw;padding-top:130px}
.dyson-tech-content h2{margin:0 0 20px;font-size:clamp(32px,4vw,58px);line-height:1.05;letter-spacing:-.05em}
.dyson-tech-text{color:rgba(255,255,255,.7);font-size:17px;line-height:1.7}
.dyson-tech-arrow{position:absolute;top:50%;z-index:4;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.25);color:#fff;font-size:0;cursor:pointer;transform:translateY(-50%)}
.dyson-tech-arrow::before{font-size:26px}
.dyson-tech-prev{left:24px}.dyson-tech-prev::before{content:"‹"}
.dyson-tech-next{right:24px}.dyson-tech-next::before{content:"›"}
.dyson-tech-dots{position:absolute;right:0;bottom:42px;left:0;z-index:4;display:flex;justify-content:center;gap:9px}
.dyson-tech-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer}
.dyson-tech-dots button.active{width:28px;border-radius:99px;background:var(--accent)}

/* Cart, checkout, search */
.cart-section,.checkout-section,.search-results-section{padding-top:54px}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start}
.cart-panel,.checkout-form,.cart-summary,.checkout-order,.success-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}
.cart-panel{overflow:hidden}
.cart-list{display:grid}
.cart-item{display:grid;grid-template-columns:112px minmax(0,1fr) 145px 130px;gap:18px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}
.cart-item:last-child{border-bottom:0}
.cart-item-img{display:grid;height:105px;place-items:center;overflow:hidden;border-radius:12px;background:var(--paper)}
.cart-item-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.cart-item-info h3{margin:0 0 6px;font-size:16px;line-height:1.35}
.cart-item-info p{margin:0;color:var(--muted);font-size:12px}
.cart-remove{display:inline-block;margin-top:10px;color:var(--danger);font-size:11px;font-weight:700}
.cart-item-qty label{display:block;margin-bottom:6px;color:var(--muted);font-size:10px}
.cart-qty-control{display:flex;width:max-content;height:42px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:10px}
.cart-qty-btn{width:38px;height:40px;padding:0;border:0;background:#f4f5f1;cursor:pointer}
.cart-qty-control input{width:48px;height:40px;min-height:0;padding:0;border:0;border-radius:0;text-align:center;box-shadow:none}
.cart-item-price{text-align:right}
.cart-item-price span{display:block;color:var(--muted);font-size:11px}
.cart-item-price b{font-size:17px}
.cart-actions{display:flex;padding:16px 18px;border-top:1px solid var(--line)}
.cart-actions-right{justify-content:flex-end}
.cart-actions a{color:var(--danger);font-size:12px;font-weight:700}
.cart-summary,.checkout-order{position:sticky;top:142px;padding:26px}
.cart-summary h2,.checkout-order h2{margin:0 0 22px;font-size:26px}
.summary-row,.summary-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}
.summary-total{margin-top:8px;border:0;font-size:19px}
.summary-btn{width:100%;margin-top:18px}
.cart-summary p{color:var(--muted);font-size:11px;line-height:1.6}
.checkout-form{padding:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.checkout-form label{display:grid;gap:7px;margin-bottom:14px;font-size:12px;font-weight:800}
.form-errors{margin-bottom:18px;padding:15px;border-radius:10px;background:#fff0ef;color:var(--danger);font-size:13px}
.checkout-mini-item{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}
.checkout-mini-item small{color:var(--muted)}
.back-cart{display:inline-block;margin-top:18px;color:var(--muted);font-size:12px;font-weight:700}
.checkout-legal-accept{display:flex;align-items:flex-start;gap:12px;margin:18px 0 22px;color:#414c57;font-size:13px;line-height:1.45}
.checkout-legal-accept input{appearance:none;width:24px;height:24px;min-height:0;flex:0 0 24px;padding:0;border:1px solid #b9c0b8;border-radius:7px;background:#fff}
.checkout-legal-accept input:checked{border-color:var(--ink);background:var(--ink)}
.checkout-legal-accept input:checked::after{content:"✓";display:grid;height:100%;place-items:center;color:var(--accent);font-weight:900}
.checkout-legal-accept a{color:#4f43d8;text-decoration:underline;text-underline-offset:2px}
.success-page{display:grid;min-height:65vh;place-items:center;padding:70px 0}
.success-card{max-width:720px;padding:48px;text-align:center}
.success-mark{display:grid;width:70px;height:70px;place-items:center;margin:0 auto 22px;border-radius:50%;background:var(--accent);color:var(--ink);font-size:34px;font-weight:900}
.success-card h1{margin:0 0 16px;font-size:45px;letter-spacing:-.05em}
.search-page-form{display:flex;max-width:760px;margin-top:24px;gap:9px}
.search-page-form input{min-height:54px}
.search-results-list{display:grid;gap:12px}
.search-result-card{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:22px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;transition:.2s ease}
.search-result-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.search-result-img{display:grid;height:120px;place-items:center;overflow:hidden;border-radius:12px;background:var(--paper)}
.search-result-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.search-result-body h3{margin:0 0 7px;font-size:18px}
.search-result-body p{margin:0;color:var(--muted);font-size:13px}
.search-result-price{font-size:19px;font-weight:800;white-space:nowrap}

/* Footer, modals, cookie */
.footer{padding:76px 0 28px;background:#0c131a;color:#fff}
.footer-grid{display:grid;grid-template-columns:1.45fr repeat(4,minmax(0,1fr));gap:34px}
.footer-brand{padding-right:18px}
.footer-logo{color:#fff}
.footer-logo span{font-size:34px}
.footer-logo small{color:rgba(255,255,255,.46)}
.footer h3{margin:0 0 17px;color:#fff;font-size:13px;letter-spacing:.02em}
.footer p{margin:18px 0;color:rgba(255,255,255,.55);font-size:13px;line-height:1.7}
.footer a{display:block;margin:9px 0;color:rgba(255,255,255,.58);font-size:12px;transition:color .18s ease,transform .18s ease}
.footer a:hover,.footer a:focus-visible{color:var(--accent);transform:translateX(3px);outline:none}
.footer-logo:hover,.footer-logo:focus-visible{transform:none}
.copyright{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.38);font-size:11px}
.legal-modal-layer{position:fixed;inset:0;z-index:1600;display:none;align-items:center;justify-content:center;padding:24px}
.legal-modal-layer.is-open{display:flex}
.legal-modal-backdrop{position:absolute;inset:0;background:rgba(4,8,12,.7);backdrop-filter:blur(6px)}
.legal-modal{position:relative;z-index:1;display:none;width:min(940px,100%);max-height:88vh;overflow:auto;overscroll-behavior:contain;padding:34px;border-radius:var(--radius-lg);background:#fff;color:var(--text);box-shadow:var(--shadow-lg)}
.legal-modal.is-open{display:block}
.legal-modal>h2{margin:0 54px 24px 0;font-size:30px;line-height:1.18;letter-spacing:-.04em}
.legal-modal-body{font-size:14px;line-height:1.75}
.legal-modal-body h2{margin:28px 0 11px;font-size:22px}
.legal-modal-body p{margin:0 0 14px}
.legal-modal-close{position:absolute;top:18px;right:18px;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:25px;cursor:pointer}
.cookie-banner{position:fixed;right:18px;bottom:18px;left:18px;z-index:1500;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;width:min(1040px,calc(100% - 36px));margin-left:auto;padding:20px 22px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(16,24,32,.97);color:#fff;box-shadow:var(--shadow-lg);backdrop-filter:blur(16px)}
.cookie-banner-copy strong{font-size:15px}
.cookie-banner-copy p{margin:5px 0;color:rgba(255,255,255,.62);font-size:12px;line-height:1.55}
.cookie-banner-copy a{color:var(--accent);font-size:11px;font-weight:700}
.cookie-banner-actions{display:flex;gap:8px}
.cookie-btn{min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:transparent;color:#fff;font-size:11px;font-weight:800;cursor:pointer}
.cookie-btn-primary{border-color:var(--accent);background:var(--accent);color:var(--ink)}

/* Misc generated sections */
.group-hero{padding:76px 0;background:var(--ink);color:#fff}
.category-content{padding:60px 0}
.template-error{padding:18px;border:1px solid #e8b6b0;border-radius:12px;background:#fff0ef;color:var(--danger)}
.cart-toast{position:fixed;right:18px;bottom:18px;z-index:1700;padding:14px 18px;border-radius:12px;background:var(--ink);color:#fff;box-shadow:var(--shadow-md);font-size:13px}
.checkout-form input[data-phone-mask]{font-variant-numeric:tabular-nums;letter-spacing:.01em}

/* Responsive */
@media(max-width:1180px){
  .container,.dyson-wide{width:min(100% - 36px,var(--container))}
  .phone{display:none}
  .search{width:160px}
  .mega-products-row{grid-template-columns:repeat(3,1fr)}
  .hero-grid{grid-template-columns:1fr .78fr}
  .product-grid-list{grid-template-columns:repeat(3,1fr)}
  .home-product-slide{flex-basis:calc((100% - 36px)/3)}
  .catalog-product-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}
  .footer-grid>div:nth-child(4),.footer-grid>div:nth-child(5){margin-top:8px}
}

@media(max-width:960px){
  .section{padding:82px 0}
  .hero-grid,.dyson-story-grid,.product-layout,.equipment-layout,.product-advantages-hero,.builder-split,.product-banner{grid-template-columns:1fr}
  .hero-grid{padding:72px 0}
  .hero-copy{max-width:760px}
  .hero-visual{min-height:350px}
  .hero-decorative-circle{width:340px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .service-grid>div:nth-child(2){border-right:0}
  .service-grid>div:nth-child(-n/**/+2){border-bottom:1px solid var(--line)}
  .showcase-grid{grid-template-columns:repeat(2,1fr)}
  .showcase-card:last-child{grid-column:1/3}
  .showcase-card:last-child .showcase-img{height:320px}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .product-media-panel{position:static}
  .product-layout{gap:24px}
  .product-main-img{min-height:520px}
  .seller-benefits-grid,.related-products-grid{grid-template-columns:repeat(2,1fr)}
  .product-advantages-grid,.style-guide-grid,.dynamic-grid{grid-template-columns:repeat(2,1fr)}
  .cart-layout,.checkout-layout{grid-template-columns:1fr}
  .cart-summary,.checkout-order{position:static}
  .catalog-layout{grid-template-columns:1fr}
  .catalog-category-sidebar{position:static}
  .catalog-category-links{display:grid;grid-template-columns:repeat(2,1fr)}
  .catalog-category-links h2{grid-column:1/-1}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:860px){
  .site-header-stack{position:sticky}
  .trust-strip-inner{width:calc(100% - 24px);min-height:32px;justify-content:flex-start;overflow:hidden;font-size:10px;white-space:nowrap}
  .trust-strip-inner span:last-child{overflow:hidden;text-overflow:ellipsis}
  .nav{min-height:68px;gap:8px}
  .dyson-logo span{font-size:25px}
  .dyson-logo small{display:none}
  .mobile-phone-button{display:grid;width:32px;height:44px;flex:0 0 32px;place-items:center;margin-left:3px;padding:0;border:0;background:transparent;color:#fff}
  .mobile-phone-button svg{width:21px;height:21px}
  .burger{position:absolute;top:50%;left:50%;z-index:5;display:block;width:44px;height:44px;padding:11px;border:0;background:transparent;transform:translate(-50%,-50%)}
  .burger span{display:block;width:24px;height:2px;margin:5px auto;border-radius:2px;background:#fff}
  .menu{position:absolute;top:100%;left:50%;display:none;width:100vw;max-height:calc(100vh - 100px);flex-direction:column;align-items:stretch;gap:0;margin:0;overflow:auto;border-top:1px solid var(--line-dark);background:var(--ink);transform:translateX(-50%)}
  .menu.open{display:flex}
  .menu>a,.menu-dropdown>a{min-height:52px;padding:0 20px;border-bottom:1px solid var(--line-dark)}
  .menu>a::after,.menu-dropdown>a::after{display:none}
  .menu-dropdown{width:100%}
  .mega-menu{position:static;display:none;width:100%;padding:12px;border:0;border-radius:0;background:#111c25;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .menu-dropdown.mobile-open .mega-menu{display:block}
  .mega-products-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
  .mega-product{min-width:170px;scroll-snap-align:start}
  .mega-product-img{height:110px}
  .header-actions{position:relative;z-index:6;gap:5px}
  .dyson-actions .dyson-search{width:36px;height:44px;padding:0;border:0;background:transparent}
  .dyson-actions .dyson-search input{display:none}
  .dyson-actions .dyson-search button{width:36px;height:44px;min-width:36px;background:transparent;color:#fff}
  .dyson-actions .dyson-search button svg{width:22px;height:22px}
  .dyson-actions .dyson-search.search-open,.dyson-actions .dyson-search:focus-within{position:absolute;top:calc(100% + 8px);right:0;left:0;z-index:20;display:flex;width:auto;height:50px;padding:0 6px 0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-md)}
  .dyson-actions .dyson-search.search-open input,.dyson-actions .dyson-search:focus-within input{display:block;flex:1;color:var(--ink)}
  .dyson-actions .dyson-search.search-open input::placeholder,.dyson-actions .dyson-search:focus-within input::placeholder{color:#89918a}
  .dyson-actions .dyson-search.search-open button,.dyson-actions .dyson-search:focus-within button{color:var(--ink)}
  .cart-link{width:38px;height:42px;border:0;background:transparent}
  .cart-link b{top:-2px;right:-4px;border-color:var(--ink)}
  .hero h1{font-size:clamp(46px,11vw,72px)}
  .product-grid-list{grid-template-columns:repeat(2,1fr)}
  .home-product-slide{flex-basis:calc((100% - 18px)/2)}
  .catalog-category{padding-top:48px}
  .catalog-category-sidebar{margin-top:24px}
  .cart-item{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .cart-item-qty,.cart-item-price{grid-column:2;text-align:left}
  .cart-item-price span{display:inline;margin-right:8px}
  .dyson-tech-content{width:auto;max-width:650px;margin:0 auto;padding:96px 70px 0;text-align:center}
  .dyson-tech-slide-bg img{right:-38%;width:130%;opacity:.55}
  .dyson-tech-overlay{background:linear-gradient(180deg,rgba(0,0,0,.95),rgba(0,0,0,.66),rgba(0,0,0,.35))}
}

@media(max-width:640px){
  .container,.dyson-wide{width:calc(100% - 24px)}
  .section{padding:68px 0}
  .section-title{display:block;margin-bottom:30px}
  .section-title h2,.section h2{overflow-wrap:anywhere;font-size:36px}
  .trust-strip-mark{width:16px;height:16px;flex:0 0 16px}
  .hero-grid{padding:54px 0 72px}
  .dyson-hero{min-height:auto}
  .hero h1{font-size:47px}
  .lead{font-size:16px}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .hero-visual{min-height:300px}
  .hero-decorative-circle{width:260px}
  .hero-dyson-logo{width:74%;max-height:74%}
  .service-strip{margin-top:-28px}
  .service-grid{grid-template-columns:1fr}
  .service-grid>div{min-height:auto;padding:21px;border-right:0;border-bottom:1px solid var(--line)!important}
  .service-grid>div:last-child{border-bottom:0!important}
  .technology-section{padding-top:94px}
  .showcase-grid{grid-template-columns:1fr}
  .showcase-card:last-child{grid-column:auto}
  .showcase-img,.showcase-card:last-child .showcase-img{height:310px}
  .product-grid-list,.catalog-product-grid{grid-template-columns:1fr}
  
  .home-product-slide{flex-basis:86%}
  .dyson-story-media{grid-template-columns:1fr 1fr;grid-template-rows:170px 170px;gap:10px}
  .dyson-story-card:first-child{grid-row:1/3}
  .value-grid{grid-template-columns:1fr}
  .value-grid article{min-height:auto}
  .value-grid article::before{margin-bottom:36px}
  .banner-grid{grid-template-columns:1fr}
  .banner-grid article{min-height:220px}
  .category-hero,.cart-hero,.search-hero{padding:58px 0}
  .category-hero h1,.cart-hero h1,.search-hero h1{font-size:42px}
  .contact-details{grid-template-columns:1fr}
  .product-description{font-size:15px;line-height:1.72}
  .product-description table tr{grid-template-columns:1fr}
  .product-main-img{min-height:390px}
  .product-main-img img{padding:16px}
  .product-thumbs{grid-template-columns:repeat(4,1fr)}
  .product-thumbs a{height:76px}
  .product-summary-card{padding:24px}
  .product-summary-card h1{overflow-wrap:anywhere;font-size:36px}
  .product-add-form{width:100%}
  .product-cta>.btn{width:100%}
  .mini-benefits{grid-template-columns:1fr}
  .product-tabs-head{overflow:auto;gap:18px}
  .product-tab-btn{white-space:nowrap}
  .review-form-grid{grid-template-columns:1fr}
  .seller-benefits-grid,.related-products-grid,.product-advantages-grid,.style-guide-grid,.dynamic-grid,.equipment-items-grid{grid-template-columns:1fr}
  .seller-benefit-card{min-height:auto}
  .seller-benefit-icon{margin-bottom:28px}
  .equipment-device img{height:360px}
  .product-advantages-copy{padding:0}
  .product-advantages-hero-image img{height:360px}
  .product-banner{padding:24px;border-radius:var(--radius-lg)}
  .product-banner-media img{min-height:240px}
  .dyson-tech-slider{min-height:590px}
  .dyson-tech-content{padding:76px 48px 0}
  .dyson-tech-content h2{font-size:32px}
  .dyson-tech-text{font-size:14px}
  .dyson-tech-arrow{width:38px;height:38px}
  .dyson-tech-prev{left:10px}.dyson-tech-next{right:10px}
  .catalog-toolbar{align-items:stretch;flex-direction:column;padding:14px 0}
  .catalog-toolbar-actions{display:grid;grid-template-columns:.8fr 1.2fr;width:100%}
  .catalog-filter-toggle{justify-content:center}
  .catalog-sort{display:block}
  .catalog-sort>span{display:none}
  .catalog-sort select{width:100%;min-width:0}
  .catalog-category-links{grid-template-columns:1fr}
  .catalog-category-links h2{grid-column:auto}
  .catalog-no-results,.empty-category,.empty-cart{padding:34px 20px}
  .cart-item{grid-template-columns:80px minmax(0,1fr);padding:14px}
  .cart-item-img{height:82px}
  .checkout-form,.cart-summary,.checkout-order,.success-card{padding:22px}
  .form-grid{grid-template-columns:1fr}
  .success-card h1{font-size:36px}
  .search-page-form{display:grid;grid-template-columns:1fr}
  .search-result-card{grid-template-columns:92px minmax(0,1fr)}
  .search-result-img{height:90px}
  .search-result-price{grid-column:2}
  .footer{padding-top:58px}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div:nth-child(4),.footer-grid>div:nth-child(5){margin-top:0}
  .legal-modal-layer{padding:10px}
  .legal-modal{max-height:91vh;padding:24px 18px;border-radius:18px}
  .cookie-banner{right:10px;bottom:10px;left:10px;grid-template-columns:1fr;width:auto;padding:18px}
  .cookie-banner-actions{display:grid;grid-template-columns:1fr 1fr}
  .floating-product-cart{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
  .floating-product-cart-btn{min-width:150px;min-height:50px}
}

@media(max-width:380px){
  .dyson-logo span{font-size:22px}
  .mobile-phone-button{width:28px;flex-basis:28px}
  .header-actions{gap:1px}
  .hero h1{font-size:41px}
  .home-product-slide{flex-basis:92%}
  .catalog-toolbar-actions{grid-template-columns:1fr}
  .cookie-banner-actions{grid-template-columns:1fr}
}

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

/* === Visual QA correction: spacing, section harmony and media alignment === */
:root{
  --paper:#f6f7f3;
  --paper-2:#eef1eb;
  --surface:#ffffff;
  --text:#17212b;
  --muted:#5f6b76;
  --line:#d9ded7;
  --accent:#bdf33f;
  --accent-strong:#a9df2d;
  --shadow-sm:0 8px 26px rgba(16,24,32,.055);
  --shadow-md:0 18px 50px rgba(16,24,32,.095);
}

body,.site-shell{background:var(--paper)}
.section{padding:88px 0}
.section-title h2,.section h2{color:var(--ink)}
.section-title p,.dyson-section-head p{color:var(--muted)}

/* Keep the desktop catalogue menu centred and visually separated from the hero. */
@media(min-width:861px){
  .mega-menu{
    position:fixed;
    top:118px;
    left:50%;
    width:min(1080px,calc(100vw - 48px));
    max-height:calc(100vh - 142px);
    overflow:auto;
    padding:16px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:0 0 22px 22px;
    background:rgba(18,28,37,.985);
    box-shadow:0 26px 70px rgba(4,8,12,.34);
    transform:translate(-50%,10px);
  }
  .menu-dropdown:hover .mega-menu,.menu-dropdown:focus-within .mega-menu{transform:translate(-50%,0)}
  .mega-products-row{gap:10px}
  .mega-product{padding:10px;border-radius:14px}
  .mega-product-img{height:104px;border-radius:10px}
  .mega-product-title{min-height:33px;margin-top:9px;font-size:12px;line-height:1.35}
}

/* Home sections use the same calm page background instead of hard white bands. */
.products-section,.dyson-story-section,.info-banners{background:var(--paper)}
.dyson-story-grid{gap:52px;align-items:center}
.dyson-story-copy{max-width:560px}
.dyson-story-copy h2{margin-bottom:22px;font-size:clamp(38px,4.6vw,62px)}
.dyson-story-copy p:not(.eyebrow){font-size:16px;line-height:1.72}
.dyson-story-media{grid-template-rows:repeat(2,220px);gap:12px}
.dyson-story-card{border:1px solid var(--line);background:#f1f3ee;box-shadow:none}
.dyson-story-card img{object-fit:contain;padding:16px;background:#f4f5f1}
.dyson-story-card:hover img{transform:scale(1.025)}

/* Product cards: identical media area and safe image containment. */
.product-card{box-shadow:0 1px 0 rgba(16,24,32,.025)}


.product-card-body{padding:20px 20px 18px}
.product-card h3{min-height:48px;font-size:17px;line-height:1.32}

/* Do not alternate product-page sections with abrupt background bands. */
.product-tabs-section,
.product-template-section,
.product-template-section:nth-of-type(even),
.product-builder-section,
.product-equipment-section,
.related-products-section,
.product-advantages-section{
  background:var(--paper)!important;
}
.product-tabs-section,
.product-template-section,
.product-builder-section{
  border-top:1px solid rgba(23,33,43,.07);
}
.product-template-section{padding:78px 0}
.product-builder-section{padding:76px 0}
.dyson-section-head{max-width:900px;margin:0 auto 36px;padding:0 18px}
.dyson-section-head h2{font-size:clamp(32px,4vw,54px);line-height:1.06;color:var(--ink)}
.dyson-section-head p{max-width:720px;margin:13px auto 0;font-size:15px;line-height:1.65}

/* Equipment: remove the oversized empty gap and align every card. */
.product-equipment-section .dyson-section-head{margin-bottom:34px}
.equipment-layout{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:32px;align-items:start}
.equipment-device{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:#f0f2ed;
  box-shadow:var(--shadow-sm);
}
.equipment-device img{
  width:100%;
  height:500px;
  padding:24px;
  object-fit:contain;
}
.equipment-device-text{padding:20px 22px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:14px;line-height:1.65}
.equipment-items-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:14px;align-items:stretch}
.equipment-item-card{
  display:flex;
  min-width:0;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 0 rgba(16,24,32,.025);
}
.equipment-item-image{display:grid;height:132px;flex:0 0 132px;place-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:#f1f3ee}
.equipment-item-image img{
  width:auto;
  height:auto;
  max-width:82%;
  max-height:82%;
  padding:0;
  object-fit:contain;
}
.equipment-item-content{display:flex;flex:1;flex-direction:column;padding:15px 16px 17px}
.equipment-item-content h3{margin:0 0 10px;color:var(--ink);font-size:15px;line-height:1.35;letter-spacing:-.02em}
.equipment-item-text{padding:0;color:var(--muted);font-size:12px;line-height:1.55}
.equipment-item-text p{margin:0}

/* Benefits: keep contrast readable without a black block cutting the page in two. */
.seller-benefits-section{
  background:var(--paper-2)!important;
  color:var(--text)!important;
}
.seller-benefits-section .dyson-section-head h2{color:var(--ink)}
.seller-benefits-section .dyson-section-head p{color:var(--muted)}
.seller-benefits-grid{gap:14px}
.seller-benefit-card{
  display:flex;
  min-height:220px;
  flex-direction:column;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:var(--text);
  box-shadow:var(--shadow-sm);
}
.seller-benefit-icon{
  width:46px;
  height:46px;
  margin-bottom:34px;
  border-radius:12px;
  background:var(--accent);
  color:var(--ink);
  font-size:19px;
}
.seller-benefit-card h3{margin:0 0 10px;color:var(--ink);font-size:18px;line-height:1.35}
.seller-benefit-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}

/* Related products: images stay inside the media box and all controls line up. */
.related-products-grid{gap:18px;align-items:stretch}
.related-product-card{
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 0 rgba(16,24,32,.025);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.related-product-card:hover{transform:translateY(-4px);border-color:#c5ccc3;box-shadow:var(--shadow-md)}
.related-product-image{
  display:grid;
  height:270px;
  flex:0 0 270px;
  place-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:#f1f3ee;
}
.related-product-image img{
  display:block;
  width:auto;
  height:auto;
  max-width:88%;
  max-height:88%;
  padding:0;
  object-fit:contain;
}
.related-product-image span{color:#9aa39b;font-size:32px;font-weight:800;letter-spacing:-.08em}
.related-product-content{display:flex;min-height:190px;flex:1;flex-direction:column;padding:20px}
.related-product-content h3{min-height:48px;margin:0 0 14px;color:var(--ink);font-size:17px;line-height:1.36;letter-spacing:-.025em}
.related-product-content h3 a:hover{color:#5145d9}
.related-price{margin-top:auto;padding-top:8px;color:var(--ink);font-size:21px;font-weight:800;letter-spacing:-.03em}
.related-buy-form{margin:15px 0 0}
.related-buy{
  display:inline-flex;
  width:100%;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid var(--ink);
  border-radius:11px;
  background:var(--ink);
  color:#fff;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.related-buy:hover{border-color:var(--accent-strong);background:var(--accent);color:var(--ink);transform:translateY(-1px)}

/* The floating CTA remains visible, but no longer dominates the content. */
.floating-product-cart{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
.floating-product-cart-btn{
  min-width:164px;
  min-height:50px;
  border-color:var(--ink)!important;
  border-radius:12px;
  background:var(--ink)!important;
  color:#fff!important;
  box-shadow:0 14px 36px rgba(16,24,32,.22);
}
.floating-product-cart-btn:hover{border-color:var(--accent)!important;background:var(--accent)!important;color:var(--ink)!important}

/* Harmonise advantage and dynamic cards with the rest of the page. */
.product-advantage-card,.style-guide-card,.dynamic-card,.spec-row,.faq-item{box-shadow:0 1px 0 rgba(16,24,32,.025)}
.product-advantage-card-image,.style-guide-image,.dynamic-img{background:#f1f3ee}
.product-advantage-card-image img,.style-guide-image img{object-fit:contain;padding:16px}

@media(max-width:1180px){
  .equipment-device img{height:460px}
  .related-product-image{height:245px;flex-basis:245px}
}

@media(max-width:960px){
  .product-template-section{padding:70px 0}
  .equipment-layout{gap:22px}
  .equipment-device img{height:460px}
  .seller-benefit-card{min-height:205px}
  .related-product-image{height:260px;flex-basis:260px}
}

@media(max-width:640px){
  .section{padding:62px 0}
  .product-template-section,.product-builder-section{padding:60px 0}
  .dyson-section-head{margin-bottom:28px;padding:0}
  .dyson-section-head h2{font-size:34px}
  .dyson-story-grid{gap:32px}
  .dyson-story-media{grid-template-rows:150px 150px}
  .equipment-device img{height:340px;padding:16px}
  .equipment-items-grid{grid-template-columns:1fr}
  .equipment-item-card{min-height:auto}
  .equipment-item-image{height:150px;flex-basis:150px}
  .seller-benefit-card{min-height:auto;padding:21px}
  .seller-benefit-icon{margin-bottom:24px}
  .related-product-image{height:285px;flex-basis:285px}
  .related-product-content{min-height:0;padding:18px}
  .related-product-content h3{min-height:0}
  .floating-product-cart-btn{min-width:146px;min-height:48px}
}


/* Equipment mosaic: the main device fills two grid cells and the remaining
   accessories continue as an even row, eliminating empty columns. */
@media(min-width:961px){
  .equipment-layout{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    align-items:stretch;
  }
  .equipment-device{
    grid-column:span 2;
    grid-row:span 2;
    display:flex;
    min-height:0;
    flex-direction:column;
  }
  .equipment-device img{
    flex:1 1 auto;
    width:100%;
    height:auto;
    min-height:540px;
    max-height:none;
    object-fit:contain;
  }
  .equipment-items-grid{display:contents}
  .equipment-item-card{min-height:320px}
}

@media(min-width:641px) and (max-width:960px){
  .equipment-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .equipment-device{grid-column:1/-1}
  .equipment-items-grid{display:contents}
}

/* Final alignment pass for the home comparison gallery and desktop menu. */
@media(min-width:861px){
  .mega-menu{top:78px;max-height:calc(100vh - 112px)}
}
.dyson-story-media{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,220px)}
.dyson-story-card:first-child{grid-row:auto}

@media(max-width:640px){
  .dyson-story-media{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,150px)}
  .dyson-story-card:first-child{grid-row:auto}
}

@media(max-width:640px){
  .equipment-layout{display:grid;grid-template-columns:1fr;gap:14px}
  .equipment-device{grid-column:auto;grid-row:auto;width:100%}
  .equipment-items-grid{display:grid;grid-template-columns:1fr;width:100%;gap:12px}
  .equipment-item-card{width:100%;min-height:0}
}


/* ===== 2026-07-12: contrast, product cards and reliable home slider ===== */
.dyson-value-section,
.dyson-value-section.section{
  background:#101820!important;
  color:#fff!important;
}
.dyson-value-section .section-title h2,
.dyson-value-section .section-title.center h2,
.dyson-value-section h2,
.dyson-value-section .value-grid h3{
  color:#fff!important;
  text-shadow:none!important;
}
.dyson-value-section .section-title .eyebrow{
  color:#b9ff35!important;
}
.dyson-value-section .value-grid p{
  color:rgba(255,255,255,.76)!important;
}
.dyson-value-section .value-grid article{
  background:#101820!important;
}

/* Product cards use one neutral white canvas. This hides the visual seam of
   images exported on white without trying to destructively edit source files. */
.product-card,
.home-product-slide .product-card{
  border-color:#dfe4dc;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(16,24,32,.055);
}



.product-card-body{
  min-height:210px;
  padding:20px;
  background:#fff;
}
.product-card h3{
  min-height:50px;
  margin-bottom:10px;
  color:#101820!important;
}
.product-card p{
  height:44px;
  color:#69737d!important;
}
.product-buy-row{
  min-height:46px;
  padding-top:6px;
  border-top:1px solid #edf0eb;
}
.card-buy-btn{
  min-width:104px;
  border-radius:12px;
  transition:transform .18s ease,background .18s ease;
}
.card-buy-btn:hover{transform:translateY(-1px)}

/* The track itself must be scrollable: the script controls scrollLeft. */
.home-products-slider{
  position:relative;
  overflow:visible;
  padding:2px 0 8px;
}
.home-products-track{
  display:flex;
  width:100%;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-x:contain;
  touch-action:pan-y;
  transition:none!important;
}
.home-products-track::-webkit-scrollbar{display:none}
.home-product-slide{
  flex:0 0 calc((100% - 54px)/4);
  min-width:0;
  scroll-snap-align:start;
}
.home-slider-arrow{
  position:absolute;
  z-index:5;
  top:calc(50% - 34px);
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  padding:0;
  border:1px solid #dce2da;
  border-radius:50%;
  background:#fff;
  color:#101820;
  box-shadow:0 10px 30px rgba(16,24,32,.12);
  font:500 34px/1 Arial,sans-serif;
  cursor:pointer;
  transition:transform .18s ease,opacity .18s ease;
}
.home-slider-arrow:hover{transform:scale(1.05)}
.home-slider-prev{left:-24px}
.home-slider-next{right:-24px}
.home-slider-arrow:disabled{opacity:.3;cursor:default;transform:none}
.home-products-dots button{background:#c8cec5}
.home-products-dots button.active{background:#6a45e5}

@media(max-width:1100px){
  .home-product-slide{flex-basis:calc((100% - 36px)/3)}
  .home-slider-prev{left:-10px}
  .home-slider-next{right:-10px}
}
@media(max-width:760px){
  .home-product-slide{flex-basis:calc((100% - 14px)/1.35)}
  .home-slider-arrow{top:calc(50% - 28px);width:42px;height:42px;font-size:29px}
  .home-slider-prev{left:6px}
  .home-slider-next{right:6px}
  
  .product-card-body{min-height:200px}
  .dyson-value-section .value-grid{grid-template-columns:1fr}
  .dyson-value-section .value-grid article{min-height:auto}
}

/* ===== 2026-07-12: full product images + dealer-style equipment ===== */
/* Every catalogue image is shown completely on a clean white canvas. */
.product-card,
.home-product-slide .product-card,
.related-product-card{
  background:#fff!important;
}
.related-product-image{
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#fff!important;
}

.related-product-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  mix-blend-mode:normal!important;
  transform:none!important;
}
.related-product-card:hover .related-product-image img{
  transform:none!important;
}
.related-product-image{
  height:auto!important;
  min-height:260px;
  aspect-ratio:1/1;
  padding:18px!important;
  border-bottom:1px solid var(--line);
}

/* Equipment section, matching the established dyson-dealer.ru composition:
   large complete-set image on the left and a clean two-column accessory grid. */
.product-equipment-section{
  padding:84px 0!important;
  background:#fff!important;
}
.product-equipment-section .dyson-wide{
  width:min(1460px,calc(100% - 48px));
}
.product-equipment-section .dyson-section-head{
  max-width:none;
  margin:0 0 38px;
  padding:0;
  text-align:center;
}
.product-equipment-section .dyson-section-head h2{
  margin:0;
  color:#111820;
  font-size:clamp(38px,4.6vw,64px);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.045em;
}
.product-equipment-section .dyson-eyebrow{
  margin:0 0 10px!important;
  color:#6a747e!important;
  font-size:13px!important;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.product-equipment-section .equipment-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr)!important;
  gap:28px!important;
  align-items:start!important;
}
.product-equipment-section .equipment-device{
  position:sticky;
  top:96px;
  display:flex!important;
  min-width:0;
  min-height:620px!important;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #e1e5df!important;
  border-radius:24px!important;
  background:#f4f5f1!important;
  box-shadow:none!important;
}
.product-equipment-section .equipment-device img{
  display:block;
  width:100%!important;
  height:620px!important;
  min-height:0!important;
  max-height:none!important;
  flex:none!important;
  padding:34px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f4f5f1!important;
}
.product-equipment-section .equipment-device-text{
  margin-top:auto;
  padding:20px 24px!important;
  border-top:1px solid #e1e5df!important;
  background:#fff!important;
  color:#5f6973!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.product-equipment-section .equipment-device-text p{margin:0}
.product-equipment-section .equipment-items-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:14px!important;
}
.product-equipment-section .equipment-item-card{
  display:flex!important;
  min-width:0;
  min-height:0!important;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #e1e5df!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.product-equipment-section .equipment-item-image{
  display:grid!important;
  width:100%;
  height:auto!important;
  min-height:190px;
  aspect-ratio:1.25/1;
  flex:none!important;
  place-items:center;
  overflow:hidden;
  padding:18px!important;
  border-bottom:1px solid #e7eae5!important;
  background:#f4f5f1!important;
}
.product-equipment-section .equipment-item-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}
.product-equipment-section .equipment-item-content{
  display:flex!important;
  min-height:170px;
  flex:1;
  flex-direction:column;
  padding:18px 18px 20px!important;
}
.product-equipment-section .equipment-item-content h3{
  margin:0 0 10px!important;
  color:#111820!important;
  font-size:16px!important;
  font-weight:700;
  line-height:1.3!important;
  letter-spacing:-.02em;
}
.product-equipment-section .equipment-item-text{
  margin:0;
  padding:0!important;
  color:#65707a!important;
  font-size:13px!important;
  line-height:1.58!important;
}
.product-equipment-section .equipment-item-text p{margin:0}

@media(max-width:1100px){
  .product-equipment-section .equipment-layout{
    grid-template-columns:minmax(0,1fr) minmax(430px,.9fr)!important;
    gap:20px!important;
  }
  .product-equipment-section .equipment-device,
  .product-equipment-section .equipment-device img{height:540px!important;min-height:540px!important}
  .product-equipment-section .equipment-item-image{min-height:165px}
}
@media(max-width:900px){
  .product-equipment-section{padding:68px 0!important}
  .product-equipment-section .dyson-wide{width:min(100% - 32px,760px)}
  .product-equipment-section .equipment-layout{grid-template-columns:1fr!important}
  .product-equipment-section .equipment-device{position:relative;top:auto;min-height:0!important}
  .product-equipment-section .equipment-device img{height:520px!important;min-height:0!important}
  .product-equipment-section .equipment-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .related-product-image{min-height:230px;padding:14px!important}
  .product-equipment-section{padding:56px 0!important}
  .product-equipment-section .dyson-wide{width:calc(100% - 24px)}
  .product-equipment-section .dyson-section-head{margin-bottom:26px}
  .product-equipment-section .dyson-section-head h2{font-size:36px}
  .product-equipment-section .equipment-device img{height:360px!important;padding:18px!important}
  .product-equipment-section .equipment-items-grid{grid-template-columns:1fr!important;gap:12px!important}
  .product-equipment-section .equipment-item-image{min-height:220px;aspect-ratio:1.35/1}
  .product-equipment-section .equipment-item-content{min-height:0;padding:16px!important}
}

/* ===== Product card media: single canonical rule =====
   The image always fits inside the media container without cropping or overflow. */
.product-card{
  overflow:hidden;
}

.product-card-media,
.home-product-slide .product-card-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:285px;
  min-height:0;
  padding:18px;
  overflow:hidden;
  border-bottom:1px solid #edf0eb;
  background:#fff;
}

.product-card-media::after,
.home-product-slide .product-card-media::after{
  display:none;
  content:none;
}

.product-card-media img,
.home-product-slide .product-card-media img{
  display:block;
  flex:0 1 auto;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  margin:auto;
  padding:0;
  object-fit:contain;
  object-position:center;
  background:transparent;
  mix-blend-mode:normal;
  transform:none;
  transition:none;
}

.product-card-media span,
.home-product-slide .product-card-media span{
  color:#a0a8a0;
  font-size:38px;
  font-weight:800;
  letter-spacing:-.08em;
}

.product-card:hover .product-card-media img,
.home-product-slide .product-card:hover .product-card-media img{
  transform:none;
}

@media(max-width:1180px){
  .product-card-media,
  .home-product-slide .product-card-media{
    height:260px;
  }
}

@media(max-width:640px){
  .product-card-media,
  .home-product-slide .product-card-media{
    height:300px;
    padding:14px;
  }
}
/* ===== DYSON.SU equipment section — clean editorial layout ===== */
.equipment-clean-section{
  padding:84px 0!important;
  border-top:0!important;
  background:#fff!important;
}
.equipment-clean-container{
  width:min(1480px,calc(100% - 48px))!important;
}
.equipment-clean-head{
  margin:0 0 34px;
  padding:0;
  text-align:left;
}
.equipment-clean-head h2{
  margin:0;
  color:#151c24;
  font-size:clamp(38px,3.8vw,58px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.045em;
}
.equipment-clean-head .dyson-eyebrow{
  margin:0 0 10px;
}
.equipment-clean-layout{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(0,1.45fr);
  gap:78px;
  align-items:start;
}
.equipment-clean-main{
  position:sticky;
  top:118px;
  margin:0;
  min-width:0;
}
.equipment-clean-main-media{
  display:flex;
  min-height:500px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:transparent;
}
.equipment-clean-main-media img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:500px!important;
  margin:auto;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  box-shadow:none!important;
}
.equipment-clean-main-text{
  max-width:520px;
  margin:22px auto 0;
  color:#68717b;
  font-size:16px;
  line-height:1.55;
  text-align:center;
}
.equipment-clean-main-text p{margin:0}
.equipment-clean-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:64px;
  row-gap:58px;
  min-width:0;
}
.equipment-clean-item{
  display:grid;
  min-width:0;
  grid-template-rows:150px auto;
  gap:18px;
  margin:0;
  padding:0;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.equipment-clean-item-media{
  display:flex;
  width:100%;
  height:150px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:0;
  border:0!important;
  background:transparent!important;
}
.equipment-clean-item-media img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:78%!important;
  max-height:132px!important;
  margin:auto;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.equipment-clean-item-copy{
  min-width:0;
  padding:0!important;
  background:transparent!important;
}
.equipment-clean-item-copy h3{
  margin:0 0 12px!important;
  color:#20262d!important;
  font-size:19px!important;
  font-weight:500!important;
  line-height:1.42!important;
  letter-spacing:-.015em!important;
}
.equipment-clean-item-text{
  margin:0;
  padding:0!important;
  color:#727982!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.equipment-clean-item-text p{margin:0}

@media(max-width:1100px){
  .equipment-clean-layout{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:44px}
  .equipment-clean-items{column-gap:36px;row-gap:46px}
  .equipment-clean-main-media{min-height:440px}
  .equipment-clean-main-media img{max-height:440px!important}
}
@media(max-width:900px){
  .equipment-clean-section{padding:68px 0!important}
  .equipment-clean-container{width:min(760px,calc(100% - 32px))!important}
  .equipment-clean-layout{grid-template-columns:1fr;gap:48px}
  .equipment-clean-main{position:static}
  .equipment-clean-main-media{min-height:420px}
  .equipment-clean-main-media img{max-height:420px!important}
  .equipment-clean-items{column-gap:34px;row-gap:42px}
}
@media(max-width:640px){
  .equipment-clean-section{padding:54px 0!important}
  .equipment-clean-container{width:calc(100% - 24px)!important}
  .equipment-clean-head{margin-bottom:28px}
  .equipment-clean-head h2{font-size:36px}
  .equipment-clean-layout{gap:38px}
  .equipment-clean-main-media{min-height:340px}
  .equipment-clean-main-media img{max-height:340px!important}
  .equipment-clean-main-text{margin-top:16px;font-size:14px}
  .equipment-clean-items{grid-template-columns:1fr;row-gap:38px}
  .equipment-clean-item{grid-template-rows:170px auto;gap:15px}
  .equipment-clean-item-media{height:170px}
  .equipment-clean-item-media img{max-width:72%!important;max-height:150px!important}
  .equipment-clean-item-copy h3{font-size:18px!important}
  .equipment-clean-item-text{font-size:15px!important}
}

/* Mobile search final fix: full-width field below the header */
@media (max-width:860px){
  .dyson-header,
  .dyson-header .dyson-nav{
    overflow:visible!important;
  }

  .dyson-header .dyson-nav{
    position:relative!important;
  }

  /* The search panel must be positioned relative to the whole nav, not the narrow actions group. */
  .dyson-header .header-actions,
  .dyson-header .dyson-actions{
    position:static!important;
  }

  .dyson-header .dyson-actions .dyson-search{
    display:flex!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .dyson-header .dyson-actions .dyson-search > input{
    display:none!important;
  }

  .dyson-header .dyson-actions .dyson-search > button{
    display:flex!important;
    width:38px!important;
    min-width:38px!important;
    height:44px!important;
    flex:0 0 38px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fff!important;
    box-shadow:none!important;
  }

  .dyson-header .dyson-actions .dyson-search.search-open,
  .dyson-header .dyson-actions .dyson-search:focus-within{
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:12px!important;
    right:12px!important;
    z-index:1400!important;
    display:flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:54px!important;
    align-items:center!important;
    margin:0!important;
    padding:4px 5px 4px 16px!important;
    overflow:hidden!important;
    border:2px solid var(--accent)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 18px 42px rgba(0,0,0,.26)!important;
  }

  .dyson-header .dyson-actions .dyson-search.search-open > input,
  .dyson-header .dyson-actions .dyson-search:focus-within > input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    flex:1 1 auto!important;
    padding:0 10px 0 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#111!important;
    caret-color:#111!important;
    font-size:16px!important;
    line-height:46px!important;
    outline:0!important;
    box-shadow:none!important;
    cursor:text!important;
  }

  .dyson-header .dyson-actions .dyson-search.search-open > input::placeholder,
  .dyson-header .dyson-actions .dyson-search:focus-within > input::placeholder{
    color:#747b82!important;
    opacity:1!important;
  }

  .dyson-header .dyson-actions .dyson-search.search-open > button,
  .dyson-header .dyson-actions .dyson-search:focus-within > button{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    border-radius:11px!important;
    background:var(--accent)!important;
    color:var(--ink)!important;
    opacity:1!important;
  }
}

@media (max-width:380px){
  .dyson-header .dyson-actions .dyson-search.search-open,
  .dyson-header .dyson-actions .dyson-search:focus-within{
    left:8px!important;
    right:8px!important;
  }
}

/* ===== 2026-07-12: desktop header and catalogue menu refinement ===== */
@media (min-width:861px){
  .dyson-header{
    border-bottom:1px solid rgba(255,255,255,.11);
    box-shadow:0 10px 30px rgba(4,9,14,.08);
  }

  .dyson-header .dyson-nav{
    width:min(1420px,calc(100% - 56px));
    min-height:82px;
    margin-inline:auto;
    gap:24px;
  }

  .dyson-header .dyson-logo{
    min-width:166px;
  }
  .dyson-header .dyson-logo span{
    font-size:31px;
    line-height:.86;
  }
  .dyson-header .dyson-logo small{
    margin-top:8px;
    letter-spacing:.18em;
  }

  .dyson-header .dyson-menu{
    gap:28px;
    margin-left:18px;
    font-size:13px;
  }
  .dyson-header .dyson-menu > a,
  .dyson-header .dyson-menu > .menu-dropdown > a{
    min-height:82px;
  }

  .dyson-header .dyson-actions{
    gap:13px;
  }
  .dyson-header .dyson-search{
    width:242px;
    height:46px;
    padding-left:16px;
    border-color:rgba(255,255,255,.24);
    border-radius:14px;
    background:rgba(255,255,255,.065);
  }
  .dyson-header .dyson-search > button{
    width:38px;
    height:38px;
    flex-basis:38px;
    border-radius:11px;
  }
  .dyson-header .phone{
    font-size:14px;
    letter-spacing:-.01em;
  }
  .dyson-header .cart-link{
    width:46px;
    height:46px;
    border-radius:14px;
  }

  /* The dropdown starts below both the trust strip and the main header. */
  .dyson-header .mega-menu{
    position:fixed;
    top:116px;
    left:50%;
    width:min(1180px,calc(100vw - 64px));
    max-height:calc(100vh - 132px);
    padding:18px;
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid rgba(255,255,255,.12);
    border-radius:0 0 24px 24px;
    background:rgba(15,24,32,.985);
    box-shadow:0 28px 80px rgba(0,0,0,.36);
    backdrop-filter:blur(18px);
    transform:translate(-50%,10px);
  }
  .dyson-header .menu-dropdown:hover .mega-menu,
  .dyson-header .menu-dropdown:focus-within .mega-menu{
    transform:translate(-50%,0);
  }

  .dyson-header .mega-products-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
  }
  .dyson-header .mega-product{
    display:grid;
    grid-template-rows:138px auto;
    min-width:0;
    padding:11px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.095);
    border-radius:17px;
    background:rgba(255,255,255,.045);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  }
  .dyson-header .mega-product:hover,
  .dyson-header .mega-product:focus-visible{
    border-color:rgba(189,243,63,.62);
    background:rgba(255,255,255,.075);
    box-shadow:0 14px 32px rgba(0,0,0,.18);
    transform:translateY(-3px);
  }

  .dyson-header .mega-product-img{
    display:flex;
    width:100%;
    height:138px;
    align-items:center;
    justify-content:center;
    padding:13px;
    overflow:hidden;
    border:1px solid rgba(16,24,32,.07);
    border-radius:12px;
    background:#fff;
  }
  .dyson-header .mega-product-img img{
    display:block;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:auto;
    padding:0!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    mix-blend-mode:normal!important;
  }
  .dyson-header .mega-product:hover .mega-product-img img{
    transform:none!important;
  }
  .dyson-header .mega-product-title{
    display:-webkit-box;
    min-height:42px;
    margin:11px 2px 1px;
    overflow:hidden;
    color:#fff;
    font-size:13px;
    font-weight:750;
    line-height:1.42;
    letter-spacing:-.015em;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .dyson-header .mega-menu::-webkit-scrollbar{width:9px}
  .dyson-header .mega-menu::-webkit-scrollbar-thumb{
    border:2px solid transparent;
    border-radius:99px;
    background:rgba(255,255,255,.2);
    background-clip:padding-box;
  }

  /* A wider, calmer desktop hero composition. */
  .dyson-hero .hero-grid{
    width:min(1400px,calc(100% - 56px));
    grid-template-columns:minmax(0,.94fr) minmax(430px,1.06fr);
    gap:72px;
    padding-top:86px;
    padding-bottom:102px;
  }
  .dyson-hero .hero-copy{
    max-width:720px;
  }
  .dyson-hero .hero-copy .lead{
    max-width:650px;
  }
  .dyson-hero .hero-visual{
    min-height:500px;
  }
  .dyson-hero .hero-decorative-circle{
    width:min(440px,34vw);
  }

  .service-strip .service-grid{
    border-radius:24px;
  }
  .service-strip .service-grid > div{
    padding:30px;
  }
}

@media (min-width:861px) and (max-width:1180px){
  .dyson-header .dyson-nav{
    width:calc(100% - 36px);
    gap:16px;
  }
  .dyson-header .dyson-logo{min-width:145px}
  .dyson-header .dyson-logo span{font-size:27px}
  .dyson-header .dyson-menu{gap:17px;margin-left:6px;font-size:12px}
  .dyson-header .dyson-search{width:188px}
  .dyson-header .phone{display:none}
  .dyson-header .mega-menu{
    width:min(920px,calc(100vw - 36px));
    padding:15px;
  }
  .dyson-header .mega-products-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .dyson-header .mega-product{
    grid-template-rows:124px auto;
  }
  .dyson-header .mega-product-img{height:124px}
  .dyson-hero .hero-grid{
    width:calc(100% - 36px);
    grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);
    gap:38px;
  }
}

/* ===== 2026-07-12: final catalogue menu alignment and mobile image fit ===== */
@media (min-width:861px){
  /* Use the navigation bar as the positioning context so the dropdown touches it exactly. */
  .dyson-header .dyson-nav{
    position:relative!important;
  }
  .dyson-header .dyson-menu > .menu-dropdown{
    position:static!important;
  }
  .dyson-header .mega-menu{
    position:absolute!important;
    top:100%!important;
    right:auto!important;
    bottom:auto!important;
    left:50%!important;
    z-index:1250!important;
    margin:0!important;
    transform:translate(-50%,0)!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    border-radius:0 0 24px 24px!important;
  }
  .dyson-header .menu-dropdown:hover .mega-menu,
  .dyson-header .menu-dropdown:focus-within .mega-menu{
    transform:translate(-50%,0)!important;
  }
}

@media (max-width:860px){
  /* The mobile catalogue is a real two-column grid instead of a clipped horizontal strip. */
  .dyson-header .menu-dropdown{
    width:100%!important;
  }
  .dyson-header .mega-menu{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:14px 14px 18px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:#111c25!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .dyson-header .mega-products-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .dyson-header .mega-product{
    display:grid!important;
    grid-template-rows:118px auto!important;
    min-width:0!important;
    width:auto!important;
    padding:9px!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.11)!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.045)!important;
    scroll-snap-align:none!important;
    transform:none!important;
  }
  .dyson-header .mega-product:hover,
  .dyson-header .mega-product:focus-visible{
    border-color:rgba(201,255,69,.55)!important;
    background:rgba(255,255,255,.075)!important;
    transform:none!important;
  }
  .dyson-header .mega-product-img{
    display:flex!important;
    width:100%!important;
    height:118px!important;
    min-height:118px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px!important;
    overflow:hidden!important;
    border:1px solid rgba(16,24,32,.07)!important;
    border-radius:13px!important;
    background:#fff!important;
  }
  .dyson-header .mega-product-img img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:auto!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    mix-blend-mode:normal!important;
  }
  .dyson-header .mega-product:hover .mega-product-img img{
    transform:none!important;
  }
  .dyson-header .mega-product-title{
    display:-webkit-box!important;
    min-height:42px!important;
    margin:10px 2px 2px!important;
    overflow:hidden!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:750!important;
    line-height:1.35!important;
    letter-spacing:-.015em!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
  }
}

@media (max-width:390px){
  .dyson-header .mega-menu{
    padding-right:10px!important;
    padding-left:10px!important;
  }
  .dyson-header .mega-products-row{
    gap:9px!important;
  }
  .dyson-header .mega-product{
    grid-template-rows:104px auto!important;
    padding:7px!important;
    border-radius:14px!important;
  }
  .dyson-header .mega-product-img{
    height:104px!important;
    min-height:104px!important;
    padding:8px!important;
    border-radius:11px!important;
  }
  .dyson-header .mega-product-title{
    min-height:38px!important;
    margin-top:8px!important;
    font-size:12px!important;
  }
}

/* ===== 2026-07-12: restore horizontal mobile catalogue scroller ===== */
@media (max-width:860px){
  .dyson-header .mega-menu{
    overflow:hidden!important;
    padding-right:0!important;
    padding-left:14px!important;
  }

  .dyson-header .mega-products-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 14px 10px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    scroll-padding-inline:0 14px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(255,255,255,.28) transparent!important;
    touch-action:pan-x!important;
  }

  .dyson-header .mega-products-row::-webkit-scrollbar{
    height:5px!important;
  }
  .dyson-header .mega-products-row::-webkit-scrollbar-track{
    background:transparent!important;
  }
  .dyson-header .mega-products-row::-webkit-scrollbar-thumb{
    border-radius:99px!important;
    background:rgba(255,255,255,.25)!important;
  }

  .dyson-header .mega-product{
    display:grid!important;
    grid-template-rows:118px auto!important;
    flex:0 0 190px!important;
    min-width:190px!important;
    width:190px!important;
    padding:9px!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
  }

  .dyson-header .mega-product-img{
    width:100%!important;
    height:118px!important;
    min-height:118px!important;
  }

  .dyson-header .mega-product-img img{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}

@media (max-width:390px){
  .dyson-header .mega-menu{
    padding-right:0!important;
    padding-left:10px!important;
  }
  .dyson-header .mega-products-row{
    gap:9px!important;
    padding-right:10px!important;
  }
  .dyson-header .mega-product{
    grid-template-rows:104px auto!important;
    flex-basis:172px!important;
    min-width:172px!important;
    width:172px!important;
  }
  .dyson-header .mega-product-img{
    height:104px!important;
    min-height:104px!important;
  }
}

/* ===== 2026-07-12: refined product cards — catalogue and home slider ===== */
.product-grid-list{
  align-items:stretch;
}
.product-card,
.home-product-slide .product-card{
  position:relative;
  height:100%;
  overflow:hidden;
  border:1px solid #d9ded7;
  border-radius:24px;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(16,24,32,.055);
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.product-card-link{
  display:flex;
  flex:1 1 auto;
  min-height:0;
  flex-direction:column;
}
.product-card-media,
.home-product-slide .product-card-media{
  position:relative;
  display:flex;
  width:100%;
  height:265px;
  min-height:265px;
  align-items:center;
  justify-content:center;
  padding:18px;
  overflow:hidden;
  border:0;
  border-bottom:1px solid #ecefea;
  background:#fff!important;
}
.product-card-media img,
.home-product-slide .product-card-media img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 24px)!important;
  max-height:calc(100% - 20px)!important;
  margin:auto;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  transform:none!important;
  transition:none!important;
}
.product-card-body{
  display:flex;
  min-height:180px;
  flex:1 1 auto;
  flex-direction:column;
  padding:22px 22px 18px;
  background:#fff;
}
.product-card h3{
  display:-webkit-box;
  min-height:2.7em;
  margin:0 0 12px;
  overflow:hidden;
  color:#101820!important;
  font-size:19px;
  font-weight:750;
  line-height:1.34;
  letter-spacing:-.032em;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  text-wrap:balance;
}
.product-card p{
  display:-webkit-box;
  height:auto;
  min-height:3.15em;
  margin:0;
  overflow:hidden;
  color:#717b84!important;
  font-size:13px;
  line-height:1.58;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.product-buy-row{
  display:grid;
  min-height:76px;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin-top:0;
  padding:14px 18px 18px 22px;
  border-top:1px solid #ecefea;
  background:#fff;
}
.product-buy-row>div,
.product-buy-row>b{
  min-width:0;
  color:#101820;
  font-size:21px;
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.product-buy-row form{
  display:flex;
  margin:0;
}
.card-buy-btn,
.product-buy-row span:not(.card-old-price){
  display:inline-flex;
  min-width:116px;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid #101820;
  border-radius:14px;
  background:#101820;
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.card-buy-btn:hover,
.card-buy-btn:focus-visible{
  border-color:#b9ff35;
  background:#b9ff35;
  color:#101820;
  transform:translateY(-1px);
}
.card-old-price{
  display:block;
  margin:4px 0 0!important;
  color:#9aa1a8!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.1;
  text-decoration:line-through;
}
.home-product-slide{
  display:flex;
  align-self:stretch;
}
.home-product-slide .product-card{
  width:100%;
}

@media(hover:hover) and (pointer:fine){
  .product-card:hover,
  .home-product-slide .product-card:hover{
    border-color:#bec6bc;
    box-shadow:0 18px 44px rgba(16,24,32,.105);
    transform:translateY(-5px);
  }
}

@media(max-width:1180px){
  .product-card-media,
  .home-product-slide .product-card-media{
    height:245px;
    min-height:245px;
  }
  .product-card h3{font-size:18px}
}

@media(max-width:640px){
  .product-card,
  .home-product-slide .product-card{
    border-radius:22px;
    box-shadow:0 8px 24px rgba(16,24,32,.06);
  }
  .product-card-media,
  .home-product-slide .product-card-media{
    height:250px;
    min-height:250px;
    padding:14px;
  }
  .product-card-media img,
  .home-product-slide .product-card-media img{
    max-width:calc(100% - 14px)!important;
    max-height:calc(100% - 14px)!important;
  }
  .product-card-body{
    min-height:188px;
    padding:22px 20px 17px;
  }
  .product-card h3{
    min-height:4.05em;
    margin-bottom:10px;
    font-size:19px;
    line-height:1.35;
    -webkit-line-clamp:3;
  }
  .product-card p{
    min-height:3.2em;
    font-size:13px;
    -webkit-line-clamp:2;
  }
  .product-buy-row{
    min-height:76px;
    padding:13px 14px 16px 20px;
  }
  .product-buy-row>div,
  .product-buy-row>b{
    font-size:21px;
  }
  .card-buy-btn,
  .product-buy-row span:not(.card-old-price){
    min-width:118px;
    min-height:48px;
    padding:0 16px;
    border-radius:14px;
  }
}

@media(max-width:370px){
  .product-card-body{padding-right:17px;padding-left:17px}
  .product-buy-row{padding-right:12px;padding-left:17px;gap:9px}
  .product-buy-row>div,
  .product-buy-row>b{font-size:19px}
  .card-buy-btn,
  .product-buy-row span:not(.card-old-price){min-width:106px;padding:0 13px}
}

/* Related products: keep every source image fully visible without allowing its
   intrinsic size to stretch the grid cell and get clipped. */
.related-products-section .related-product-image{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:clamp(230px,20vw,300px)!important;
  min-height:0!important;
  flex:0 0 auto!important;
  aspect-ratio:auto!important;
  padding:20px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.related-products-section .related-product-image img{
  position:absolute!important;
  inset:20px!important;
  display:block!important;
  width:calc(100% - 40px)!important;
  height:calc(100% - 40px)!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
@media(max-width:640px){
  .related-products-section .related-product-image{
    height:260px!important;
    padding:16px!important;
  }
  .related-products-section .related-product-image img{
    inset:16px!important;
    width:calc(100% - 32px)!important;
    height:calc(100% - 32px)!important;
  }
}

/* Закреплённые якоря только для разделов, которые реально есть у товара. */
.product-anchor-nav{position:sticky;top:var(--product-nav-top,144px);z-index:1100;background:rgba(255,255,255,.98);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 7px 22px rgba(25,19,60,.08);backdrop-filter:blur(16px)}
.product-anchor-nav-inner{display:flex;align-items:stretch;gap:0;max-width:1440px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-snap-type:x proximity}
.product-anchor-link{position:relative;display:flex;flex:1 0 auto;min-height:60px;align-items:center;justify-content:center;padding:12px 24px;color:var(--muted);font-size:15px;font-weight:750;line-height:1.25;text-align:center;white-space:nowrap;scroll-snap-align:start;transition:color .2s ease,background .2s ease}
.product-anchor-link:after{content:"";position:absolute;left:24px;right:24px;bottom:-1px;height:3px;background:var(--violet);transform:scaleX(0);transition:transform .2s ease}
.product-anchor-link:hover,.product-anchor-link.active{color:var(--ink);background:#f7f6ff}
.product-anchor-link.active:after{transform:scaleX(1)}
.product-anchor-link:focus-visible{outline:2px solid var(--violet);outline-offset:-4px}
.product-anchor-section,.product-reviews-section{scroll-margin-top:var(--product-anchor-offset,222px)}
.product-anchor-plain-section,.product-full-description{background:#fff}
.product-anchor-plain-section>.container{max-width:1040px}
.product-full-description .product-description{font-size:16px;line-height:1.75;color:var(--ink)}
.product-meta-small .is-out-of-stock{color:#b42318;font-weight:800}
.product-meta-small .is-in-stock{color:#207a3b;font-weight:800}
.related-buy:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:900px){
  .product-anchor-nav{top:var(--product-nav-top,114px)}
  .product-anchor-nav-inner{width:100%;padding:0 14px}
  .product-anchor-link{min-height:52px;padding:10px 16px;font-size:14px}
  .product-anchor-link:after{left:16px;right:16px}
}
