:root {
  --ds-blue: #0d47a1;
  --ds-blue-deep: #062f73;
  --ds-blue-bright: #2f8ef4;
  --ds-sky: #eaf5ff;
  --ds-sky-2: #dceeff;
  --ds-ice: #f7fbff;
  --ds-warm: #faf9f7;
  --ds-white: #ffffff;
  --ds-ink: #14233b;
  --ds-muted: #64748a;
  --ds-border: #dce7f4;
  --ds-success: #168450;
  --ds-gold: #d9a843;
  --ds-radius: 24px;
  --ds-shadow: 0 22px 70px rgba(13, 71, 161, .12);
  --ds-shadow-soft: 0 12px 38px rgba(13, 71, 161, .08);
  --ds-shell: min(1380px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ds-ink);
  background: var(--ds-white);
  font-family: "Aptos", "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.ds-shell { width: var(--ds-shell); margin-inline: auto; }
.screen-reader-text, .skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; background: #fff; padding: 10px 16px; z-index: 9999; border-radius: 8px; }
.ds-icon { width: 24px; height: 24px; flex: 0 0 auto; }
.ds-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 12px;
  font-weight: 850;
  color: var(--ds-blue-bright);
  margin-bottom: 14px;
}
.ds-eyebrow--light { color: #a9d9ff; }
.ds-text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--ds-blue); font-weight: 800; }
.ds-text-link .ds-icon { width: 18px; }
.ds-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13px; color: #7a8aa0; margin: 0 0 24px; }
.ds-breadcrumb a:hover { color: var(--ds-blue); }
.ds-breadcrumb span { color: #adc0d7; }

/* Top bar + header */
.ds-topbar { background: linear-gradient(90deg, #073783, #0f5fc9); color: #fff; font-size: 12px; }
.ds-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 34px; }
.ds-topbar span { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.ds-topbar .ds-icon { width: 15px; height: 15px; }
.ds-header { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.97); backdrop-filter: blur(18px); box-shadow: 0 8px 28px rgba(7,47,115,.055); }
.admin-bar .ds-header { top: 32px; }
.ds-header__main { display: grid; grid-template-columns: 300px minmax(320px, 1fr) auto; align-items: center; gap: 34px; min-height: 92px; }
.ds-logo { display: inline-flex; align-items: center; }
.ds-logo img { width: 270px; max-height: 67px; }
.ds-header-search { height: 50px; display: flex; align-items: center; border: 1px solid #c9daec; border-radius: 15px; background: #fff; overflow: hidden; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.ds-header-search input { flex: 1; height: 100%; border: 0; outline: 0; padding: 0 18px; color: var(--ds-ink); min-width: 0; }
.ds-header-search input::placeholder { color: #8fa1b7; }
.ds-header-search button { width: 54px; height: 100%; border: 0; background: transparent; color: var(--ds-blue); display: grid; place-items: center; cursor: pointer; }
.ds-header-search button:hover { background: var(--ds-sky); }
.ds-actions { display: flex; align-items: center; gap: 8px; }
.ds-icon-link { position: relative; display: grid; place-items: center; min-width: 54px; height: 54px; padding: 5px; border-radius: 15px; border: 0; background: transparent; color: var(--ds-blue); cursor: pointer; }
.ds-icon-link:hover { background: var(--ds-sky); }
.ds-action-labelled { grid-template-rows: 25px 14px; }
.ds-action-labelled small { font-size: 10px; font-weight: 750; color: #526780; }
.ds-cart-link b { position: absolute; right: 4px; top: 3px; background: var(--ds-blue-bright); color: #fff; font-size: 10px; min-width: 19px; height: 19px; padding: 0 4px; border-radius: 20px; display: grid; place-items: center; box-shadow: 0 2px 7px rgba(13,71,161,.25); }
.ds-search-mobile { display: none; }
.ds-header__navline { border-top: 1px solid #edf3f9; border-bottom: 1px solid var(--ds-border); }
.ds-nav__list, .ds-mobile-menu__list { list-style: none; padding: 0; margin: 0; }
.ds-nav__list { display: flex; justify-content: center; gap: 44px; min-height: 52px; align-items: center; }
.ds-nav a { position: relative; display: block; font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .035em; color: #27415f; }
.ds-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -17px; height: 3px; border-radius: 2px; background: var(--ds-blue-bright); transition: .22s; }
.ds-nav a:hover, .ds-nav .current-menu-item > a, .ds-nav .current-product_cat-ancestor > a { color: var(--ds-blue); }
.ds-nav a:hover::after, .ds-nav .current-menu-item > a::after, .ds-nav .current-product_cat-ancestor > a::after { right: 0; }
.ds-menu-toggle { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
.ds-menu-toggle span { display: block; width: 25px; height: 2px; background: var(--ds-blue); margin: 5px 0; border-radius: 2px; }
.ds-mobile-menu { border-top: 1px solid var(--ds-border); background: #fff; box-shadow: 0 18px 35px rgba(7,47,115,.1); }
.ds-mobile-menu .ds-shell { padding-block: 10px 20px; }
.ds-mobile-menu__list a { display: block; padding: 13px 4px; border-bottom: 1px solid var(--ds-border); font-weight: 780; }
.ds-mobile-menu__quick { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.ds-mobile-menu__quick a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border-radius: 12px; background: var(--ds-ice); font-weight: 750; color: var(--ds-blue); }
.ds-mobile-menu__quick .ds-icon { width: 19px; }
.ds-search-panel { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--ds-border); box-shadow: 0 24px 45px rgba(9,48,108,.14); }
.ds-search-panel__inner { display: flex; align-items: center; gap: 16px; padding: 22px 0; }
.ds-search-form { display: flex; align-items: center; gap: 12px; flex: 1; border: 1px solid #bdd0e6; border-radius: 14px; padding: 8px 8px 8px 16px; background: #fff; }
.ds-search-form > .ds-icon { color: var(--ds-blue); }
.ds-search-form input[type=search] { flex: 1; border: 0; outline: 0; min-width: 0; font-size: 16px; }
.ds-search-close { border: 0; background: var(--ds-ice); width: 44px; height: 44px; border-radius: 50%; font-size: 28px; color: var(--ds-blue); cursor: pointer; }

/* Shared buttons */
.ds-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.ds-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px; border-radius: 13px; font-weight: 850; border: 1px solid transparent; transition: transform .2s, box-shadow .2s, background .2s; cursor: pointer; }
.ds-btn .ds-icon { width: 19px; }
.ds-btn:hover { transform: translateY(-2px); }
.ds-btn--primary { background: linear-gradient(135deg, var(--ds-blue), #0874df); color: #fff; box-shadow: 0 10px 28px rgba(13,71,161,.22); }
.ds-btn--primary:hover { box-shadow: 0 15px 34px rgba(13,71,161,.27); }
.ds-btn--ghost { border-color: #b8cde5; color: var(--ds-blue); background: rgba(255,255,255,.9); }
.ds-btn--light { background: #fff; color: var(--ds-blue); }

/* Hero */
.ds-hero { padding: 28px 0 0; background: radial-gradient(circle at 85% 10%, #deefff 0, transparent 34%), linear-gradient(180deg, #f8fbff 0, #fff 100%); }
.ds-hero__grid { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 630px; overflow: hidden; border-radius: 32px 32px 0 0; background: #fff; box-shadow: var(--ds-shadow); }
.ds-hero__copy { position: relative; z-index: 2; align-self: center; padding: 76px 52px 76px 64px; }
.ds-hero__copy::before { content: ""; position: absolute; left: -80px; top: 34px; width: 240px; height: 240px; border-radius: 50%; border: 1px solid #dceeff; opacity: .8; pointer-events: none; }
.ds-hero h1, .ds-shop-hero h1, .ds-inner-hero h1, .ds-simple-hero h1 { font-size: clamp(50px, 5.8vw, 82px); line-height: .98; letter-spacing: -.05em; margin: 0 0 25px; color: var(--ds-blue); }
.ds-hero p { font-size: 19px; max-width: 500px; color: var(--ds-muted); margin: 0 0 32px; }
.ds-hero__proof { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 25px; color: #55708e; font-size: 13px; font-weight: 750; }
.ds-hero__proof span { display: flex; align-items: center; gap: 7px; }
.ds-hero__proof .ds-icon { width: 18px; }
.ds-hero__media { position: relative; min-height: 630px; overflow: hidden; }
.ds-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.22), transparent 28%); pointer-events: none; }
.ds-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.ds-hero__floating-card { position: absolute; z-index: 2; right: 30px; bottom: 28px; display: flex; align-items: center; gap: 12px; padding: 15px 18px; border-radius: 17px; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); box-shadow: 0 14px 34px rgba(7,47,115,.18); color: var(--ds-blue); }
.ds-hero__floating-card .ds-icon { width: 29px; height: 29px; }
.ds-hero__floating-card b, .ds-hero__floating-card small { display: block; }
.ds-hero__floating-card b { font-size: 14px; }
.ds-hero__floating-card small { color: var(--ds-muted); font-size: 11px; }

/* Trust bar */
.ds-trust { background: #fff; }
.ds-trust__grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--ds-border); border-top: 0; border-radius: 0 0 22px 22px; box-shadow: 0 18px 55px rgba(13,71,161,.07); }
.ds-trust article { display: flex; gap: 14px; align-items: center; padding: 25px 26px; border-right: 1px solid var(--ds-border); }
.ds-trust article:last-child { border-right: 0; }
.ds-trust article > .ds-icon { color: var(--ds-blue); width: 31px; height: 31px; }
.ds-trust b, .ds-trust small { display: block; }
.ds-trust b { font-size: 14px; }
.ds-trust small { color: var(--ds-muted); font-size: 11px; }

/* Sections */
.ds-section, .ds-page-section { padding: 94px 0; }
.ds-section--soft, .ds-page-section--soft { background: linear-gradient(180deg, #f5faff 0, #fff 100%); }
.ds-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; margin-bottom: 34px; }
.ds-section__head > div { max-width: 820px; }
.ds-section__head h2, .ds-story h2, .ds-newsletter h2, .ds-page-section h2, .ds-cta-card h2, .ds-shop-empty h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.07; letter-spacing: -.04em; margin: 0; color: var(--ds-blue); }
.ds-section__lead { color: var(--ds-muted); max-width: 720px; margin: 13px 0 0; }
.ds-section__head > a { display: flex; align-items: center; gap: 8px; color: var(--ds-blue); font-weight: 850; white-space: nowrap; }
.ds-section__head > a .ds-icon { width: 18px; }

/* Category cards */
.ds-categories { display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; }
.ds-category { position: relative; overflow: hidden; border: 1px solid var(--ds-border); border-radius: 21px; background: #fff; box-shadow: var(--ds-shadow-soft); transition: transform .24s, box-shadow .24s; }
.ds-category:hover { transform: translateY(-7px); box-shadow: var(--ds-shadow); }
.ds-category__media { position: relative; overflow: hidden; }
.ds-category__media img { width: 100%; aspect-ratio: 1 / .83; object-fit: cover; transition: transform .35s; }
.ds-category:hover .ds-category__media img { transform: scale(1.035); }
.ds-category__media .ds-icon { width: 23px; }
.ds-category__copy { padding: 20px 20px 22px; }
.ds-category h3 { margin: 0 0 6px; font-size: 21px; color: var(--ds-ink); }
.ds-category p { margin: 0 0 16px; font-size: 13px; color: var(--ds-muted); min-height: 42px; }
.ds-category__copy > span { display: flex; align-items: center; gap: 7px; color: var(--ds-blue); font-size: 12px; font-weight: 850; }
.ds-category__copy > span .ds-icon { width: 16px; }

/* Woo product cards */
.woocommerce ul.products, ul.products.ds-products-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 23px; list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .ds-product-card { width: auto !important; float: none !important; margin: 0 !important; }
.ds-product-card { border: 1px solid var(--ds-border); border-radius: 22px; overflow: hidden; background: #fff; box-shadow: var(--ds-shadow-soft); transition: transform .22s, box-shadow .22s; }
.ds-product-card:hover { transform: translateY(-6px); box-shadow: var(--ds-shadow); }
.ds-product-card__media { position: relative; overflow: hidden; background: var(--ds-ice); }
.ds-product-card__media img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .36s; }
.ds-product-card:hover .ds-product-card__media img { transform: scale(1.025); }
.ds-product-badges { position: absolute; z-index: 2; left: 13px; top: 13px; display: flex; flex-wrap: wrap; gap: 6px; }
.ds-product-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; color: #fff; background: #d84f4f; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.ds-product-badge--blue { background: linear-gradient(135deg,var(--ds-blue),var(--ds-blue-bright)); }
.ds-product-favourite { position: absolute; z-index: 3; top: 12px; right: 12px; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.95); border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.92); color: var(--ds-blue); cursor: pointer; box-shadow: 0 7px 18px rgba(7,47,115,.13); }
.ds-product-favourite .ds-icon { width: 19px; }
.ds-product-card__body { padding: 18px 19px 20px; }
.ds-product-card__eyebrow { display: flex; align-items: center; gap: 6px; color: var(--ds-blue); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 7px; }
.ds-product-card__eyebrow .ds-icon { width: 15px; height: 15px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 !important; margin: 0 0 6px !important; color: var(--ds-ink); font-size: 18px !important; line-height: 1.25; font-weight: 800; }
.ds-product-card__meta { color: var(--ds-muted); font-size: 12px; min-height: 19px; }
.ds-product-card__rating { display: flex; align-items: center; gap: 1px; margin-top: 11px; color: var(--ds-gold); }
.ds-product-card__rating .ds-icon { width: 13px; height: 13px; fill: currentColor; stroke-width: 1.2; }
.ds-product-card__rating small { margin-left: 5px; color: #8b9bae; font-size: 10px; }
.ds-product-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; padding-top: 13px; border-top: 1px solid #edf3f9; }
.ds-product-card__bottom .price { color: var(--ds-blue); font-weight: 850; font-size: 17px; margin: 0 !important; }
.ds-price-preparing { color: var(--ds-blue); font-weight: 850; font-size: 13px; }
.ds-product-card__arrow { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: var(--ds-blue); }
.ds-product-card__arrow .ds-icon { width: 18px; }
.ds-product-card .button, .ds-card-button { display: none !important; }

/* Pattern fallback */
.ds-pattern-preview { margin-top: 58px; }
.ds-pattern-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.ds-pattern-card { margin: 0; border: 1px solid var(--ds-border); border-radius: 18px; overflow: hidden; background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-pattern-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.ds-pattern-card figcaption { padding: 14px 15px; font-size: 13px; font-weight: 780; }

/* Story */
.ds-story { padding: 0 0 94px; }
.ds-story__grid { display: grid; grid-template-columns: .86fr 1.14fr; min-height: 565px; background: linear-gradient(135deg,#062f73,#0d5dc5); color: #fff; border-radius: 30px; overflow: hidden; box-shadow: var(--ds-shadow); }
.ds-story__copy { padding: 70px 64px; align-self: center; }
.ds-story h2 { color: #fff; }
.ds-story p { color: #dcecff; font-size: 17px; max-width: 560px; margin: 24px 0 25px; }
.ds-story__facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 0 0 30px; }
.ds-story__facts span { padding: 14px 12px; border: 1px solid rgba(255,255,255,.17); border-radius: 14px; background: rgba(255,255,255,.06); }
.ds-story__facts b, .ds-story__facts small { display: block; }
.ds-story__facts b { font-size: 15px; }
.ds-story__facts small { color: #c7ddf5; font-size: 10px; }
.ds-story__media img { width: 100%; height: 100%; object-fit: cover; }

/* Inspiration */
.ds-inspiration__grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; grid-template-rows: 1fr 1fr; gap: 18px; }
.ds-inspiration-card { position: relative; min-height: 250px; overflow: hidden; border-radius: 22px; background: #eef6ff; box-shadow: var(--ds-shadow-soft); }
.ds-inspiration-card--wide { grid-row: span 2; min-height: 520px; }
.ds-inspiration-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ds-inspiration-card:hover img { transform: scale(1.035); }
.ds-inspiration-card::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent,rgba(4,35,79,.78)); }
.ds-inspiration-card > div { position: absolute; z-index: 2; left: 24px; right: 24px; bottom: 22px; color: #fff; }
.ds-inspiration-card > div span { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 850; color: #bde2ff; }
.ds-inspiration-card h3 { margin: 6px 0 0; font-size: 23px; line-height: 1.15; }
.ds-inspiration-card p { margin: 7px 0 0; color: #e4f1ff; font-size: 13px; }

/* Values + newsletter */
.ds-values { padding: 0 0 82px; }
.ds-values--inside { padding: 0; }
.ds-values__grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--ds-border); border-radius: 22px; overflow: hidden; background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-values article { text-align: center; padding: 30px 23px; border-right: 1px solid var(--ds-border); }
.ds-values article:last-child { border: 0; }
.ds-values .ds-icon { color: var(--ds-blue); width: 32px; height: 32px; margin: 0 auto 11px; }
.ds-values b, .ds-values span { display: block; }
.ds-values b { color: var(--ds-blue); font-size: 17px; }
.ds-values span { font-size: 12px; color: var(--ds-muted); }
.ds-newsletter { padding: 76px 0; background: radial-gradient(circle at 90% 20%, #cce8ff 0, transparent 35%), var(--ds-sky); }
.ds-newsletter__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; }
.ds-newsletter h2 { font-size: 42px; }
.ds-newsletter p { margin: 10px 0 0; color: var(--ds-muted); }
.ds-newsletter form { display: flex; gap: 10px; }
.ds-newsletter input { width: min(380px,44vw); height: 52px; border: 1px solid #b9cee7; border-radius: 13px; padding: 0 16px; background: #fff; outline: 0; }

/* Shop archive */
.ds-shop-page { background: #fff; }
.ds-shop-hero { padding: 42px 0 0; background: linear-gradient(180deg,#f5faff 0,#fff 100%); }
.ds-shop-hero__grid { display: grid; grid-template-columns: .9fr 1.1fr; overflow: hidden; border: 1px solid var(--ds-border); border-radius: 28px; background: #fff; box-shadow: var(--ds-shadow); }
.ds-shop-hero__copy { padding: 56px 52px; align-self: center; }
.ds-shop-hero h1 { font-size: clamp(44px,5vw,70px); }
.ds-shop-hero__copy > p { color: var(--ds-muted); font-size: 17px; max-width: 650px; }
.ds-shop-hero__facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 26px; }
.ds-shop-hero__facts > span { display: grid; grid-template-columns: 30px 1fr; column-gap: 8px; align-items: center; padding: 13px; border-radius: 14px; background: var(--ds-ice); color: var(--ds-blue); }
.ds-shop-hero__facts .ds-icon { grid-row: span 2; width: 27px; height: 27px; }
.ds-shop-hero__facts b, .ds-shop-hero__facts small { display: block; }
.ds-shop-hero__facts b { font-size: 11px; }
.ds-shop-hero__facts small { color: var(--ds-muted); font-size: 9px; }
.ds-shop-hero__media { position: relative; min-height: 475px; overflow: hidden; }
.ds-shop-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.ds-shop-content { padding: 56px 0 96px; }
.ds-shop-toolbar { margin-bottom: 28px; padding: 20px 22px; border: 1px solid var(--ds-border); border-radius: 18px; background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-shop-toolbar__top { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.ds-shop-toolbar__title { display: flex; align-items: center; gap: 10px; color: var(--ds-blue); font-size: 18px; font-weight: 850; }
.ds-shop-toolbar__controls { display: flex; align-items: center; gap: 18px; }
.ds-shop-toolbar .woocommerce-result-count { margin: 0; color: var(--ds-muted); font-size: 12px; }
.ds-shop-toolbar .woocommerce-ordering { margin: 0; }
.ds-shop-toolbar select { border: 1px solid #c4d6e9; border-radius: 11px; padding: 10px 38px 10px 13px; color: var(--ds-ink); background: #fff; }
.ds-filter-chips { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 16px; padding-top: 16px; border-top: 1px solid #edf3f9; }
.ds-filter-chips a { padding: 8px 14px; border-radius: 999px; background: var(--ds-ice); color: #526780; font-size: 12px; font-weight: 800; }
.ds-filter-chips a:hover { color: #fff; background: var(--ds-blue); }
.ds-shop-empty { max-width: 850px; margin: 0 auto; text-align: center; padding: 55px 35px; border: 1px solid var(--ds-border); border-radius: 25px; background: linear-gradient(180deg,#f6fbff,#fff); }
.ds-shop-empty__icon { width: 78px; height: 78px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; color: var(--ds-blue); background: var(--ds-sky); }
.ds-shop-empty__icon .ds-icon { width: 38px; height: 38px; }
.ds-shop-empty p { max-width: 680px; margin: 16px auto 26px; color: var(--ds-muted); }
.woocommerce nav.woocommerce-pagination { margin-top: 38px; }
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; justify-content: center; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: var(--ds-ice); color: var(--ds-blue); }
.woocommerce nav.woocommerce-pagination ul li span.current { color: #fff; background: var(--ds-blue); }

/* Single product */
.ds-product-page { padding: 40px 0 96px; background: linear-gradient(180deg,#f8fbff 0,#fff 40%); }
.ds-single-product { display: grid; grid-template-columns: 1.08fr .92fr; gap: 48px; align-items: start; }
.ds-single-product__gallery { position: relative; }
.woocommerce div.product div.images { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border: 1px solid var(--ds-border); border-radius: 24px; overflow: hidden; background: var(--ds-ice); box-shadow: var(--ds-shadow-soft); }
.woocommerce div.product div.images img { width: 100%; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin-top: 12px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 13px; border: 2px solid transparent; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color: var(--ds-blue); }
.ds-gallery-note { display: flex; align-items: center; gap: 7px; margin-top: 11px; color: var(--ds-muted); font-size: 11px; }
.ds-gallery-note .ds-icon { width: 15px; }
.ds-single-product__summary { position: sticky; top: 190px; padding: 34px; border: 1px solid var(--ds-border); border-radius: 24px; background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-demo-ribbon { display: inline-flex; padding: 7px 11px; border-radius: 999px; background: var(--ds-sky); color: var(--ds-blue); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.woocommerce div.product .summary h1 { color: var(--ds-blue); font-size: clamp(38px,4vw,54px); line-height: 1.05; letter-spacing: -.04em; margin: 15px 0 12px; }
.woocommerce div.product .summary .price { color: var(--ds-blue); font-size: 27px; font-weight: 850; }
.woocommerce-product-details__short-description { color: var(--ds-muted); font-size: 16px; }
.woocommerce div.product form.cart { display: flex; gap: 12px; margin: 24px 0; }
.woocommerce div.product form.cart .quantity .qty { height: 50px; border: 1px solid #c4d6e9; border-radius: 12px; }
.woocommerce div.product form.cart .button { min-height: 50px; border-radius: 12px; background: var(--ds-blue) !important; padding: 0 25px !important; }
.ds-product-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.ds-product-trust span { display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 13px; background: var(--ds-ice); color: #425a78; font-size: 11px; font-weight: 720; }
.ds-product-trust .ds-icon { color: var(--ds-blue); width: 20px; }
.ds-demo-product-message { display: flex; gap: 12px; margin: 24px 0 14px; padding: 17px; border-radius: 15px; background: linear-gradient(135deg,#eaf5ff,#f9fcff); color: var(--ds-blue); }
.ds-demo-product-message .ds-icon { width: 27px; }
.ds-demo-product-message b, .ds-demo-product-message p { display: block; }
.ds-demo-product-message p { margin: 5px 0 0; color: var(--ds-muted); font-size: 12px; }
.ds-demo-contact { width: 100%; }
.ds-product-quality-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin: 44px 0 56px; border: 1px solid var(--ds-border); border-radius: 20px; overflow: hidden; background: #fff; }
.ds-product-quality-strip article { display: flex; align-items: center; gap: 12px; padding: 22px; border-right: 1px solid var(--ds-border); }
.ds-product-quality-strip article:last-child { border-right: 0; }
.ds-product-quality-strip .ds-icon { color: var(--ds-blue); width: 27px; }
.ds-product-quality-strip b, .ds-product-quality-strip small { display: block; }
.ds-product-quality-strip b { font-size: 12px; }
.ds-product-quality-strip small { color: var(--ds-muted); font-size: 10px; }
.ds-single-product__below .woocommerce-tabs { margin-top: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 25px; padding: 0 !important; border-bottom: 1px solid var(--ds-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0 !important; background: transparent !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 13px 0 !important; color: var(--ds-muted) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ds-blue) !important; border-bottom: 3px solid var(--ds-blue); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 22px 0; color: var(--ds-muted); }
.woocommerce div.product .related.products > h2, .woocommerce div.product .upsells.products > h2 { color: var(--ds-blue); font-size: 36px; margin: 65px 0 25px; }

/* Generic content pages */
.ds-content { padding: 60px 0 95px; }
.ds-page__header { margin-bottom: 30px; }
.ds-page__header h1 { font-size: clamp(42px,5vw,65px); line-height: 1.05; color: var(--ds-blue); margin: 0; letter-spacing: -.04em; }
.ds-page__content { font-size: 17px; max-width: 960px; }
.ds-page__content h2 { color: var(--ds-blue); font-size: 32px; }
.ds-inner-hero { padding: 48px 0; background: linear-gradient(180deg,#f5faff,#fff); }
.ds-inner-hero__grid { display: grid; grid-template-columns: 1fr 1fr; border-radius: 29px; overflow: hidden; background: #fff; border: 1px solid var(--ds-border); box-shadow: var(--ds-shadow); }
.ds-inner-hero__copy { padding: 62px; align-self: center; }
.ds-inner-hero h1 { font-size: clamp(42px,5vw,64px); }
.ds-inner-hero p { font-size: 18px; color: var(--ds-muted); }
.ds-inner-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.ds-simple-hero { padding: 74px 0 58px; background: radial-gradient(circle at 80% 20%,#d9edff 0,transparent 34%), linear-gradient(140deg,#f7fbff,#eaf5ff); }
.ds-simple-hero h1 { font-size: clamp(42px,5vw,64px); }
.ds-simple-hero p { font-size: 18px; color: var(--ds-muted); max-width: 760px; margin: 0; }
.ds-two-column { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; }
.ds-two-column h2 { margin-top: 0; }
.ds-two-column p { font-size: 17px; color: var(--ds-muted); }
.ds-cta-card { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: 48px; border-radius: 25px; background: linear-gradient(135deg,#eaf5ff,#fff); border: 1px solid var(--ds-border); box-shadow: var(--ds-shadow-soft); }
.ds-cta-card p { color: var(--ds-muted); margin-bottom: 0; }
.ds-care-grid, .ds-info-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.ds-care-grid article, .ds-info-cards article { border: 1px solid var(--ds-border); border-radius: 21px; padding: 32px; background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-care-grid article > .ds-icon, .ds-info-cards article > .ds-icon { color: var(--ds-blue); width: 35px; height: 35px; }
.ds-care-grid h2, .ds-info-cards h2 { font-size: 24px; margin: 14px 0 8px; }
.ds-care-grid p, .ds-info-cards p { color: var(--ds-muted); }
.ds-info-cards { grid-template-columns: repeat(3,1fr); }
.ds-info-cards article > span { display: inline-block; margin-top: 8px; padding: 7px 11px; border-radius: 999px; background: var(--ds-sky); color: var(--ds-blue); font-size: 12px; font-weight: 750; }
.ds-note-card { display: flex; gap: 22px; align-items: center; padding: 35px; border-radius: 21px; background: #fff; border: 1px solid var(--ds-border); box-shadow: var(--ds-shadow-soft); }
.ds-note-card > div:first-child { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--ds-sky); color: var(--ds-blue); }
.ds-note-card .ds-icon { width: 32px; height: 32px; }
.ds-note-card h2 { font-size: 28px; }
.ds-note-card p { margin-bottom: 0; color: var(--ds-muted); }
.ds-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 26px; }
.ds-contact-card, .ds-contact-form-wrap { padding: 40px; border: 1px solid var(--ds-border); border-radius: 23px; background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-contact-card h2, .ds-contact-form-wrap h2 { font-size: 32px; color: var(--ds-blue); margin-top: 0; }
.ds-contact-card > p { display: flex; align-items: flex-start; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--ds-border); margin: 0; }
.ds-contact-card > p:last-child { border: 0; }
.ds-contact-card > p > .ds-icon { color: var(--ds-blue); width: 22px; }
.ds-contact-card > p > span { display: grid; }
.ds-contact-card a { color: var(--ds-blue); }
.ds-contact-form-wrap p { color: var(--ds-muted); font-size: 17px; }
.ds-search-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.ds-search-card { border: 1px solid var(--ds-border); border-radius: 19px; overflow: hidden; background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-search-card img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.ds-search-card > div { padding: 20px; }
.ds-search-card > div > span { color: var(--ds-blue-bright); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.ds-search-card h2 { font-size: 22px; margin: 6px 0; }
.ds-search-card p { color: var(--ds-muted); }
.ds-not-found { text-align: center; padding-block: 100px; }
.ds-not-found > span { font-size: 120px; font-weight: 900; color: var(--ds-sky-2); }

/* Woo account, cart, checkout */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 270px 1fr; gap: 36px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--ds-border); border-radius: 17px; overflow: hidden; box-shadow: var(--ds-shadow-soft); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 14px 17px; border-bottom: 1px solid var(--ds-border); font-weight: 760; }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--ds-sky); color: var(--ds-blue); }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon { border: 1px solid var(--ds-border) !important; border-radius: 20px !important; padding: 30px !important; box-shadow: var(--ds-shadow-soft); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid #c8d8e9; border-radius: 11px; padding: 13px; background: #fff; }
.woocommerce-cart .ds-page__content, .woocommerce-checkout .ds-page__content, .woocommerce-account .ds-page__content { max-width: none; }
.woocommerce table.shop_table { border-color: var(--ds-border) !important; border-radius: 18px !important; overflow: hidden; box-shadow: var(--ds-shadow-soft); }
.woocommerce table.shop_table th { color: var(--ds-blue); }
.woocommerce-cart .cart-collaterals .cart_totals { width: 42%; }
.woocommerce-checkout #customer_details { width: 58%; float: left; padding-right: 30px; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { width: 40%; float: right; }
.woocommerce-checkout #order_review { border: 1px solid var(--ds-border); border-radius: 18px; padding: 24px; box-shadow: var(--ds-shadow-soft); }
.woocommerce-info, .woocommerce-message { border-top-color: var(--ds-blue) !important; background: var(--ds-ice) !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--ds-blue) !important; }
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: 12px !important; background: var(--ds-blue) !important; color: #fff !important; min-height: 46px; padding: 0 20px !important; display: inline-flex; align-items: center; justify-content: center; }
.ds-empty-cart-visual { max-width: 700px; margin: 0 auto 24px; display: flex; align-items: center; gap: 18px; padding: 28px; border-radius: 21px; background: linear-gradient(135deg,#eaf5ff,#fff); border: 1px solid var(--ds-border); text-align: left; }
.ds-empty-cart-visual > span { width: 65px; height: 65px; border-radius: 50%; display: grid; place-items: center; color: var(--ds-blue); background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-empty-cart-visual > span .ds-icon { width: 31px; }
.ds-empty-cart-visual strong { display: block; color: var(--ds-blue); font-size: 19px; }
.ds-empty-cart-visual p { margin: 5px 0 0; color: var(--ds-muted); }

/* Footer */
.ds-footer { background: linear-gradient(145deg,#062d6d,#0b54b4); color: #fff; }
.ds-footer__benefits { background: #f5f9ff; color: var(--ds-ink); border-top: 1px solid var(--ds-border); }
.ds-footer__benefits-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.ds-footer__benefits article { display: flex; align-items: center; gap: 12px; padding: 23px; border-right: 1px solid var(--ds-border); }
.ds-footer__benefits article:last-child { border: 0; }
.ds-footer__benefits .ds-icon { color: var(--ds-blue); }
.ds-footer__benefits b, .ds-footer__benefits small { display: block; }
.ds-footer__benefits b { font-size: 13px; }
.ds-footer__benefits small { color: var(--ds-muted); font-size: 10px; }
.ds-footer__grid { display: grid; grid-template-columns: 1.35fr .8fr .9fr 1fr; gap: 45px; padding: 62px 0 46px; }
.ds-footer__brand img { width: 245px; margin-bottom: 20px; }
.ds-footer__brand p { color: #dceaff; max-width: 360px; font-size: 13px; }
.ds-footer__since { color: #fff !important; font-weight: 800; }
.ds-footer h3 { margin: 0 0 18px; font-size: 15px; }
.ds-footer ul { list-style: none; padding: 0; margin: 0; }
.ds-footer li { margin: 8px 0; }
.ds-footer li a { color: #dceaff; font-size: 13px; }
.ds-footer li a:hover { color: #fff; }
.ds-footer__contact p { display: flex; align-items: center; gap: 9px; color: #dceaff; font-size: 13px; }
.ds-footer__contact .ds-icon { width: 18px; }
.ds-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.16); color: #cfe2f8; font-size: 11px; }
.ds-footer__bottom span:last-child { display: flex; align-items: center; gap: 7px; }
.ds-footer__bottom .ds-icon { width: 15px; }

/* Responsive */
@media (max-width: 1180px) {
  .ds-header__main { grid-template-columns: auto 1fr auto; gap: 22px; }
  .ds-logo img { width: 225px; }
  .ds-nav__list { gap: 25px; }
  .ds-hero__grid { grid-template-columns: .9fr 1.1fr; }
  .ds-hero__copy { padding: 60px 35px 60px 46px; }
  .ds-categories { grid-template-columns: repeat(3,1fr); }
  .ds-category:nth-child(4), .ds-category:nth-child(5) { grid-column: span 1; }
  .woocommerce ul.products, ul.products.ds-products-grid { grid-template-columns: repeat(3,1fr); }
  .ds-inspiration__grid { grid-template-columns: 1.2fr .8fr; }
  .ds-inspiration-card--wide { grid-row: span 2; }
  .ds-inspiration-card:last-child { grid-column: 2; }
}

@media (max-width: 980px) {
  .ds-header__main { min-height: 78px; grid-template-columns: 55px 1fr auto; }
  .ds-menu-toggle { display: block; }
  .ds-header-search, .ds-header__navline { display: none; }
  .ds-logo { justify-self: center; }
  .ds-logo img { width: 205px; }
  .ds-search-mobile { display: grid; }
  .ds-action-labelled small { display: none; }
  .ds-icon-link { min-width: 42px; width: 42px; height: 42px; }
  .ds-hero__grid { grid-template-columns: 1fr; }
  .ds-hero__copy { padding: 55px 45px; }
  .ds-hero__media { min-height: 470px; }
  .ds-trust__grid { grid-template-columns: repeat(2,1fr); }
  .ds-trust article:nth-child(2) { border-right: 0; }
  .ds-trust article:nth-child(-n+2) { border-bottom: 1px solid var(--ds-border); }
  .ds-categories { grid-template-columns: repeat(2,1fr); }
  .woocommerce ul.products, ul.products.ds-products-grid { grid-template-columns: repeat(2,1fr); }
  .ds-story__grid, .ds-inner-hero__grid, .ds-shop-hero__grid, .ds-single-product { grid-template-columns: 1fr; }
  .ds-story__media, .ds-inner-hero__media, .ds-shop-hero__media { max-height: 520px; }
  .ds-single-product__summary { position: static; }
  .ds-newsletter__inner { grid-template-columns: 1fr; }
  .ds-footer__grid { grid-template-columns: 1fr 1fr; }
  .ds-footer__benefits-grid { grid-template-columns: repeat(2,1fr); }
  .ds-footer__benefits article:nth-child(2) { border-right: 0; }
  .ds-values__grid, .ds-product-quality-strip { grid-template-columns: repeat(2,1fr); }
  .ds-values article:nth-child(2), .ds-product-quality-strip article:nth-child(2) { border-right: 0; }
  .ds-values article:nth-child(-n+2), .ds-product-quality-strip article:nth-child(-n+2) { border-bottom: 1px solid var(--ds-border); }
  .ds-two-column, .ds-contact-grid { grid-template-columns: 1fr; }
  .ds-info-cards { grid-template-columns: 1fr; }
  .ds-search-grid { grid-template-columns: repeat(2,1fr); }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { width: 100%; float: none; padding-right: 0; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}

@media (max-width: 782px) { .admin-bar .ds-header { top: 46px; } }

@media (max-width: 680px) {
  :root { --ds-shell: min(100% - 24px, 1380px); --ds-radius: 17px; }
  .ds-topbar__inner span:nth-child(2), .ds-topbar__inner span:nth-child(3) { display: none; }
  .ds-topbar__inner { justify-content: center; min-height: 31px; }
  .ds-header__main { min-height: 68px; gap: 3px; }
  .ds-logo img { width: 170px; }
  .ds-actions .ds-icon-link:nth-child(2) { display: none; }
  .ds-hero { padding-top: 12px; }
  .ds-hero__grid { border-radius: 21px 21px 0 0; min-height: 0; }
  .ds-hero__copy { padding: 38px 25px; }
  .ds-hero h1, .ds-shop-hero h1, .ds-inner-hero h1, .ds-simple-hero h1 { font-size: 42px; }
  .ds-hero p { font-size: 16px; }
  .ds-hero__media { min-height: 330px; }
  .ds-hero__floating-card { left: 14px; right: 14px; bottom: 13px; }
  .ds-trust article { padding: 17px 13px; gap: 9px; }
  .ds-trust article > .ds-icon { width: 23px; }
  .ds-trust b { font-size: 12px; }
  .ds-trust small { font-size: 9px; }
  .ds-section, .ds-page-section { padding: 62px 0; }
  .ds-section__head { display: grid; align-items: start; gap: 12px; }
  .ds-section__head h2, .ds-story h2, .ds-newsletter h2, .ds-page-section h2, .ds-cta-card h2, .ds-shop-empty h2 { font-size: 32px; }
  .ds-section__head > a { font-size: 13px; }
  .ds-categories { display: flex; overflow: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; margin-right: -12px; }
  .ds-category { flex: 0 0 82%; scroll-snap-align: start; }
  .woocommerce ul.products, ul.products.ds-products-grid { grid-template-columns: 1fr 1fr; gap: 11px; }
  .ds-product-card { border-radius: 15px; }
  .ds-product-card__body { padding: 12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; }
  .ds-product-card__eyebrow { font-size: 8px; }
  .ds-product-card__meta { font-size: 10px; }
  .ds-product-card__rating { display: none; }
  .ds-product-card__bottom .price { font-size: 12px; }
  .ds-price-preparing { font-size: 10px; }
  .ds-product-card__arrow { width: 32px; height: 32px; border-radius: 10px; }
  .ds-product-favourite { width: 34px; height: 34px; }
  .ds-product-badge { min-height: 22px; font-size: 8px; padding: 0 7px; }
  .ds-pattern-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }
  .ds-story__copy, .ds-inner-hero__copy, .ds-shop-hero__copy { padding: 38px 25px; }
  .ds-story__facts { grid-template-columns: 1fr; }
  .ds-story__media, .ds-inner-hero__media, .ds-shop-hero__media { max-height: 350px; min-height: 290px; }
  .ds-inspiration__grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .ds-inspiration-card, .ds-inspiration-card--wide { min-height: 230px; grid-row: auto; grid-column: auto; }
  .ds-inspiration-card--wide { grid-column: span 2; min-height: 360px; }
  .ds-inspiration-card:last-child { grid-column: auto; }
  .ds-inspiration-card h3 { font-size: 17px; }
  .ds-values__grid, .ds-product-quality-strip { grid-template-columns: 1fr 1fr; }
  .ds-values article { padding: 20px 11px; }
  .ds-values b { font-size: 13px; }
  .ds-newsletter { padding: 57px 0; }
  .ds-newsletter form { display: grid; }
  .ds-newsletter input { width: 100%; }
  .ds-footer__grid { grid-template-columns: 1fr; gap: 25px; padding-top: 46px; }
  .ds-footer__benefits-grid { grid-template-columns: 1fr; }
  .ds-footer__benefits article { border-right: 0; border-bottom: 1px solid var(--ds-border); }
  .ds-footer__bottom { display: grid; gap: 8px; }
  .ds-shop-hero { padding-top: 24px; }
  .ds-shop-hero__facts { grid-template-columns: 1fr; }
  .ds-shop-toolbar__top { align-items: flex-start; }
  .ds-shop-toolbar__controls { display: grid; gap: 7px; }
  .ds-shop-toolbar .woocommerce-result-count { display: none; }
  .ds-filter-chips { flex-wrap: nowrap; overflow: auto; padding-bottom: 4px; }
  .ds-filter-chips a { white-space: nowrap; }
  .ds-shop-empty { padding: 36px 20px; }
  .ds-single-product { gap: 24px; }
  .ds-single-product__summary { padding: 24px; }
  .woocommerce div.product .summary h1 { font-size: 34px; }
  .ds-product-trust { grid-template-columns: 1fr; }
  .ds-product-quality-strip article { padding: 16px 11px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 15px; overflow: auto; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { white-space: nowrap; font-size: 12px; }
  .ds-care-grid, .ds-search-grid { grid-template-columns: 1fr; }
  .ds-cta-card { display: grid; padding: 31px 24px; }
  .ds-contact-card, .ds-contact-form-wrap { padding: 27px 22px; }
  .woocommerce-cart .cart-collaterals .cart_totals { width: 100%; }
  .ds-search-panel__inner { padding: 13px 0; }
  .ds-search-form .ds-btn { font-size: 0; width: 44px; padding: 0; }
  .ds-search-form .ds-btn::after { content: "→"; font-size: 18px; }
}

/* ==========================================================
   Dobre spím v0.4.4 – product, account, cart and contact polish
   ========================================================== */
html, body { max-width: 100%; overflow-x: clip; }

/* Active archive filter */
.ds-filter-chips a.is-active,
.ds-filter-chips a[aria-current="page"] {
  color: #fff;
  background: linear-gradient(135deg,var(--ds-blue),var(--ds-blue-bright));
  box-shadow: 0 8px 22px rgba(13,71,161,.2);
}

/* Product cards and stable capture loading */
.ds-product-card__media { min-width: 0; isolation: isolate; }
.ds-product-card__media > a { display: block; }
.ds-product-card__media img { background: #f4f9ff; }

/* Product detail v0.4.4 */
.woocommerce div.product.ds-single-product--v043 {
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr) !important;
  gap: clamp(34px,4vw,58px) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  clear: both;
}
.woocommerce div.product.ds-single-product--v043::before,
.woocommerce div.product.ds-single-product--v043::after { display: none !important; }
.ds-single-product--v043 > *,
.ds-single-product--v043 .woocommerce-product-gallery,
.ds-single-product--v043 .summary {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  float: none !important;
  clear: none !important;
}
.ds-single-product--v043 .woocommerce-product-gallery { overflow: hidden; }
.ds-single-product--v043 .woocommerce-product-gallery__wrapper,
.ds-single-product--v043 .flex-viewport {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.ds-single-product--v043 .woocommerce-product-gallery__image { width: 100% !important; min-width: 0; }
.ds-single-product--v043 .woocommerce-product-gallery__image > a {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: clamp(12px,2vw,26px);
  background: radial-gradient(circle at 50% 35%,#fff 0,#f2f8ff 68%,#eaf3fc 100%);
}
.woocommerce div.product.ds-single-product--v043 div.images img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 700px !important;
  margin: auto !important;
  object-fit: contain !important;
}
.ds-single-product--v043 .flex-control-thumbs {
  width: 100% !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  overflow: hidden;
}
.ds-single-product--v043 .flex-control-thumbs li { min-width: 0 !important; overflow: hidden; }
.ds-single-product--v043 .flex-control-thumbs img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
}
.ds-single-product--v043 .ds-single-product__summary {
  position: sticky;
  top: 176px;
  padding: clamp(28px,3vw,42px);
  border-radius: 27px;
}
.ds-product-material-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 13px 0 0 10px;
  color: #58708c;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.ds-product-material-label .ds-icon { width: 17px; height: 17px; color: var(--ds-blue); }
.woocommerce div.product.ds-single-product--v043 .summary h1 {
  max-width: 620px;
  font-size: clamp(38px,3.3vw,52px);
  overflow-wrap: anywhere;
}
.woocommerce div.product.ds-single-product--v043 .product_meta {
  margin-top: 23px;
  padding-top: 18px;
  border-top: 1px solid var(--ds-border);
  color: var(--ds-muted);
  font-size: 12px;
}
.ds-single-product__below { width: 100%; min-width: 0; overflow: hidden; }
.ds-single-product__below .related.products,
.ds-single-product__below .upsells.products { width: 100%; overflow: hidden; }
.ds-single-product__below .products { width: 100%; }

/* Account login */
.woocommerce-account:not(.logged-in) .ds-page__content > .woocommerce { display: block; }
.ds-account-login-v043 {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(390px,1.08fr);
  max-width: 1120px;
  margin: 0 auto;
  border: 1px solid var(--ds-border);
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--ds-shadow);
}
.ds-account-login-v043__welcome {
  padding: clamp(42px,5vw,70px);
  color: #fff;
  background: radial-gradient(circle at 80% 15%,rgba(89,174,255,.35),transparent 34%),linear-gradient(145deg,#052c68,#0d5ac0);
}
.ds-account-login-v043__welcome h2 { margin: 0; color: #fff; font-size: clamp(35px,4vw,53px); line-height: 1.06; }
.ds-account-login-v043__welcome > p { max-width: 500px; color: #d8eaff; font-size: 16px; }
.ds-account-login-v043__welcome ul { list-style: none; padding: 12px 0 0; margin: 0; }
.ds-account-login-v043__welcome li { display: grid; grid-template-columns: 36px 1fr; gap: 13px; align-items: center; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.ds-account-login-v043__welcome li:last-child { border-bottom: 0; }
.ds-account-login-v043__welcome li > .ds-icon { width: 29px; height: 29px; color: #9dd4ff; }
.ds-account-login-v043__welcome b,
.ds-account-login-v043__welcome small { display: block; }
.ds-account-login-v043__welcome small { color: #c8def5; font-size: 11px; }
.ds-account-login-v043__form { padding: clamp(42px,5vw,70px); align-self: center; }
.ds-account-login-v043__form h2 { margin: 0 0 24px; color: var(--ds-blue); font-size: 38px; }
.ds-account-login-v043__form .woocommerce-form-login { padding: 0 !important; border: 0 !important; box-shadow: none !important; }
.ds-account-login-v043__actions { display: flex; justify-content: space-between; align-items: center; gap: 15px; font-size: 12px; }
.ds-account-login-v043__actions a { color: var(--ds-blue); font-weight: 750; }
.ds-account-login-v043__form button { width: 100%; }
.ds-account-register-note { display: grid; gap: 3px; margin-top: 22px; padding: 16px; border-radius: 14px; background: var(--ds-ice); color: var(--ds-muted); font-size: 12px; }
.ds-account-register-note b { color: var(--ds-blue); }

/* Empty cart */
.woocommerce-cart .woocommerce > .cart-empty { display: none; }
.ds-empty-cart-v043 {
  max-width: 780px;
  margin: 0 auto;
  padding: clamp(42px,6vw,78px) clamp(24px,6vw,72px);
  text-align: center;
  border: 1px solid var(--ds-border);
  border-radius: 30px;
  background: radial-gradient(circle at 50% 0,#dcefff 0,transparent 44%),linear-gradient(180deg,#f8fcff,#fff);
  box-shadow: var(--ds-shadow);
}
.ds-empty-cart-v043__icon { display: grid; place-items: center; width: 92px; height: 92px; margin: 0 auto 22px; border-radius: 50%; color: var(--ds-blue); background: #fff; box-shadow: var(--ds-shadow-soft); }
.ds-empty-cart-v043__icon .ds-icon { width: 42px; height: 42px; }
.ds-empty-cart-v043 h2 { margin: 0; color: var(--ds-blue); font-size: clamp(38px,5vw,58px); line-height: 1.05; }
.ds-empty-cart-v043 p { max-width: 560px; margin: 16px auto 28px; color: var(--ds-muted); }
.ds-empty-cart-products { margin-top: 76px; }

/* Contact form */
.ds-contact-card__image { margin: 28px 0 0; overflow: hidden; border-radius: 17px; background: var(--ds-ice); }
.ds-contact-card__image img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.ds-contact-form { display: grid; gap: 17px; margin-top: 25px; }
.ds-contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.ds-contact-form p { margin: 0; }
.ds-contact-form label:not(.ds-contact-form__consent) { display: grid; gap: 7px; color: #314a68; font-size: 12px; font-weight: 800; }
.ds-contact-form label > span { color: #d44b4b; }
.ds-contact-form input[type="text"],
.ds-contact-form input[type="email"],
.ds-contact-form input[type="tel"],
.ds-contact-form select,
.ds-contact-form textarea {
  width: 100%;
  border: 1px solid #bfd2e7;
  border-radius: 12px;
  padding: 13px 14px;
  color: var(--ds-ink);
  background: #fff;
  outline: 0;
  transition: border-color .2s,box-shadow .2s;
}
.ds-contact-form textarea { resize: vertical; min-height: 160px; }
.ds-contact-form input:focus,
.ds-contact-form select:focus,
.ds-contact-form textarea:focus { border-color: var(--ds-blue-bright); box-shadow: 0 0 0 4px rgba(47,142,244,.12); }
.ds-contact-form__consent { display: flex; align-items: flex-start; gap: 10px; color: var(--ds-muted); font-size: 11px; line-height: 1.45; }
.ds-contact-form__consent input { margin-top: 3px; }
.ds-contact-form__consent a { color: var(--ds-blue); text-decoration: underline; }
.ds-contact-form .ds-btn { justify-self: start; }
.ds-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.ds-form-message { margin: 20px 0 0; padding: 14px 16px; border-radius: 12px; font-size: 13px; font-weight: 700; }
.ds-form-message--success { color: #11643d; background: #e8f8ef; border: 1px solid #bce7cf; }
.ds-form-message--error { color: #8c2929; background: #fff0f0; border: 1px solid #f0c4c4; }

@media (max-width: 980px) {
  .woocommerce div.product.ds-single-product--v043 { grid-template-columns: minmax(0,1fr) !important; gap: 28px !important; }
  .ds-single-product--v043 .ds-single-product__summary { position: static; top: auto; }
  .ds-account-login-v043 { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .ds-product-page { padding-top: 22px; overflow: hidden; }
  .woocommerce div.product.ds-single-product--v043 { display: grid !important; width: 100% !important; max-width: 100% !important; gap: 20px !important; }
  .ds-single-product--v043 .woocommerce-product-gallery__image > a { aspect-ratio: 1 / 1; padding: 8px; }
  .woocommerce div.product.ds-single-product--v043 div.images img { max-height: none !important; max-width: 100% !important; width: 100% !important; }
  .ds-single-product--v043 .flex-control-thumbs { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 7px !important; }
  .ds-single-product--v043 .ds-single-product__summary { padding: 23px 20px; border-radius: 19px; }
  .woocommerce div.product.ds-single-product--v043 .summary h1 { font-size: 32px; }
  .ds-product-material-label { display: flex; margin: 10px 0 0; }
  .ds-product-quality-strip { grid-template-columns: 1fr 1fr; margin: 28px 0 42px; }
  .ds-single-product__below .related.products > h2 { font-size: 29px; margin-top: 42px; }
  .ds-account-login-v043 { border-radius: 21px; }
  .ds-account-login-v043__welcome,
  .ds-account-login-v043__form { padding: 32px 23px; }
  .ds-account-login-v043__welcome h2 { font-size: 35px; }
  .ds-account-login-v043__actions { align-items: flex-start; flex-direction: column; }
  .ds-empty-cart-v043 { border-radius: 21px; }
  .ds-empty-cart-products { margin-top: 54px; }
  .ds-contact-form__row { grid-template-columns: 1fr; }
  .ds-contact-form .ds-btn { width: 100%; }
}

/* =========================================================
   Dobre spím v0.4.4 – approved logo + brand icon system
   ========================================================= */
.ds-brand-icon {
  display: block;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  object-fit: contain;
}
.ds-brand-icon--topbar { width: 21px; height: 21px; filter: drop-shadow(0 2px 4px rgba(0,40,100,.18)); }
.ds-brand-icon--proof { width: 25px; height: 25px; }
.ds-brand-icon--floating { width: 46px; height: 46px; }
.ds-brand-icon--trust { width: 48px; height: 48px; }
.ds-brand-icon--value { width: 58px; height: 58px; margin-bottom: 4px; }
.ds-brand-icon--benefit { width: 46px; height: 46px; }
.ds-brand-icon--card { width: 20px; height: 20px; }
.ds-brand-icon--material { width: 27px; height: 27px; }
.ds-brand-icon--quality { width: 48px; height: 48px; }
.ds-brand-icon--account { width: 42px; height: 42px; }
.ds-brand-icon--empty-cart { width: 78px; height: 78px; }

.ds-logo img {
  width: min(330px, 100%);
  max-height: 84px;
  object-fit: contain;
  object-position: left center;
}
.ds-footer__brand img {
  width: 260px;
  max-height: 78px;
  object-fit: contain;
  object-position: left center;
}
.ds-topbar .ds-brand-icon { width: 21px; height: 21px; }
.ds-hero__proof .ds-brand-icon { width: 25px; height: 25px; }
.ds-hero__floating-card .ds-brand-icon { width: 46px; height: 46px; }
.ds-trust article > .ds-brand-icon { width: 48px; height: 48px; }
.ds-values article > .ds-brand-icon { width: 58px; height: 58px; }
.ds-footer__benefits article > .ds-brand-icon { width: 46px; height: 46px; }
.ds-product-card__eyebrow .ds-brand-icon { width: 20px; height: 20px; }
.ds-product-material-label .ds-brand-icon { width: 27px; height: 27px; }
.ds-product-quality-strip article > .ds-brand-icon { width: 48px; height: 48px; }
.ds-account-login-v043__welcome li > .ds-brand-icon { width: 42px; height: 42px; }
.ds-empty-cart-v043__icon .ds-brand-icon { width: 78px; height: 78px; }

/* WooCommerce gallery: remove oversized trigger while keeping slider/lightbox. */
.woocommerce div.product .woocommerce-product-gallery__trigger,
.woocommerce div.product a.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery__trigger,
.woocommerce-product-gallery__trigger::before,
.woocommerce-product-gallery__trigger::after {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.ds-single-product--v043 .woocommerce-product-gallery {
  padding-top: 0 !important;
}
.ds-single-product--v043 .woocommerce-product-gallery__wrapper {
  margin-top: 0 !important;
}

/* Product images: deterministic rendering for desktop/tablet captures. */
.ds-product-card__media img,
.ds-pattern-card img,
.ds-empty-cart-products img,
.woocommerce ul.products li.product img {
  opacity: 1 !important;
  visibility: visible !important;
  content-visibility: visible !important;
  transform: none !important;
}
.ds-product-card__media img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
}

/* Empty cart – only the custom branded state is shown. */
.woocommerce-cart .woocommerce-info.cart-empty,
.woocommerce-cart .wc-block-cart__empty-cart__title,
.woocommerce-cart .return-to-shop:not(.ds-empty-cart-v043 .return-to-shop) {
  display: none !important;
}

/* Password visibility control and small form polish. */
.ds-account-login-v043__form .password-input {
  position: relative;
  display: block;
}
.ds-account-login-v043__form .show-password-input {
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}
.ds-account-login-v043__actions .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  font-size: 13px;
}

@media (max-width: 1180px) {
  .ds-header__main { grid-template-columns: 260px minmax(260px,1fr) auto; gap: 22px; }
  .ds-logo img { width: 260px; max-height: 76px; }
  .ds-brand-icon--trust { width: 42px; height: 42px; }
}

@media (max-width: 760px) {
  .ds-logo img { width: 190px; max-height: 60px; }
  .ds-topbar .ds-brand-icon { width: 18px; height: 18px; }
  .ds-hero__proof .ds-brand-icon { width: 22px; height: 22px; }
  .ds-trust article > .ds-brand-icon { width: 40px; height: 40px; }
  .ds-values article > .ds-brand-icon { width: 48px; height: 48px; }
  .ds-product-quality-strip article > .ds-brand-icon { width: 42px; height: 42px; }
  .ds-footer__brand img { width: 225px; max-height: 68px; }
}

@media (max-width: 420px) {
  .ds-logo img { width: 166px; max-height: 52px; }
  .ds-brand-icon--empty-cart { width: 66px; height: 66px; }
}

/* ==========================================================
   Dobre spím v0.4.4 – mobile hardening and product polish
   ========================================================== */
html { width: 100%; min-width: 0; }
body { width: 100%; min-width: 0; }
#page, .site, .ds-header, main, footer { width: 100%; min-width: 0; }
.ds-shell { max-width: 1380px; min-width: 0; }

/* Do not suggest reviews where none exist. */
.ds-product-card__rating--empty {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 24px;
  color: var(--ds-blue);
  font-size: 11px;
  font-weight: 800;
}
.ds-product-card__rating--empty .ds-icon { width: 15px; height: 15px; }

/* Product image: show more product and less empty background. */
.ds-single-product--v043 .woocommerce-product-gallery__image > a {
  padding: clamp(8px,1.15vw,16px);
}
.woocommerce div.product.ds-single-product--v043 div.images img {
  width: 94% !important;
  max-width: 94% !important;
  max-height: 740px !important;
}
.ds-single-product--v043 .flex-control-thumbs { gap: 10px !important; margin-top: 12px !important; }

/* Tabs become a clean accordion on smaller screens. */
.ds-product-accordion-toggle { display: none; }
@media (max-width: 820px) {
  .woocommerce div.product .woocommerce-tabs ul.tabs { display: none !important; }
  .woocommerce div.product .woocommerce-tabs .panel {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 1px solid var(--ds-border);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
  }
  .ds-product-accordion-toggle {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 14px 17px;
    border: 0;
    background: var(--ds-ice);
    color: var(--ds-blue);
    font-weight: 850;
    text-align: left;
    cursor: pointer;
  }
  .ds-product-accordion-toggle::after { content: "+"; font-size: 23px; line-height: 1; }
  .ds-product-accordion-toggle[aria-expanded="true"]::after { content: "−"; }
  .ds-product-accordion-content { display: none; padding: 18px 17px 20px; }
  .ds-product-accordion-toggle[aria-expanded="true"] + .ds-product-accordion-content { display: block; }
}

/* Explicit mobile viewport hardening. */
@media (max-width: 680px) {
  html, body { width: 100% !important; max-width: none !important; min-width: 0 !important; overflow-x: hidden !important; }
  body > *, .ds-header, .ds-topbar, main, footer { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .ds-shell { width: calc(100% - 24px) !important; max-width: calc(100% - 24px) !important; min-width: 0 !important; margin-left: 12px !important; margin-right: 12px !important; }
  .ds-header__main { grid-template-columns: 42px minmax(0,1fr) auto !important; width: calc(100% - 24px) !important; }
  .ds-logo { min-width: 0; overflow: hidden; }
  .ds-logo img { width: min(170px,100%) !important; max-width: 100% !important; }
  .ds-actions { min-width: 42px; }
  .ds-hero__grid, .ds-shop-hero__grid, .ds-inner-hero__grid, .ds-story__grid,
  .ds-single-product--v043, .ds-contact-grid, .ds-account-login-v043 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0,1fr) !important;
  }
  .woocommerce ul.products, ul.products.ds-products-grid { width: 100% !important; min-width: 0 !important; }
  .ds-product-card, .ds-product-card * { min-width: 0; }
  .woocommerce div.product.ds-single-product--v043 div.images img { width: 100% !important; max-width: 100% !important; }
  .ds-single-product--v043 .ds-single-product__summary { padding: 22px !important; }
  .woocommerce div.product.ds-single-product--v043 .summary h1 { font-size: 32px !important; }
}

/* Dobre spím v0.4.4 – top icon integration + three-photo product standard */
.ds-top-icon{display:block;width:100%;height:100%;object-fit:contain}
.ds-category__media{position:relative}
.ds-category__top-icon{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:64px;height:64px;padding:8px;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(8,61,113,.15);backdrop-filter:blur(8px)}
.ds-category__top-icon .ds-top-icon{filter:drop-shadow(0 4px 8px rgba(10,75,135,.08))}
.ds-photo-standard{background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}
.ds-photo-standard__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ds-photo-standard__grid figure{position:relative;margin:0;overflow:hidden;border:1px solid var(--ds-border);border-radius:22px;background:#fff;box-shadow:var(--ds-shadow-soft)}
.ds-photo-standard__grid figure>span{position:absolute;z-index:2;top:14px;left:14px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ds-blue);color:#fff;font-weight:850;box-shadow:0 7px 18px rgba(0,73,145,.2)}
.ds-photo-standard__grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#f7fbff}
.ds-photo-standard__grid figcaption{display:grid;gap:3px;padding:17px 18px 19px;color:var(--ds-blue)}
.ds-photo-standard__grid figcaption b{font-size:18px}.ds-photo-standard__grid figcaption small{color:var(--ds-muted);font-size:12px}
.ds-top-icon--value{width:62px!important;height:62px!important;margin-bottom:9px}
.ds-care-grid article .ds-top-icon--care{width:72px;height:72px;margin-bottom:12px}
.ds-gallery-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;color:#526a83;font-size:11px}
.ds-gallery-legend span{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid var(--ds-border);border-radius:12px;background:#fff}
.ds-gallery-legend b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--ds-ice);color:var(--ds-blue);font-size:11px}
@media(max-width:760px){
  .ds-category__top-icon{width:50px;height:50px;right:9px;bottom:9px;border-radius:14px;padding:6px}
  .ds-photo-standard__grid{grid-template-columns:1fr;gap:15px}
  .ds-photo-standard__grid figure{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center}
  .ds-photo-standard__grid img{aspect-ratio:1/1;height:100%;min-height:128px}
  .ds-photo-standard__grid figcaption{padding:16px}
  .ds-photo-standard__grid figure>span{top:9px;left:9px;width:30px;height:30px}
  .ds-gallery-legend{font-size:10px;gap:5px}.ds-gallery-legend span{padding:7px 4px;gap:4px}
}

/* ==========================================================
   Dobre spím v0.4.6 – final catalogue / three-photo polish
   ========================================================== */

/* Three published demo products should use the full catalogue width. */
@media (min-width: 981px) {
  .woocommerce ul.products:has(> li:first-child:nth-last-child(3)),
  ul.products.ds-products-grid--demo {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

/* Product card: packshot -> bed scene on hover, using the same verified three-photo set. */
.ds-product-card__media > a {
  position: relative;
  overflow: hidden;
  background: #f5f9fe;
}
.ds-product-card__media > a > img {
  display: block;
  transition: opacity .28s ease, transform .35s ease;
}
.ds-product-card__media .ds-product-card__alt-image {
  position: absolute !important;
  inset: 0;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0;
}
@media (hover:hover) and (pointer:fine) {
  .ds-product-card:hover .ds-product-card__media > a > img:first-of-type { opacity: 0; transform: scale(1.015); }
  .ds-product-card:hover .ds-product-card__media .ds-product-card__alt-image { opacity: 1; transform: scale(1.015); }
}
.ds-product-card__meta:empty { display:none; }
.ds-product-card__rating--empty small { font-size: 10px; text-transform: uppercase; letter-spacing: .035em; }

/* Dead material-filter URLs show a clean explanation instead of legacy placeholder designs. */
.ds-filter-empty-note {
  max-width: 760px;
  margin: 28px auto 0;
  padding: 17px 20px;
  border: 1px solid var(--ds-border);
  border-radius: 15px;
  color: var(--ds-muted);
  background: #fff;
  text-align: center;
  font-size: 13px;
}
.ds-filter-empty-note a { color: var(--ds-blue); font-weight: 800; }

/* Stable custom three-photo product gallery. No FlexSlider dependency = no blank slide. */
.ds-fixed-gallery { width:100%; min-width:0; }
.ds-fixed-gallery__stage {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  min-height: clamp(460px,48vw,690px);
  padding: clamp(16px,2vw,28px);
  overflow: hidden;
  border: 1px solid var(--ds-border);
  border-radius: 26px;
  background: radial-gradient(circle at 50% 34%,#fff 0,#f6faff 62%,#ecf5fd 100%);
  box-shadow: var(--ds-shadow-soft);
  cursor: zoom-in;
}
.ds-fixed-gallery__stage > img {
  display:block;
  width:100%;
  height:100%;
  max-height: 640px;
  object-fit: contain;
  border-radius: 18px;
}
.ds-fixed-gallery__zoom {
  position:absolute;
  top:15px;
  right:15px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(38,102,170,.15);
  border-radius:999px;
  color:var(--ds-blue);
  background:rgba(255,255,255,.94);
  box-shadow:0 7px 20px rgba(8,61,113,.12);
  font-size:11px;
  font-weight:800;
  pointer-events:none;
}
.ds-fixed-gallery__zoom .ds-icon { width:16px; height:16px; }
.ds-fixed-gallery__thumbs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:13px;
}
.ds-fixed-gallery__thumb {
  position:relative;
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
  padding:6px;
  border:1px solid var(--ds-border);
  border-radius:16px;
  color:#45617e;
  background:#fff;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.ds-fixed-gallery__thumb:hover,
.ds-fixed-gallery__thumb.is-active {
  border-color:#2a80dc;
  box-shadow:0 9px 24px rgba(8,74,145,.12);
}
.ds-fixed-gallery__thumb.is-active { transform: translateY(-1px); }
.ds-fixed-gallery__thumb img {
  display:block;
  width:88px;
  height:72px;
  object-fit:cover;
  border-radius:11px;
  background:#f4f9ff;
}
.ds-fixed-gallery__thumb span { display:grid; gap:3px; font-size:11px; font-weight:800; }
.ds-fixed-gallery__thumb span b {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  color:#fff;
  background:var(--ds-blue);
  font-size:10px;
}
.ds-fixed-gallery__help {
  margin:11px 2px 0;
  color:var(--ds-muted);
  font-size:11px;
}
.ds-fixed-gallery__dialog {
  width:min(1100px,calc(100vw - 32px));
  max-width:none;
  max-height:calc(100vh - 32px);
  padding:18px;
  border:0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 35px 90px rgba(0,27,61,.35);
}
.ds-fixed-gallery__dialog::backdrop { background:rgba(0,24,54,.72); backdrop-filter:blur(4px); }
.ds-fixed-gallery__dialog img { display:block; width:100%; max-height:calc(100vh - 68px); object-fit:contain; border-radius:14px; }
.ds-fixed-gallery__close {
  position:absolute;
  z-index:2;
  right:27px;
  top:27px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  color:#fff;
  background:rgba(6,61,126,.92);
  font-size:27px;
  cursor:pointer;
}
.ds-fixed-gallery--empty .ds-fixed-gallery__placeholder { padding:80px 25px; border-radius:22px; background:var(--ds-ice); text-align:center; color:var(--ds-muted); }

/* Old Woo gallery elements are intentionally not used in v0.4.6. */
.ds-single-product--v043 .woocommerce-product-gallery { display:none !important; }
.ds-product-material-label--pending { margin-left:0; color:var(--ds-blue); background:var(--ds-ice); border-radius:999px; padding:7px 10px; }
.ds-product-material-label--pending .ds-icon { width:14px; height:14px; }

/* Product info/tabs: the tabs live below the main product grid, so scope them correctly. */
.ds-single-product__below .woocommerce-tabs {
  margin-top:0;
  padding:0;
}
.ds-single-product__below .woocommerce-tabs ul.tabs {
  display:flex;
  gap:30px;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  border-bottom:1px solid var(--ds-border);
}
.ds-single-product__below .woocommerce-tabs ul.tabs::before { display:none !important; }
.ds-single-product__below .woocommerce-tabs ul.tabs li {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  list-style:none !important;
}
.ds-single-product__below .woocommerce-tabs ul.tabs li::before,
.ds-single-product__below .woocommerce-tabs ul.tabs li::after { display:none !important; }
.ds-single-product__below .woocommerce-tabs ul.tabs li a {
  display:block;
  padding:14px 1px !important;
  color:var(--ds-muted) !important;
  font-size:13px;
  font-weight:850;
  text-decoration:none;
}
.ds-single-product__below .woocommerce-tabs ul.tabs li.active a { color:var(--ds-blue) !important; box-shadow:inset 0 -3px 0 var(--ds-blue); }
.ds-single-product__below .woocommerce-tabs .panel {
  max-width:920px;
  padding:25px 0 8px !important;
  color:var(--ds-muted);
  font-size:15px;
  line-height:1.7;
}
.ds-single-product__below .woocommerce-tabs .panel h2 { margin:0 0 10px; color:var(--ds-blue); font-size:26px; }

@media (max-width: 980px) {
  .ds-fixed-gallery__stage { min-height: 520px; }
  .ds-fixed-gallery__thumb { grid-template-columns:72px minmax(0,1fr); }
  .ds-fixed-gallery__thumb img { width:72px; height:64px; }
}

@media (max-width: 820px) {
  .ds-single-product__below .woocommerce-tabs ul.tabs { display:none !important; }
  .ds-fixed-gallery__stage { min-height:0; aspect-ratio:1/1; padding:10px; border-radius:19px; }
  .ds-fixed-gallery__stage > img { max-height:none; }
  .ds-fixed-gallery__zoom span { display:none; }
  .ds-fixed-gallery__zoom { width:38px; padding:0; justify-content:center; }
  .ds-fixed-gallery__thumbs { gap:7px; }
  .ds-fixed-gallery__thumb { display:block; padding:4px; border-radius:12px; }
  .ds-fixed-gallery__thumb img { width:100%; height:auto; aspect-ratio:1/1; border-radius:9px; }
  .ds-fixed-gallery__thumb span { display:flex; align-items:center; justify-content:center; gap:4px; padding:6px 2px 3px; font-size:9px; text-align:center; }
  .ds-fixed-gallery__thumb span b { width:18px; height:18px; font-size:8px; }
  .ds-fixed-gallery__help { text-align:center; font-size:10px; }
  .ds-single-product__below .woocommerce-tabs .panel { max-width:none; }
}

@media (max-width: 680px) {
  .woocommerce ul.products:has(> li:first-child:nth-last-child(3)),
  ul.products.ds-products-grid--demo { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 820px) {
  .ds-single-product__below .woocommerce-tabs .panel {
    display:block !important;
    margin:0 0 10px !important;
    padding:0 !important;
    border:1px solid var(--ds-border);
    border-radius:16px;
    background:#fff;
    overflow:hidden;
  }
  .ds-single-product__below .woocommerce-tabs .panel > .ds-product-accordion-toggle { display:flex; }
  .ds-single-product__below .woocommerce-tabs .panel > .ds-product-accordion-content { padding:18px 17px 20px; }
}

/* =========================================================
   Dobre spím v0.5.0 – real product / variation / checkout UX
   ========================================================= */
.ds-single-product__summary form.variations_form { margin-top:22px; padding-top:20px; border-top:1px solid var(--ds-border); }
.ds-single-product__summary table.variations { width:100%; margin:0 0 14px !important; border-collapse:separate; border-spacing:0 10px; }
.ds-single-product__summary table.variations tr { display:grid; grid-template-columns:130px minmax(0,1fr); align-items:center; gap:12px; }
.ds-single-product__summary table.variations th,
.ds-single-product__summary table.variations td { display:block; width:auto !important; padding:0 !important; border:0 !important; text-align:left; }
.ds-single-product__summary table.variations th label { color:var(--ds-navy); font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.ds-single-product__summary table.variations select { width:100%; min-height:48px; padding:0 44px 0 14px; border:1px solid var(--ds-border); border-radius:12px; background:#fff; color:var(--ds-navy); font-weight:700; }
.ds-single-product__summary table.variations .reset_variations { display:inline-block; margin-top:6px; color:var(--ds-blue); font-size:11px; font-weight:750; }
.ds-single-product__summary .single_variation_wrap { display:grid; gap:14px; }
.ds-single-product__summary .woocommerce-variation-price .price { color:var(--ds-blue); font-size:27px; font-weight:900; }
.ds-single-product__summary .woocommerce-variation-availability p.stock { margin:0; font-size:13px; font-weight:750; }
.ds-single-product__summary .woocommerce-variation-add-to-cart { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:center; }
.ds-single-product__summary .quantity { display:flex; min-width:94px; }
.ds-single-product__summary .quantity .qty { width:94px; min-height:50px; border:1px solid var(--ds-border); border-radius:12px; text-align:center; font-weight:800; }
.ds-single-product__summary .single_add_to_cart_button { min-height:50px !important; margin:0 !important; border:0 !important; border-radius:12px !important; background:linear-gradient(135deg,var(--ds-blue),#087de0) !important; color:#fff !important; font-size:13px !important; font-weight:850 !important; letter-spacing:.02em; box-shadow:0 12px 26px rgba(0,88,158,.18); }
.ds-single-product__summary .single_add_to_cart_button:hover { transform:translateY(-1px); box-shadow:0 15px 30px rgba(0,88,158,.24); }
.ds-single-product__summary .single_add_to_cart_button.disabled { opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }
.ds-single-product__summary .stock.in-stock { color:#087a3b; }
.ds-single-product__summary .stock.out-of-stock { color:#a22b24; }

/* Cart and checkout are intentionally styled without inventing payment/shipping data. */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-checkout form.checkout { color:var(--ds-navy); }
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table { border:1px solid var(--ds-border) !important; border-radius:16px !important; overflow:hidden; background:#fff; }
.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th { color:var(--ds-navy); font-weight:850; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review { padding:22px; border:1px solid var(--ds-border); border-radius:18px; background:#fff; box-shadow:var(--ds-shadow-soft); }
.woocommerce-checkout #customer_details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.woocommerce-checkout #customer_details > div { width:100% !important; float:none !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { min-height:46px; border:1px solid var(--ds-border); border-radius:11px; padding:10px 12px; background:#fff; }
.woocommerce-checkout #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height:52px; display:flex; align-items:center; justify-content:center; border-radius:12px !important; background:linear-gradient(135deg,var(--ds-blue),#087de0) !important; font-weight:850 !important; }

@media (max-width: 820px) {
  .ds-single-product__summary table.variations tr { grid-template-columns:1fr; gap:5px; }
  .ds-single-product__summary .woocommerce-variation-add-to-cart { grid-template-columns:1fr; }
  .ds-single-product__summary .quantity .qty { width:100%; }
  .woocommerce-checkout #customer_details { grid-template-columns:1fr; gap:0; }
}


/* ==========================================================
   Dobre spím v0.5.1 – reálne produktové fotografie
   ========================================================== */
@media (min-width: 1180px) {
  .woocommerce ul.products:has(> li:first-child:nth-last-child(5)),
  ul.products.ds-products-grid--demo:has(> li:first-child:nth-last-child(5)) {
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    gap: 18px;
  }
}
@media (min-width: 761px) and (max-width: 1179px) {
  .woocommerce ul.products:has(> li:first-child:nth-last-child(5)),
  ul.products.ds-products-grid--demo:has(> li:first-child:nth-last-child(5)) {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}
.ds-readiness-product-table .button{white-space:nowrap}

/* ==========================================================
   Dobre spím v0.5.3 – crisp homepage imagery + cleaner category cards
   ========================================================== */
.ds-hero__media > img {
  object-position: 52% 50%;
  image-rendering: auto;
}
.ds-story__media > img,
.ds-inner-hero__media > img {
  object-position: 50% 50%;
  image-rendering: auto;
}
/* Category cards intentionally keep only the right-hand TOP icon. */
.ds-category__media > .ds-category__top-icon { z-index: 2; }

/* v0.5.8 – privacy-safe contact map + capture-safe imagery */
.ds-contact-card__map {
  margin: 28px 0 0;
  overflow: hidden;
  border: 1px solid var(--ds-border);
  border-radius: 20px;
  background: #f5f9fe;
  box-shadow: 0 16px 38px rgba(22, 73, 131, .09);
}
.ds-contact-map__placeholder {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, .9fr) minmax(230px, 1.2fr);
  min-height: 330px;
  background:
    radial-gradient(circle at 15% 18%, rgba(46,147,244,.14), transparent 30%),
    linear-gradient(135deg, #eef6ff 0%, #f8fbff 55%, #edf6ff 100%);
}
.ds-contact-map__visual {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  border-right: 1px solid rgba(20,83,164,.10);
  background:
    linear-gradient(28deg, transparent 0 43%, rgba(255,255,255,.95) 43% 49%, transparent 49% 100%),
    linear-gradient(112deg, transparent 0 54%, rgba(255,255,255,.86) 54% 60%, transparent 60% 100%),
    radial-gradient(circle at 25% 35%, rgba(81,170,114,.12) 0 18%, transparent 18%),
    radial-gradient(circle at 74% 75%, rgba(81,170,114,.10) 0 22%, transparent 22%),
    #eaf4ff;
}
.ds-contact-map__road {
  position: absolute;
  display: block;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 0 0 1px rgba(25,93,163,.05);
}
.ds-contact-map__road--a { width: 145%; left: -20%; top: 36%; transform: rotate(24deg); }
.ds-contact-map__road--b { width: 125%; left: -12%; top: 67%; transform: rotate(-18deg); }
.ds-contact-map__road--c { width: 105%; left: 8%; top: 16%; transform: rotate(76deg); }
.ds-contact-map__pin {
  position: absolute;
  left: 52%;
  top: 48%;
  width: 62px;
  height: 62px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  border: 8px solid rgba(255,255,255,.86);
  border-radius: 50% 50% 50% 12px;
  background: linear-gradient(145deg, #0b4ea2, #1d82e6);
  color: #fff;
  box-shadow: 0 15px 34px rgba(11,78,162,.28);
  rotate: -45deg;
}
.ds-contact-map__pin .ds-icon {
  width: 25px;
  height: 25px;
  rotate: 45deg;
}
.ds-contact-map__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px 30px;
}
.ds-contact-map__copy h3 {
  margin: 5px 0 5px;
  color: var(--ds-navy);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.05;
}
.ds-contact-map__copy p {
  margin: 0 0 20px;
  color: var(--ds-muted);
}
.ds-contact-map__copy small {
  display: block;
  margin-top: 12px;
  color: #6b7f99;
  font-size: 11px;
  line-height: 1.45;
}
.ds-contact-map__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.ds-contact-map__actions .ds-btn {
  min-height: 44px;
}
.ds-contact-map__canvas {
  min-height: 350px;
  background: #edf5fc;
}
.ds-contact-map__canvas[hidden] { display: none !important; }
.ds-contact-map__iframe {
  display: block;
  width: 100%;
  min-height: 350px;
  border: 0;
  background: #edf5fc;
}
.ds-contact-card__map figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
  border-top: 1px solid var(--ds-border);
  background: #fff;
  color: var(--ds-muted);
  font-size: 12px;
}
.ds-contact-card__map figcaption a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--ds-blue);
  font-weight: 850;
  text-decoration: none;
}
.ds-contact-card__map figcaption .ds-icon { width: 16px; }

.ds-story__media > img,
.ds-photo-standard__grid img,
.ds-products-grid img,
.woocommerce ul.products img {
  content-visibility: visible;
}

@media (max-width: 760px) {
  .ds-contact-map__placeholder { grid-template-columns: 1fr; }
  .ds-contact-map__visual { min-height: 185px; border-right: 0; border-bottom: 1px solid rgba(20,83,164,.10); }
  .ds-contact-map__copy { padding: 22px 20px 24px; }
  .ds-contact-map__actions { flex-direction: column; }
  .ds-contact-map__actions .ds-btn { width: 100%; justify-content: center; }
  .ds-contact-map__iframe, .ds-contact-map__canvas { min-height: 300px; }
}
@media (max-width: 460px) {
  .ds-contact-map__visual { min-height: 160px; }
  .ds-contact-map__iframe, .ds-contact-map__canvas { min-height: 270px; }
}

.ds-legal { max-width: 1040px; margin: 0 auto; color: #263b57; }
.ds-legal__lead {
  margin: 0 0 28px;
  padding: 28px 32px;
  border: 1px solid #cfe0f2;
  border-radius: 22px;
  background: linear-gradient(135deg, #f4f9ff 0%, #fff 100%);
  box-shadow: 0 18px 45px rgba(24, 77, 137, .07);
}
.ds-legal__lead p { margin: 0; font-size: 18px; line-height: 1.7; color: #405a78; }
.ds-legal__toc {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 34px;
}
.ds-legal__toc a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid #d6e4f3;
  border-radius: 999px;
  background: #fff;
  color: var(--ds-blue);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
.ds-legal__toc a:hover { border-color: #98bee7; background: #f2f8ff; }
.ds-legal__section {
  scroll-margin-top: 150px;
  margin: 0 0 24px;
  padding: 32px 34px;
  border: 1px solid var(--ds-border);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(30, 78, 135, .055);
}
.ds-legal__section h2 {
  margin: 4px 0 16px;
  color: var(--ds-blue);
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.12;
}
.ds-legal__section h3 { margin: 24px 0 9px; color: #193c6d; font-size: 20px; }
.ds-legal__section p, .ds-legal__section li { font-size: 16px; line-height: 1.72; }
.ds-legal__section p { margin: 0 0 14px; }
.ds-legal__section p:last-child { margin-bottom: 0; }
.ds-legal__section a { color: var(--ds-blue); font-weight: 700; }
.ds-legal__identity {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 20px;
}
.ds-legal__identity p {
  margin: 0;
  padding: 18px;
  border: 1px solid #dce8f4;
  border-radius: 16px;
  background: #f8fbff;
  font-size: 14px;
}
.ds-legal__note, .ds-legal__warning {
  margin: 19px 0;
  padding: 17px 20px;
  border-radius: 15px;
  line-height: 1.65;
}
.ds-legal__note { border: 1px solid #c9def5; background: #f1f7fd; color: #304f72; }
.ds-legal__warning { border: 1px solid #f0d9a8; background: #fffaf0; color: #654d1d; }
.ds-legal__list, .ds-legal__steps { display: grid; gap: 10px; margin: 14px 0 18px; padding-left: 22px; }
.ds-legal__steps li { padding-left: 5px; }
.ds-legal__quick {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 25px;
}
.ds-legal__quick article {
  padding: 20px;
  border: 1px solid #d6e5f5;
  border-radius: 18px;
  background: #f8fbff;
}
.ds-legal__quick strong { display: block; margin-bottom: 5px; color: var(--ds-blue); font-size: 15px; }
.ds-legal__quick span { color: var(--ds-muted); font-size: 13px; }
.ds-legal__table-wrap { margin: 18px 0; overflow-x: auto; border: 1px solid #dce7f3; border-radius: 16px; }
.ds-legal__table { width: 100%; border-collapse: collapse; background: #fff; }
.ds-legal__table th, .ds-legal__table td { padding: 14px 16px; border-bottom: 1px solid #e4edf6; text-align: left; vertical-align: top; font-size: 14px; line-height: 1.55; }
.ds-legal__table th { background: #f3f8fd; color: var(--ds-blue); font-weight: 800; }
.ds-legal__table tr:last-child td { border-bottom: 0; }
.ds-legal__form-sample {
  margin-top: 18px;
  padding: 22px;
  border: 1px dashed #9bb9d8;
  border-radius: 16px;
  background: #fbfdff;
}
.ds-legal__form-sample p { margin-bottom: 11px; font-size: 14px; }
.ds-legal__updated { margin-top: 24px !important; padding-top: 16px; border-top: 1px solid var(--ds-border); color: var(--ds-muted); font-size: 13px !important; }
.ds-content-card {
  padding: 30px;
  border: 1px solid var(--ds-border);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--ds-shadow-soft);
}
.ds-content-card h2 { margin: 5px 0 13px; color: var(--ds-blue); font-size: 29px; }
.ds-content-card p { color: var(--ds-muted); font-size: 16px; line-height: 1.65; }

@media (max-width: 820px) {
  .ds-legal__identity, .ds-legal__quick { grid-template-columns: 1fr; }
  .ds-legal__section { padding: 26px 22px; }
  .ds-legal__lead { padding: 23px 22px; }
}

@media (max-width: 520px) {
  .ds-legal__lead p { font-size: 16px; }
  .ds-legal__toc { gap: 7px; }
  .ds-legal__toc a { font-size: 12px; padding: 7px 11px; }
  .ds-legal__section { padding: 23px 18px; border-radius: 18px; }
  .ds-legal__table th, .ds-legal__table td { padding: 12px; font-size: 13px; }
}


/* =========================================================
   Dobre spím v0.6.3 – category parity, material parameters and clean product care
   and simplified privacy-safe map
   ========================================================= */
.ds-contact-map--v061 .ds-contact-map__placeholder {
  grid-template-columns: minmax(150px,.78fr) minmax(260px,1.35fr);
  min-height: 310px;
  background: linear-gradient(145deg,#f7fbff 0%,#eef6ff 100%);
}
.ds-contact-map--v061 .ds-contact-map__pin-card {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  min-height: 310px;
  overflow: hidden;
  border-right: 1px solid rgba(20,83,164,.10);
  background:
    radial-gradient(circle at 20% 20%,rgba(47,142,244,.14),transparent 32%),
    radial-gradient(circle at 80% 75%,rgba(21,86,177,.09),transparent 30%),
    linear-gradient(160deg,#edf6ff,#f8fbff);
}
.ds-contact-map--v061 .ds-contact-map__pin-card::before,
.ds-contact-map--v061 .ds-contact-map__pin-card::after {
  content:"";
  position:absolute;
  width:190px;
  height:1px;
  background:rgba(14,83,164,.08);
  transform:rotate(35deg);
}
.ds-contact-map--v061 .ds-contact-map__pin-card::after { transform:rotate(-28deg); }
.ds-contact-map--v061 .ds-contact-map__pin {
  position: relative;
  left:auto;
  top:auto;
  transform:none;
  rotate:0deg;
  width:74px;
  height:74px;
  border:8px solid rgba(255,255,255,.92);
  border-radius:24px;
  z-index:1;
}
.ds-contact-map--v061 .ds-contact-map__pin .ds-icon { width:31px;height:31px;rotate:0deg; }
.ds-contact-map--v061 .ds-contact-map__pin-label {
  position:relative;
  z-index:1;
  color:var(--ds-blue);
  font-weight:900;
  letter-spacing:.02em;
}
.ds-contact-map--v061 .ds-contact-map__copy { padding:30px 32px; }
.ds-contact-map--v061 .ds-contact-map__copy h3 { font-size:clamp(27px,2.7vw,37px); }
.ds-contact-map--v061 .ds-contact-map__privacy {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:2px 0 20px;
  padding:12px 14px;
  border:1px solid #d7e7f7;
  border-radius:14px;
  background:#fff;
  color:#34506f;
}
.ds-contact-map--v061 .ds-contact-map__privacy .ds-icon { width:21px;height:21px;color:var(--ds-blue);flex:0 0 auto; }
.ds-contact-map--v061 .ds-contact-map__privacy span { display:grid;gap:2px; }
.ds-contact-map--v061 .ds-contact-map__privacy b { font-size:12px;color:var(--ds-navy); }
.ds-contact-map--v061 .ds-contact-map__privacy small { margin:0;font-size:11px;color:var(--ds-muted); }


.ds-bedding-details {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:22px;
  margin:0 0 46px;
}
.ds-bedding-details > article {
  padding:28px;
  border:1px solid var(--ds-border);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 42px rgba(20,75,137,.07);
}
.ds-bedding-details h2 { margin:7px 0 18px;color:var(--ds-navy);font-size:28px;line-height:1.1; }
.ds-bedding-details dl { margin:0; }
.ds-bedding-details dl > div { display:grid;grid-template-columns:140px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid #e4edf6; }
.ds-bedding-details dl > div:first-child { padding-top:0; }
.ds-bedding-details dt { color:#61758f;font-size:13px;font-weight:750; }
.ds-bedding-details dd { margin:0;color:var(--ds-navy);font-size:14px;font-weight:900; }
.ds-bedding-details__note { margin:17px 0 0;padding:12px 14px;border-radius:13px;background:#eef6ff;color:#365675;font-size:12px;font-weight:750; }

@media (max-width:980px) {
  .ds-bedding-details { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .ds-contact-map--v061 .ds-contact-map__placeholder { grid-template-columns:1fr; }
  .ds-contact-map--v061 .ds-contact-map__pin-card { min-height:150px;border-right:0;border-bottom:1px solid rgba(20,83,164,.10); }
  .ds-contact-map--v061 .ds-contact-map__pin { width:62px;height:62px;border-radius:20px; }
  .ds-sheet-standard__photos { grid-template-columns:1fr 1fr 1fr; }
  .ds-sheet-standard__photos img { aspect-ratio:1/1.28; }
  .ds-bedding-details > article { padding:23px 20px; }
  .ds-bedding-details dl > div { grid-template-columns:110px 1fr;gap:12px; }
}
@media (max-width:520px) {
  .ds-sheet-standard__photos { grid-template-columns:1fr; }
  .ds-sheet-standard__photos figure + figure { border-left:0;border-top:1px solid var(--ds-border); }
  .ds-sheet-standard__photos img { aspect-ratio:4/3; }
  .ds-bedding-details dl > div { grid-template-columns:1fr;gap:4px; }
}


/* v0.6.3 – product detail cleanup + preparing sheet selectors */
.ds-bedding-details--compact{grid-template-columns:minmax(0,760px);justify-content:start}
.ds-bedding-details--compact .ds-bedding-details__params{width:100%}
.ds-preparing-options{margin:20px 0 16px;padding:20px;border:1px solid var(--ds-border);border-radius:20px;background:#f8fbff}
.ds-preparing-options__head h3{margin:5px 0 7px;color:var(--ds-navy);font-size:22px;line-height:1.15}
.ds-preparing-options__head p{margin:0 0 16px;color:var(--ds-muted);font-size:13px;line-height:1.5}
.ds-preparing-options__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.ds-preparing-options label{display:grid;gap:6px;color:var(--ds-navy);font-size:12px;font-weight:850}
.ds-preparing-options select{width:100%;min-height:46px;padding:0 38px 0 13px;border:1px solid #cbdff3;border-radius:12px;background:#fff;color:var(--ds-navy);font:inherit;font-weight:750}
.ds-preparing-options .ds-btn{width:100%;justify-content:center}
@media(max-width:560px){.ds-preparing-options__fields{grid-template-columns:1fr}}

.ds-care-text-list{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.ds-care-text-list li{position:relative;padding:10px 14px 10px 34px;border:1px solid var(--ds-border);border-radius:12px;background:#f8fbff;color:var(--ds-navy);font-weight:750}
.ds-care-text-list li:before{content:"✓";position:absolute;left:13px;top:10px;color:var(--ds-blue);font-weight:950}
.ds-care-text-note{margin:14px 0 0;color:var(--ds-muted);font-size:12px}

/* =========================================================
   Dobre spím v0.6.4 – contextual filters, favourites, compact
   product summary, inline care and navigable lightbox
   ========================================================= */
.woocommerce div.product.ds-single-product--v043 .summary h1{font-size:40px;line-height:1.02;max-width:560px}
.ds-product-trust{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.product_cat-plachty .ds-preparing-options{margin:14px 0 12px;padding:16px 17px;border-radius:17px}
.product_cat-plachty .ds-preparing-options__head h3{font-size:20px}
.product_cat-plachty .ds-preparing-options__head p{margin-bottom:12px}
.product_cat-plachty .ds-demo-product-message{margin-top:14px;padding:14px 15px}

.ds-bedding-details{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:22px;align-items:stretch;margin:0 0 46px}
.ds-bedding-details>article{padding:28px;border:1px solid var(--ds-border);border-radius:22px;background:#fff;box-shadow:var(--ds-shadow-soft)}
.ds-bedding-details__care{min-width:0}
.ds-care-material{margin:-2px 0 14px;color:var(--ds-muted);font-size:12px;line-height:1.45}
.ds-care-material strong{color:var(--ds-navy)}
.ds-care-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:4px}
.ds-care-item{display:flex;min-width:0;min-height:126px;padding:13px 8px;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid #d8e6f5;border-radius:15px;background:#f8fbff;color:var(--ds-blue);text-align:center}
.ds-care-item span{color:var(--ds-navy);font-size:10.5px;line-height:1.28;font-weight:800}
.ds-care-icon{display:block;width:46px;height:46px;object-fit:contain;flex:0 0 auto}
.ds-care-note{margin:16px 0 0;color:var(--ds-muted);font-size:11px;line-height:1.45}

.ds-product-favourite{transition:transform .18s,background .18s,color .18s,border-color .18s}
.ds-product-favourite:hover{transform:scale(1.06)}
.ds-product-favourite.is-active{color:#fff;background:var(--ds-blue);border-color:var(--ds-blue)}
.ds-product-favourite.is-active .ds-icon{fill:currentColor}
.ds-product-favourite[data-busy="1"]{opacity:.55;pointer-events:none}

.ds-favourite-modal[hidden]{display:none!important}
.ds-favourite-modal{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:20px}
.ds-favourite-modal__backdrop{position:absolute;inset:0;background:rgba(4,30,65,.62);backdrop-filter:blur(5px)}
.ds-favourite-modal__dialog{position:relative;z-index:1;width:min(480px,100%);padding:34px;border:1px solid rgba(255,255,255,.7);border-radius:25px;background:#fff;box-shadow:0 30px 80px rgba(0,31,69,.32);text-align:center}
.ds-favourite-modal__dialog h2{margin:7px 0 9px;color:var(--ds-blue);font-size:29px}
.ds-favourite-modal__dialog p{margin:0 auto 22px;max-width:390px;color:var(--ds-muted);line-height:1.55}
.ds-favourite-modal__icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 14px;border-radius:50%;color:var(--ds-blue);background:#eaf5ff}
.ds-favourite-modal__icon .ds-icon{width:29px;height:29px;fill:currentColor}
.ds-favourite-modal__close{position:absolute;right:15px;top:13px;width:36px;height:36px;border:0;border-radius:50%;background:#edf5fd;color:var(--ds-blue);font-size:24px;cursor:pointer}
.ds-favourite-modal__actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
body.ds-modal-open{overflow:hidden}
.ds-account-favourites>h2{margin:6px 0 26px;color:var(--ds-blue);font-size:34px}
.ds-account-favourites__empty{max-width:620px;color:var(--ds-muted);line-height:1.65}

.ds-fixed-gallery__dialog{display:none;position:fixed}
.ds-fixed-gallery__dialog[open]{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:12px}
.ds-fixed-gallery__dialog img{grid-column:2;grid-row:1;width:100%;max-height:calc(100vh - 68px);object-fit:contain}
.ds-fixed-gallery__nav{grid-row:1;display:grid;place-items:center;width:54px;height:54px;border:1px solid #d7e6f4;border-radius:50%;background:rgba(255,255,255,.96);color:var(--ds-blue);font-size:36px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,42,90,.16)}
.ds-fixed-gallery__nav--prev{grid-column:1}.ds-fixed-gallery__nav--next{grid-column:3}
.ds-fixed-gallery__nav:hover{background:var(--ds-blue);color:#fff}

@media(max-width:980px){
  .ds-bedding-details{grid-template-columns:1fr}
  .ds-care-grid{grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto;padding-bottom:4px}
}
@media(max-width:680px){
  .woocommerce div.product.ds-single-product--v043 .summary h1{font-size:32px!important}
  .ds-product-trust{grid-template-columns:1fr 1fr}
  .ds-bedding-details>article{padding:20px 17px}
  .ds-care-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .ds-care-item{min-height:112px}
  .ds-favourite-modal__dialog{padding:29px 20px 23px}
  .ds-favourite-modal__actions{display:grid;grid-template-columns:1fr}
  .ds-fixed-gallery__dialog[open]{grid-template-columns:44px minmax(0,1fr) 44px;padding:10px;gap:5px}
  .ds-fixed-gallery__nav{width:40px;height:40px;font-size:28px}
  .ds-fixed-gallery__close{right:15px;top:15px}
}

/* Dobre spím v0.6.7 – centred product lightbox + synchronized product data. */
.ds-fixed-gallery__dialog{
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:24px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.ds-fixed-gallery__dialog[open]{
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center!important;
}
.ds-fixed-gallery__viewer{
  position:relative;
  display:grid;
  place-items:center;
  width:min(1180px,100%);
  height:min(900px,calc(100vh - 48px));
  padding:34px 94px;
  overflow:hidden;
  border-radius:25px;
  background:#fff;
  box-shadow:0 35px 90px rgba(0,27,61,.38);
}
.ds-fixed-gallery__image-wrap{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__image-wrap img{
  display:block;
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:14px;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__close{
  position:absolute!important;
  z-index:5;
  top:18px!important;
  right:18px!important;
  left:auto!important;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  color:#fff;
  background:var(--ds-blue);
  box-shadow:0 8px 24px rgba(5,64,132,.22);
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav{
  position:absolute!important;
  z-index:4;
  top:50%!important;
  grid-column:auto!important;
  grid-row:auto!important;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  padding:0;
  margin:0;
  transform:translateY(-50%);
  border:1px solid #d7e6f4;
  border-radius:50%;
  background:#fff;
  color:var(--ds-blue);
  box-shadow:0 8px 24px rgba(0,42,90,.16);
  font-size:35px;
  line-height:1;
  cursor:pointer;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav--prev{left:22px!important;right:auto!important}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav--next{right:22px!important;left:auto!important}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav:hover,
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav:focus-visible{background:var(--ds-blue);color:#fff}
.ds-fixed-gallery__dialog .ds-fixed-gallery__close:focus-visible,
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav:focus-visible{outline:3px solid #9ccfff;outline-offset:3px}

/* Parametre aj Starostlivosť používajú jeden rovnaký komponent pre Obliečky aj Plachty. */
.ds-bedding-details__params dd[data-ds-param]{transition:color .16s ease,background .16s ease}
.ds-bedding-details__params dd[data-ds-param].is-synced{color:var(--ds-blue)}

@media(max-width:680px){
  .ds-fixed-gallery__dialog{padding:8px!important}
  .ds-fixed-gallery__viewer{width:100%;height:calc(100vh - 16px);padding:58px 48px 22px;border-radius:20px}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__close{top:11px!important;right:11px!important;width:40px;height:40px;font-size:25px}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav{width:39px;height:39px;font-size:28px}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav--prev{left:7px!important}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav--next{right:7px!important}
}


/* Dobre spím v0.7.0 – Vankúše architecture, material icons and product UX polish. */
.ds-material-icon{display:inline-block;width:24px;height:24px;object-fit:contain;flex:0 0 auto}
.ds-material-icon--chip{width:20px;height:20px;margin-right:1px}
.ds-material-icon--product{width:25px;height:25px}
.ds-filter-chips a{display:inline-flex;align-items:center;gap:6px}
.ds-filter-chips a>span{display:inline-block}
.ds-filter-group{display:grid;gap:8px;margin-top:12px}
.ds-filter-group__label{color:var(--ds-navy);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.ds-pillow-branches{padding:26px 0 0;background:#fff}
.ds-pillow-branches__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ds-pillow-branch{--ds-pillow-orbit-angle:0deg;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(190px,.9fr) minmax(0,1.1fr);min-height:260px;overflow:hidden;border:2px solid rgba(12,104,169,.48);border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(0,43,91,.1),0 0 0 1px rgba(102,190,247,.12);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.ds-pillow-branch::before{content:"";position:absolute;z-index:4;inset:-1px;padding:3px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--ds-pillow-orbit-angle),transparent 0deg 246deg,rgba(130,215,255,.2) 264deg,#74cfff 286deg,#0d75ba 316deg,#034b86 336deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 5px rgba(50,166,230,.58));animation:ds-pillow-border-orbit 4.8s linear infinite}
.ds-pillow-branch:nth-child(2)::before{animation-delay:-2.4s}
.ds-pillow-branch:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(0,55,105,.16),0 0 0 1px rgba(62,172,235,.18)}
.ds-pillow-branch:hover::before{animation-duration:2.8s}
.ds-pillow-branch:focus-visible{outline:3px solid #79c9f4;outline-offset:4px}
.ds-pillow-branch>img{position:relative;z-index:1;width:100%;height:100%;min-height:260px;object-fit:cover}
.ds-pillow-branch--filled>img{object-position:50% 50%}
.ds-pillow-branch--covers>img{object-position:50% 52%}
.ds-pillow-branch>span{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:28px;background:linear-gradient(135deg,#fff 0%,#f7fbff 100%)}
.ds-pillow-branch small{display:inline-flex;align-self:flex-start;margin-bottom:12px;padding:7px 11px 6px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:linear-gradient(135deg,#075b99,#1484c7);box-shadow:0 7px 16px rgba(0,88,151,.2);color:#fff!important;font-size:11px;font-weight:950;line-height:1.05;letter-spacing:.095em;text-shadow:0 1px 1px rgba(0,45,82,.22)}
.ds-pillow-branch b{color:var(--ds-navy);font-size:25px;line-height:1.1}
.ds-pillow-branch em{margin:11px 0 18px;color:var(--ds-muted);font-style:normal;line-height:1.55}
.ds-pillow-branch strong{color:var(--ds-blue);font-size:13px}
@property --ds-pillow-orbit-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes ds-pillow-border-orbit{to{--ds-pillow-orbit-angle:360deg}}
@media(prefers-reduced-motion:reduce){.ds-pillow-branch::before{animation:none}.ds-pillow-branch,.ds-pillow-branch:hover{transition:none;transform:none}}

/* Longer bedding sizes must never collide with the second selector. */
.ds-preparing-options__fields{grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr);align-items:end}
.ds-preparing-options__fields label{min-width:0}
.ds-preparing-options select{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-preparing-options--single-axis .ds-preparing-options__fields{grid-template-columns:minmax(0,1fr)}
.ds-preparing-options--sheet .ds-preparing-options__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

/* Lightbox: whole source image remains visible; controls live outside the image plane. */
.ds-fixed-gallery__viewer{width:min(1320px,94vw)!important;height:min(940px,92vh)!important;padding:62px 88px 34px!important}
.ds-fixed-gallery__image-wrap{width:100%!important;height:100%!important;overflow:visible!important}
.ds-fixed-gallery__dialog .ds-fixed-gallery__image-wrap img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:50% 50%!important}
.ds-fixed-gallery__dialog .ds-fixed-gallery__close{top:14px!important;right:16px!important}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav--prev{left:18px!important}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav--next{right:18px!important}

.ds-pillow-cross-sell{margin:0 0 46px;padding:28px;border:1px solid var(--ds-border);border-radius:22px;background:#fff;box-shadow:var(--ds-shadow-soft)}
.ds-pillow-cross-sell h2{margin:7px 0 20px;color:var(--ds-navy);font-size:28px}
.ds-pillow-cross-sell__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ds-pillow-cross-sell__grid a{overflow:hidden;border:1px solid var(--ds-border);border-radius:16px;background:#fff;text-decoration:none}
.ds-pillow-cross-sell__grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.ds-pillow-cross-sell__grid span{display:grid;gap:6px;padding:12px}
.ds-pillow-cross-sell__grid b{color:var(--ds-navy);font-size:14px}
.ds-pillow-cross-sell__grid small{color:var(--ds-blue);font-weight:850}

@media(max-width:900px){
  .ds-pillow-branches__grid{grid-template-columns:1fr}
  .ds-pillow-cross-sell__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .ds-pillow-branch{grid-template-columns:1fr;min-height:0}
  .ds-pillow-branch>img{min-height:210px;height:210px}
  .ds-pillow-branch>span{padding:22px 20px}
  .ds-preparing-options__fields,.ds-preparing-options--sheet .ds-preparing-options__fields{grid-template-columns:1fr}
  .ds-fixed-gallery__viewer{width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;padding:58px 48px 22px!important}
  .ds-pillow-cross-sell__grid{grid-template-columns:1fr}
}

.ds-material-icon--season{width:28px;height:28px;margin-right:7px;vertical-align:middle}


/* Dobre spím v0.7.1 – final product-picker/lightbox polish. */
/* Obliečky use a full-width size field; long combinations are never truncated by Zapínanie. */
.ds-preparing-options--bedding .ds-preparing-options__fields{
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px;
}
.ds-preparing-options--bedding .ds-preparing-options__fields label{
  width:100%;
}
.ds-preparing-options--bedding select{
  text-overflow:clip;
}

/* Adapt the white viewer to the natural orientation of the active image. */
.ds-fixed-gallery__viewer.is-landscape{
  width:min(1320px,96vw)!important;
  height:min(860px,94vh)!important;
}
.ds-fixed-gallery__viewer.is-portrait{
  width:min(820px,92vw)!important;
  height:min(940px,94vh)!important;
}
.ds-fixed-gallery__viewer.is-square{
  width:min(980px,94vw)!important;
  height:min(940px,94vh)!important;
}
.ds-fixed-gallery__viewer.is-landscape .ds-fixed-gallery__image-wrap,
.ds-fixed-gallery__viewer.is-portrait .ds-fixed-gallery__image-wrap,
.ds-fixed-gallery__viewer.is-square .ds-fixed-gallery__image-wrap{
  min-height:0;
}
@media(max-width:680px){
  .ds-fixed-gallery__viewer.is-landscape,
  .ds-fixed-gallery__viewer.is-portrait,
  .ds-fixed-gallery__viewer.is-square{
    width:calc(100vw - 16px)!important;
    height:calc(100vh - 16px)!important;
  }
}

/* Dobre spím v0.7.2 – balanced gallery shell: equal white breathing room on every side. */
.ds-fixed-gallery__dialog{
  padding:18px!important;
}
.ds-fixed-gallery__viewer{
  --ds-gallery-pad:58px;
  --ds-gallery-media-w:720px;
  --ds-gallery-media-h:720px;
  box-sizing:border-box!important;
  width:calc(var(--ds-gallery-media-w) + var(--ds-gallery-pad) + var(--ds-gallery-pad))!important;
  height:calc(var(--ds-gallery-media-h) + var(--ds-gallery-pad) + var(--ds-gallery-pad))!important;
  max-width:calc(100vw - 36px)!important;
  max-height:calc(100vh - 36px)!important;
  padding:var(--ds-gallery-pad)!important;
  overflow:visible!important;
  border-radius:24px!important;
  background:#fff!important;
}
.ds-fixed-gallery__viewer.is-landscape,
.ds-fixed-gallery__viewer.is-portrait,
.ds-fixed-gallery__viewer.is-square{
  width:calc(var(--ds-gallery-media-w) + var(--ds-gallery-pad) + var(--ds-gallery-pad))!important;
  height:calc(var(--ds-gallery-media-h) + var(--ds-gallery-pad) + var(--ds-gallery-pad))!important;
}
.ds-fixed-gallery__image-wrap,
.ds-fixed-gallery__viewer.is-landscape .ds-fixed-gallery__image-wrap,
.ds-fixed-gallery__viewer.is-portrait .ds-fixed-gallery__image-wrap,
.ds-fixed-gallery__viewer.is-square .ds-fixed-gallery__image-wrap{
  width:var(--ds-gallery-media-w)!important;
  height:var(--ds-gallery-media-h)!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:14px;
  background:#f8fbff;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__image-wrap img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  border-radius:14px!important;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__close{
  top:8px!important;
  right:8px!important;
  width:42px!important;
  height:42px!important;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav{
  width:46px!important;
  height:46px!important;
  overflow:hidden!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  font-size:0!important;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav--prev{left:6px!important}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav--next{right:6px!important}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav::before{
  content:"";
  display:block;
  width:10px;
  height:10px;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav--prev::before{transform:rotate(-135deg) translate(-1px,-1px)}
.ds-fixed-gallery__dialog .ds-fixed-gallery__nav--next::before{transform:rotate(45deg) translate(-1px,1px)}
@media(max-width:980px){
  .ds-fixed-gallery__dialog{padding:12px!important}
  .ds-fixed-gallery__viewer{
    --ds-gallery-pad:44px;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100vh - 24px)!important;
    border-radius:22px!important;
  }
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav{width:40px!important;height:40px!important}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav--prev{left:2px!important}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav--next{right:2px!important}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__close{top:3px!important;right:3px!important;width:38px!important;height:38px!important}
}
@media(max-width:680px){
  .ds-fixed-gallery__dialog{padding:8px!important}
  .ds-fixed-gallery__viewer,
  .ds-fixed-gallery__viewer.is-landscape,
  .ds-fixed-gallery__viewer.is-portrait,
  .ds-fixed-gallery__viewer.is-square{
    --ds-gallery-pad:38px;
    width:calc(var(--ds-gallery-media-w) + var(--ds-gallery-pad) + var(--ds-gallery-pad))!important;
    height:calc(var(--ds-gallery-media-h) + var(--ds-gallery-pad) + var(--ds-gallery-pad))!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100vh - 16px)!important;
    padding:var(--ds-gallery-pad)!important;
    border-radius:18px!important;
  }
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav{width:34px!important;height:34px!important}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav--prev{left:2px!important}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__nav--next{right:2px!important}
  .ds-fixed-gallery__dialog .ds-fixed-gallery__close{top:2px!important;right:2px!important;width:34px!important;height:34px!important;font-size:22px!important}
}

/* =========================================================
   Dobre spím v0.7.3 – stable password visibility control
   ========================================================= */
.ds-account-login-v043__form .ds-password-field {
  position: relative;
  display: block;
  width: 100%;
}
.ds-account-login-v043__form .ds-password-field > input.input-text {
  width: 100% !important;
  padding-right: 58px !important;
}
/* WooCommerce may inject its own visibility glyph. The branded control below
   is the single source of truth, preventing the old loose eye on the left. */
.ds-account-login-v043__form .show-password-input {
  display: none !important;
}
.ds-account-login-v043__form button.ds-password-toggle {
  position: absolute !important;
  z-index: 3;
  top: 50% !important;
  right: 7px !important;
  left: auto !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  display: grid !important;
  place-items: center;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--ds-blue) !important;
  box-shadow: none !important;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.ds-account-login-v043__form button.ds-password-toggle:hover {
  background: var(--ds-ice) !important;
}
.ds-account-login-v043__form button.ds-password-toggle:focus-visible {
  outline: 2px solid var(--ds-blue-bright);
  outline-offset: 2px;
  background: var(--ds-ice) !important;
}
.ds-password-toggle__eye {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.ds-password-toggle__eye--closed { display: none; }
.ds-password-toggle[aria-pressed="true"] .ds-password-toggle__eye--open { display: none; }
.ds-password-toggle[aria-pressed="true"] .ds-password-toggle__eye--closed { display: block; }

@media (max-width: 680px) {
  .ds-account-login-v043__form button.ds-password-toggle {
    right: 5px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }
  .ds-account-login-v043__form .ds-password-field > input.input-text {
    padding-right: 52px !important;
  }
}

/* v0.8.1 – category hero may use a mobile-specific <picture>. */
.ds-shop-hero__media picture { display:block; width:100%; height:100%; }
.ds-shop-hero__media picture img { display:block; width:100%; height:100%; object-fit:cover; }


/* v0.8.2 – verified size pricing for the preparing filled-pillow product. */
.ds-preparing-options__verified-price{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 14px;margin:-2px 0 14px;padding:12px 14px;border:1px solid #d6e6f7;border-radius:13px;background:#fff;color:var(--ds-navy)}
.ds-preparing-options__verified-price span{font-size:12px;font-weight:850}
.ds-preparing-options__verified-price strong{font-size:17px;color:var(--ds-blue)}
.ds-preparing-options__verified-price small{grid-column:1/-1;color:var(--ds-muted);font-size:11px}
.product_cat-plnene-vankuse .ds-fixed-gallery__thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.ds-preparing-options__verified-price{grid-template-columns:1fr}.ds-preparing-options__verified-price strong{font-size:16px}}


/* v0.8.3 – Preparing product UX + Detský textil content order. */
.ds-single-product.is-ds-preparing .variations_form,
.ds-single-product.is-ds-preparing form.cart{display:none!important}
.ds-child-textile-editorial{padding-top:2px;padding-bottom:8px}
.ds-child-textile-editorial .ds-pattern-preview{margin-top:38px;margin-bottom:10px}
.ds-child-textile-editorial .ds-pattern-grid{margin-bottom:0}
@media(max-width:767px){
  .ds-child-textile-editorial .ds-pattern-preview{margin-top:26px}
  .ds-child-textile-editorial{padding-bottom:2px}
}

/* v0.8.4 – filled-pillow shape → size UX and child-bedding preparation. */
.ds-preparing-options--pillow .ds-preparing-options__fields{
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:12px;
}
.ds-preparing-options--pillow select:disabled{
  opacity:.62;
  cursor:not-allowed;
  background:#f5f8fc;
}
.ds-preparing-options--child-bedding .ds-preparing-options__fields{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
@media(max-width:680px){
  .ds-preparing-options--pillow .ds-preparing-options__fields,
  .ds-preparing-options--child-bedding .ds-preparing-options__fields{grid-template-columns:1fr}
}

/* ==========================================================
   Dobre spím v0.8.6 – photo QA refinements from job 97
   ========================================================== */

/* The requested labels and the moving blue orbit stay readable even on pale imagery. */
.ds-pillow-branch{
  border-width:3px;
  border-color:rgba(7,100,166,.72);
  box-shadow:0 18px 42px rgba(0,43,91,.13),0 0 0 1px rgba(102,190,247,.2);
}
.ds-pillow-branch::before{
  inset:-2px;
  padding:4px;
  background:conic-gradient(
    from var(--ds-pillow-orbit-angle),
    transparent 0deg 218deg,
    rgba(138,222,255,.18) 232deg,
    #8adeff 253deg,
    #27a4eb 279deg,
    #0871b9 309deg,
    #003f78 336deg,
    #8adeff 354deg,
    transparent 360deg
  );
  filter:drop-shadow(0 0 8px rgba(32,158,228,.78));
  animation-duration:3.8s;
}
.ds-pillow-branch:nth-child(2)::before{animation-delay:-1.9s}
.ds-pillow-branch small{
  padding:8px 12px 7px;
  font-size:12px;
  letter-spacing:.075em;
  box-shadow:0 8px 20px rgba(0,76,137,.28);
}

/* This page grid is editorial content, not the five-icon product-care component. */
.ds-page-section>.ds-shell.ds-care-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  overflow:visible;
}
.ds-page-section>.ds-shell.ds-care-grid>article{min-width:0}

/* Long underscore fields in the withdrawal sample must wrap inside their card. */
.ds-legal,
.ds-legal__form-sample,
.ds-legal__form-sample p{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media(max-width:680px){
  html,body,#page,.site{
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    overflow-x:clip!important;
  }
  main,main>section{
    min-width:0!important;
    max-width:100vw!important;
    overflow-x:clip;
  }
  .ds-shop-page,.ds-shop-content,.ds-shop-toolbar,
  .ds-shop-toolbar__top,.ds-shop-toolbar__title,.ds-shop-toolbar__controls,
  .ds-shop-toolbar .woocommerce-ordering{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .ds-shop-toolbar{padding:18px 16px;overflow:hidden}
  .ds-shop-toolbar__top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px;
  }
  .ds-shop-toolbar__controls{display:block!important}
  .ds-shop-toolbar .woocommerce-ordering{float:none!important}
  .ds-shop-toolbar select{
    display:block;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box;
  }
  .ds-filter-chips{max-width:100%;min-width:0;overscroll-behavior-inline:contain}
  .ds-page-section>.ds-shell.ds-care-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  .ds-page-section>.ds-shell.ds-care-grid>article{padding:24px 22px}
  .ds-page-section>.ds-shell.ds-care-grid h2{
    overflow-wrap:normal;
    word-break:normal;
  }
  .ds-legal__form-sample{padding:19px 16px}
  .ds-pillow-branch>img{height:225px;min-height:225px}
  .ds-pillow-branch small{font-size:11px;letter-spacing:.065em}
}
