:root{
  --dy-font-ui: "DysonAlt", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --dy-font-brand: "DysonAlt", var(--dy-font-ui);
  --dy-black:#000;
  --dy-black-2:#0d0d0d;
  --dy-white:#fff;
  --dy-gray:#9fa3a7;
  --dy-gray-2:#c9ccd1;
  --dy-accent:#77be1d;
  --dy-focus:#66afe9;
  --dy-green:#79c000;
  --dy-border:#e9e9e9;
}

/* базове */
html,body{margin:0;padding:0}
body{background:#fff;}
body.is-menu-open{ overflow:hidden; }
html, body, input, button, select, textarea {
  font-family: "FuturaBT Dyson", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ОНОВЛЕНО: використовуємо DysonAlt */
html, body, input, button, select, textarea {
  font-family: var(--dy-font-ui);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}








/* ===== Header ===== */
.dy-header{position:relative;z-index:1000}
.dy-header__bar{background:var(--dy-black);color:var(--dy-white);width:100%;position:sticky;top:0;left:0;z-index:1000;height:48px;box-shadow:0 0 0 transparent;}
.dy-header.is-search-open .dy-header__bar,
.is-search-open .dy-header__bar{ box-shadow:0 2px 6px rgba(0,0,0,.28); }

.dy-container{max-width:1170px;margin:0 auto;height:48px;padding:0 15px;display:flex;align-items:center;gap:24px;}
@media(min-width:1400px){ .dy-container{ max-width:1320px; } }

.dy-logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--dy-white);line-height:1}
.dy-logo img{height:51px;display:block}

/* --- Topnav: один рядок, фіксована висота --- */
.dy-header__bar .dy-container{display:flex;align-items:center;gap:24px;height:48px;flex-wrap:nowrap;}
.dy-navwrap{display:flex;align-items:center;gap:22px;flex:1 1 auto;min-width:0;}
#dy-mega-toggle{flex:0 0 auto;}

/* самі топлінки — горизонтальний ряд без переносу */
nav.dy-toplinks{display:flex;align-items:center;gap:22px;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;}
nav.dy-toplinks a{display:inline-block;padding:8px 0;line-height:1;}

.dy-utilities{display:flex;align-items:center;gap:14px;margin-left:auto;flex:0 0 auto}
.dy-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#fff;text-decoration:none;border:none;background:transparent;line-height:28px;transition:color .18s ease;}
.dy-ico svg,.dy-ico img{width:22px;height:22px;display:block}
#dy-search-toggle{ color:#fff; }
#dy-search-toggle svg path{ fill: currentColor; }
#dy-search-toggle:hover{ color:#77be1d; }

.dy-header-cart .dy-cart-link{ position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px; }
#dy-cart-count{ position:absolute; top:0; right:0; transform:translate(35%,-35%); min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:#77be1d; color:#fff; font-weight:700; font-size:12px; line-height:20px; text-align:center; box-shadow:0 0 0 2px #000; }
#dy-cart-count[data-count="0"]{ display:none!important; }
.dy-header .dy-header-cart.is-empty .dy-cart-link{ pointer-events:none!important; cursor:default; }
@media (max-width:380px){ #dy-cart-count{ min-width:18px;height:18px;line-height:18px;font-size:11px; }}

/* hide OC search block */
#search{display:none!important}

/* ===== search overlay ===== */
.dy-search-overlay{ position:fixed; top:0; left:0; right:0; background:#000; height:48px; padding:0 16px; display:none; z-index:1200; }
.is-search-open .dy-search-overlay{display:block}
.dy-search__form{max-width:1200px;margin:0 auto;display:flex;height:48px;align-items:center;gap:8px}
.dy-search__input{flex:1;height:32px;background:#fff;border:1px solid #dcdfe4;outline:none;padding:0 14px;font-size:16px;line-height:32px;border-radius:2px;}
.dy-search__input,
.dy-search-overlay input[type="search"] {
  color: #111 !important; /* або будь-який інший колір */
  caret-color: #111; /* щоб і курсор був видимий */
}
.dy-search__input::placeholder{color:#7a7f85}
.dy-search__submit,.dy-search__close{width:32px;height:32px;border:1px solid rgba(255,255,255,.25);background:transparent;color: #fff !important;;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;}
/* колір кнопки */
.dy-search__submit{ color:#fff !important; }

/* або точково */
.dy-search__submit svg path{ fill: #fff !important; }
.dy-search__submit:hover,.dy-search__close:hover{border-color:rgba(255,255,255,.5)}

/* ===== Burger ===== */
.dy-burger{ display:none; position:relative; width:32px; height:32px; margin-left:8px; border:0; background:transparent; cursor:pointer; appearance:none; -webkit-appearance:none; padding:0; outline:none; box-shadow:none; }
@media (max-width:900px){ .dy-burger{display:inline-flex} .dy-navwrap{display:none} }
.dy-burger__bar,.dy-burger__bar::before,.dy-burger__bar::after{content:""; position:absolute; height:2px; background:#fff; left:7px; right:7px; top:50%; transform:translateY(-50%); transition:transform .25s ease, opacity .2s ease, top .25s ease;}
.dy-burger__bar::before,.dy-burger__bar::after{ left:0; right:0; }
.dy-burger__bar::before{ top:calc(50% - 6px); }
.dy-burger__bar::after { top:calc(50% + 6px); }
.dy-burger[aria-expanded="true"] .dy-burger__bar{ background:transparent; }
.dy-burger[aria-expanded="true"] .dy-burger__bar::before{ top:50%; transform:translateY(-50%) rotate(45deg); background:#fff; }
.dy-burger[aria-expanded="true"] .dy-burger__bar::after { top:50%; transform:translateY(-50%) rotate(-45deg); background:#fff; }

/* ===== Drawer (two-phase overlapped) ===== */
.dy-drawer{ position:absolute; left:0; right:0; top:48px; z-index:1400; }
.dy-drawer[hidden]{ display:none; }
.dy-drawer__backdrop{ position:fixed; inset:48px 0 0 0; background:rgba(0,0,0,.45); opacity:0; pointer-events:none; transition:opacity .25s ease; }
body.menu-phase1 .dy-drawer__backdrop,
body.menu-phase2 .dy-drawer__backdrop,
body.is-menu-open .dy-drawer__backdrop{ opacity:1; pointer-events:auto; }
.dy-drawer__panel{ position:relative; overflow:hidden; max-height:0; transition:max-height .35s ease; }

/* секції drawer */
.dy-drawer__links{ background:#fff; color:#000; padding:12px 16px; border-top:1px solid rgba(0,0,0,.06); transform:translateY(-10px); opacity:0; transition:opacity .25s ease, transform .25s ease; }
.dy-drawer__catalog{ background:#000; color:#fff; padding:16px; transform:translateY(-8px); opacity:0; transition:opacity .22s ease, transform .22s ease; }
body.menu-phase1 .dy-drawer__catalog{ transform:translateY(0); opacity:1; }
body.menu-phase2 .dy-drawer__links{ transform:translateY(0); opacity:1; }

/* ===== Top links: unify styles (button + anchors) ===== */
.dy-topnav__link,
#dy-mega-toggle.dy-topnav__link,
nav.dy-toplinks a.dy-topnav__link{
  appearance:none;-webkit-appearance:none;display:inline-block;background:transparent;border:0;cursor:pointer;text-decoration:none;
  color:var(--dy-white);opacity:.88;font:300 13.5px/1 var(--dy-font,inherit);letter-spacing:.01em;padding:8px 0;transition:color .18s ease,opacity .18s ease;
}
.dy-topnav__link:hover,
#dy-mega-toggle.dy-topnav__link:hover,
nav.dy-toplinks a.dy-topnav__link:hover{color:var(--dy-accent);opacity:1;}
/* без focus рамок */
.dy-header .dy-topnav__link:focus,
.dy-header .dy-topnav__link:focus-visible,
.dy-header #dy-mega-toggle.dy-topnav__link:focus,
.dy-header #dy-mega-toggle.dy-topnav__link:focus-visible,
.dy-header nav.dy-toplinks a.dy-topnav__link:focus,
.dy-header nav.dy-toplinks a.dy-topnav__link:focus-visible{outline:0!important;box-shadow:none!important;}
.dy-header .dy-topnav__link:visited{ color:var(--dy-white); }

/* ===== Dyson Mega Menu — desktop clean ===== */

/* trigger styled like a link */
#dy-mega-toggle.dy-topnav__link,
.dy-topnav__link#dy-mega-toggle{
  -webkit-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;color:var(--dy-white);opacity:.88;
  font:300 13.5px/1 var(--dy-font,inherit);letter-spacing:.01em;padding:8px 0;margin:0;transition:color .18s ease,opacity .18s ease;
}
#dy-mega-toggle:hover,#dy-mega-toggle:focus{ color:var(--dy-accent,#77be1d); opacity:1; outline:0; }

/* panel */
.dy-mega{ position:absolute; left:0; right:0; top:48px; z-index:1350; background:transparent; color:#fff; opacity:0; pointer-events:none; transform:translateY(-8px); transition:opacity .22s ease, transform .22s ease; }
.dy-mega[hidden]{ display:none; }
body.is-mega-open .dy-mega{ opacity:1; transform:none; pointer-events:auto; }

/* inner: container-width block + background via ::before */
.dy-mega__inner{
  position:relative;width:calc(100% - 30px);max-width:1320px;margin:0 auto;padding:16px 24px;height:auto!important;box-sizing:border-box;
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:24px;justify-items:start;align-items:start;
}
.dy-mega__inner::before{ content:""; position:absolute; inset:0; background:#2f2f2f; z-index:0; }

/* один спільний grid для фото і колонок */
.dy-mega__media,.dy-mega__grid{ display:contents; }

/* previews */
.dy-mega__media-col{ min-width:0; position:relative; z-index:1; }
.dy-mega__media-col img{ display:block; width:100%; max-height:120px; object-fit:cover; margin:0 0 8px; background:#3a3a3a; }

/* columns */
.dy-mega__col{ min-width:0; text-align:left; position:relative; z-index:1; }
.dy-mega__title{ margin:10px 0 6px; line-height:1.25; font-weight:800; font-size:20px; color:#fff; }
.dy-mega__title a{ color:inherit; text-decoration:none; }
.dy-mega__title a:hover{ color:var(--dy-accent,#77be1d); }
.dy-mega__list{ list-style:none; margin:0; padding:0; }
.dy-mega__list li{ margin:4px 0; line-height:1.25; }
.dy-mega__list a{ color:#ddd; font-weight:400; font-size:16px; text-decoration:none; transition:color .2s ease; }
.dy-mega__list a:hover{ color:var(--dy-accent,#77be1d); }

/* desktop hides mega on mobile by default */
@media (max-width:900px){
  .dy-mega{ display:none !important; }
}

/* ====== MOBILE ADAPTATION ====== */
/* 1) Білий блок toplinks усередині drawer */
.dy-drawer__links nav,
.dy-drawer__links .dy-topnav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
.dy-drawer__links a,
.dy-drawer__links .dy-topnav__link{
  color:#111; opacity:1; text-decoration:none; font:300 16px/1.1 var(--dy-font,inherit); padding:10px 0;
}
.dy-drawer__links a:hover,
.dy-drawer__links .dy-topnav__link:hover{ color:var(--dy-accent); }
.dy-drawer__links a:focus,
.dy-drawer__links .dy-topnav__link:focus{ outline:0!important; box-shadow:none!important; }

/* 2) Темний блок категорій як мобільне мегаменю */
.dy-mega--mobi{ position:relative; opacity:1; pointer-events:auto; transform:none; }
@media (max-width:900px){
  /* дозволити показ всередині drawer */
  .dy-mega--mobi{ display:block !important; }
}
/* у drawer фон уже темний — прибираємо псевдофон */
.dy-mega--mobi .dy-mega__inner{ width:100%; max-width:100%; padding:0; }
.dy-mega--mobi .dy-mega__inner::before{ background:transparent; }

.dy-mega--mobi .dy-mega__media-col img{ max-height:96px; margin:0 0 10px; }

/* сітка для мобільного: 2 колонки, дрібні — 1 */
@media (max-width:900px){
  .dy-mega--mobi .dy-mega__inner{ padding:0; }
  .dy-mega--mobi .dy-mega__inner{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .dy-mega--mobi .dy-mega__title{ font-size:18px; margin:8px 0 6px; }
  .dy-mega--mobi .dy-mega__list a{ font-size:15px; }
}
@media (max-width:420px){
  .dy-mega--mobi .dy-mega__inner{ grid-template-columns:1fr; gap:14px; }
  .dy-mega--mobi .dy-mega__media-col img{ max-height:88px; }
}

/* дрібні гарантії */
.dy-mega *{ box-sizing:border-box; }
.dy-navwrap{ display:flex; align-items:center; gap:22px; }

/* скидання маркерів у toplinks (десктоп) */
nav.dy-toplinks,
nav.dy-toplinks ul,
nav.dy-toplinks li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

/* === Toplinks: один рядок, без маркерів, без переносу === */
.dy-header .dy-navwrap{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:nowrap;           /* не переносити */
}

nav.dy-toplinks{
  display:flex;
  align-items:center;
  gap:22px;
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  flex-wrap:nowrap;           /* не переносити */
}

nav.dy-toplinks > ul{
  display:flex;
  align-items:center;
  gap:22px;
  margin:0;
  padding:0;
  list-style:none;            /* без крапок */
  flex-wrap:nowrap;           /* не переносити */
}

nav.dy-toplinks > ul > li{
  display:inline-flex;        /* li в ряд */
  align-items:center;
  margin:0;
  padding:0;
  list-style:none;
}

nav.dy-toplinks a{
  display:inline-block;
  padding:8px 0;
  line-height:1;
  white-space:nowrap;         /* довгі назви не ламають рядок */
}

@media (max-width: 900px){
  .dy-navwrap{ display:none !important; }
  .dy-burger{ display:inline-flex; z-index:1500; } /* щоб точно було над усім */
}

/* ====== MOBILE DRAWER — FIX toplinks (white) + categories (dark grid) ====== */
@media (max-width: 900px){
  /* біла секція з топлінками */
  .dy-drawer__links{
    background:#fff; color:#000; padding:12px 16px; border-top:1px solid rgba(0,0,0,.06);
  }
  .dy-drawer__links nav.dy-toplinks{            /* вимикаємо десктопний флекс-рядок */
    display:block !important; white-space:normal; overflow:visible;
  }
  .dy-drawer__links .dy-topnav{
    display:block !important; margin:0; padding:0; list-style:none;
  }
  .dy-drawer__links .dy-topnav li{ margin:0; padding:0; list-style:none; }
  .dy-drawer__links .dy-topnav__link{
    display:block; padding:14px 0; color:#000 !important; opacity:1 !important; text-decoration:none;
  }
  .dy-drawer__links .dy-topnav__link:hover{ color:#111 !important; opacity:.75 !important; }

  /* чорна секція з категоріями (як у «Магазин») */
  .dy-drawer__catalog{
    background:#000; color:#fff; padding:16px;
  }
  /* прев’ю зверху — компактна сітка */
  .dy-drawer__catalog .dy-mega__media{ 
    display:grid !important; grid-template-columns:repeat(4,1fr); gap:12px; margin:0 0 12px;
  }
  .dy-drawer__catalog .dy-mega__media-col img{ max-height:72px; object-fit:cover; width:100%; }

  /* колонки категорій під прев’ю */
  .dy-drawer__catalog .dy-mega__grid{
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px;
  }
  .dy-drawer__catalog .dy-mega__col{ min-width:0; }
  .dy-drawer__catalog .dy-mega__title{ font-size:16px; font-weight:800; color:#fff; margin:0 0 6px; }
  .dy-drawer__catalog .dy-mega__list{ margin:0; padding:0; list-style:none; }
  .dy-drawer__catalog .dy-mega__list li{ margin:4px 0; }
  .dy-drawer__catalog .dy-mega__list a{ color:#ddd; text-decoration:none; }
  .dy-drawer__catalog .dy-mega__list a:hover{ color:#77be1d; }
}

/* страховка: секції всередині панелі йдуть стовпчиком на всю ширину */
.dy-drawer__panel{ background:transparent; }
.dy-drawer__section{ display:block; width:100%; }

/* ====== MOBILE DRAWER — toplinks one-per-line + 4-col categories ====== */
@media (max-width: 900px){

  /* toplinks на білому фоні — в стовпчик */
  .dy-drawer__links nav.dy-toplinks{
    display:block !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  /* якщо модуль виводить <a> напряму (без <ul>) */
  .dy-drawer__links nav.dy-toplinks > a{
    display:block !important;
    padding:14px 0 !important;
    color:#000 !important;
    opacity:1 !important;
    text-decoration:none !important;
  }
  /* якщо модуль виводить <ul><li><a> */
  .dy-drawer__links .dy-topnav{ display:block !important; margin:0; padding:0; list-style:none; }
  .dy-drawer__links .dy-topnav li{ margin:0; padding:0; list-style:none; }
  .dy-drawer__links .dy-topnav__link{ display:block !important; padding:14px 0 !important; color:#000 !important; opacity:1 !important; }

  /* чорний блок: 4 колонки категорій + компактні шрифти */
  .dy-drawer__catalog .dy-mega__grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:12px 16px !important;
  }
  .dy-drawer__catalog .dy-mega__title{
    font-size:15px !important;
    margin:0 0 4px !important;
  }
  .dy-drawer__catalog .dy-mega__list a{
    font-size:13px !important;
    line-height:1.25 !important;
  }
  /* прев’ю зверху компактніше, щоб не тиснуло сітку */
  .dy-drawer__catalog .dy-mega__media{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:10px !important;
    margin:0 0 10px !important;
  }
  .dy-drawer__catalog .dy-mega__media-col img{
    max-height:64px !important;
  }
}
/* ===== FIX: mobile drawer height + toplinks layout ===== */
@media (max-width: 900px){
  /* 1) toplinks у білому блоці — один під одним у будь-якому розмітковому варіанті */
  .dy-drawer__links nav.dy-toplinks{ 
    display:block !important; 
    white-space:normal !important; 
    overflow:visible !important;
  }
  .dy-drawer__links nav.dy-toplinks > a,
  .dy-drawer__links nav.dy-toplinks > * > a,
  .dy-drawer__links .dy-topnav,
  .dy-drawer__links .dy-topnav li,
  .dy-drawer__links .dy-topnav li > a{
    display:block !important;
    padding:14px 0 !important;
    color:#000 !important;
    opacity:1 !important;
    text-decoration:none !important;
    list-style:none !important;
    margin:0 !important;
  }

  /* 2) висота панелі: після відкриття не обмежуємо max-height,
        щоб категорії не обрізались (зображення/шрифти можуть добудовувати висоту) */
  body.is-menu-open .dy-drawer__panel{
    max-height:none !important;
    overflow:visible !important;
  }
}

/* ==== MOBILE drawer fine-tune (toplinks height ↓, categories height ↑) ==== */
@media (max-width: 900px){
  /* 1) Білий блок toplinks — менші внутрішні відступи і щільніші рядки */
  .dy-drawer__links{ padding: 6px 14px 4px !important; }
  .dy-drawer__links nav.dy-toplinks{ margin:0 !important; }
  .dy-drawer__links nav.dy-toplinks > a,
  .dy-drawer__links .dy-topnav__link{
    padding: 10px 0 !important;
    line-height: 1.15 !important;
  }

  /* 2) Темний блок категорій — трохи більші падінги, щоб фон точно покривав контент */
  .dy-drawer__catalog{
    padding: 14px 14px 20px !important;   /* ↑ низ */
    position: relative;                    /* страхує фон */
  }

  /* прев’ю зверху — трохи компактніше */
  .dy-drawer__catalog .dy-mega__media{
    gap: 10px !important;
    margin: 0 0 10px !important;
  }
  .dy-drawer__catalog .dy-mega__media-col img{ max-height: 64px !important; }

  /* сітка підкатегорій — 4 колонки, щільніший текст + гарантована автозріст висоти */
  .dy-drawer__catalog .dy-mega__grid{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 12px 16px !important;
    grid-auto-rows: minmax(0, auto) !important;
  }
  .dy-drawer__catalog .dy-mega__title{
    font-size: 15px !important;
    margin: 0 0 4px !important;
  }
  .dy-drawer__catalog .dy-mega__list{ margin:0 !important; padding:0 !important; }
  .dy-drawer__catalog .dy-mega__list li{ margin: 3px 0 !important; }
  .dy-drawer__catalog .dy-mega__list a{
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  /* 3) Панель після відкриття — взагалі без обмежень по висоті (щоб нічого не обрізало фон) */
  body.is-menu-open .dy-drawer__panel{
    max-height: none !important;
    overflow: visible !important;
  }
}

/* ==== MOBILE drawer — fix toplinks height + 4-col categories (hard overrides) ==== */
@media (max-width: 900px){

  /* 1) Toplinks (білий блок): один під одним і без зайвих відступів */
  .dy-drawer__links{
    padding: 6px 14px 6px !important;          /* ↓ висоту білого блоку */
    background: #fff !important;
  }
  .dy-drawer__links nav.dy-toplinks{
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }
  /* якщо модуль віддає <a> напряму */
  .dy-drawer__links nav.dy-toplinks > a{
    display: block !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    color: #000 !important;
    opacity: 1 !important;
    text-decoration: none !important;
  }
  /* якщо модуль віддає <ul><li><a> */
  .dy-drawer__links .dy-topnav{ display:block !important; margin:0 !important; padding:0 !important; list-style:none !important; }
  .dy-drawer__links .dy-topnav li{ list-style:none !important; margin:0 !important; padding:0 !important; }
  .dy-drawer__links .dy-topnav__link{
    display:block !important;
    padding:10px 0 !important;                 /* компактні рядки */
    color:#000 !important; opacity:1 !important; text-decoration:none !important;
  }

  /* 2) Панель шухляди — без обмеження висоти (інакше чорний блок «ріжеться») */
  body.is-menu-open .dy-drawer__panel{
    max-height: none !important;
    overflow: visible !important;
  }

  /* 3) Категорії (чорний блок): більше внутрішніх відступів + 4 колонки + дрібніший кегль */
  .dy-drawer__catalog{
    padding: 14px 14px 26px !important;        /* ↑ низ чорного фону */
    background:#000 !important; color:#fff !important;
  }

  /* прев’ю зверху — компактніше */
  .dy-drawer__catalog .dy-mega__media{
    display:grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
  }
  .dy-drawer__catalog .dy-mega__media-col img{ max-height: 58px !important; }

  /* самі колонки категорій — 4 у ряд */
  .dy-drawer__catalog .dy-mega__grid{
    display:grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px 14px !important;
    grid-auto-rows: minmax(0, auto) !important;  /* гарантія автозростання */
  }
  .dy-drawer__catalog .dy-mega__title{
    font-size: 14px !important;
    margin: 0 0 4px !important;
  }
  .dy-drawer__catalog .dy-mega__list{ margin:0 !important; padding:0 !important; list-style:none !important; }
  .dy-drawer__catalog .dy-mega__list li{ margin: 2px 0 !important; }
  .dy-drawer__catalog .dy-mega__list a{
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    color: #ddd !important;
    text-decoration: none !important;
  }
  .dy-drawer__catalog .dy-mega__list a:hover{ color:#77be1d !important; }
}

/* ==== MOBILE Drawer height fix (dark catalog) ==== */
@media (max-width: 900px){
  /* тягнемо сам drawer на висоту екрана і дозволяємо скрол */
  .dy-drawer{
    position: fixed !important;
    top: 48px !important;
    left: 0; right: 0; bottom: 0 !important;
    z-index: 1400 !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* панель усередині — без обмежень */
  .dy-drawer__panel{
    max-height: none !important;
    overflow: visible !important;
  }
  body.is-menu-open .dy-drawer__panel,
  body.menu-phase1 .dy-drawer__panel,
  body.menu-phase2 .dy-drawer__panel{
    max-height: none !important;
    overflow: visible !important;
  }

  /* сам темний блок: гарантовано накриває контент */
  .dy-drawer__catalog{
    position: relative !important;
    padding-bottom: 70px !important;   /* трохи запасу внизу */
    background: #000 !important;
  }
  .dy-drawer__catalog::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height: 1px;                       /* шов, щоб не просвічувалось слайдшоу */
    background:#000;
    pointer-events:none;
  }

  /* сітка — автозріст рядків, нічого не обрізаємо */
  .dy-drawer__catalog .dy-mega__grid{
    grid-auto-rows: minmax(0, auto) !important;
  }
}

/* === FINAL FIX mobile drawer mega: images row, text under it === */
@media (max-width: 900px) {
  /* у мобільному мегаменю всередині drawer внутрішній контейнер не grid */
  .dy-mega--mobi .dy-mega__inner {
    display: block !important;
  }

  /* верхній ряд — 4 картинки */
  .dy-mega--mobi .dy-mega__media {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
  }

  /* нижче — 4 колонки з назвами категорій */
  .dy-mega--mobi .dy-mega__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px 16px !important;
  }
}








/* ===== Dyson slideshow (full-bleed, video, overlays, dots, arrows) ===== */

.slideshow.swiper-viewport{
  --nav-center: 56px;
  --nav-size:   62px;
  --round-size: var(--nav-size);
  --nav-chev-size: 20px;
  --nav-chev-thick: 3px;
  --nav-hover-scale: 1.06;

  --ov-left:  clamp(48px, 11vw, 160px);
  --ov-y:     0px;
  --ov-maxw:  clamp(360px, 32vw, 560px);

  --pager-dot: 10px;
  --pager-wide: 20px;

  position: relative;
  background:#000 !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
  color:#fff;
  width:100vw;
  left:50%; right:50%;
  margin-left:-50vw; margin-right:-50vw;
  overflow:hidden;
}

.slideshow .swiper-container,
.slideshow .swiper-wrapper,
.slideshow .swiper-slide{ height: clamp(520px, 82vh, 940px); width:100%; }
.slideshow .swiper-container{ touch-action: pan-y; }

@media (max-width: 992px){
  .slideshow .swiper-container,
  .slideshow .swiper-wrapper,
  .slideshow .swiper-slide{ height: clamp(440px, 74vh, 860px); }
}
@media (max-width: 576px){
  .slideshow .swiper-container,
  .slideshow .swiper-wrapper,
  .slideshow .swiper-slide{ height: clamp(360px, 68vh, 720px); }
}

/* slide/media */
.dy-slide{ position:relative; overflow:hidden; }
.dy-slide__media{ position:absolute; inset:0; overflow:hidden; z-index:1; }
.slideshow-video,
.slideshow img.img-responsive,
.dy-slide__image,.dy-slide__video{
  width:100%; height:100%; display:block;
  object-fit:cover;
  object-position: 38% center;
  background:#000; -webkit-transform:translateZ(0); transform:translateZ(0);
  will-change:transform;
}

/* FULL-HEIGHT wrapper для overlay */
.dy-ov-wrap{
  position:absolute; inset:0;
  display:flex; flex-direction:row; align-items:center; justify-content:flex-start;
  padding-left: var(--ov-left);
  transform: translateY(var(--ov-y));
  pointer-events:none;
  z-index:2; text-align:left;
}

/* overlay колонка */
.slideshow-overlay{
  position:relative;
  max-width: var(--ov-maxw);
  display:flex; flex-direction:column; gap: clamp(6px, .9vw, 12px);
  color:#fff; text-align:left;
  pointer-events:auto;
}

/* Badge (логотип) */
.dy-slide__badge{ width: clamp(120px, 12vw, 140px); margin-bottom: clamp(8px, 1.2vw, 14px); }
.dy-slide__badge .slideshow-badge{ display:block; width:100%; height:auto; }

/* заголовок */
.slideshow-title{
  margin:0; color:#fff; font-weight:700; line-height:1.4;
  font-size: clamp(14px, 1.35vw, 30px);
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-height: none !important;
  display:block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  word-break: break-word;
}

/* підзаголовок */
.slideshow-sub{
  margin:0;
  font-size: clamp(13px, 1.35vw, 17px);
  line-height:1.45; opacity:.95;
  white-space: normal !important; overflow: visible !important;
  text-overflow: clip !important; max-height: none !important;
  display:block !important; -webkit-line-clamp: unset !important; -webkit-box-orient: unset !important;
}

/* кнопка */
.slideshow-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height: 42px; min-width: 100px; max-width: 140px; padding: 0 22px;
  border-radius: 0; background:#79c000; color:#fff !important;
  text-decoration:none; font-weight:300; letter-spacing:.1px;
  transition: background-color .15s ease; font-size: 0.94rem;
}
.slideshow-btn:hover{ background:#6eb300; color:#fff !important; }

/* Arrows */
.slideshow .swiper-button-next,
.slideshow .swiper-button-prev{
  position:absolute; top:50%;
  width: var(--nav-size); height: var(--nav-size);
  border-radius:50%; z-index:6;
  transform:translateY(-50%) !important; -webkit-transform:translateY(-50%) !important;
  margin:0 !important; background:none !important; background-image:none !important;
  text-indent:0; font-size:0; line-height:0; opacity:1 !important; visibility:visible !important;
}
.slideshow .swiper-button-prev{ left:  calc(var(--nav-center) - var(--nav-size)/2) !important; right:auto !important; }
.slideshow .swiper-button-next{ right: calc(var(--nav-center) - var(--nav-size)/2) !important; left: auto !important; }

.slideshow .swiper-button-next::before,
.slideshow .swiper-button-prev::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  width: var(--round-size, var(--nav-size)); height: var(--round-size, var(--nav-size));
  background:#0a0a0a; transform:scale(1); transform-origin:center; transition: transform .15s ease; pointer-events:none;
}

.slideshow .swiper-button-next::after,
.slideshow .swiper-button-prev::after{
  content:''; position:absolute; top:50%; left:50%;
  width:var(--nav-chev-size); height:var(--nav-chev-size);
  border: solid #fff; border-width:0 var(--nav-chev-thick) var(--nav-chev-thick) 0; pointer-events:none;
}
.slideshow .swiper-button-next::after{ -webkit-transform: translate(-50%, -50%) rotate(-45deg); transform: translate(-50%, -50%) rotate(-45deg); }
.slideshow .swiper-button-prev::after{ -webkit-transform: translate(-50%, -50%) rotate(135deg); transform: translate(-50%, -50%) rotate(135deg); }

.slideshow .swiper-button-next:hover::before,
.slideshow .swiper-button-prev:hover::before{ transform: scale(var(--nav-hover-scale)); }

@media (max-width: 768px){
  .slideshow .swiper-button-next,
  .slideshow .swiper-button-prev{
    display:none !important;
    pointer-events:none !important;
  }
}

/* Pagination left */
.slideshow .swiper-pagination{
  left:0; right:auto; bottom:14px !important;
  padding-left: clamp(40px, 12vw, 240px);
  padding-right:0;
  display:flex; align-items:center; justify-content:flex-start; gap:10px; z-index:3;
}
.slideshow .swiper-pagination-bullet{
  position:relative; flex:0 0 auto;
  width: var(--pager-dot); height: var(--pager-dot);
  margin:0 !important; background:#d7d7d7 !important;
  opacity:1; border-radius:999px; overflow:hidden;
}
.slideshow .swiper-pagination-bullet::before{
  content:''; position:absolute; inset:0; border-radius:inherit;
  background:#7dd106; transform-origin:left center; transform: scaleX(0);
  transition: transform .28s ease;
}
.slideshow .swiper-pagination-bullet-active{
  width: var(--pager-wide) !important;
  background: transparent !important; border-radius:8px !important;
}
.slideshow .swiper-pagination-bullet-active::before{ transform: scaleX(1); }

.slideshow.swiper-viewport,
.slideshow .swiper-container,
.slideshow .swiper-wrapper,
.slideshow .swiper-slide { border-radius: 0 !important; }

/* === Dyson Banner Grid (інфо-картки) === */
.dy-banner-grid{
  max-width: 1170px;
  margin: 40px auto;
  padding: 0 15px;
  width: 100%;
}
@media (min-width: 1400px){ .dy-banner-grid{ max-width: 1320px; } }

.dy-banner-row{
  display:grid;
  grid-template-columns: repeat(4, 280px);
  gap: 24px;
  justify-content: center;
}
.dy-banner-card{
  background:#fff;
  border:1px solid #e6e6e6;
  min-height:120px;
  height:140px;
  padding: 16px 18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transition:border-color .2s ease;
  box-shadow:none;
}
.dy-banner-link{
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap: 12px;
  height:100%;
}
.dy-banner-ico{ width:42px; height:42px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
.dy-banner-ico img{ max-width:100%; max-height:100%; display:block; }

.dy-banner-title, .dy-banner-txt{
  font-size: 18px; line-height:1.4; font-weight:500; color:#111; text-align:left;
  text-decoration:underline; text-underline-offset:3px;
}
.dy-banner-desc{ font-size:14px; line-height:1.3; color:#111; text-align:left; }

.dy-banner-card:hover .dy-banner-title,
.dy-banner-card:hover .dy-banner-txt{ color:#79c000; text-decoration:none; }
.dy-banner-card:hover{ border-color:#dcdcdc; }

@media (max-width: 992px){
  .dy-banner-row{ grid-template-columns: repeat(2, minmax(260px, 1fr)); }
  .dy-banner-card{ height:120px; }
}
@media (max-width: 576px){
  .dy-banner-row{ grid-template-columns: repeat(2, 1fr); }
  .dy-banner-card{ height:auto; padding:14px; }
  .dy-banner-ico{ width:34px; height:34px; }
  .dy-banner-title, .dy-banner-txt{ font-size:14px; line-height:1.3; }
}

/* === Dyson Hero Full-Bleed === */
.dy-hero{
  position:relative; width:100vw;
  left:50%; right:50%; margin-left:-50vw; margin-right:-50vw;
}
.dy-hero__block{
  display:flex; justify-content:center; align-items:center;
  min-height: clamp(320px, 58vw, 620px);
  background-image: var(--bg);
  background-repeat:no-repeat;
  background-size: cover;
  background-position: right bottom;
  position:relative; z-index:1;
}
.dy-hero__block--alt{ background-position:center bottom; }
.dy-hero__container{
  width:100%; max-width:1320px; margin:0 auto; padding:0 15px;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  text-align:left; position:relative; z-index:2;
}
.dy-hero__badge{ display:block; max-width: clamp(140px, 16vw, 220px); margin-bottom:18px; }
.dy-hero__title{ font-size: clamp(28px, 3.6vw, 46px); line-height:1.2; font-weight:300; margin-bottom:12px; color:#111; }
.dy-hero__sub{ font-size: clamp(15px, 1.4vw, 20px); line-height:1.4; color:#333; font-weight: 300; }
.dy-hero__img-mob{ display:none; }

@media (max-width: 992px){
  .dy-hero__block{ background:none; min-height:auto; flex-direction:column; align-items:flex-start; padding-top: clamp(20px, 6vw, 28px); }
  .dy-hero__container{ max-width:680px; padding: 0 clamp(20px, 4vw, 24px); margin-left:auto; margin-right:auto; align-items:flex-start; text-align:left; }
  .dy-hero__badge{ max-width: clamp(120px, 28vw, 180px); margin-bottom:12px; }
  .dy-hero__title{ font-size: clamp(22px, 6vw, 28px); line-height:1.25; margin:0 0 8px; }
  .dy-hero__sub{ font-size: clamp(14px, 4.4vw, 16px); }
  .dy-hero__img-mob{ display:block; width:100%; height:auto; object-fit: contain; margin-top: clamp(12px, 4vw, 20px); }
}

/* ===== Dyson Category Grid ===== */
.dy-catgrid{
  padding: 40px 0 60px;
  max-width: 1140px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}
.dy-catgrid__title{
  grid-column: 1/-1;
  font-size: clamp(22px, 2.6vw, 32px);
  font-weight: 500;
  text-align: center;
  margin: 0 0 8px;
  color: #1C1C1C;
  line-height: 1.3;
}
.dy-cattile{
  display: grid;
  grid-template-rows: auto 1fr auto;
  background:#fff;
  border:1px solid var(--dy-border);
  color:#1C1C1C;
  text-decoration:none;
}
.dy-cattile__media{
  margin: 0;
  padding: 18px;
  aspect-ratio: 16/10;
  background:#fff;
}
.dy-cattile__media img{ width:100%; height:100%; display:block; object-fit:contain; }
.dy-cattile__title{
  margin: 14px 18px 0;
  font-weight:300;
  font-size:18px;
  line-height:1.4;
  min-height:48px;
  transition: color .18s ease;
}
.dy-cattile__btn{
  display: block;
  box-sizing: border-box;
  width: calc(100% - 36px);
  margin: 14px auto 18px;
  padding: 14px 18px;
  background: #1C1C1C;
  color: #fff;
  font-weight: 300;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  border: none;
  transition: background .18s ease;
}
.dy-cattile:hover .dy-cattile__title{ color: var(--dy-green); }
.dy-cattile:hover .dy-cattile__btn{ background: var(--dy-green); color:#fff; }

@media (max-width:1199px){
  .dy-catgrid{ max-width: 960px; grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:767px){
  .dy-catgrid{
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
    grid-template-columns: 1fr;
    gap: 16px;
    overflow-x: hidden;          /* на всяк, щоб нічого не тягнуло сторінку */
  }

  .dy-cattile{
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }

  .dy-cattile__media{
    padding: 16px;
  }

  .dy-cattile__media img{
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
  }

  .dy-cattile__title{
    font-size: 17px;
    margin: 12px 0 0;
    min-height: 0;
  }

  .dy-cattile__btn{
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 12px 0 14px;
    padding: 12px 14px;
    font-size: 15px;
  }
}

@media (max-width:767px) {

  .dy-cattile {
    padding: 0 16px 16px;   /* Додаємо внутрішній паддінг по боках і знизу */
    box-sizing: border-box;
  }

  .dy-cattile__media {
    margin-left: -16px;     /* Компенсуємо паддінг картки */
    margin-right: -16px;    /* щоб картинка знову була на всю ширину */
  }

  .dy-cattile__title {
    margin-top: 12px;
    padding: 0;             /* Текст лишаємо без бокового паддінгу — він тепер всередині картки */
  }

  .dy-cattile__btn {
    width: 100%;
    padding: 12px 0;
    margin: 12px 0 0;
    border-radius: 0;
  }

}

/* ================= Dyson Footer (clean, stable grid) ================ */
.dy-footer{
  background:#000;
  color:#b1b1b1;
  font-size:14px;
  font-weight:300;
  margin-top:0;
  padding:0;
}

/* Єдиний контейнер і однакова ширина для обох секцій футера */
.dy-wrap{
  width:100%;
  max-width:1360px;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}

/* ── Верхня смуга ---------------------------------------------------- */
.dy-footer__contact{ background:#1C1C1C; }
.dy-footer__contact-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:30px 0;
}
.dy-footer__contact-left{ max-width:495px; }
.dy-foot-title{ color:#fff; font-size:36px; line-height:46px; font-weight:300; margin:0 0 15px; }
.dy-foot-desc { color:#fff; font-size:16px; line-height:30px; margin:0; }
.dy-foot-desc a{ color:#fff; text-decoration:underline; }
.dy-footer__contact-right{ display:flex; gap:80px; }
.dy-foot-tile{ display:flex; flex-direction:column; align-items:center; gap:15px; text-decoration:none; }
.dy-foot-tile .txt{ color:#fff; font-size:19px; line-height:28px; }

/* ── Основний блок --------------------------------------------------- */
.dy-footer__main{ padding:60px 0; }

.dy-foot-grid{
  display:grid;
  grid-template-columns:280px 1fr 1fr 1fr 1fr;
  column-gap:64px;
  row-gap:30px;
  align-items:flex-start;
  padding:0;
  margin:0;
}

/* Лого */
.dy-foot-brand{
  grid-column:1; grid-row:1;
  display:flex; align-items:center; justify-content:flex-start;
}
.dy-foot-brand img{ max-width:160px; height:auto; display:block; }

/* Копірайт */
.dy-foot-copy{
  grid-column:1; grid-row:2;
  margin-top:12px;
  font-size:13px;
  color:#9c9c9c;
}

/* Колонки меню 2–5 */
.dy-foot-grid > :nth-child(3){ grid-column:2; grid-row:1; }
.dy-foot-grid > :nth-child(4){ grid-column:3; grid-row:1; }
.dy-foot-grid > :nth-child(5){ grid-column:4; grid-row:1; }
.dy-foot-grid > :nth-child(6){ grid-column:5; grid-row:1; }

.dy-foot-col .title{ color:#fff; font-size:20px; line-height:32px; font-weight:400; margin:0 0 10px; }
.dy-foot-col .list{ list-style:none; padding:0; margin:0; }
.dy-foot-col .list li{ margin-bottom:6px; }
.dy-foot-col .list a{ color:#b1b1b1; text-decoration:none; }
.dy-foot-col .list a:hover{ color:#79B928; }

/* Контакти */
.dy-foot-contacts .note{ margin:0 0 10px; color:#808080; line-height:30px; }
.dy-foot-contacts .contact{
  display:flex; align-items:center; gap:10px;
  color:#fff; line-height:30px; text-decoration:none; margin:0 0 10px;
}
.dy-foot-contacts .contact:hover{ color:#79B928; }

/* ── Кнопка "Замовити дзвінок" (оновлено) ---------------------------- */
.dy-foot-col .dy-btn{
  display:inline-flex;                 /* компактніше обтікання */
  align-items:center;
  justify-content:center;
  padding:10px 18px;                  /* трохи нижча */
  border:1px solid #fff;
  border-radius:0;                    /* без скруглень */
  background: #000;
  color:#fff;
  font-size:18px;
  font-weight:600;
  line-height:1;                      /* фіксована висота рядка */
  text-decoration:none;
  white-space:nowrap;                 /* в один рядок */
  transition:background-color .3s ease,
             color .3s ease,
             border-color .3s ease,
             box-shadow .3s ease;
}
.dy-foot-col .dy-btn:hover{
  background:#fff;
  color:#000;
  border-color:#fff;                  /* така ж анімація, плавніше */
}

/* ── Адаптив --------------------------------------------------------- */
@media (max-width:1200px){
  .dy-wrap{ padding-left:20px; padding-right:20px; }
  .dy-footer__contact-right{ gap:40px; }
  .dy-foot-grid{ column-gap:40px; }
}

@media (max-width:992px){
  .dy-footer__contact-row{
    flex-direction:column;
    gap:30px;
  }

  .dy-foot-grid{
    grid-template-columns:1fr 1fr;
    column-gap:24px;
    row-gap:24px;
  }

  /* усі колонки по черзі */
  .dy-foot-brand,
  .dy-foot-copy,
  .dy-foot-grid > :nth-child(3),
  .dy-foot-grid > :nth-child(4),
  .dy-foot-grid > :nth-child(5),
  .dy-foot-grid > :nth-child(6){
    grid-column:auto;
    grid-row:auto;
  }

  /* лого — зверху і по центру */
  .dy-foot-brand{
    grid-column:1 / -1;
    justify-content:center;
  }

  /* копірайт — у самому низу футера */
  .dy-foot-copy{
    grid-column:1 / -1;
    order:99;
    text-align:center;
    margin-top:30px;
  }
}

@media (max-width:750px){
  .dy-foot-tile{ width:50%; text-align:center; }
}

@media (max-width:576px){
  .dy-foot-title{ font-size:28px; line-height:36px; }
  .dy-foot-grid{ grid-template-columns:1fr; }
}

/* ===================== CART (Dyson style, final, no-rounded) ===================== */

/* wrapper */
.dy-cart{
  max-width:1180px;
  margin:24px auto 64px;
  padding:0 16px;
}

/* title */
.dy-cart__title{
  margin:8px 0 4px;
  font-size:32px;
  line-height:1.2;
  font-weight:400;
  color:#000;
  letter-spacing:.01em;
  text-align:center;
}

/* subtitle */
.dy-cart__subtitle{
  margin:0 0 16px;
  color:#77be1d;
  font-weight:800;
  text-align:center;
}
.dy-cart__subtitle strong{ font-weight:800; }

/* panel */
.dy-cart__panel{
  border:1px solid #e9edf2;
  border-radius:0;
  background:#fff;
  padding:0;
  overflow:hidden;
}

/* rows container */
.dy-cart__body{
  display:flex;
  flex-direction:column;
  gap:0;
  border:0;
}

/* item */
.dy-cart__item{
  display:grid;
  grid-template-columns:
    120px
    minmax(300px,1fr)
    1fr
    88px
    1fr
    minmax(150px,auto)
    minmax(150px,auto)
    56px;
  grid-template-areas:"img info . qty . price total remove";
  align-items:center;
  column-gap:18px;
  padding:18px 22px;
  background:#fff;
}

/* image */
.dy-cart__img{
  grid-area:img;
  display:flex;
  align-items:center;
  justify-content:center;
  width:120px;
  height:120px;
}
.dy-cart__img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* info */
.dy-cart__info{
  grid-area:info;
  min-width:0;
}
.dy-cart__name{
  font-weight:800;
  font-size:18px;
  line-height:1.35;
  margin:0;
  color:#1c1c1c;
  text-decoration:none;
}
.dy-cart__options{
  margin-top:6px;
  font-size:12px;
  color:#6a6f76;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
/* ===== Cart: "Продовжити" (порожній кошик) ===== */
/* Точково: тільки на сторінці кошика, тільки ця кнопка */
#content .buttons .pull-right > .btn.btn-primary {
  background-color: #77be1d !important;
  border-color: #77be1d !important;
  background-image: none !important;   /* глушимо градієнти */
  color: #fff !important;

  text-transform: uppercase;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;

  padding: 16px 48px;
  border-radius: 0 !important;
  border: none !important;

  display: inline-block;
  text-align: center;

  box-shadow: none !important;
  text-shadow: none !important;
  outline: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}

/* Hover/Focus/Active — той самий зелений, лише ефект наближення */
#content .buttons .pull-right > .btn.btn-primary:hover,
#content .buttons .pull-right > .btn.btn-primary:focus,
#content .buttons .pull-right > .btn.btn-primary:active,
#content .buttons .pull-right > .btn.btn-primary:active:focus {
  background-color: #77be1d !important;
  border-color: #77be1d !important;
  color: #fff !important;
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}



/* qty */
.dy-cart__qty{
  grid-area:qty;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dy-cart__qty-input{
  width:72px;
  height:46px;
  border:1px solid #dbdbdb;
  border-radius:0;
  background:#fff;
  color:#000;
  font-size:18px !important;
  font-weight:700 !important;
  text-align:center;
  outline:none;
  box-shadow:none !important;
  appearance:textfield;
}
.dy-cart__qty-input:focus{ border-color:#000; }

/* prices */
.dy-cart__price{ grid-area:price; text-align:left; }
.dy-cart__total{ grid-area:total; text-align:left; }
.dy-cart__price-label,
.dy-cart__total-label{
  display:block;
  font-size:13px;
  color:#777;
  margin:0 0 4px;
}
.dy-cart__price-value,
.dy-cart__total-value{
  display:block;
  font-size:22px;
  font-weight:800;
  color:#111;
  letter-spacing:.01em;
  white-space:nowrap;
}

/* remove */
.dy-cart__remove{
  grid-area:remove;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dy-btn--remove{
  position:relative;
  width:40px;
  height:40px;
  border:0;
  background:none;
  cursor:pointer;
}
.dy-btn--remove::before,
.dy-btn--remove::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:24px;
  height:3px;
  background:#77be1d;
  transform-origin:center;
}
.dy-btn--remove::before{ transform:translate(-50%,-50%) rotate(45deg); }
.dy-btn--remove::after{  transform:translate(-50%,-50%) rotate(-45deg); }

/* grand total */
.dy-cart__grand{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:10px;
  padding:10px 22px 12px;
  border-top:1px solid #e9edf2;
  background:#fff;
  margin-top:-1px;
}
.dy-cart__grand-title{
  font-size:14px;
  color:#000;
  line-height:1.2;
  position:relative;
  top:1px;
}
.dy-cart__grand-title strong{ font-weight:800; font-size:18px; }
.dy-cart__grand-value{
  font-size:18px;
  font-weight:800;
  color:#111;
  letter-spacing:.01em;
  line-height:1.1;
}

/* promo (container) */
.dy-cart__promo{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  margin:24px 0 26px;
}

/* promo top row */
.dy-cart__promo-row{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
}

/* promo form (input + button as one) */
.dy-cart__promo-form{
  display:flex;
  align-items:stretch;
  border:1px solid #e9edf2;
  border-radius:0;
  overflow:hidden;
  height:46px;
  max-width:340px;
  flex:0 0 auto;
}

/* promo input */
.dy-cart__promo-input{
  flex:1;
  border:none;
  background:#fff;
  color:#111;
  font-size:15px;
  padding:0 12px;
  outline:none;
  height:100%;
  box-sizing:border-box;
  -webkit-appearance:none;
  appearance:none;
  border-radius:0 !important;
}

/* promo button */
.dy-cart__promo-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-left:1px solid #e9edf2;
  border-radius:0;
  background-color:#dcdcdc;
  color:#000;
  font-size:14px;
  font-weight:500;
  padding:0 24px;
  cursor:pointer;
  height:100%;
  transition:none;
}

/* promo meta (right text) */
.dy-cart__promo-meta{
  align-self:center;
  white-space:nowrap;
  font-size:14px;
  color: #000;
}

/* promo messages */
.dy-cart__promo-messages{ width:100%; margin-top:4px; }
.dy-cart__promo-msg{ font-size:14px; line-height:1.3; }
.dy-cart__promo-msg--error{ color:#d33; display:none; }

/* actions (container) */
.dy-cart__actions{
  display:flex;
  justify-content:flex-end;
  gap:14px;
}

/* button base */
.dy-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  cursor:pointer;
}

/* button green (checkout) */
.dy-btn--green{
  background-color:#77be1d;
  color:#fff;
  font-weight:400;
  font-size:18px;
  line-height:1;
  text-transform:uppercase;
  padding:16px 48px;
  border:none;
  border-radius:0;
  cursor:pointer;
  display:inline-block;
  text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.dy-btn--green:hover{
  transform:scale(1.04);
  background-color:#77be1d;
  color:#fff;
}
.dy-btn--green:active{
  transform:scale(0.98);
  box-shadow:0 2px 6px rgba(0,0,0,.1);
}
.dy-btn--green[disabled],
.dy-btn--green.is-disabled{
  background-color:#c2c2c2;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

/* button ghost */
.dy-btn--ghost{
  background:#fff;
  border:1px solid #e2e6eb;
  color:#1e2124;
  border-radius:10px;
  height:54px;
  min-width:180px;
  text-decoration:none;
}

/* ------------------------------------------------------------------
   CART — RESPONSIVE LAYOUT
   Порядок важливий: мобілка → tablet (561–991) → narrow desktop (992–1199)
-------------------------------------------------------------------*/

/* ===================== MOBILE (≤560px) ===================== */
@media (max-width:560px){
  /* контейнер/панель */
  .dy-cart{ padding: 0 12px; }
  .dy-cart__panel{ max-width: 480px; margin: 0 auto; }

  /* картка товару:
     3 рядки: IMG / NAME / (QTY | PRICE | TOTAL)
     remove — позиціонуємо абсолютно у правому верхньому куті */
  .dy-cart__item{
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto auto;     /* qty | price | total */
    grid-template-areas:
      "img img img"
      "info info info"
      "qty price total";
    row-gap: 10px;
    padding: 14px;
    background: #fff;
    align-items: center;
  }

  /* зображення: перший рядок, по центру */
  .dy-cart__img{
    grid-area: img;
    justify-self: center;
    align-self: center;
    width: 100%; height: auto;
  }
  .dy-cart__img img{ width: 140px; height: 140px; object-fit: contain; }

  /* назва: другий рядок, на всю ширину, текст зліва */
  .dy-cart__info{ grid-area: info; min-width: 0; }
  .dy-cart__name{ text-align: left; }

  /* третій рядок: qty ліворуч; price/total — прилипають праворуч */
  .dy-cart__qty{   grid-area: qty;   justify-self: start; }
  .dy-cart__price{ grid-area: price; justify-self: end; text-align: right; margin-right: 8px; }
  .dy-cart__total{ grid-area: total; justify-self: end; text-align: right; margin-right: 4px; }

  /* хрестик */
  .dy-cart__remove{
    position: absolute;
    top: 10px; right: 10px;
  }

  /* інпут/цифри */
  .dy-cart__qty-form{ margin: 0; }
  .dy-cart__qty-input{ height: 40px; font-size: 16px !important; }
  .dy-cart__price-value,
  .dy-cart__total-value{ font-size: 20px; line-height: 1.2; }

  /* grand total (внизу праворуч) */
  .dy-cart__grand{
    justify-content: flex-end;
    text-align: right;
    padding: 12px 14px;
  }

  /* промокод під карткою */
  .dy-cart__promo{ margin: 16px 0 18px; }
  .dy-cart__promo-row{ display: block; }
  .dy-cart__promo-form{
    max-width: 100%; width: 100%;
    display: flex; align-items: stretch; height: 46px;
  }
  .dy-cart__promo-input{ flex: 1; width: 100%; }
  .dy-cart__promo-btn{ flex: 0 0 auto; }
  .dy-cart__promo-meta{
    width: 100%;
    text-align: left;
    margin-top: 8px;
    font-size: 14px;
  }
  .dy-cart__promo-messages{ margin-top: 6px; }
  .dy-cart__promo-msg{ font-size: 14px; line-height: 1.3; }
  .dy-cart__promo-msg--error{ color: #d33; }

  /* кнопка оформлення — на всю ширину */
  .dy-btn--green{ min-width: 100%; }
}

/* ===================== TABLET PORTRAIT (561–991px) ===================== */
@media (min-width:561px) and (max-width:991px){
  /* сітка: img | info | qty | price | total | remove (remove зверху праворуч у своїй колонці) */
  .dy-cart__item{
    display: grid;
    grid-template-columns: 96px 1fr 64px 1fr 1fr; /* img | info | qty | price | total */
    grid-template-areas:
      "img  info  info   info   remove"
      "img  qty   .      price  price"
      "img  .     .      total  total";
    column-gap: 12px;
    row-gap: 8px;
    padding: 14px 16px 16px;
  }

  .dy-cart__img{ grid-area: img; width: 96px; height: 96px; }
  .dy-cart__info{ grid-area: info; padding-right: 24px; }
  .dy-cart__qty{ grid-area: qty; justify-self: start; }

  .dy-cart__price{
    grid-area: price;
    justify-self: end;
    text-align: right;
    white-space: nowrap;
  }
  .dy-cart__total{
    grid-area: total;
    justify-self: end;
    text-align: right;
    white-space: nowrap;
  }

  /* remove — у своїй клітинці (без absolute) */
  .dy-cart__remove{
    grid-area: remove;
    position: static;
    justify-self: end;
    align-self: start;
  }
}

/* ===================== NARROW DESKTOP (992–1199px) ===================== */
@media (min-width:992px) and (max-width:1199px){
  .dy-cart__item{
    position: relative;
    display: grid;
    align-items: center;
    column-gap: 12px;
    padding: 16px;
    grid-template-columns:
      110px                 /* img */
      1fr                   /* info */
      72px                  /* qty */
      minmax(140px,auto)    /* price */
      minmax(140px,auto)    /* total */
      32px;                 /* remove */
  }

  .dy-cart__img{ width: 110px; height: 110px; }
  .dy-cart__info{ padding-right: 28px; }

  .dy-cart__price,
  .dy-cart__total{
    text-align: right;
    justify-self: end;
    white-space: nowrap;
  }

  /* останнє (актуальне) позиціювання хрестика */
  .dy-cart__remove{
    position: absolute;
    top: -10px; right: -10px;
    justify-self: end;
    align-self: start;
  }
}

/* ===================== CART TOAST (Dyson-like) ===================== */

/* Контейнер */
.dy-toast{
  position:fixed;
  top:10px;
  right:10px;
  z-index:1100;
  pointer-events:none;
}

/* Картка тосту */
.dy-toast__card{
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border:1px solid #e7ebf1;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  padding:25px 18px;
  min-width:160px;
  max-width:280px;
  opacity:0;
  transform:translateY(-10px) scale(.98);
  animation:dyToastIn .26s ease-out forwards, dyToastWobble .5s ease-out .26s;
}
.dy-toast__text{
  color:#111;
  font-size:16px;
  line-height:1.4;
  font-weight:500;
}
.dy-toast__card.is-leaving{ animation:dyToastOut .24s ease forwards; }

@keyframes dyToastIn{
  from{opacity:0;transform:translateY(-10px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes dyToastWobble{
  0%{transform:translateY(0) rotate(0)}
  22%{transform:translateY(0) rotate(-.9deg)}
  52%{transform:translateY(0) rotate(.9deg)}
  78%{transform:translateY(0) rotate(-.4deg)}
  100%{transform:translateY(0) rotate(0)}
}
@keyframes dyToastOut{ to{opacity:0;transform:translateY(-8px) scale(.98)} }

@media (prefers-reduced-motion: reduce){
  .dy-toast__card{animation:none;opacity:1;transform:none}
}

/* ===================== Scalable checkmark (CSS variables) ===================== */
.success-checkmark{
  --size: 36px;
  --border: calc(var(--size) * 0.05);
  --bg: #fff;
  --color: #77be1d;

  position:relative;
  width: calc(var(--size) + var(--border) * 2);
  height: calc(var(--size) + var(--border) * 2);
  overflow:hidden;
  border-radius:50%;
  flex:0 0 auto;
}
.success-checkmark .check-icon{
  width: var(--size);
  height: var(--size);
  position:relative;
  border-radius:50%;
  box-sizing:content-box;
  border: var(--border) solid var(--color);
}
.success-checkmark .check-icon::before,
.success-checkmark .check-icon::after{
  content:'';
  position:absolute;
  height: calc(var(--size) * 1.25);
  background: var(--bg);
  transform: rotate(-45deg);
}
.success-checkmark .check-icon::before{
  top: calc(var(--border) * 0.75);
  left: calc(var(--border) * -0.5);
  width: calc(var(--size) * 0.375);
  border-radius: calc(var(--size) * 1.25) 0 0 calc(var(--size) * 1.25);
  transform-origin: 100% 50%;
}
.success-checkmark .check-icon::after{
  top: 0;
  left: calc(var(--size) * 0.375);
  width: calc(var(--size) * 0.75);
  transform-origin: 0 50%;
  border-radius: 0 50% 50% 0;
  animation: rotate-circle 4.25s ease-in;
}
.success-checkmark .icon-line{
  position:absolute;
  z-index:10;
  height: calc(var(--border) * 1.25);
  background-color: var(--color);
  display:block;
  border-radius: calc(var(--border) / 2);
}
.success-checkmark .line-tip{
  top: calc(var(--size) * 0.575);
  left: calc(var(--size) * 0.175);
  width: calc(var(--size) * 0.3125);
  transform: rotate(45deg);
  animation: icon-line-tip 0.75s;
}
.success-checkmark .line-long{
  top: calc(var(--size) * 0.475);
  right: calc(var(--size) * 0.1);
  width: calc(var(--size) * 0.5875);
  transform: rotate(-45deg);
  animation: icon-line-long 0.75s;
}
.success-checkmark .icon-circle{
  position:absolute;
  z-index:10;
  top: calc(var(--border) * -1);
  left: calc(var(--border) * -1);
  width: var(--size);
  height: var(--size);
  border-radius:50%;
  box-sizing:content-box;
  border: var(--border) solid rgba(119,190,29,.5);
}
.success-checkmark .icon-fix{
  position:absolute;
  top: calc(var(--border) * 2);
  left: calc(var(--size) * 0.325);
  width: calc(var(--border) * 1.25);
  height: calc(var(--size) + var(--border) * 1.25);
  transform: rotate(-45deg);
  background: var(--bg);
  z-index:1;
}
@keyframes rotate-circle{
  0%{transform:rotate(-45deg)}
  5%{transform:rotate(-45deg)}
  12%{transform:rotate(-405deg)}
  100%{transform:rotate(-405deg)}
}
@keyframes icon-line-tip{
  0%{width:0;left:calc(var(--size)*0.0125);top:calc(var(--size)*0.2375)}
  54%{width:0;left:calc(var(--size)*0.0125);top:calc(var(--size)*0.2375)}
  70%{width:calc(var(--size)*0.625);left:calc(var(--size)*-0.1);top:calc(var(--size)*0.4625)}
  84%{width:calc(var(--size)*0.2125);left:calc(var(--size)*0.2625);top:calc(var(--size)*0.6)}
  100%{width:calc(var(--size)*0.3125);left:calc(var(--size)*0.175);top:calc(var(--size)*0.5625)}
}
@keyframes icon-line-long{
  0%{width:0;right:calc(var(--size)*0.575);top:calc(var(--size)*0.675)}
  65%{width:0;right:calc(var(--size)*0.575);top:calc(var(--size)*0.675)}
  84%{width:calc(var(--size)*0.6875);right:0;top:calc(var(--size)*0.4375)}
  100%{width:calc(var(--size)*0.5875);right:calc(var(--size)*0.1);top:calc(var(--size)*0.475)}
}

/* допоміжний контейнер під іконку */
.dy-toast__icon{ display:inline-flex; align-items:center; justify-content:center; }

/* ===== Dyson-style breadcrumbs ===== */

/* глушимо стандартні OC */
ul.breadcrumb {
  display: none !important;
}

/* контейнер крихт */
.dy-bc {
  position: relative;
  background: #fff;
  margin: 0;
  padding: 0;
}

/* бордер на всю ширину екрана під крихтами */
.dy-bc::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100vw;
  transform: translateX(-50%);
  border-bottom: 1px solid #d2d2d2;
}

/* внутрішній контейнер */
.dy-bc .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 16px;
}

/* список крихт (BEM + сумісність зі старими класами) */
.dy-bc__list,
.dy-bc_list {
  display: flex;
  flex-wrap: wrap;              /* ✅ дозволяємо перенос по рядках */
  justify-content: center;
  align-items: center;
  column-gap: 14px;
  row-gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

/* елемент крихти */
.dy-bc__item,
.dy-bc_item {
  display: inline-flex;
  align-items: center;
}

/* посилання */
.dy-bc__link,
.dy-bc_link {
  color: #77be1d;
  text-decoration: none;
}

.dy-bc__link:hover,
.dy-bc_link:hover {
  color: #77be1d;
}

/* поточна сторінка */
.dy-bc__current,
.dy-bc_item.is-current .dy-bc__link,
.dy-bc_item.is-current .dy-bc_link {
  color: #000;
  pointer-events: none;
}

/* зелена стрілка-роздільник */
.dy-bc__item:not(.is-current)::after,
.dy-bc_item:not(.is-current)::after {
  content: "";
  width: 12px;
  height: 18px;
  display: inline-block;
  margin-left: 8px;
  background: #77be1d;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'><path d='M1 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'><path d='M1 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  transform: translateY(1px);
}

/* --- адаптив --- */
@media (max-width: 768px) {
  .dy-bc .container {
    padding: 6px 12px;
  }

  .dy-bc__list,
  .dy-bc_list {
    justify-content: flex-start;  /* на мобілці — вліво */
    text-align: left;
    column-gap: 10px;
    row-gap: 4px;
    font-size: 14px;
  }

  .dy-bc__item:not(.is-current)::after,
  .dy-bc_item:not(.is-current)::after {
    width: 10px;
    height: 16px;
  }
  .dy-bc__list,
  .dy-bc_list {
    justify-content: center !important;   /* центруємо */
    text-align: center !important;        /* щоб перенос виглядав рівно */
  }
}

/* точкові правки по сторінках */
#checkout-cart .dy-bc {
  padding-top: 0;
  margin-top: 0;
}

#product-product .dy-bc {
  padding-top: 6px;
}

/* страховка: глушимо стандартний роздільник OC */
.breadcrumb > li + li:before {
  content: none !important;
}




/* ===================== Checkout (Dyson) ===================== */
:root{
  --dy-green:#92b53b;
  --dy-green-ink:#6f8f2d;
  --dy-text:#1b1b1b;
  --dy-muted:#777;
  --dy-border:#e9e9e9;
  --dy-shadow:0 10px 24px rgba(0,0,0,.08);

  --form-w:480px;
  --cart-w:320px;
  --gap:40px;

  --stick-top:20px;
}

.dy-co{ padding:24px 0 80px; color:var(--dy-text); }

/* Контейнер */
.container.dy-co__container{
  max-width:none !important;
  width:100% !important;
  padding-left:18px !important;
  padding-right:18px !important;
  overflow:visible !important;
}

/* === Сітка === */
.dy-co__grid{
  display:grid;
  grid-template-columns:
    calc(50vw - var(--form-w)/2)
    var(--form-w)
    var(--gap)
    var(--cart-w)
    1fr;
  grid-template-areas: ". main gap aside .";
  align-items:start;
  width:100%;
  overflow:visible;
}

.dy-co__main  { grid-area:main;  width:var(--form-w); justify-self:center; align-self:start; }
.dy-co__aside { grid-area:aside; width:var(--cart-w); align-self:start; position:sticky; top:var(--stick-top); z-index:3; }

/* Панелі */
.dy-panel{
  background:#fff; border:0;
  padding:30px 26px; box-shadow:var(--dy-shadow);
}
.dy-summary.dy-panel{ padding:24px; }

/* Прибираємо заголовок міні-кошика */
.dy-summary__title{ display:none !important; }

/* Заголовки/іконка лівої колонки */
.dy-sec{ text-align:center; }

.dy-sec__title{ margin:0 0 22px; font-weight:600; font-size:22px; line-height:1.25; letter-spacing:.01em; }
.dy-div{ border:0; border-top:1px solid var(--dy-border); margin:24px 0; }
.dy-placeholder{ color:var(--dy-muted); font-size:14px; }

/* === Іконки секцій оформлення замовлення === */
.ordering__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #F8F8F8;
  margin: 0 auto 12px;
}

.ordering__icon img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
}

/* Форма */
.dy-form__col{ display:grid; gap:18px; text-align:left; }
.dy-field input,
.dy-field select,
.dy-field textarea{
  width:100%; height:54px; padding:12px 16px;
  border:1px solid #D2D2D2; border-radius:5px; outline:none;
  background:#f7f7f7; color:#2b2b2b;
  transition:border-color .18s, box-shadow .18s, background-color .18s;
  font-size:16px; font-weight:300;
}
.dy-field textarea{ min-height:120px; resize:vertical; }
.dy-field input::placeholder,.dy-field textarea::placeholder{ color:#9aa0a6; }
.dy-field select{ appearance:none; background-image:linear-gradient(to bottom,transparent,transparent); color:#2b2b2b; }
.dy-field input:focus,.dy-field textarea:focus,.dy-field select:focus{ border-color:#000; }
.dy-field input:hover,.dy-field textarea:hover,.dy-field select:hover{ border-color:#000; }
.dy-label{ display:none !important; }

/* Чекбокси */
.dy-check{ position:relative; display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; color:#333; }
.dy-check > input{ position:absolute; left:0; top:0; width:18px; height:18px; opacity:0; pointer-events:none; }
.dy-check > span{ position:relative; padding-left:28px; display:block; }
.dy-check > span::before{
  content:""; position:absolute; left:0; top:2px; width:18px; height:18px;
  border:1px solid #cfcfcf; background:#fff;
}
.dy-check > span::after{
  content:""; position:absolute; left:4px; top:7px; width:10px; height:6px;
  border-left:2px solid transparent; border-bottom:2px solid transparent; transform:rotate(-45deg);
}
.dy-check > input:focus + span::before{ outline:3px solid rgba(146,181,59,.18); outline-offset:2px; }
.dy-check > input:checked + span::before{ background:#92b53b; border-color:#92b53b; }
.dy-check > input:checked + span::after{ border-left-color:#fff; border-bottom-color:#fff; }

.dy-link{ color:var(--dy-green-ink); text-decoration:none; border-bottom:1px solid rgba(111,143,45,.4); }
.dy-link:hover{ border-bottom-color:transparent; }

/* Кнопка */
.dy-co__actions{ margin-top:18px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.dy-btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  min-width:220px; height:52px; padding:0 24px; border:0;  cursor:pointer;
  font-weight:600; font-size:16px; background:var(--dy-green); color:#fff;
  box-shadow:0 6px 16px rgba(146,181,59,.22); transition:filter .15s ease;
}
.dy-btn:hover{ filter:brightness(.97); }
.dy-btn.is-busy{ pointer-events:none; opacity:.9; }
.dy-spinner{ width:16px; height:16px; border:2px solid rgba(255,255,255,.6); border-top-color:#fff; border-radius:50%; margin-left:10px; display:none; animation:dyspin .9s linear infinite; }
.dy-btn.is-busy .dy-spinner{ display:inline-block; }
@keyframes dyspin{ to{ transform:rotate(360deg); } }

/* === Кнопка "Замовити" (checkout) === */
#btn-place-order {
  display: block;
  width: 100%;
  margin: 28px auto 0;
  text-align: center;

  background: var(--dy-green);
  color: #fff;
  border: none;

  height: 60px;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;

  transition: transform .2s ease;
}

#btn-place-order:hover {
  transform: scale(1.04);
}


/* ===================== Міні-кошик (STATIC) ===================== */

/* Ховаємо дропдаун усередині правої панелі */
.dy-summary #cart,
.dy-summary #cart .btn,
.dy-summary #cart .btn-group,
.dy-summary #cart .dropdown-toggle,
.dy-summary #cart .dropdown-menu { display: none !important; }
.dy-summary .dy-inline-cart { display: block !important; }

/* Контейнер статичного міні-кошика */
.dy-minicart{ display:block }

/* Базові ряди */
.dy-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dy-row--top{ padding:4px 0 12px; }

/* 1) Прев’ю + назва */
.dy-top-left{ display:flex; align-items:center; gap:12px; }
.dy-top-thumb{ width:72px; height:48px; object-fit:cover; background:#f6f6f6; display:block; }
.dy-top-title{ color:#111; text-decoration:none; font-weight:300; line-height:1.25; }
.dy-top-title:hover{ text-decoration:underline; }

/* 2) Кількість + ціна */
.dy-row--qty{ padding:6px 0 14px; }
.dy-qtybox{
  min-width:56px; height:34px; padding:0 12px;
  border:1px solid rgb(167, 167, 167); border-radius:0;
  line-height:34px; text-align:center; color:#111; background:transparent;
  font-size:14px; font-weight:400;
}
.dy-stack{ text-align:right; }
.dy-stack__label{ font-size:12px; font-weight:300; color:#777; line-height:1; margin-bottom:2px; }
.dy-stack__value{ font-size:18px; color:#111; font-weight:300; }

/* 3) Послуга доставки */
.dy-row--ship{ padding:8px 0 10px; }
.dy-ship-label{ font-size: 14px; color:#111; font-weight:500; }

/* Пунктирний розділювач (повна ширина) */
.dy-sep{
  border:0; border-top:1px dashed var(--dy-border); margin:10px 0 12px; width:100%;
}

/* 4) Фінальний рядок — «Разом» ліворуч + стек праворуч */
.dy-row--total{
  padding:2px 0 0;
  display:flex; align-items:center; gap:10px;
}
.dy-total-left{ font-size: 14px; color:#111; font-weight:400; white-space:nowrap; }
.dy-stack--total .dy-stack__label{ font-size:12px; color:#777; line-height:1; margin-bottom:2px; }
.dy-stack--total .dy-stack__value{ font-size:18px; color:#111; font-weight:300; }

/* Запобігаємо зламу sticky через overflow */
#dy-checkout, #dy-checkout .container, .dy-co__grid{ overflow:visible !important; }


/* ===================== Адаптив ===================== */
/* На вузьких екранах: одна колонка, і КОШИК ВИЩЕ за форму */
@media (max-width:1100px){
  .dy-co__grid{
    grid-template-columns: min(100%, var(--form-w));
    grid-template-areas:
      "aside"
      "main";
    grid-auto-rows: auto;
  }

  .dy-co__aside{
    grid-area:aside;
    position:static; top:auto;
    width:100%;
    margin:0 0 18px 0;
    z-index:3;
  }

  .dy-co__main{
    grid-area:main;
    justify-self:center;
    width:100%;
  }

  .dy-summary.dy-panel{ padding:20px; }
  .dy-top-thumb{ width:64px; height:44px; }
}

.dy-stack--left { text-align:left; }
.dy-qtyline { display:flex; align-items:flex-end; gap:12px; }



/* ===================== Success (Dyson) ===================== */
.dy-success { padding: 16px 0 80px; }
.dy-success .container { max-width: 1080px; }

.dy-success__title{
  margin: 18px 0 10px;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  color:#111;
}

.dy-success__meta{
  text-align:center;
  font-size:16px;
  font-weight: 800;
  color:#6ba439; 
  margin-bottom:14px;
}

.dy-success__note{
  text-align:center;
  font-size:16px;
  color:#6ba439;           /* Dyson-green */
  font-weight: 800;
  margin: 8px 0 28px;
}

.dy-success__actions{
  display:flex;
  justify-content:center;
}




@media (max-width: 768px){
  .dy-success__title{ font-size:26px; }
  .dy-success__meta{ font-size:15px; }
  .dy-success__note{ font-size:15px; }
}




/* ===== CATEGORY HERO ===== */
:root { --site-max: 1200px; --dy-card-pad: 22px; }

.dy-cat-hero{ position:relative; width:100vw; left:50%; margin-left:-50vw; min-height:var(--hero-height, 400px); background:#fff; overflow:hidden; margin-bottom:8px; }
.dy-cat-hero__media{ position:absolute; top:0; right:0; height:100%; width:var(--media-w, 980px); overflow:hidden; z-index:0; }
.dy-cat-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right center; display:block; }
.dy-cat-hero__mask{ position:absolute; inset:0; pointer-events:none; z-index:2; }
.dy-cat-hero__mask::before,.dy-cat-hero__mask::after{ content:""; position:absolute; top:0; bottom:0; left:0; pointer-events:none; }
.dy-cat-hero__mask::before{ width:var(--g1, 20%); background:linear-gradient(90deg,#fff 0%,#fff 10%,rgba(255,255,255,.98) 16%,rgba(255,255,255,.92) 24%,rgba(255,255,255,.78) 34%,rgba(255,255,255,0) 52%); }
.dy-cat-hero__mask::after{ width:var(--g2, 28%); background:radial-gradient(820px 100% at left center,rgba(255,255,255,.38) 0%,rgba(255,255,255,0) 62%); }
.dy-cat-hero__content{ position:relative; z-index:3; height:100%; min-height:var(--hero-height, 400px); display:flex; align-items:center; padding:0 15px; }
.dy-cat-hero__content.container{ max-width:var(--site-max); margin:0 auto; }
.dy-cat-hero__title{ margin:0; font-size:var(--hero-title-size, 38px); line-height:1.16; font-weight:400; color:#000; }

.dy-cat-hero + .dy-bc, .dy-cat-hero + .dy-bc .container, .dy-cat-hero + .dy-bc::after{ border-bottom:none!important; box-shadow:none!important; }

/* ===== SUBCATS ===== */
.dy-cat-subcats{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; margin-bottom:40px; }
.dy-cat-subcat{ display:flex; align-items:center; justify-content:center; height:88px; padding:0 18px; text-align:center; line-height:1.25; font-size:17px; font-weight:500; color:#000; background:#f6f6f6; border:1px solid #e7e7e7; border-radius:8px; box-shadow:inset 0 3px 0 rgba(0,0,0,.06); text-decoration:none; transition:background-color .45s ease, color .45s ease, border-color .45s ease, transform .2s ease; }
.dy-cat-subcat:hover{ background:#76b900; color:#fff; border-color:#76b900; }

/* ===== GRID & CARD ===== */
.dy-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:28px; margin-bottom:44px; }
/* <=1300px — 2 картки в ряд */
@media (max-width:1300px){ .dy-grid{ grid-template-columns:repeat(2, 1fr); gap:22px; } }

.dy-card{ position:relative; display:flex; flex-direction:column; height:100%; background:#fff; border:none; border-radius:0; box-shadow:0 10px 30px rgba(0,0,0,.06); padding:0; }

/* Внутрішня частина картки */
.dy-card__body{ display:flex; flex-direction:column; flex:1 1 auto; padding:0 var(--dy-card-pad) 10px; }

/* Зображення */
.dy-card__imgbox{ display:flex; align-items:center; justify-content:center; height:220px; margin:0 0 14px 0; }
.dy-card__imgbox img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }

/* Назва */
.dy-card__title{ font-size:17px; font-weight:300; line-height:1.3; margin:0 0 12px 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:20px; }
.dy-card__title a{ color:#000; text-decoration:none; }
.dy-card__title a:hover{ color:#85c61a; }

/* Рейтинг */
.dy-card__rating{ display:flex; align-items:center; gap:8px; color:#888; margin-bottom:40px; }
.dy-stars{ display:flex; align-items:center; gap:3px; overflow:hidden; }
.jq-star{ width:20px; height:20px; line-height:0; flex:0 0 20px; }
.jq-star-svg{ width:20px; height:20px; display:block; }
.dy-card__reviews{ color:#888; font-size:15px; font-weight:300; margin-left:2px; }

/* ЦІНИ — донизу body */
.dy-card__price{ display:flex; justify-content:space-between; align-items:flex-end; gap:14px; margin-top:auto; margin-bottom:8px; }
.dy-card__price-left{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.dy-card__price-now{ font-size:24px; font-weight:400; color:#000; }
.dy-card__price-now.dy-is-sale{ color:#e53935; }
.dy-card__price-old{ font-size:18px; color:#aaa; text-decoration:line-through; }
.dy-card__save{ flex:0 0 42%; max-width:42%; font-size:16px; font-weight:300; color:#000; text-align:right; line-height:1.2; white-space:normal; word-break:break-word; }
.dy-save__sum{ font-weight:400; }

/* Кнопка (десктоп) */
.dy-card__btn{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:56px; box-sizing:border-box; background:#76b900; color:#fff; border:none; font-size:16px; font-weight:600; cursor:pointer; transition:background-color .25s ease, transform .08s ease; }
.dy-card__btn:hover{ background:#85c61a; }
.dy-card__btn:active{ transform:translateY(1px); }
.dy-card__btn-icon{ display:inline-flex; align-items:center; }

/* Pager / SEO */
.dy-cat-pager{ display:flex; justify-content:space-between; align-items:center; padding-top:18px; margin-top:24px; }
.dy-cat-desc{ margin-top:54px; font-size:15px; line-height:1.7; color:#444; }

/* ===== Additional responsive ===== */
@media (max-width:1400px){ .dy-cat-hero__media{ width:min(var(--media-w,980px), 62vw); } }
@media (max-width:992px){
  .dy-cat-hero__title{ font-size:32px; }
  .dy-cat-subcat{ height:84px; font-size:16px; }
}

@media (max-width:768px){
  /* hero */
  .dy-cat-hero{ width:100%; left:0; margin-left:0; --hero-height:120px !important; }
  .dy-cat-hero__media{ position:absolute; left:0; right:0; width:100%; }
  .dy-cat-hero__img{ object-position:center center; }
  .dy-cat-hero__mask{ display:none!important; }
  .dy-cat-hero__media::after{ content:""; position:absolute; inset:0; background:rgba(255,255,255,.58); pointer-events:none; }
  .dy-cat-hero__content{ min-height:var(--hero-height) !important; justify-content:center; text-align:center; padding:0 12px; }
  .dy-cat-hero__title{ font-size:28px; }

  /* контейнер та сітка */
  .dy-cat > .container{ padding:0 12px; }
  .dy-cat-subcats{ grid-template-columns:repeat(2, 1fr); gap:14px; }
  .dy-cat-subcat{ height:80px; }

  .dy-grid{ grid-template-columns:repeat(2, 1fr); gap:16px; }

  /* компактніша картка */
  :root{ --dy-card-pad: 14px; }
  .dy-card__imgbox{ height:175px; margin-bottom:10px; }
  .dy-card__title{ font-size:15px; line-height:1.25; margin-bottom:10px; }

  /* рейтинг менший */
  .dy-card__rating{ margin-bottom:16px; gap:6px; }
  .jq-star, .jq-star-svg{ width:18px; height:18px; }
  .dy-card__reviews{ font-size:12px; }

  /* “Ваша вигода” – прибрати */
  .dy-card__save{ display:none !important; }

  /* ціни + маленька кнопка в правому нижньому куті картки */
  .dy-card__price{ align-items:center; gap:10px; margin-bottom:0; }
  .dy-card__price-now{ font-size:18px; }
  .dy-card__price-old{ font-size:13px; }

  /* кнопка: квадратна, без тексту, всередині картки */
  .dy-card__btn{
    position:absolute; right:12px; bottom:12px;
    width:38px; height:38px; padding:0; border-radius:8px;
    font-size:0; /* сховати можливий текст без зміни розмітки */
  }
  .dy-card__btn > span:not(.dy-card__btn-icon){ display:none !important; }
  .dy-card__btn-icon svg{ width:18px; height:18px; }

  /* щоб ціна не перекривалась кнопкою — трохи відступу знизу в body */
  .dy-card__body{ padding:0 var(--dy-card-pad) 50px; }
}

@media (max-width:430px){
  .dy-cat-hero{ --hero-height:140px !important; }
  .dy-cat-hero__title{ font-size:26px; }

  .dy-grid{ gap:14px; }
  .dy-card__imgbox{ height:165px; }
  .dy-card__title{ font-size:14px; }

  .jq-star, .jq-star-svg{ width:16px; height:16px; }
  .dy-card__reviews{ font-size:11.5px; }

  .dy-card__price-now{ font-size:17px; }
  .dy-card__price-old{ font-size:12px; }

  .dy-card__btn{ right:10px; bottom:10px; width:36px; height:36px; border-radius:7px; }
  .dy-card__body{ padding:0 12px 46px; }
}



@media (max-width: 768px) {
  /* 1. Прибрати border-radius у кнопки */
  .dy-card__btn {
    border-radius: 0 !important;
  }

  /* 2. Відступ між назвою товару та відгуками */
  .dy-card__title {
    margin-bottom: 14px !important;
  }

  /* 3. Опустити блок цін нижче, щоб був навпроти кнопки */
  .dy-card__price {
    margin-top: auto !important;
    margin-bottom: 10px !important;
  }
}

/* === MOBILE: ціна на одній лінії з кнопкою === */
@media (max-width: 768px) {
  .dy-card { position: relative; }

  /* резерв місця під нижній ряд (ціна+кнопка) */
  .dy-card__body { padding-bottom: 64px; }

  /* кнопка справа, без заокруглення */
  .dy-card__btn {
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 38px;
    height: 38px;
    border-radius: 0 !important;
  }

  /* ціна в один ряд ліворуч від кнопки */
  .dy-card__price {
    position: absolute;
    left: var(--dy-card-pad);
    right: 62px;              /* = ширина кнопки + проміжок */
    bottom: 12px;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* типографіка під мобільний еталон */
  .dy-card__price-now { font-size: 18px; }
  .dy-card__price-old { font-size: 12px; }
  .dy-card__save { display: none !important; }

  /* відступ між назвою та рейтингом */
  .dy-card__title { margin-bottom: 14px; }
  .dy-card__rating { margin-bottom: 18px; }
}

/* ===== Search page only ===== */
#search-results-page .dy-cat-hero__content {
  justify-content: center;       /* центруємо блок заголовка у флекс-контейнері */
  text-align: center;            /* підстраховка для тексту */
}

#search-results-page .dy-cat-hero__title {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 30px;
}




/* ==== Dyson x SweetAlert2 — 300x350, без бекдропа, без радіусів, Dyson-відступи ==== */
.swal2-container.dy-swal__container { background: transparent !important; }

.dy-swal {
  position: relative;
  width: 300px !important;
  height: 350px !important;
  border-radius: 0;
  padding: 22px 18px 18px;              /* зверху більше, щоб не змішувалось з хрестиком */
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
  display: flex; flex-direction: column;
}

.dy-swal__close {
  position: absolute; top: 10px; right: 10px;   /* 1) хрестик справа вгорі */
  color: #8a8a8a;
}
.dy-swal__close:hover { color:#111; }

.dy-swal__title {
  margin: 14px 28px 8px 0;              /* 2) опустити тайтл трохи нижче й відступ від хрестика */
  font-size: 18px; font-weight: 600; color:#1a1a1a; text-align: left;
}

.dy-swal__content{
  margin-top: 8px;                      /* 3) блок з фото/назвою/ціною нижче */
  flex: 1 1 auto;
  display: flex; align-items: flex-start; justify-content: center;
}

.dy-swal__wrap{
  width:100%;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:12px; align-items:flex-start;
}

.dy-swal__thumb{
  width:56px; height:56px; border-radius:8px;
  background:#f6f6f6; display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.dy-swal__thumb img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }

.dy-swal__info{ text-align:left; }      /* 4) ліве вирівнювання */
.dy-swal__name{ font-size:14px; line-height:1.35; color:#111; margin-bottom:4px; }

.dy-swal__price-group{ display:flex; flex-direction:column; align-items:flex-start; }
.dy-swal__price-label{                   /* 5) сіра маленька мітка "ціна" */
  font-size:12px; line-height:1; color:#8a8a8a; margin:2px 0 4px;
  text-transform:none;
}
.dy-swal__price{ font-size:16px; font-weight:700; color:#000; }

/* Кнопки вертикально, ширина 100%, БІЛЬШИЙ радіус */
.dy-swal__actions{
  width:100%; margin:0; padding-top:10px;
  display:flex !important; flex-direction:column; gap:10px;
}
.dy-swal__btn{
  width:100%; min-height:46px; padding:0 16px;
  border-radius: 22px;                    /* 6) збільшений бордер-радіус */
  font-weight:600; font-size:14px;
}
.dy-swal__btn--primary{ background:#76b900; color:#fff; border:none; }
.dy-swal__btn--primary:hover{ background:#85c61a; }
.dy-swal__btn--ghost{ background:#fff; color:#111; border:1px solid #e5e5e5; }
.dy-swal__btn--ghost:hover{ background:#f7f7f7; }




/* =============== PDP (Dyson) ================= */
.dy-pdp{
  /* базові розміри — тепер гнучкі */
  --left-w: 320px;                       /* фіксована ліва колонка */
  --center-min: 480px;                   /* мінімум для центру */
  --right-min: 320px;                    /* мінімум для правої */
  --right-max: 420px;                    /* максимум для правої */
  --gap: 32px;                           /* трохи менший gap, щоб вміщувалось */
  display:grid;
  grid-template-columns:
    var(--left-w)
    minmax(var(--center-min), 1fr)
    clamp(var(--right-min), 28vw, var(--right-max));
  gap: var(--gap);
  align-items:start;
  margin: 30px auto 50px;
  /* загальна ширина, яка добре лягає на 13xx дисплеях */
  max-width: 1220px;
  width: 100%;
}

.dy-pdp__left{display:flex;flex-direction:column;gap:18px}

/* Badge */
.dy-badge {display:flex;align-items:center;gap:10px;margin-bottom:12px}
.dy-badge__img{display:block;width:300px;height:55px;object-fit:contain}
.dy-badge__title{font-weight:600;font-size:14px;line-height:1.3}

/* Rating */
.dy-pdp__rating{margin-top:6px}
.dy-stars{display:inline-flex;gap:4px}
.dy-star{width:18px;height:18px;background:#d9d9d9;clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)}
.dy-star.is-on{background:#bfbfbf}

/* Advantages */
.dy-pdp__advantages{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.dy-adv{display:flex;gap:10px;align-items:center}
.dy-ico{width:22px;height:22px;display:block}
.dy-adv__text{font-size:16px;font-weight:300;color:#1c1c1c}

/* Price */
.dy-pdp__price{margin:6px 0 4px}
.dy-price--now{font-size:26px;font-weight:700;color:#FF0000;line-height:1.2}
.dy-price--old{color:#9b9b9b;text-decoration:line-through;margin-top:2px}

/* One-click */
.dy-oneclick{margin-top:8px}
.dy-oneclick__title{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:18px;font-weight:600;color:#1c1c1c}
.dy-oneclick__ico .dy-ico{width:30px;height:30px}

.dy-oneclick__form{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.dy-input{
  flex:0 1 auto;
  border:1px solid #e6e6e6;
  border-radius:12px;
  max-width:300px;
  height:44px;
  padding:0 14px;
  font-size:14px;
  color:#1c1c1c;
  background:#fff;
}
.dy-input::placeholder{color:#7a7a7a}
.dy-input:focus{border-color:#1c1c1c;border-radius:0;outline:none}

.dy-oneclick .dy-input{border-radius:0}
.dy-oneclick .dy-btn--black{
  border-radius:0;
  padding:0 12px;
  min-width:140px;
  white-space:nowrap;
}

/* Buttons */
#product-product .dy-pdp__cta .dy-btn--green.js-add-to-cart{
  /* твої локальні стилі тільки для цієї сторінки */
  height: 44px;
  padding: 0 22px;
  border-radius: 24px; /* або 0, якщо треба квадратна */
  font-weight: 600;
  background: #7bc043;
  color: #fff;
}
.dy-btn:active{transform:translateY(1px)}
.dy-btn--black{background:#1c1c1c;color:#fff; height: 44px;}
.dy-btn--green{background:#7bc043;color:#fff;font-weight:600}
.dy-btn__ico{display:inline-flex;margin-right:8px}
.dy-check{display:flex;gap:8px;margin:10px 0 14px;font-size:14px;font-weight:300;color:#5a5a5a}
.dy-check input{margin-top:3px}
.dy-check a{color:#7bc043}

/* CTA */
.dy-pdp__cta{margin-top:4px}

/* Media area */
.dy-pdp__media{}
.dy-media__main{width:100%;aspect-ratio:16/12;display:block;background:#fff}
.dy-media__main img{width:100%;height:100%;object-fit:contain;border-radius:0;display:block}
.dy-media__links{display:flex;gap:12px;margin-top:12px}
.dy-media__tile{flex:1 1 0;border:1px solid #e6e6e6;border-radius:12px;padding:10px 12px;text-align:center;color:#1c1c1c;text-decoration:none}
.dy-media__tile[aria-disabled="true"]{opacity:.5;pointer-events:none}

/* Right column */
.dy-pdp__right{}
.dy-pdp__title{font-weight:700;font-size:32px;line-height:1.15;margin:0 0 8px;color:#1c1c1c}
.dy-pdp__sku{color:#7a7a7a;margin-bottom:12px}
.dy-pdp__short{color:#1c1c1c;font-size:15px;line-height:1.5}

/* ===== Media CTAs (gallery / video) ===== */
.dy-pdp__media-ctas{
  display:grid;
  grid-template-columns:repeat(2, minmax(220px, 1fr));
  gap:24px;
  max-width: 100%;
  width: 100%;
  margin-top:24px;
}
.dy-media-tile{
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  height:150px;
  background:#f3f5f7;
  border:1px solid #e1e4e8;
  border-radius:12px;
  font:inherit;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.dy-media-tile[disabled]{opacity:.45;cursor:not-allowed}
.dy-media-tile:hover:not([disabled]){
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  border-color:#d6dbe0;
}
.dy-media-tile__icon{font-size:28px;line-height:1;margin-bottom:10px}
.dy-media-tile__label{font-size:14px;color:#111}

.visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap;border:0;
}

/* ===== Responsive ===== */
/* 2 колонки: коли ширини не вистачає на три */
@media (max-width: 1180px){
  .dy-pdp{
    grid-template-columns:
      var(--left-w)
      minmax(0, 1fr);
  }
  .dy-pdp__right{grid-column:1 / -1;margin-top:20px}
}

/* 1 колонка */
@media (max-width: 900px){
  .dy-pdp{grid-template-columns:1fr;max-width:680px}
  .dy-pdp__right{margin-top:10px}
  .dy-oneclick__form{flex-wrap:nowrap}
  .dy-input{max-width:100%}
  .dy-pdp__media-ctas{grid-template-columns:1fr 1fr}
}

/* компактні плитки Dyson-style */
.dy-media-cards {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.dy-media-card-wrap {
  flex: 0 0 auto;
  max-width: 150px;           /* ← головне обмеження ширини */
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.dy-media-card {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;        /* квадратна форма */
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
  cursor: pointer;
}

.dy-media-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #fff;
}

.dy-media-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .28);
  transition: background .15s ease;
}

.dy-media-card__icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.dy-media-card:hover .dy-media-card__overlay {
  background: rgba(0, 0, 0, .36);
}

.dy-media-card__label {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 300;
  color: #111;
  text-align: center;
  width: 100%;
}

/* ===== Mobile main image under badge + FABs ===== */

/* мобільний варіант головного фото, за замовчуванням приховано */
.dy-media__main--m { display: none; }

/* на мобільному показуємо фото під бейджем, а центральний блок і картки ховаємо */
@media (max-width: 900px){
  .dy-media__main--m{
    display:block;
    position:relative;
    width:100%;
    aspect-ratio:16/12;
    background:#fff;
    margin: 10px 0 14px;
  }
  .dy-media__main--m img{
    width:100%;height:100%;object-fit:contain;display:block;
  }

  /* плаваючий стек іконок зліва на фото */
  .dy-media-fab{
    position:absolute;
    left:12px; top:12px;
    display:flex; flex-direction:column; gap:10px;
    pointer-events:auto;
  }
  .dy-fab{
    width:44px; height:44px;
    border:0; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:rgba(0,0,0,.6);
    backdrop-filter:saturate(120%) blur(2px);
    cursor:pointer;
    transition:transform .08s ease, background .12s ease;
  }
  .dy-fab:active{ transform:translateY(1px); }
  .dy-fab svg{ display:block; }
  .dy-fab[disabled]{ opacity:.45; cursor:not-allowed; }

  /* ховаємо десктопні картки на мобільному */
  .dy-media-cards{ display:none; }

  /* і сам десктопний головний блок у центрі (щоб не дублювався) */
  .dy-pdp__media .dy-media__main{ display:none; }
  .dy-media-card__overlay{ pointer-events: none; }
}

/* === PDP USP banners (Dyson-style) === */
#product-product .dy-banner-grid {
  background: #FBFBFB;
  padding: 40px 15px;
  margin-top: 50px;
  border-radius: 0;
}

#product-product .dy-banner-row {
  justify-content: center;
}


/* === Dyson INBOX — 100px closed card, smooth expand (single border) === */

.dy-spec {
  margin-top: 48px; /* 👈 відступ між коробкою та блоком характеристик */
}

/* Заголовок секції */
.dy-inbox__title{
  font-size:28px;
  line-height:1.25;
  font-weight:600;
  margin:8px 0 24px;
}

/* Сітка секції */
.dy-inbox__grid{
  display:grid;
  grid-template-columns:minmax(320px,1fr) 2fr;
  gap:32px;
}
@media (max-width:1200px){ .dy-inbox__grid{ gap:24px; } }
@media (max-width:991px){ .dy-inbox__grid{ grid-template-columns:1fr; } }

/* Ліва колонка */
.dy-inbox__left{ align-self:start; }
.dy-inbox__product-img{ max-width:460px; }
.dy-inbox__product-img img{ display:block; width:100%; height:auto; }
.dy-inbox__product-title{ margin-top:12px; font-size:15px; color:#111; }

/* Права колонка */
.dy-inbox__right{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:24px;
  row-gap:24px;
  grid-auto-rows:min-content;
  align-items:start;
}
.dy-inbox__right > *{ margin:0 !important; }
@media (max-width:767px){
  .dy-inbox__right{ grid-template-columns:1fr; }
}

/* Приховане тіло */
.dy-acc__body[hidden]{ display:none !important; }

/* Картка-акордеон */
.dy-acc{
  position:relative;
  border:1px solid #D9D9D9;
  border-radius:0;
  background:#fff;
  overflow:hidden;
  margin:0 !important;
  transition:height .32s ease, border-color .2s ease;
}

/* Закрито */
.dy-acc:not([data-open="1"]){ height:100px; }

/* Відкрито */
.dy-acc[data-open="1"]{ height:auto; }

/* Hover тільки рамка */
.dy-acc:hover{ border-color:#CFCFCF; }

/* Focus — чорна рамка */
.dy-acc:focus-within{
  outline:1px solid #000;
  outline-offset:-1px;
}

/* Шапка */
.dy-acc__head{
  appearance:none;
  width:100%;
  display:grid;
  grid-template-columns:64px 1fr 22px;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  min-height:100px;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  transition:none;
}
.dy-acc__head:hover{ background:transparent; }
.dy-acc__head:focus{ outline:none; }

/* Іконка та заголовок */
.dy-acc__media img{
  width:64px; height:64px; object-fit:contain; display:block;
}
.dy-acc__title{
  font-size:15px; line-height:1.35; color:#111; font-weight:300;
}

/* Стрілка */
.dy-acc__chev{
  justify-self:end;
  display:flex;
  align-items:center;
}
.dy-acc__chev svg{
  width:22px; height:13px;
  display:block;
  transition:transform .25s ease;
}
.dy-acc[data-open="1"] .dy-acc__chev svg{
  transform:rotate(180deg);
  transform-origin:50% 50%;
}

/* Тіло акордеону */
.dy-acc__body{
  box-sizing:border-box;
  opacity:0;
  padding:0 20px;
  transition:opacity .18s ease .08s, padding .28s ease;
  margin:0 !important;
}
.dy-acc[data-open="1"] .dy-acc__body{
  opacity:1;
  padding-top:18px;
  padding-bottom:14px;    /* 👈 невеликий нижній відступ для опису */
}

/* Контент */
.dy-acc__content{
  margin:0;
  font-size:14px;
  font-weight: 300;
  line-height:1.55;
  color:#4a4a4a;
}



/* === Dyson SPECIFICATIONS — full-width background, contained content (updated) === */
.dy-spec {
  background: #FBFBFB;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding: 24px 0;
}

.dy-spec__inner {
  max-width: 1200px;         /* підстав свій container width за потреби */
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

/* прибираємо рамки всередині блоку специфікацій */
.dy-spec .dy-acc,
.dy-spec .dy-spec_wrap {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent;
  overflow: hidden;
  transition: height .32s ease;
}

/* закритий/відкритий стан */
.dy-spec_wrap:not([data-open="1"]) { height: 90px; }
.dy-spec_wrap[data-open="1"]       { height: auto; }

/* шапка акордеону */
.dy-spec .dy-acc__head {
  min-height: 90px;
  padding: 22px 0;               /* горизонтальні відступи йдуть від .dy-spec__inner */
  border: 0 !important;
  background: transparent;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Гасимо будь-який фокус-стиль тільки в SPEC */
.dy-spec .dy-acc__head:focus,
.dy-spec .dy-acc__head:focus-visible,
.dy-spec .dy-acc__head:focus-within,
.dy-spec .dy-acc__head:active {
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
.dy-spec .dy-acc:focus,
.dy-spec .dy-acc:focus-within,
#dy-spec:focus,
#dy-spec:focus-within {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* заголовок */
.dy-spec__title {
  font-size: 18px;
  font-weight: 600;
  color: #111;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

/* тіло */
.dy-spec .dy-acc__body { padding: 0; border-top: 0; }

/* таблиця та рядки */
.dy-spec__table { display: block; padding: 8px 0; }

.dy-spec__row {
  display: grid;
  grid-template-columns: 1fr auto;   /* значення завжди праворуч, не падає вниз на мобільних */
  gap: 16px;
  align-items: center;
  background: #F8F8F8;
  margin: 6px 0;
  padding: 12px 24px;
  border: 0;
}

.dy-spec__name  { font-size: 14px; font-weight: 300; color: #111; }
.dy-spec__value { font-size: 14px; color: #111; text-align: right; font-weight: 800; }

/* мобільна адаптація */
@media (max-width: 575px) {
  .dy-spec__inner { padding: 0 16px; }
  .dy-spec__row {
    grid-template-columns: 1fr auto; /* лишаємо дві колонки й на мобільних */
    gap: 10px;
    padding: 12px 16px;
  }
  .dy-spec__value { text-align: right; }
}


/* ===== Contacts (Dyson layout, refined) ===== */

.dy-contacts__head {
  padding: 10px 0 0;
}
.dy-contacts__title {
  text-align: center;
  font-size: 32px;
  font-weight: 600;
  margin: 12px 0 32px;
  color: #111;
}

/* universal grid */
.dy-contacts__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px; /* ближче один до одного */
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
@media (max-width: 900px) {
  .dy-contacts__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* cards */
.dy-ccard {
  text-align: left; /* вирівнювання по лівому краю */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.dy-ico-circle {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 12px;
}
.dy-ccard__title {
  font-size: 18px;
  font-weight: 800;
  margin: 6px 0 10px;
  color: #111;
}
.dy-ccard__text {
  font-size: 16px;
  color: #111;
  line-height: 1.5;
}
.dy-ccard__muted {
  margin-top: 8px;
  font-size: 14px;
  color: #666;
}

/* bottom section spacing */
.dy-contacts__bottom {
  margin-top: 60px; /* відступ між верхнім і нижнім блоком */
  padding-bottom: 40px;
}
.dy-contacts__bottom .dy-contacts__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: stretch;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}
@media (max-width: 900px) {
  .dy-contacts__bottom .dy-contacts__grid {
    grid-template-columns: 1fr;
  }
}

/* info tile */
.dy-panel {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.dy-cinfo__title {
  font-weight: 700;
  font-size: 18px;
  margin: 0 0 6px;
  color: #111;
}
.dy-cinfo__sub {
  color: #333;
  margin: 0 0 12px;
}
.dy-cinfo__list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dy-cinfo__list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: #111;
  font-weight: 300 ;
}
.dy-cinfo__list a {
  color: #111;
  text-decoration: none;
  font-weight: 300;
}
.dy-cinfo__list a:hover {
  color: #79b927;
}
.dy-cinfo__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  height: 48px;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 10px;
}

/* map */
.dy-cmap__wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 360px;
  overflow: hidden;
  border-radius: 8px;
  background: #f5f5f5;
}
.dy-cmap__wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ===== Dyson Contacts (scoped, Bootstrap-safe) ===== */

.dy-contacts__head{padding:20px 0 0}
.dy-contacts__title{
  margin:12px 0 18px;text-align:center;
  font-size:32px;font-weight:600;color:#111
}

/* ===== TOP (strict lock to reference) ===== */
.dy-contacts__top{margin-top:0}
.dy-contacts__top .dy-contacts__grid{
  display:grid;
  grid-template-columns:repeat(2,360px);
  justify-content:center;
  align-items:start;
  column-gap:72px;
}
.dy-contacts__top .dy-ccard{
  display:flex;flex-direction:column;align-items:center
}
.dy-contacts__top .dy-ico-circle{
  width:96px;height:96px;border-radius:50%;
  background:#000;display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px
}
.dy-contacts__top .dy-ico-circle svg{display:block;width:60%;height:60%}

/* вузький текстовий стовпчик під іконкою */
.dy-contacts__top .dy-ccard__title,
.dy-contacts__top .dy-ccard__text,
.dy-contacts__top .dy-ccard__muted{
  width:280px;max-width:100%;
  margin-left:auto;margin-right:auto;text-align:left;line-height:1.45
}
.dy-contacts__top .dy-ccard__title{margin:8px 0 8px;font-weight:800;font-size:18px;color:#111}
.dy-contacts__top .dy-ccard__text{font-size:16px; font-weight: 300; color:#111;margin:2px 0}
.dy-contacts__top .dy-ccard__muted{margin:10px 0 4px;color:#111;font-weight:800;font-size:18px}

/* посилання в топі — чорні з підкресленням на hover */
.dy-contacts__top .dy-ccard__text a{color:#111;text-decoration:none;border-bottom:1px solid transparent}
.dy-contacts__top .dy-ccard__text a:hover{ color: #79b927;}

/* ===== BOTTOM ===== */
.dy-contacts__bottom{margin-top:56px}
.dy-contacts__grid--bottom{
  display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch
}
.dy-panel{background:#fff;border:1px solid #e9edf2;border-radius:0px;padding:24px}
.dy-cinfo__title{margin:0 0 6px;font-weight:800;font-size:18px;color:#111}
.dy-cinfo__sub{margin:0 0 12px;color:#111;font-weight:800;font-size:18px;}
.dy-cinfo__list{display:flex;flex-direction:column;gap:10px;margin:0 0 16px}
.dy-li{display:flex;gap:10px;align-items:flex-start;line-height:1.45;color:#111}
.dy-cinfo__cta{display:inline-flex;margin-top:6px;min-width:220px;height:48px;text-transform:uppercase;font-weight:600}

/* Map */
.dy-cmap{padding:0;background:transparent}
.dy-cmap__wrap{position:relative;width:100%;aspect-ratio:16/9;min-height:360px;overflow:hidden;border-radius:8px}
.dy-cmap__wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Responsive ===== */
@media (max-width:1100px){
  .dy-contacts__top .dy-contacts__grid{grid-template-columns:repeat(2,320px);column-gap:56px}
}
@media (max-width:980px){
  .dy-contacts__top .dy-contacts__grid{grid-template-columns:minmax(260px,1fr);row-gap:24px}
  .dy-contacts__top .dy-ccard__title,
  .dy-contacts__top .dy-ccard__text,
  .dy-contacts__top .dy-ccard__muted{width:100%}
  .dy-contacts__bottom{margin-top:28px}
  .dy-contacts__grid--bottom{grid-template-columns:1fr;gap:20px}
}

.dy-contacts__top .dy-ico-circle{transform:translateX(-52px);}
.dy-contacts__bottom .dy-panel{border:none;border-radius:0; box-shadow: none;}
.dy-cmap__wrap{border-radius:0;}

/* === Mobile fix for contacts page === */
@media (max-width: 980px) {
  /* Центруємо верхні блоки та їх текст */
  .dy-contacts__top .dy-ccard {
    align-items: center;
    text-align: center;
  }

  .dy-contacts__top .dy-ico-circle{transform:translateX(-0px);}

  /* Текст у картках — тепер теж по центру */
  .dy-contacts__top .dy-ccard__title,
  .dy-contacts__top .dy-ccard__text,
  .dy-contacts__top .dy-ccard__muted {
    text-align: center;
    width: 100%;
  }

  /* Карта — не вилазить за межі екрану */
  .dy-cmap__wrap {
    width: 100%;
    aspect-ratio: 16/9;
    min-height: 200px;
    border-radius: 0;
    overflow: hidden;
  }
  .dy-cmap__wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }
}

.col-sm-12 h1{
  text-align: center;
  color:#111;
}

/* ==============================
   Dyson Sitemap Styling
   ============================== */
   .dy-sitemap {
    padding: 60px 0 100px;
  }
  
  .dy-sitemap__title {
    font-size: 36px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #111;
    margin-bottom: 40px;
    text-align: center;
  }
  
  .dy-sitemap__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 60px;
  }
  
  .dy-sitemap__list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  .dy-sitemap__list > li {
    margin-bottom: 18px;
    line-height: 1.5;
  }
  
  .dy-sitemap__list a {
    color: #111;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.25s ease;
  }
  
  .dy-sitemap__list a:hover {
    color: var(--dy-accent, #6c5ce7);
  }
  
  /* вкладені рівні */
  .dy-sitemap__list ul {
    list-style: none;
    margin: 8px 0 0 20px;
    padding: 0;
    border-left: 1px solid #e5e5e5;
  }
  
  .dy-sitemap__list ul li {
    margin: 6px 0;
    padding-left: 14px;
    font-weight: 400;
    font-size: 15px;
  }
  
  .dy-sitemap__list ul a {
    color: #555;
    font-weight: 400;
  }
  
  .dy-sitemap__list ul a:hover {
    color: #000;
  }
  
  /* breadcrumbs */
  .dy-sitemap .breadcrumb {
    background: none;
    margin-bottom: 30px;
    padding: 0;
    font-size: 14px;
  }
  
  .dy-sitemap .breadcrumb li {
    color: #777;
  }
  
  .dy-sitemap .breadcrumb a {
    color: #777;
    text-decoration: none;
  }
  
  .dy-sitemap .breadcrumb a:hover {
    color: #111;
  }
  
  /* адаптивність */
  @media (max-width: 768px) {
    .dy-sitemap {
      padding: 40px 0 70px;
    }
    .dy-sitemap__title {
      font-size: 28px;
      margin-bottom: 24px;
    }
    .dy-sitemap__grid {
      gap: 40px;
    }
  }
  
  /* Вирівнюємо кадр банера на мобілці */
@media (max-width: 767px) {
  .dy-slide__video,
  .dy-slide__image {
    object-position: 50% center !important; /* або 40–45%, якщо хочеш трохи змістити */
  }
}




/* ====== CARD ====== */

.dy-giftcard {
  margin-top: 20px;
}

.dy-giftcard__inner {
  display: flex;
  align-items: flex-start;
  width: 100%;
  border: none;
  padding: 24px 28px;
  background: #FBFBFB;
  cursor: pointer;
  text-align: left;
  box-shadow: none;
}

.dy-giftcard__inner:hover {
  box-shadow: none;
  transform: none;
}

.dy-giftcard__image {
  flex: 0 0 auto;
  margin-right: 24px;
}

.dy-giftcard__image img {
  display: block;
  max-width: 80px;
  height: auto;
}

.dy-giftcard__text {
  flex: 1 1 auto;
}

.dy-giftcard__label {
  display: inline-block;
  padding: 4px 10px;
  margin-bottom: 10px;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 600;
  background: #E30613;
  color: #ffffff;
}

.dy-giftcard__title {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
  color: #000000;
  margin-bottom: 6px;
}

.dy-giftcard__gift-name {
  font-weight: 400;
}

.dy-giftcard__note {
  font-size: 12px;
  line-height: 1.4;
  color: #555555;
  margin-top: 6px;
}

.dy-giftcard__icon {
  flex: 0 0 auto;
  margin-left: 16px;
  align-self: flex-start;
  display: inline-flex;
  width: 22px;
  height: 22px;
}

.dy-giftcard__icon svg {
  display: block;
  width: 22px;
  height: 22px;
}

/* ====== MODAL OVERLAY ====== */

.dy-giftmodal {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: none;
}

.dy-giftmodal.is-open {
  display: block;
}

.dy-giftmodal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
}

body.dy-giftmodal-open {
  overflow: hidden;
}

/* ====== MODAL DIALOG (desktop) ====== */

.dy-giftmodal__dialog {
  position: relative;
  max-width: 880px;
  margin: 60px auto;
  background: #ffffff;
  padding: 40px 56px 40px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .35);
}

.dy-giftmodal__close {
  position: absolute;
  top: 18px;
  right: 22px;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.dy-giftmodal__close::before,
.dy-giftmodal__close::after {
  content: "";
  position: absolute;
  inset: 50%;
  width: 24px;
  height: 2px;
  background: #000000;
  transform-origin: center;
}

.dy-giftmodal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.dy-giftmodal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.dy-giftmodal__title {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 500;
  text-align: center;
  margin: 0 0 32px;
  color: #000000;
}

/* ====== MODAL BODY (desktop) ====== */

.dy-giftmodal__body {
  display: flex;
  align-items: flex-start;
  column-gap: 80px;
}

.dy-giftmodal__col {
  flex: 1 1 0;
}

.dy-giftmodal__col--left {
  flex: 0 0 320px;
}

.dy-giftmodal__image {
  margin-bottom: 24px;
  text-align: left;
}

.dy-giftmodal__image img {
  display: block;
  max-width: 280px;
  height: auto;
}

.dy-giftmodal__footnotes {
  font-size: 11px;
  line-height: 1.5;
  color: #555555;
}

.dy-giftmodal__footnotes p {
  margin: 0 0 4px;
}

.dy-giftmodal__col--right {
  font-size: 14px;
  line-height: 1.6;
  color: #000000;
}

.dy-giftmodal__desc {
  margin: 0 0 10px;
}

.dy-giftmodal__desc--link {
  margin-top: 14px;
}

.dy-giftmodal__link {
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 2px;
  color: #000000;
}

.dy-giftmodal__link:hover {
  text-decoration: none;
}

/* ====== RESPONSIVE (mobile) ====== */

@media (max-width: 767px) {

  .dy-giftcard__inner {
    padding: 18px;
  }

  .dy-giftcard__image {
    margin-right: 16px;
  }

  .dy-giftcard__image img {
    max-width: 64px;
  }

  .dy-giftcard__title {
    font-size: 16px;
  }

  .dy-giftmodal__dialog {
    margin: 20px 10px;
    padding: 24px 18px 22px;
    max-width: 100%;
  }

  /* головне: заголовок не заходить під хрестик */
  .dy-giftmodal__title {
    font-size: 16px;
    line-height: 1.4;
    text-align: left;
    margin-top: 4px;
    margin-bottom: 20px;
    margin-right: 40px; /* залишаємо поле під хрестик */
  }

  .dy-giftmodal__close {
    top: 10px;
    right: 14px;
  }

  .dy-giftmodal__body {
    flex-direction: column;
    column-gap: 0;
    row-gap: 18px;
  }

  .dy-giftmodal__col--left {
    flex: 0 0 auto;
    margin-bottom: 4px;
  }

  .dy-giftmodal__image {
    text-align: center;
    margin-bottom: 12px;
  }

  .dy-giftmodal__image img {
    max-width: 220px;
    margin-left: auto;
    margin-right: auto;
  }

  .dy-giftmodal__footnotes {
    text-align: left;
    font-size: 11px;
  }

  .dy-giftmodal__col--right {
    font-size: 14px;
  }
}

.dy-payment-logos {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 4px 0 4px;
}

.dy-payment-logo {
    height: 36px;
    width: auto;
    display: block;
    border-radius: 7px;
}

/* === VIDEO MODAL (Dyson style) === */
.dy-video-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;             /* вище за шапку та інші елементи */
  display: flex;
  align-items: center;
  justify-content: center;
}

.dy-video-modal[hidden],
.dy-video-modal.dy-video-modal--hidden {
  display: none;
}

.dy-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.dy-video-modal__dialog {
  position: relative;
  z-index: 1;
  max-width: 960px;
  width: min(960px, 100% - 32px);
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.dy-video-modal__video {
  display: block;
  width: 100%;
  height: auto;
}

/* Хрестик закриття */
.dy-video-modal__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.dy-video-modal__close:hover {
  background: rgba(0, 0, 0, 0.9);
}

/* Обгортка для відео в модалці */
.mfp-dy-video-wrap {
  max-width: 960px;
  margin: 0 auto;
}

/* Саме відео: повна ширина, без зайвих полів */
.mfp-dy-video {
  width: 100%;
  height: auto;
  display: block;
}

/* ===== Checkout success (Dyson) ===== */
.dy-success {
  padding: 60px 0 80px;
}

.dy-success__title {
  text-align: center;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 400;
  margin: 0 0 12px;
}

.dy-success__meta {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 8px;
}

.dy-success__note {
  text-align: center;
  font-size: 14px;
  margin: 0 0 40px;
}

/* Дві колонки з картками */
.dy-success__layout {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr);
  gap: 48px;
}

.dy-success__card {
  border-top: 1px solid #e3e3e3;
  padding-top: 24px;
  font-size: 14px;
  line-height: 1.5;
}

.dy-success__block-title {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 400;
  margin: 0 0 14px;
}

/* Дані отримувача */
.dy-success__details {
  margin: 0;
}

.dy-success__row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  column-gap: 16px;
  row-gap: 4px;
  margin-bottom: 10px;
}

.dy-success__row dt {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #777;
}

.dy-success__row dd {
  margin: 0;
  color: #1c1c1c;
}

.dy-success__link {
  color: #1c1c1c;
  text-decoration: none;
}

.dy-success__link:hover {
  text-decoration: underline;
}

/* Список товарів */
.dy-success__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dy-success__item {
  padding: 10px 0 12px;
  border-bottom: 1px solid #f0f0f0;
}

.dy-success__item:last-child {
  border-bottom: none;
}

.dy-success__item-name {
  display: inline-block;
  font-size: 14px;
  color: #6ba439;
  text-decoration: none;
}

.dy-success__item-name:hover {
  text-decoration: underline;
  color: #6ba439;
}

.dy-success__item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
  font-size: 12px;
  color: #555;
}

.dy-success__item-total {
  margin-left: auto;
  font-weight: 500;
  color: #1c1c1c;
}

.dy-success__item-model {
  opacity: 0.8;
}

/* Мобільна адаптація */
@media (max-width: 767px) {
  .dy-success {
    padding-top: 40px;
  }

  .dy-success__layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .dy-success__row {
    grid-template-columns: 1fr;
  }

  .dy-success__block-title {
    font-size: 18px;
  }
}


/* ===== Dyson category pagination (категорії) ===== */
.dy-cat-pager__left ul.pagination {
  margin: 0;
  display: inline-flex;
  gap: 4px;
}

/* базова кнопка сторінки */
.dy-cat-pager__left ul.pagination > li > a,
.dy-cat-pager__left ul.pagination > li > span {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border-radius: 0;
  border: 1px solid #e0e0e0 !important;
  background-color: #ffffff !important;
  color: #1c1c1c !important;
  font: 300 13px/1 var(--dy-font, inherit);
  text-decoration: none;
}

/* hover / focus */
.dy-cat-pager__left ul.pagination > li > a:hover,
.dy-cat-pager__left ul.pagination > li > span:hover,
.dy-cat-pager__left ul.pagination > li > a:focus,
.dy-cat-pager__left ul.pagination > li > span:focus {
  background-color: #f5f5f5 !important;
  border-color: #d0d0d0 !important;
  color: #1c1c1c !important;
  outline: none;
}

/* активна сторінка — зелена як кнопки */
.dy-cat-pager__left ul.pagination > li.active > a,
.dy-cat-pager__left ul.pagination > li.active > span,
.dy-cat-pager__left ul.pagination > li.active > a:hover,
.dy-cat-pager__left ul.pagination > li.active > span:hover,
.dy-cat-pager__left ul.pagination > li.active > a:focus,
.dy-cat-pager__left ul.pagination > li.active > span:focus {
  background-color: #72bf44 !important;
  border-color: #72bf44 !important;
  color: #ffffff !important;
  cursor: default;
}

/* disabled (стрілки) */
.dy-cat-pager__left ul.pagination > li.disabled > span,
.dy-cat-pager__left ul.pagination > li.disabled > span:hover,
.dy-cat-pager__left ul.pagination > li.disabled > span:focus,
.dy-cat-pager__left ul.pagination > li.disabled > a,
.dy-cat-pager__left ul.pagination > li.disabled > a:hover,
.dy-cat-pager__left ul.pagination > li.disabled > a:focus {
  background-color: #ffffff !important;
  color: #b0b0b0 !important;
  border-color: #e0e0e0 !important;
  cursor: default;
}

/* правий текст "Показано від..." */
.dy-cat-pager__right {
  font: 300 13px/1.4 var(--dy-font, inherit);
  color: #5b5b5b;
  text-align: right;
}