/* ArtMoment – vzhled webu v2 (šablona Samba). Editorial minimalismus vázaný na značku:
 * bílá plocha, jemné linky, fotografie nesou emoce, jediný akcent = značková tmavě modrá. Písmo Manrope.
 * Styluje kostru Samby i obsahové bloky z popisů (cstmindexbn, bannsec, FAQ…) – obsah 680 stránek zůstává beze změny.
 * Karusely = nativní posun (šipky přidá am-ui.js). Předchozí verze: am-ui-v1.css. */

/* ---------- 0. Písmo (Manrope, jen latinka + středoevropské znaky, proměnná tloušťka) ---------- */
@font-face { font-family: "Manrope"; font-style: normal; font-display: swap; font-weight: 200 800;
  src: url(https://support-agent.artmoment.space/am-ui/fonts/manrope-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-style: normal; font-display: swap; font-weight: 200 800;
  src: url(https://support-agent.artmoment.space/am-ui/fonts/manrope-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- 1. Tokeny ---------- */
:root {
  --am-navy: #253848;            /* značka + konverze (jediný akcent) */
  --am-navy-700: #1b2a37;
  --am-navy-900: #16222d;
  --am-ink: #16202a;
  --am-muted: #5b6670;
  --am-faint: #69737d;           /* min. 4,5:1 na bílé (UX checklist č. 3) */
  --am-line: #e7eaed;
  --am-surface: #f5f6f7;
  --am-white: #fff;
  --am-ok: #1f7a3d;
  --am-star: #a8741a;            /* jen hvězdičky hodnocení */
  --am-r: 12px;                  /* fotky, karty */
  --am-r-sm: 8px;                /* tlačítka, pole */
  --am-shadow: 0 12px 32px -16px rgba(22, 32, 42, .22);
  --am-max: 1200px;
  --am-gut: 24px;
  --am-sec: clamp(40px, 5vw, 72px);   /* 29. 9.: menší mezery mezi sekcemi (dřív 64–120 px na každé straně) */
  --am-font: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --am-head-h: 72px;
  --am-util-h: 32px;
  --am-ease: cubic-bezier(.16, 1, .3, 1);
  /* barvy šablony Samba (Editor vzhledu) – tady, ať platí stejně na klonu i po převodu na ostrý web */
  --color-primary: #253848; --color-primary-h: 207; --color-primary-s: 32%; --color-primary-l: 21%;
  --color-primary-hover: #1b2a37; --color-primary-hover-h: 207; --color-primary-hover-s: 34%; --color-primary-hover-l: 16%;
  --color-secondary: #253848; --color-secondary-h: 207; --color-secondary-s: 32%; --color-secondary-l: 21%;
  --color-secondary-hover: #1b2a37; --color-secondary-hover-h: 207; --color-secondary-hover-s: 34%; --color-secondary-hover-l: 16%;
  --color-tertiary: #f5f6f7; --color-tertiary-h: 210; --color-tertiary-s: 8%; --color-tertiary-l: 96%;
  --color-tertiary-hover: #16202a; --color-tertiary-hover-h: 210; --color-tertiary-hover-s: 31%; --color-tertiary-hover-l: 12%;
  --template-font: var(--am-font); --template-headings-font: var(--am-font);
}
@media (max-width: 1023px) { :root { --am-head-h: 60px; --am-util-h: 0px; --am-gut: 18px; } }

/* ---------- 2. Základ ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--am-head-h) + 16px); overflow-x: clip; }
body { font-family: var(--am-font); color: var(--am-ink); background: var(--am-white); font-size: 16.5px; line-height: 1.65; font-weight: 400; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: clip; }
body, button, input, select, textarea, .btn { font-family: var(--am-font); }
h1, h2, h3, h4, h5 { font-family: var(--am-font); color: var(--am-ink); text-wrap: balance; }
p, li { text-wrap: pretty; }
a { color: var(--am-navy); text-underline-offset: 3px; text-decoration-thickness: 1px; }
img { max-width: 100%; height: auto; }
strong, b { font-weight: 700; }
:focus-visible { outline: 2px solid var(--am-navy); outline-offset: 3px; border-radius: 4px; }
::selection { background: #dfe6ec; }
.overall-wrapper { background: var(--am-white); }
.breadcrumbs { max-width: var(--am-max); margin: 0 auto; padding: 14px var(--am-gut) 0; font-size: 13px; color: var(--am-faint); background: none; border: 0; }
.breadcrumbs a { color: var(--am-muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--am-ink); }

/* ---------- 3. Hlavička ---------- */
.am-util { background: var(--am-surface); color: var(--am-muted); font-size: 13px; height: var(--am-util-h); overflow: hidden; border-bottom: 1px solid var(--am-line); }
.am-util__in { max-width: 1320px; margin: 0 auto; padding: 0 var(--am-gut); height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.am-util a { color: var(--am-ink); text-decoration: none; font-weight: 600; }
.am-util a:hover { text-decoration: underline; }
.am-util__usp { display: flex; gap: 28px; }
.am-util__usp span::before { content: ""; display: inline-block; width: 10px; height: 6px; border: solid var(--am-navy); border-width: 0 0 1.6px 1.6px; transform: translateY(-3px) rotate(-45deg); margin-right: 9px; }
@media (max-width: 1023px) { .am-util { display: none; } }
/* kampaňová lišta (top_info_msg) */
.am-promo { display: block; background: var(--am-navy); color: #fff; text-align: center; font-size: 14px; font-weight: 600; line-height: 1.4; padding: 10px var(--am-gut); text-decoration: none; text-wrap: balance; }
a.am-promo, a.am-promo:hover, a.am-promo:focus, a.am-promo:visited { color: #fff !important; }   /* obecné a:hover (tmavě modrá) by text na tmavé liště zneviditelnilo */
a.am-promo:hover .am-promo__in { text-decoration: underline; text-underline-offset: 3px; }
a.am-promo:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
a.am-promo .am-promo__in::after { content: " →"; }
@media (max-width: 767px) { .am-promo { font-size: 13px; padding: 8px var(--am-gut); } }

#header { position: sticky; top: 0; z-index: 900; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px); border-bottom: 1px solid var(--am-line); box-shadow: none; }
@media (prefers-reduced-transparency: reduce) { #header { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; } }
#header .header-top { background: transparent; padding: 0; min-height: 0; border: 0; }
#header .header-top .header-top-wrapper { max-width: 1320px; height: var(--am-head-h); margin: 0 auto; padding: 0 var(--am-gut); display: flex; flex-wrap: nowrap; align-items: center; gap: 36px; position: relative; }
#header .header-top .header-top-wrapper .user-action { position: absolute; top: 100%; right: var(--am-gut); width: 0; height: 0; }
#header .header-top .header-top-wrapper .navigation-tools { display: none; }
#header .header-top .header-top-wrapper .site-name { height: auto; order: 1; flex: 0 0 auto; width: auto; max-width: none; margin: 0; padding: 0; position: static; transform: none; }
/* logo je bílé SVG → přebarvení na značkovou modrou maskou (ostré, bez druhého souboru) */
#header .header-top .header-top-wrapper .site-name a { display: block; background: var(--am-navy); }  /* maska s logem je v HTML kódu hlavičky: cesta /user/logos/logo.svg se musí počítat vůči webu (stejná doména) */
#header .header-top .header-top-wrapper .site-name img { height: 34px; width: auto; max-width: none; display: block; opacity: 0; }
#header .header-top .header-top-wrapper .navigation-buttons { order: 3; margin-left: auto; width: auto; max-width: none; flex: 0 0 auto; display: flex; align-items: center; gap: 2px; position: static; }
#header .header-top .header-top-wrapper .navigation-buttons > a, #header .header-top .header-top-wrapper .navigation-buttons > button { color: var(--am-ink); width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--am-r-sm); background: none; border: 0; position: relative; transition: background .2s var(--am-ease); }
#header .header-top .header-top-wrapper .navigation-buttons > a:hover, #header .header-top .header-top-wrapper .navigation-buttons > button:hover { background: var(--am-surface); }
#header .header-top .header-top-wrapper .navigation-buttons i, #header .header-top .header-top-wrapper .navigation-buttons [class^="icon-"]::before { color: var(--am-ink); font-size: 19px; }
#header .header-top .header-top-wrapper .navigation-buttons [data-testid="hamburgerMenu"] { display: none !important; }
#header .header-top .header-top-wrapper .cart-count .cart-price { display: none; }
#header .header-top .header-top-wrapper .cart-count .count, #header .header-top .header-top-wrapper .cart-count [class*="cart-count-value"] { background: var(--am-navy); color: #fff; font-size: 10px; font-weight: 700; }
#header .header-bottom, #navigation { display: none !important; }

/* menu (am-ui.js z menu_items v promenne.js) */
.am-nav { order: 2; display: flex; align-items: center; gap: 4px; height: 100%; }
.am-nav__item { position: relative; height: 100%; display: flex; align-items: center; }
.am-nav__link { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 10px; color: var(--am-ink); font-size: 14.5px; font-weight: 600; letter-spacing: .01em; text-decoration: none; white-space: nowrap; background: none; border: 0; cursor: pointer; }
.am-nav__link::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 6px; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--am-ease); }
.am-nav__link:hover::after, .am-nav__item:focus-within > .am-nav__link::after, .am-nav__link[aria-current="page"]::after { transform: scaleX(1); }
.am-nav__link .am-caret { width: 7px; height: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-2px) rotate(45deg); opacity: .6; }
.am-nav__sub { position: absolute; top: calc(100% - 4px); left: 0; min-width: 240px; max-height: min(72vh, 580px); overflow: auto; background: #fff; border: 1px solid var(--am-line); border-radius: var(--am-r); box-shadow: var(--am-shadow); padding: 10px; display: none; z-index: 950; }
.am-nav__sub--cols { columns: 3; column-gap: 4px; min-width: 560px; }
.am-nav__item:hover > .am-nav__sub, .am-nav__item.is-open > .am-nav__sub { display: block; animation: am-drop .25s var(--am-ease); }
@keyframes am-drop { from { opacity: 0; transform: translateY(-4px); } }
.am-nav__sub a { display: block; padding: 7px 12px; border-radius: 6px; color: var(--am-ink); text-decoration: none; font-size: 14px; break-inside: avoid; }
.am-nav__sub a:hover { background: var(--am-surface); }
.am-nav__sub a:first-child { font-weight: 700; }
.am-menu-btn, .am-drawer { display: none; }

@media (max-width: 1200px) { .am-nav__link { padding: 0 8px; font-size: 14px; } .am-nav__link::after { left: 8px; right: 8px; } #header .header-top .header-top-wrapper { gap: 20px; } }
@media (max-width: 1023px) {
  #header .header-top .header-top-wrapper { padding: 0 6px; gap: 2px; }
  #header .header-top .header-top-wrapper .site-name { order: 2; position: absolute; left: 50%; transform: translateX(-50%); }
  #header .header-top .header-top-wrapper .site-name img { height: 28px; }
  .am-nav { display: none; }
  .am-menu-btn { order: 1; display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 12px; color: var(--am-ink); background: none; border: 0; font: 700 12px/1 var(--am-font); letter-spacing: .14em; text-transform: uppercase; border-radius: var(--am-r-sm); }
  .am-menu-btn__bars { width: 18px; height: 10px; position: relative; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
  .am-menu-btn__bars::after { display: none; }
  #header .header-top .header-top-wrapper .navigation-buttons [data-testid="signin"] { display: none; }
  .am-drawer { display: block; position: fixed; inset: 0; z-index: 1000; visibility: hidden; }
  .am-drawer__bg { position: absolute; inset: 0; background: rgba(22, 32, 42, .4); opacity: 0; transition: opacity .3s var(--am-ease); }
  .am-drawer__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(90vw, 420px); background: #fff; transform: translateX(-100%); transition: transform .45s var(--am-ease); display: flex; flex-direction: column; overscroll-behavior: contain; }
  .am-drawer.is-open { visibility: visible; }
  .am-drawer.is-open .am-drawer__bg { opacity: 1; }
  .am-drawer.is-open .am-drawer__panel { transform: none; }
  .am-drawer__head { display: flex; align-items: center; justify-content: space-between; height: 60px; padding: 0 6px 0 22px; border-bottom: 1px solid var(--am-line); color: var(--am-ink); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; flex: 0 0 auto; }
  .am-drawer__close { width: 44px; height: 44px; border: 0; background: none; color: var(--am-ink); font-size: 26px; font-weight: 300; line-height: 1; }
  .am-drawer__body { overflow-y: auto; padding: 6px 0 28px; flex: 1; }
  .am-drawer details { border-bottom: 1px solid var(--am-line); }
  .am-drawer summary, .am-drawer__link { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 0 22px; font-size: 17px; font-weight: 600; color: var(--am-ink); text-decoration: none; list-style: none; cursor: pointer; }
  .am-drawer__link { border-bottom: 1px solid var(--am-line); }
  .am-drawer summary::-webkit-details-marker { display: none; }
  .am-drawer summary::after { content: ""; width: 7px; height: 7px; border: solid var(--am-ink); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .25s var(--am-ease); }
  .am-drawer details[open] summary::after { transform: rotate(-135deg); }
  .am-drawer details a { display: block; padding: 10px 22px 10px 34px; color: var(--am-muted); text-decoration: none; font-size: 15.5px; }
  .am-drawer details a:last-child { padding-bottom: 18px; }
  .am-drawer__contact { padding: 24px 22px; font-size: 14px; color: var(--am-muted); }
  .am-drawer__contact a { display: block; font-size: 17px; font-weight: 700; color: var(--am-ink); text-decoration: none; margin-top: 6px; }
  html.am-lock, html.am-lock body { overflow: hidden; }
}

/* vyskakovací okna šablony (košík, přihlášení, hledání) */
.popup-widget { border-radius: var(--am-r); box-shadow: var(--am-shadow); border: 1px solid var(--am-line); }
.search-widget input[type="search"], .search-widget input[type="text"] { font-size: 16px; }

/* ---------- 4. Tlačítka a odkazy ---------- */
.reviewbtn.button, .btn.btn-primary, .btn.btn-conversion, .btn.btn-cart, a.btn-conversion {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 14px 26px;
  border-radius: var(--am-r-sm); background: var(--am-navy); color: #fff; border: 1px solid var(--am-navy);
  font: 700 12.5px/1.2 var(--am-font); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; text-align: center; white-space: nowrap;
  transition: background .25s var(--am-ease), color .25s var(--am-ease), border-color .25s var(--am-ease), transform .2s var(--am-ease); cursor: pointer; box-shadow: none;
}
.reviewbtn.button:hover, .btn.btn-primary:hover, .btn.btn-conversion:hover { background: var(--am-navy-700); border-color: var(--am-navy-700); color: #fff; transform: translateY(-1px); }
.reviewbtn.button:active, .btn:active { transform: translateY(0) scale(.98); }
.reviewbtn.button.white { background: #fff; color: var(--am-navy); border-color: #fff; }
.reviewbtn.button.white:hover { background: rgba(255,255,255,.88); border-color: transparent; color: var(--am-navy); }
.reviewbtn.button span { display: contents; }
.two-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
.btn.btn-secondary, .btn.btn-default { border-radius: var(--am-r-sm); }
/* textový odkaz se šipkou (v kartách místo plného tlačítka) */
.am-arrow, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> div > img) > .reviewbtn, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> img:first-child) > .reviewbtn, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> a:first-child > img) > .reviewbtn, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> a + img) > .reviewbtn, :where(html:not(.am-lp)) .cstmindexbn.bannsec:not(.one) .photopart .text .reviewbtn, .swiperplace .addtoslide .reviewbtn, :where(html:not(.am-lp)) .cstmindexbn.others .textpart .reviewbtn {
  min-height: 44px; padding: 10px 0; background: none !important; border: 0; border-radius: 0; color: var(--am-navy); letter-spacing: .12em; gap: 10px; transform: none !important;
}
.am-arrow::after, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> div > img) > .reviewbtn::after, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> img:first-child) > .reviewbtn::after, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> a:first-child > img) > .reviewbtn::after, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> a + img) > .reviewbtn::after, :where(html:not(.am-lp)) .cstmindexbn.bannsec:not(.one) .photopart .text .reviewbtn::after, .swiperplace .addtoslide .reviewbtn::after, :where(html:not(.am-lp)) .cstmindexbn.others .textpart .reviewbtn::after {
  content: ""; width: 18px; height: 1.5px; background: currentColor; box-shadow: none; transition: width .35s var(--am-ease);
}
:where(html:not(.am-lp)) .cstmindexbn .textpart:has(> div > img) > .reviewbtn:hover::after, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> img:first-child) > .reviewbtn:hover::after, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> a:first-child > img):hover > .reviewbtn::after, :where(html:not(.am-lp)) .cstmindexbn .textpart:has(> a + img):hover > .reviewbtn::after, :where(html:not(.am-lp)) .cstmindexbn.bannsec:not(.one) .photopart:hover .text .reviewbtn::after, .swiperplace .addtoslide .reviewbtn:hover::after, :where(html:not(.am-lp)) .cstmindexbn.others .textpart .reviewbtn:hover::after { width: 30px; }
.cstmindexbn.bannsec:not(.one) .photopart .text .reviewbtn { color: #fff; }

/* ---------- 5. Obsahové bloky (popisy produktů a stránek) ---------- */
.basic-description, .pageArticleDetail, .content-inner { font-size: 16.5px; }
.cstmindexbn { padding: var(--am-sec) 0; position: relative; }
.cstmindexbn + .cstmindexbn:not(.bannsec):not(.bluebg) { padding-top: calc(var(--am-sec) * .55); }
.cstmindexbn > .row, #FAQ, .cstmindexbn > .ns-stars ~ .row { max-width: var(--am-max); margin-left: auto; margin-right: auto; padding-left: var(--am-gut); padding-right: var(--am-gut); float: none; width: auto; }
.cstmindexbn .row::before, .cstmindexbn .row::after { display: none; }
.cstmindexbn .row + .row { margin-top: 40px; }
.cstmindexbn .row.center { text-align: center; }
/* nadpisy sekcí: proložené verzálky (obsah je psaný velkými písmeny – tak působí klidně, ne křiklavě) */
.cstmindexbn h2, .fvHPshp > h2 { font-size: clamp(20px, 2.1vw, 28px); line-height: 1.3; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--am-ink); margin: 0 0 16px; }
.cstmindexbn .row.center > p, .cstmindexbn .row.center > h2 + p { max-width: 58ch; margin: 0 auto; color: var(--am-muted); font-size: 17px; }
.cstmindexbn p { margin: 0 0 14px; }
.cstmindexbn [class*="medium-"], .cstmindexbn .small-12 { float: none; width: auto; padding: 0; position: relative; }
.cstmindexbn .row:has(> [class*="medium-"]) { display: flex; flex-wrap: wrap; gap: clamp(20px, 3vw, 40px); align-items: stretch; }
.cstmindexbn .row > .medium-6 { flex: 1 1 calc(50% - 40px); min-width: 280px; }
.cstmindexbn .row > .medium-4 { flex: 1 1 calc(33.33% - 40px); min-width: 240px; }
.cstmindexbn .row > .medium-3, .cstmindexbn .row > .large-3 { flex: 1 1 calc(25% - 40px); min-width: 200px; }
.cstmindexbn .row > .small-12:not([class*="medium-"]) { flex: 1 1 100%; }
.cstmindexbn .row:has(> [class*="medium-"]) > h2, .cstmindexbn .row:has(> [class*="medium-"]) > h3 { flex: 1 1 100%; text-align: center; margin-bottom: 0; }
.cstmindexbn .row.center > .textpart { text-align: center; }
.cstmindexbn > .reviewbtn, .cstmindexbn > .row + .reviewbtn { display: flex; width: max-content; max-width: calc(100% - 2 * var(--am-gut)); margin: 40px auto 0; }

/* karta s fotkou a popiskem (Inspirujte se…) */
.cstmindexbn .textpart > img:first-child, .cstmindexbn .textpart > a + img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--am-r); display: block; margin-bottom: 20px; }
.cstmindexbn .textpart .heading { font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--am-ink); margin: 0 0 8px; }
.cstmindexbn .textpart .heading + p { color: var(--am-muted); font-size: 15.5px; }
.cstmindexbn .textpart .pseudolink, .cstmindexbn .photopart .pseudolink { position: absolute; inset: 0; z-index: 3; border-radius: var(--am-r); }
.cstmindexbn .textpart:has(.pseudolink) .reviewbtn, .cstmindexbn .photopart:has(.pseudolink) .reviewbtn { position: relative; z-index: 4; }
.cstmindexbn .textpart > .reviewbtn { margin-top: 10px; }

/* ikony (Na co se těšit, Kudy do ArtHubu, kontakty) – bez krabic, oddělené jemnou linkou */
.cstmindexbn .textpart > img[src$=".png"]:first-child, .cstmindexbn.icons-img .textpart > img:first-child, .cstmindexbn .textpart > div > img:first-child { width: 44px; height: 44px; aspect-ratio: auto; object-fit: contain; border-radius: 0; margin: 0 auto 18px; display: block; }
.cstmindexbn.icons-img.bigfoto .textpart > img:first-child { width: 100%; height: auto; }
.cstmindexbn .row:has(> .textpart > div > img), .cstmindexbn.icons-img .row:has(> .textpart) { gap: 0; }
.cstmindexbn .textpart:has(> div > img), .cstmindexbn.icons-img .textpart { padding: 8px clamp(16px, 2.4vw, 32px); display: flex; flex-direction: column; align-items: center; text-align: center; border-left: 1px solid var(--am-line); }
.cstmindexbn .textpart:has(> div > img):first-child, .cstmindexbn.icons-img .textpart:first-of-type, .cstmindexbn .row > h2 + .textpart:has(> div > img) { border-left: 0; }
.cstmindexbn .textpart:has(> div > img) > .reviewbtn { margin-top: auto; }
.cstmindexbn .textpart:has(> div > img) > div { margin-bottom: 18px; }
.cstmindexbn .textpart:has(> div > img) p:not(.heading) { color: var(--am-muted); font-size: 15px; }
@media (max-width: 767px) { .cstmindexbn .textpart:has(> div > img), .cstmindexbn.icons-img .textpart { border-left: 0; border-top: 1px solid var(--am-line); padding: 28px 0; } .cstmindexbn .textpart:has(> div > img):first-child { border-top: 0; } }

/* dlaždice s fotkou a textem (bannsec) */
.cstmindexbn.bannsec .photopart { border-radius: var(--am-r); overflow: hidden; min-height: 360px; display: flex; isolation: isolate; background: var(--am-navy-900); }
.cstmindexbn.bannsec .photopart > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform 1.2s var(--am-ease); }
.cstmindexbn.bannsec .photopart:hover > img { transform: scale(1.035); }
.cstmindexbn.bannsec .photopart::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14, 21, 28, 0) 35%, rgba(14, 21, 28, .72) 100%); }
.cstmindexbn.bannsec .photopart .text { margin-top: auto; padding: clamp(22px, 3vw, 36px); color: #fff; display: flex; flex-direction: column; gap: 12px; width: 100%; }
.cstmindexbn.bannsec .photopart .text h2 { color: #fff; font-size: clamp(18px, 1.7vw, 22px); margin: 0 0 4px; }
.cstmindexbn.bannsec .photopart .text p { color: rgba(255,255,255,.86); margin: 0; font-size: 15.5px; max-width: 42ch; }
.cstmindexbn.bannsec .photopart .text .reviewbtn { align-self: flex-start; }
.cstmindexbn.bannsec .medium-3.photopart { min-height: 420px; }
/* velký banner přes celou šířku */
.cstmindexbn.bannsec.one .photopart { min-height: clamp(420px, 44vw, 600px); align-items: center; }
.cstmindexbn.bannsec.one .photopart .text { margin: 0; max-width: 560px; padding: clamp(28px, 5vw, 72px); }
.cstmindexbn.bannsec.one .photopart::after { background: linear-gradient(90deg, rgba(14, 21, 28, .72) 0%, rgba(14, 21, 28, .3) 55%, rgba(14, 21, 28, 0) 100%); }
.cstmindexbn.bannsec.one .photopart .text h2 { font-size: clamp(24px, 2.8vw, 36px); line-height: 1.2; }
.cstmindexbn.bannsec.one .photopart .text .reviewbtn { background: #fff; color: var(--am-navy); border-color: #fff; margin-top: 8px; }
.cstmindexbn.bannsec.one .photopart .text .reviewbtn:hover { background: rgba(255,255,255,.88); }
img.pc { display: block; } img.mob { display: none !important; }
@media (max-width: 767px) { img.pc { display: none !important; } img.mob { display: block !important; } .cstmindexbn.bannsec.one .photopart::after { background: linear-gradient(180deg, rgba(14,21,28,0) 30%, rgba(14,21,28,.8) 100%); } .cstmindexbn.bannsec.one .photopart { align-items: flex-end; } }

/* tmavá sekce */
.cstmindexbn.bluebg { background: var(--am-navy-900); color: #d7dfe6; }
.cstmindexbn.bluebg h2, .cstmindexbn.bluebg b, .cstmindexbn.bluebg strong { color: #fff; }
.cstmindexbn.bluebg .photopart img { border-radius: var(--am-r); width: 100%; height: 100%; object-fit: cover; }
.cstmindexbn.others .textpart { text-align: center; }

/* průběh zážitku (seznam s ikonami) */
.cstmindexbn ul.nobullets { list-style: none; margin: 28px 0; padding: 0; display: grid; gap: 22px; }
.cstmindexbn ul.nobullets > li { display: grid; grid-template-columns: 40px 1fr; column-gap: 18px; align-items: start; }
.cstmindexbn ul.nobullets > li > img { width: 40px; height: 40px; border-radius: 50%; background: var(--am-navy); padding: 9px; grid-row: span 2; object-fit: contain; }
.cstmindexbn ul.nobullets > li > b { font-size: 16px; font-weight: 700; color: var(--am-ink); align-self: center; }
.cstmindexbn ul.nobullets > li > ul { margin: 6px 0 0; padding-left: 16px; color: var(--am-muted); font-size: 15px; }
.cstmindexbn ul.nobullets > li > ul li { margin: 3px 0; }

/* video */
.videopart, .iframe-wrapper { position: relative; border-radius: var(--am-r); overflow: hidden; background: var(--am-navy-900); }
.videopart { aspect-ratio: 16 / 9; margin-top: 28px; }
.videopart iframe, .iframe-wrapper iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.iframe-wrapper { aspect-ratio: 16 / 9; }
.video9by16 .iframe-wrapper { aspect-ratio: 9 / 16; }
.iframe-map iframe { width: 100%; min-height: 400px; border: 0; border-radius: var(--am-r); }

/* ---------- 6. Karusely (dřív Swiper) ---------- */
.swiper { position: relative; overflow: visible; }
.swiper-wrapper { display: flex; gap: var(--am-cgap, 24px); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 2px 1px 6px; scroll-padding-inline: 1px; }   /* scroll-padding = počáteční přichycení bez posunu (jinak Chrome ukončí měření LCP) */
.swiper-wrapper::-webkit-scrollbar { display: none; }
.swiper-slide { flex: 0 0 calc((100% - (var(--am-per, 3) - 1) * var(--am-cgap, 24px)) / var(--am-per, 3)); scroll-snap-align: start; min-width: 0; position: relative; }
.swiperplace, .placesslider .swiper { --am-per: 3; }
.swiperplace.two { --am-per: 2; }
.influencers { --am-per: 4; }
.video9by16 { --am-per: 3; }
.swiperlogos, .team .swiper.logos { --am-per: 5; --am-cgap: 40px; }
.swiperinspiration { --am-per: 3; }
@media (max-width: 1023px) { .swiperplace, .placesslider .swiper, .influencers, .video9by16, .swiperinspiration { --am-per: 2; } .swiperlogos, .team .swiper.logos { --am-per: 3; } }
@media (max-width: 639px) { .swiperplace, .placesslider .swiper, .video9by16, .swiperinspiration, .swiperplace.two { --am-per: 1.18; --am-cgap: 14px; } .influencers { --am-per: 1.6; --am-cgap: 14px; } .swiperlogos, .team .swiper.logos { --am-per: 2.4; --am-cgap: 24px; } }
.swiperplace .swiper-slide > img, .basicarrow .swiper-slide > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--am-r); display: block; }
.swiper-button-prev, .swiper-button-next { position: absolute; top: 50%; z-index: 5; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%; background: rgba(255,255,255,.96); border: 1px solid var(--am-line); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: opacity .3s var(--am-ease), background .2s; color: var(--am-ink); box-shadow: none; }
.swiper-button-prev { left: -22px; } .swiper-button-next { right: -22px; }
.swiper-button-prev::after, .swiper-button-next::after { content: ""; width: 8px; height: 8px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(135deg); margin-left: 3px; font-family: inherit; font-size: 0; }
.swiper-button-next::after { transform: rotate(-45deg); margin: 0 3px 0 0; }
.swiper-button-prev[aria-disabled="true"], .swiper-button-next[aria-disabled="true"] { opacity: 0; pointer-events: none; }
.swiper-button-prev:hover, .swiper-button-next:hover { background: var(--am-surface); }
@media (max-width: 1500px) { .swiper-button-prev { left: -8px; } .swiper-button-next { right: -8px; } }
.swiperplace, .swiperlogos { position: relative; }   /* šipky se měří od karuselu, ne od šířky stránky (jinak přetékaly vpravo) */
@media (hover: none) { .swiper-button-prev, .swiper-button-next { display: none; } }
.swiper-pagination { display: none; }

/* influenceři */
.influ { height: 100%; }
.influ img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--am-r); margin-bottom: 14px; }
.influ p { font-size: 14.5px; color: var(--am-muted); margin: 0 0 6px; }
.influ p a { font-weight: 700; color: var(--am-ink); text-decoration: none; }

/* loga médií / partnerů v obsahu */
.swiperlogos .swiper-slide, .partners .swiper-slide { display: flex; align-items: center; justify-content: center; height: 64px; }
.swiperlogos img, .partners img { max-height: 32px; width: auto; filter: grayscale(1); opacity: .55; transition: opacity .3s, filter .3s; }
.swiperlogos a:hover img { filter: none; opacity: 1; }
.slider.partners { max-width: var(--am-max); margin: 0 auto; padding: 48px var(--am-gut); text-align: center; }

/* ---------- 7. Hero ---------- */
#carousel { position: relative; background: var(--am-navy-900); color: #fff; overflow: hidden; }
#carousel .slider, #carousel .swiper { position: relative; }
#carousel .swiper-wrapper { padding: 0; gap: 0; }
#carousel .swiper-slide { flex-basis: 100%; }
#carousel .cstmindexbn.swiper-slide { padding: 0; min-height: min(calc(100svh - var(--am-head-h) - var(--am-util-h)), 760px); min-height: clamp(480px, calc(100svh - var(--am-head-h) - var(--am-util-h)), 760px); display: flex; align-items: flex-end; isolation: isolate; }
#carousel .cstmindexbn.swiper-slide > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
#carousel .cstmindexbn.swiper-slide::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12, 18, 24, .66) 0%, rgba(12, 18, 24, .3) 50%, rgba(12, 18, 24, .04) 100%), linear-gradient(0deg, rgba(12, 18, 24, .35) 0%, rgba(12, 18, 24, 0) 40%); }
#carousel .row.text { max-width: var(--am-max); width: 100%; margin: 0 auto; padding: clamp(48px, 8vw, 96px) var(--am-gut); text-align: left; }
#carousel .row.text > div { max-width: 680px; }
#carousel h2, #carousel h1.am-h1 { color: #fff; font-size: clamp(32px, 4.4vw, 58px); line-height: 1.04; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; margin: 0 0 20px; }
#carousel p { color: rgba(255,255,255,.88); font-size: clamp(16px, 1.3vw, 18px); line-height: 1.6; max-width: 48ch; }
/* 1. tlačítko = obrys, 2. = hlavní (bílé), 3. = textový odkaz */
#carousel .two-btns .reviewbtn { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
#carousel .two-btns .reviewbtn:hover { background: rgba(255,255,255,.12); border-color: #fff; }
#carousel .two-btns .reviewbtn:nth-child(2), #carousel .two-btns .reviewbtn:only-child { background: #fff; color: var(--am-navy); border-color: #fff; }
#carousel .two-btns .reviewbtn:nth-child(2):hover, #carousel .two-btns .reviewbtn:only-child:hover { background: rgba(255,255,255,.88); }
#carousel .two-btns .reviewbtn:nth-child(3) { border-color: transparent; padding-left: 8px; padding-right: 8px; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
@media (max-width: 767px) {
  #carousel .cstmindexbn.swiper-slide { min-height: min(calc(100svh - var(--am-head-h)), 640px); }
  #carousel .cstmindexbn.swiper-slide::before { background: linear-gradient(180deg, rgba(12,18,24,.05) 20%, rgba(12,18,24,.55) 55%, rgba(12,18,24,.88) 100%); }
  #carousel .row.text { padding-bottom: 36px; }
  #carousel .two-btns { flex-direction: column; align-items: stretch; }
  #carousel .two-btns .reviewbtn { width: 100%; }
  #carousel .two-btns .reviewbtn:nth-child(2) { order: -1; }
}
.am-dots { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; gap: 8px; z-index: 4; }
.am-dots button { width: 24px; height: 2px; border-radius: 1px; border: 0; padding: 0; background: rgba(255,255,255,.4); cursor: pointer; transition: width .4s var(--am-ease), background .3s; }
.am-dots button[aria-current="true"] { background: #fff; width: 40px; }

/* ---------- 8. FAQ – bez krabic, jen linky ---------- */
#FAQ { max-width: 820px; display: block; border-top: 1px solid var(--am-line); }
#FAQ .question_box { background: none; border: 0; border-bottom: 1px solid var(--am-line); border-radius: 0; overflow: hidden; }
#FAQ .faq_input { position: absolute !important; opacity: 0 !important; width: 1px; height: 1px; pointer-events: none; }
#FAQ .faq_label::before { display: none !important; }
#FAQ .faq_label { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0 !important; font-weight: 600; font-size: 16.5px; color: var(--am-ink); cursor: pointer; margin: 0; text-align: left; }
#FAQ .faq_label::after { content: "+"; position: static !important; background: none !important; border: 0 !important; width: auto !important; height: auto !important; font-size: 24px; font-weight: 300; line-height: 1; color: var(--am-ink); transition: transform .3s var(--am-ease); }
#FAQ .faq_input:checked + .faq_label::after { transform: rotate(45deg) !important; }
#FAQ .faq_input:focus-visible + .faq_label { outline: 2px solid var(--am-navy); outline-offset: 2px; }
#FAQ .faq_content { display: none; padding: 0 0 24px; color: var(--am-muted); font-size: 15.5px; text-align: left; }
#FAQ .faq_input:checked ~ .faq_content { display: block; animation: am-drop .35s var(--am-ease); }
#FAQ .faq_content ul { padding-left: 18px; }
#FAQ + .reviewbtn, #FAQ ~ .reviewbtn, .small-12:has(> #FAQ) > .reviewbtn { display: flex; width: max-content; margin: 36px auto 0; }

/* ---------- 9. Stránka zážitku ---------- */
.type-detail .p-detail { max-width: none; }
.type-detail .p-detail-inner { display: block; max-width: var(--am-max); margin: 0 auto; padding: 6px var(--am-gut) 0; min-height: 0; }
.type-detail .p-image-wrapper, .type-detail .p-data-wrapper > :not(.p-detail-inner-header), .type-detail .p-detail-inner-header-mobile { display: none !important; }
.type-detail .p-data-wrapper { width: auto; float: none; padding: 0; }
.type-detail .p-data-wrapper .p-detail-inner-header { display: block !important; }
.type-detail .p-detail-inner-header h1 { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--am-faint); margin: 0 0 16px; }
.type-detail .p-detail-inner-header { padding: 0; margin: 0; min-height: 0; }
.type-detail .p-detail { padding-top: 0; }
.type-detail .p-detail-full-width { margin-top: 0 !important; padding-top: 0 !important; }
.type-detail .p-detail-inner-header .flags, .type-detail .p-detail-inner-header .p-code, .type-detail .p-detail-inner-header .stars-wrapper { display: none; }
.type-detail .p-detail-tabs-wrapper .shp-tabs-row, .type-detail .p-detail-tabs-wrapper .responsive-nav, .type-detail .p-detail-tabs-wrapper > .shp-tabs-holder { display: none !important; }
.type-detail .p-detail-full-width .container-full-width { max-width: none; padding: 0; }
.type-detail .p-detail-tabs-wrapper, .type-detail .p-detail-tabs-wrapper > .row, .type-detail .p-detail-tabs-wrapper .col-sm-12, .type-detail .tab-content, .type-detail .tab-pane { max-width: none; width: auto; padding: 0; margin: 0; border: 0; background: none; float: none; }
.type-detail .description-inner { display: block; }
#description, #description .description-inner, #description .basic-description { width: auto; max-width: none; padding: 0; margin: 0; float: none; flex: none; }
.type-detail #tab-content, .type-detail #tab-content > #description, .type-detail #description .description-inner, .type-detail #description .basic-description { margin: 0 !important; padding: 0 !important; width: auto !important; box-shadow: none !important; border: 0 !important; }
.type-detail .p-detail-full-width, .type-detail .p-detail-full-width .container-full-width { background: #fff; color: var(--am-ink); }
.type-detail .basic-description > h4:first-child, .type-detail .basic-description > h3:first-child { display: none; }
.type-detail .products-related-wrapper, .type-detail .products-related-header, .type-detail .discussion-wrapper, .type-detail .tab-pane:not(#description) { display: none !important; }
.type-detail #carousel { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.type-detail #topbann .photopart.productplace { background: #fff; border: 1px solid var(--am-line); border-radius: var(--am-r); padding: clamp(18px, 2vw, 28px); align-self: flex-start; position: sticky; top: calc(var(--am-head-h) + 20px); }
@media (max-width: 1023px) { .type-detail #topbann .photopart.productplace { position: static; } }
/* propadlé oznámení „ArtLab ve všední den teď 1,5 hodiny… do 30. 9.“ (skript v popisu produktu na ostrém webu, na klonu odstraněno) */
#artlab-hh-info { display: none !important; }
/* ArtLab (desítky časů denně): kalendář přes celou šířku – měsíc vlevo, časy dne vpravo (kontejner > 760 px); průběh zážitku pod ním v řadě kroků */
@media (min-width: 768px) {
  .in-artlab-kategorie.type-detail #topbann .row:has(> #productplace) { flex-direction: column; }
  .in-artlab-kategorie.type-detail #topbann .row:has(> #productplace) > * { flex: 1 1 auto; width: 100%; max-width: 100%; }
  .in-artlab-kategorie.type-detail #topbann .photopart.productplace { position: static; order: -1; margin-bottom: clamp(32px, 4vw, 56px); }
  .in-artlab-kategorie.type-detail #topbann .textpart > ul.nobullets { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 24px; }
  .in-artlab-kategorie.type-detail #topbann .textpart > ul.nobullets > li { margin: 0; }
}
@media (max-width: 767px) { .type-detail #topbann .row { flex-direction: column-reverse; } .type-detail .p-detail-inner { padding-top: 2px; } .type-detail .p-detail-inner-header h1 { font-size: 11px; margin-bottom: 10px; } }

/* ---------- 10. Stránky ---------- */
.type-page .content-inner, .type-post .content-inner { max-width: none; padding: 0; }
.type-page #content > .content-inner > h1:first-child, .pageArticleDetail > header h1 { max-width: var(--am-max); margin: 36px auto 0; padding: 0 var(--am-gut); font-size: clamp(28px, 3.4vw, 44px); font-weight: 700; letter-spacing: -.01em; }

/* ---------- 11. Titulní strana ---------- */
.type-index .wide-carousel { display: none; }
.type-index .carousel-wrapper, .type-index .next-to-carousel-banners { max-width: none; margin: 0; padding: 0; display: block; }
.type-index .next-to-carousel-banners > * { width: auto; max-width: none; padding: 0; float: none; }
.fvHPshp#calendar { max-width: var(--am-max); margin: 0 auto; padding: var(--am-sec) var(--am-gut); float: none; display: block; }
.fvHPshp#calendar > h2 { text-align: center; }
.benefit-banners-full-width { background: var(--am-surface); }
.benefitBanner, .benefit-banners { max-width: var(--am-max); margin: 0 auto; }

/* karusel tematických večerů a malé fotky u textu */
.swiperplace .swiper-slide { display: flex; flex-direction: column; gap: 14px; }
.swiperplace .addtoslide { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.swiperplace .addtoslide .heading { margin: 0; font-size: 17px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.swiperplace .addtoslide p { margin: 0; color: var(--am-muted); font-size: 15px; }
.cstmindexbn .photopart > .swiper, .cstmindexbn .photopart > .swiperplace { --am-per: 1; }
.cstmindexbn .photopart .swiper-slide > img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--am-r); }

/* ---------- 12. Patička ---------- */
.footer-newsletter-full-width { background: var(--am-surface); border-top: 1px solid var(--am-line); }
#footer { background: var(--am-navy-900); color: #b9c4ce; font-size: 14.5px; }
#footer a { color: #e7ecf0; text-decoration: none; }
#footer a:hover { color: #fff; text-decoration: underline; }
#footer h2, #footer h3, #footer h4, #footer .h4 { color: #fff; }
#footer .footer-rows { max-width: var(--am-max); padding: 72px var(--am-gut) 40px; }
#footer .custom-footer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto 1fr; gap: 40px; margin: 0; }
#footer .custom-footer::before, #footer .custom-footer::after { display: none; }
#footer .custom-footer > [class*="col-"] { width: auto; max-width: none; padding: 0; float: none; }
#footer .custom-footer__newsletter { display: none; }
#footer .custom-footer__banner3, #footer .custom-footer__banner2, #footer .custom-footer__banner11 { grid-row: span 2; }
#footer .custom-footer__contact { grid-column: 4; grid-row: 1; }
#footer .custom-footer__banner1 { grid-column: 4; grid-row: 2; }
#footer .topic, #footer .contact-box h4, #footer .contact-box strong:first-child { color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 18px; }
#footer .ccr-single { margin: 0 0 10px; }
#footer .contact-box a { font-size: 16px; font-weight: 600; }
#footer .footersoc .logo { display: none; }
#footer .footersoc .box > div { display: flex; gap: 8px; flex-wrap: wrap; }
#footer .footersoc .small-4 { width: auto; padding: 0; float: none; }
#footer .footersoc a { display: inline-flex; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); align-items: center; justify-content: center; transition: border-color .2s, background .2s; }
#footer .footersoc a:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.06); }
#footer .footersoc img { width: 17px; height: 17px; object-fit: contain; filter: brightness(0) invert(1); }
#footer .contact-box ul, #footer .contact-box { list-style: none; padding: 0; }
.footer-bottom-full-width, .footer-bottom-full-width .footer-bottom { background: var(--am-navy-900) !important; color: #8d9aa6; }
.footer-bottom-full-width { border-top: 1px solid rgba(255,255,255,.08); }
#footer .footer-bottom { max-width: var(--am-max); padding: 18px var(--am-gut); font-size: 12.5px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
#footer .footer-bottom > span { flex: 0 0 auto; width: auto !important; max-width: 100%; margin: 0 !important; padding: 0 !important; text-align: left !important; float: none !important; }
#footer .footer-bottom > span:first-child { margin-right: auto !important; }
.footer-bottom-full-width a, #signature, #signature a { color: #8d9aa6 !important; }
@media (max-width: 1023px) { #footer .custom-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; } #footer .custom-footer > * { grid-column: auto !important; grid-row: auto !important; } }
@media (max-width: 559px) { #footer .custom-footer { grid-template-columns: 1fr; gap: 32px; } }

/* ---------- 13. Pohyb: jemné objevení sekcí při posunu (am-ui.js přidá .am-rv jen sekcím pod ohybem) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .am-rv { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--am-ease), transform .9s var(--am-ease); }
  .am-rv.is-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* ---------- 14. E-shop (am-shop.js) ---------- */
.am-drink { margin: 28px 0; padding: 24px 26px; border-radius: var(--am-r); background: #fff; border: 1px solid var(--am-line); transition: border-color .3s; }
.am-drink.is-done { border-color: #b9d8c2; }
.am-drink h2 { font-size: 17px; font-weight: 700; margin: 0 0 4px; text-transform: none; letter-spacing: 0; }
.am-drink__hint { margin: 0 0 12px; color: var(--am-muted); font-size: 14.5px; min-height: 1.4em; }
.am-drink__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--am-line); }
.am-drink__name { font-weight: 600; font-size: 16px; }
.am-step { display: inline-flex; align-items: center; border: 1px solid var(--am-line); border-radius: var(--am-r-sm); background: #fff; }
.am-step button { width: 42px; height: 42px; border: 0; background: none; font-size: 20px; font-weight: 300; color: var(--am-ink); cursor: pointer; }
.am-step button:disabled { color: #c6ccd1; cursor: default; }
.am-step output { min-width: 28px; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }
.am-drink__done { margin: 12px 0 0; color: var(--am-ok); font-weight: 600; font-size: 14.5px; }
#continue-order-button.am-need-drink { opacity: 1; background: #6b7782 !important; border-color: #6b7782 !important; }   /* zašedlé, ale čitelné (kontrast 4.6:1) */
.am-shake { animation: am-shake .45s; border-color: var(--am-navy); }
@keyframes am-shake { 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }
.am-modal { position: fixed; inset: 0; z-index: 2000; background: rgba(22, 32, 42, .45); display: flex; align-items: center; justify-content: center; padding: 16px; }
.am-modal__box { background: #fff; border-radius: var(--am-r); padding: 32px; max-width: 460px; box-shadow: var(--am-shadow); }
.am-modal__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
.am-link { background: none; border: 0; color: var(--am-ink); text-decoration: underline; text-underline-offset: 4px; font-size: 14.5px; cursor: pointer; padding: 8px 0; }
.am-contact-pic { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-size: 13.5px; color: var(--am-muted); }
.am-contact-pic img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.am-contact-pic.is-online img { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2fa55a; }
.am-special-info { padding: 4px 0 12px 48px; font-size: 13.5px; }
.am-note { margin-top: 16px; padding: 14px 16px; border-radius: var(--am-r-sm); background: var(--am-surface); }
.am-ics { margin: 8px 0 24px; }
.am-hp { position: absolute; left: -9999px; }
.am-err { color: #b3261e; font-weight: 600; margin: 10px 0 0; font-size: 14.5px; }
/* bloky nad patičkou: recenze, média, výhody */
.am-reviews { background: var(--am-surface); padding: var(--am-sec) 0; }
.am-reviews__in { max-width: var(--am-max); margin: 0 auto; padding: 0 var(--am-gut); }
.am-reviews__head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-bottom: 32px; }
.am-reviews__head h2 { margin: 0; font-size: clamp(20px, 2.1vw, 28px); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.am-reviews__head .reviewbtn { margin-left: auto; background: transparent; color: var(--am-ink); border-color: var(--am-line); }
.am-reviews__head .reviewbtn:hover { background: #fff; color: var(--am-ink); border-color: var(--am-ink); }
.am-reviews__avg { margin: 0; font-size: 14.5px; color: var(--am-muted); }
.am-reviews__avg b { font-size: 18px; color: var(--am-ink); }
.am-stars { color: var(--am-star); letter-spacing: 2px; font-size: 13px; }
.am-reviews__list { --am-per: 3; }
@media (max-width: 1023px) { .am-reviews__list { --am-per: 2; } }
@media (max-width: 639px) { .am-reviews__list { --am-per: 1.15; --am-cgap: 14px; } .am-reviews__head .reviewbtn { margin-left: 0; } }
.am-review { margin: 0; background: #fff; border: 1px solid var(--am-line); border-radius: var(--am-r); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.am-review blockquote { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--am-ink); display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.am-review figcaption { margin-top: auto; font-weight: 600; color: var(--am-muted); font-size: 14px; }
.am-logos { max-width: var(--am-max); margin: 0 auto; padding: 56px var(--am-gut); text-align: center; }
.am-logos h2 { font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--am-faint); margin: 0 0 28px; }
.am-logos h2 a { color: inherit; text-decoration: none; display: inline-block; padding: 13px 0; margin: -13px 0; }   /* dotyková plocha 44 px bez změny rozložení */
.am-logos__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 52px; }
.am-logos img { height: 26px; width: auto; filter: grayscale(1); opacity: .5; transition: opacity .3s, filter .3s; }
.am-logos a:hover img { filter: none; opacity: 1; }
.am-usp { border-top: 0; }
.am-usp__list { list-style: none; max-width: var(--am-max); margin: 0 auto; padding: 28px var(--am-gut); display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.am-usp a { display: flex; align-items: center; gap: 14px; color: var(--am-ink); text-decoration: none; font-weight: 600; font-size: 14px; }
.am-usp img { width: 32px; height: 32px; opacity: .85; }
/* hlídací pes */
.am-hlidac { text-align: left; padding: 8px 0; }
.am-hlidac h2 { font-size: 18px; font-weight: 700; text-transform: none; letter-spacing: 0; margin: 0 0 8px; }
.am-hlidac label { display: block; margin: 14px 0 6px; font-weight: 600; font-size: 14px; color: var(--am-ink); }
.am-hlidac input[type=email], .am-hlidac select { width: 100%; height: 48px; padding: 0 14px; font-size: 16px; border: 1px solid #b9c2ca; border-radius: var(--am-r-sm); background: #fff; }
.am-hlidac input:focus, .am-hlidac select:focus { border-color: var(--am-navy); outline: 2px solid var(--am-navy); outline-offset: 0; }
.am-hlidac__gdpr p { text-align: left !important; font-size: 13.5px; margin: 12px 0; color: var(--am-muted); }
.am-hlidac__gdpr span { font-size: 13.5px !important; }
.am-hlidac button[type=submit] { width: 100%; }
.am-hlidac__thx { font-size: 17px; font-weight: 600; }
.makeform .forminput { margin-bottom: 12px; }
.makeform input[type=text], .makeform input[type=email], .makeform input[type=tel], .makeform textarea { width: 100%; min-height: 48px; padding: 10px 14px; font-size: 16px; border: 1px solid #b9c2ca; border-radius: var(--am-r-sm); }
/* kontakty na lidi */
.morepeople { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.contactegor { display: flex; gap: 20px; align-items: center; border: 1px solid var(--am-line); border-radius: var(--am-r); padding: 20px; text-align: left; }
.contactegor .img img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; display: block; }
.contactegor .name { font-weight: 700; color: var(--am-ink); margin: 0 0 8px; letter-spacing: .04em; }
.contactegor .name small { display: block; font-weight: 400; color: var(--am-muted); font-size: 13.5px; letter-spacing: 0; }
.contactegor .contacts a { display: flex; align-items: center; gap: 8px; margin: 4px 0; font-size: 14.5px; }
.contactegor .contacts img { width: 16px; height: 16px; }
.ami-card { text-align: left; margin-top: 24px; }

/* ---------- 15. Doladění v2 ---------- */
.cstmindexbn .row > .reviewbtn { display: flex; width: max-content; max-width: 100%; margin: 36px auto 0; }
.type-index .homepage-latest-contribution-full-width { display: none; }   /* „Poslední hodnocení“ šablony – recenze ukazuje náš blok */
#header .header-top .header-top-wrapper .navigation-buttons a[data-target="search"], #header .header-top .header-top-wrapper .navigation-buttons a[data-target="search"] * { background-color: transparent !important; }
/* karta, kde je fotka v odkazu (Všechny zážitky) */
.cstmindexbn .textpart > a:first-child:has(> img) { display: block; border-radius: var(--am-r); overflow: hidden; margin-bottom: 18px; }
.cstmindexbn .textpart > a:first-child > img { width: 100%; aspect-ratio: 1 / 1;  /* štítek „Novinka“ je součástí fotky – čtverec ho neořízne */ object-fit: cover; display: block; transition: transform 1.2s var(--am-ease); }
.cstmindexbn .textpart:hover > a:first-child > img { transform: scale(1.03); }
.cstmindexbn .textpart .heading a { color: inherit; text-decoration: none; }

/* ================= v3: přehlednost ================= */
/* nadpisy: běžný zápis (am-case.js převádí VERZÁLKY), výraznější hierarchie, zarovnání vlevo */
.cstmindexbn h2, .fvHPshp > h2, .am-reviews__head h2 { font-size: clamp(28px, 3.3vw, 44px); font-weight: 700; letter-spacing: -.025em; line-height: 1.1; text-transform: none; color: var(--am-ink); margin: 0 0 14px; }
.cstmindexbn h3 { font-size: clamp(20px, 1.8vw, 24px); font-weight: 700; letter-spacing: -.015em; line-height: 1.25; }
.cstmindexbn .row.center, .fvHPshp#calendar > h2 { text-align: left; }
.cstmindexbn .row.center > p, .cstmindexbn .row.center > h2 + p { margin: 0; max-width: 60ch; }
.cstmindexbn .row.center > .textpart, .cstmindexbn.others .textpart { text-align: left; }
.cstmindexbn .row:has(> [class*="medium-"]) > h2, .cstmindexbn .row:has(> [class*="medium-"]) > h3 { text-align: left; }
.cstmindexbn .textpart:has(> div > img), .cstmindexbn.icons-img .textpart { align-items: flex-start; text-align: left; }
.cstmindexbn .textpart > img[src$=".png"]:first-child, .cstmindexbn.icons-img .textpart > img:first-child, .cstmindexbn .textpart > div > img:first-child { margin-left: 0; }
.cstmindexbn > .reviewbtn, .cstmindexbn > .row + .reviewbtn, .cstmindexbn .row > .reviewbtn, #FAQ + .reviewbtn, #FAQ ~ .reviewbtn, .small-12:has(> #FAQ) > .reviewbtn { margin-left: max(var(--am-gut), calc((100% - var(--am-max)) / 2 + var(--am-gut))); margin-right: auto; }
.cstmindexbn .row > .reviewbtn, .small-12:has(> #FAQ) > .reviewbtn { margin-left: 0; }
#FAQ { margin-left: 0; max-width: 860px; padding: 0; }
.cstmindexbn:has(#FAQ) .row { max-width: var(--am-max); }
.cstmindexbn:has(#FAQ) { background: var(--am-surface); }
.cstmindexbn.bannsec .photopart .text h2 { font-size: clamp(20px, 1.9vw, 26px); letter-spacing: -.015em; }
.cstmindexbn.bannsec.one .photopart .text h2 { font-size: clamp(28px, 3.2vw, 42px); letter-spacing: -.025em; line-height: 1.08; }
#carousel h2, #carousel h1.am-h1 { font-size: clamp(38px, 5.2vw, 70px); line-height: 1.02; letter-spacing: -.03em; text-transform: none; }
.type-page #content > .content-inner > h1:first-child, .pageArticleDetail > header h1 { font-size: clamp(34px, 4.2vw, 56px); letter-spacing: -.03em; line-height: 1.05; }
.fvHPshp#calendar { border-top: 0; }   /* 29. 9.: bez dělicí čáry (majitel) */

/* rychlé informace pod úvodní fotkou (stránka zážitku) */
.am-facts { border-bottom: 1px solid var(--am-line); background: #fff; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.am-facts__in { max-width: var(--am-max); margin: 0 auto; padding: 18px var(--am-gut); display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; }
.am-facts ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 28px; }
.am-facts li { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--am-ink); }
.am-facts li svg { color: var(--am-navy); flex: 0 0 auto; }
.am-facts__cta { display: flex; align-items: center; gap: 20px; }
.am-facts__price { font-size: 17px; font-weight: 700; color: var(--am-ink); white-space: nowrap; }
@media (max-width: 767px) {
  .am-facts__in { padding: 16px var(--am-gut); }
  .am-facts ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; width: 100%; }
  .am-facts li { font-size: 14px; }
  .am-facts__cta { display: none; }
}
/* mobilní lišta „Vybrat termín“ – dokud zákazník nevidí kalendář */
.am-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483001; display: none; align-items: center; justify-content: space-between; gap: 16px; padding: 12px var(--am-gut) calc(12px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--am-line); transform: translateY(110%); transition: transform .4s var(--am-ease); }
.am-sticky.is-on { transform: none; }
.am-sticky__price { font-weight: 700; font-size: 16px; }
.am-sticky .reviewbtn { flex: 1; max-width: 240px; }
@media (max-width: 767px) { .am-sticky { display: flex; } body.am-sticky-on .am-chat-ph, body.am-sticky-on .woot-widget-bubble { bottom: 88px !important; } }

/* rozcestník pod úvodní fotkou (titulní strana) */
.am-quick { border-bottom: 1px solid var(--am-line); background: #fff; }
.am-quick__in { max-width: var(--am-max); margin: 0 auto; padding: 16px var(--am-gut); display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.am-quick__in::-webkit-scrollbar { display: none; }
.am-quick a { flex: 0 0 auto; display: inline-flex; align-items: center; height: 42px; padding: 0 18px; border: 1px solid var(--am-line); border-radius: 999px; color: var(--am-ink); font-size: 14.5px; font-weight: 600; text-decoration: none; transition: border-color .2s, background .2s; }
.am-quick a:hover { border-color: var(--am-ink); background: var(--am-surface); }
/* samostatné tlačítko v banneru (Jdu přihodit do aukce) */
.dmbann > .reviewbtn { display: flex; width: max-content; margin: 8px auto var(--am-sec) max(var(--am-gut), calc((100% - var(--am-max)) / 2 + var(--am-gut))); }
#carousel .row.text .reviewbtn:only-of-type, #carousel .row.text > div > .reviewbtn { background: #fff; color: var(--am-navy); border-color: #fff; }
#carousel .row.text > div > .reviewbtn { margin-top: 12px; }
/* nákupní formulář šablony přesunutý do #productplace (voucher) */
.am-buybox #productplace #product-detail-form { display: block; }
.am-buybox #productplace .p-variants-block, .am-buybox #productplace .p-to-cart-block, .am-buybox #productplace .p-price-wrapper { margin: 0 0 16px; }
.am-buybox #productplace select { width: 100%; min-height: 48px; border: 1px solid #b9c2ca; border-radius: var(--am-r-sm); padding: 0 12px; font-size: 16px; }
.am-buybox #productplace .price-final { font-size: 26px; font-weight: 700; color: var(--am-ink); }
.am-buybox #productplace .add-to-cart .btn { width: 100%; }
.am-buybox #productplace .add-to-cart-button::before, .am-buybox #productplace .add-to-cart-button [class*="icon-"] { display: none !important; }
.am-buybox #productplace .detail-parameters, .am-buybox #productplace .detail-parameter { border: 0; padding: 0; margin: 0 0 12px; background: none; font-size: 14px; color: var(--am-muted); }
.am-buybox #productplace .add-to-cart { display: flex; gap: 10px; align-items: stretch; }
.am-buybox #productplace .add-to-cart .quantity { flex: 0 0 auto; }
.am-buybox #productplace .add-to-cart .btn { flex: 1; }

/* ================= iPhone test – opravy ================= */
/* čitelnost: nejmenší písmo 13 px (UX checklist bod 2) */
#footer .topic, #footer .contact-box h4, #footer .contact-box strong:first-child, .am-logos h2, .type-detail .p-detail-inner-header h1, .cstmindexbn .textpart .heading { font-size: 13px; }
@media (max-width: 767px) { .type-detail .p-detail-inner-header h1 { font-size: 12.5px; } }
/* dotykové plochy ≥ 44 px */
#footer .ccr-single a, #footer .contact-box a { display: inline-block; padding: 8px 0; }
#footer .ccr-single { margin: 0; }
#header .header-top .header-top-wrapper .site-name a { padding: 8px 0; background-clip: content-box; }
.am-dots button { height: 44px; min-width: 32px; background: transparent !important; position: relative; }   /* dotyková plocha 44 px (UX checklist č. 5) */
.am-dots button::before { content: ""; position: absolute; left: 4px; right: 4px; top: 21px; height: 2px; border-radius: 1px; background: rgba(255,255,255,.4); transition: background .3s; }
.am-dots button[aria-current="true"]::before { background: #fff; }
.cart-table .p-quantity .quantity button, .quantity .increase, .quantity .decrease { min-width: 44px; min-height: 44px; }
input.amount, .quantity input { font-size: 16px !important; }
select, .search-input, input[type=search], input[type=text], input[type=email], input[type=tel], textarea { font-size: 16px; }   /* iPhone nezoomuje */
/* našeptávač hledání: obal ho nesmí ořezávat */
#header .user-action-search, #header .search-widget { overflow: visible !important; }
.searchWhisperer { max-height: calc(100dvh - var(--am-head-h) - 80px); overflow-y: auto; border: 1px solid var(--am-line); border-radius: 0 0 var(--am-r) var(--am-r); box-shadow: var(--am-shadow); }
.search-widget .search-button { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 12.5px; }
/* cookie lišta: světlá, nenápadná, volby stejně výrazné (GDPR) */
.siteCookies.siteCookies--dark, .siteCookies { background: transparent !important; }
.siteCookies .siteCookies__form { background: #fff !important; color: var(--am-ink) !important; border: 1px solid var(--am-line); border-radius: var(--am-r); box-shadow: var(--am-shadow); max-width: 560px; margin: 0 auto; padding: 20px 22px !important; display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 768px) { .siteCookies.siteCookies--bottom { left: auto !important; right: 24px; bottom: 24px !important; width: 440px; } }
@media (max-width: 767px) { .siteCookies.siteCookies--bottom { left: 12px !important; right: 12px !important; bottom: 12px !important; } }
.siteCookies .siteCookies__text, .siteCookies .siteCookies__text a { color: var(--am-ink) !important; font-size: 14.5px; line-height: 1.55; }
.siteCookies .siteCookies__content { display: flex; flex-direction: column; gap: 6px; }
.siteCookies .siteCookies__links { margin: 0; }
.siteCookies .siteCookies__link { background: none !important; border: 0 !important; color: var(--am-navy) !important; text-decoration: underline; text-underline-offset: 3px; padding: 6px 0 !important; font-size: 14px; }
.siteCookies .siteCookies__buttonWrap { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.siteCookies .siteCookies__button { min-height: 46px; border-radius: var(--am-r-sm) !important; font: 700 12.5px/1 var(--am-font) !important; letter-spacing: .1em; text-transform: uppercase; margin: 0 !important; padding: 0 12px !important; background: #fff !important; color: var(--am-ink) !important; border: 1px solid var(--am-ink) !important; }
.siteCookies .siteCookies__button[value="all"] { background: var(--am-navy) !important; border-color: var(--am-navy) !important; color: #fff !important; }
/* úvodní blok: hlavní tlačítko (rezervace) bílé, ostatní obrys – určuje am-ui.js třídou .am-primary */
#carousel .two-btns .reviewbtn:nth-child(2), #carousel .two-btns .reviewbtn:only-child { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
#carousel .two-btns .reviewbtn.am-primary, #carousel .row.text .reviewbtn.am-primary { background: #fff !important; color: var(--am-navy) !important; border-color: #fff !important; text-decoration: none; }
@media (max-width: 767px) { #carousel .two-btns .reviewbtn:nth-child(2) { order: 0; } #carousel .two-btns .reviewbtn.am-primary { order: -1; } }
/* okno „Přidáno do košíku“ */
.advanced-order { font-family: var(--am-font); }
.advanced-order .h1 { font-size: 22px !important; font-weight: 700; letter-spacing: -.01em; text-align: left !important; margin: 0 0 12px !important; display: flex; align-items: center; gap: 10px; }
.advanced-order .h1::before { content: ""; width: 26px; height: 26px; border-radius: 50%; background: var(--am-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat; flex: 0 0 auto; }
.advanced-order [data-testid="textPopupProductName"] { font-size: 16px !important; font-weight: 600; line-height: 1.45; text-align: left !important; margin: 0 0 18px !important; color: var(--am-ink); }
.advanced-order .am-ao-meta { display: block; font-weight: 400; color: var(--am-muted); font-size: 14.5px; margin-top: 4px; }
.advanced-order .advancedOrder__buttons { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-start; }
.advanced-order .advancedOrder__buttons .btn { flex: 1 1 180px; min-height: 48px; border-radius: var(--am-r-sm); font: 700 12.5px/1.2 var(--am-font); letter-spacing: .1em; text-transform: uppercase; }
.advanced-order .advancedOrder__buttons .next-step-back { background: #fff; border: 1px solid var(--am-line); color: var(--am-ink); }
.advanced-order .advanced-order-suggestion { font-size: 15px !important; font-weight: 700; text-align: left !important; margin: 26px 0 10px !important; border-top: 1px solid var(--am-line); padding-top: 20px; }
.advanced-order .product-slider-pagination, .advanced-order .product-slider-navigation { display: none !important; }
.advanced-order .products-wrapper, .advanced-order .product-slider-holder, .advanced-order .products { overflow: visible !important; height: auto !important; }
.advanced-order .products-block { display: grid !important; grid-template-columns: 1fr !important; gap: 10px; transform: none !important; width: auto !important; margin: 0 !important; }
.advanced-order .products-block .product { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; margin: 0 !important; }
.advanced-order .products-block .product:nth-child(n+3) { display: none; }   /* nabídka se v šabloně opakuje – stačí 2 */
.advanced-order .product .p { display: grid !important; grid-template-columns: 56px minmax(0,1fr) auto !important; text-align: left !important; height: auto !important; align-items: center; gap: 12px; border: 1px solid var(--am-line); border-radius: var(--am-r); padding: 10px; }
.advanced-order .product .p > .image { width: 56px; height: 56px; border-radius: 8px; overflow: hidden; }
.advanced-order .product .p > .image img { width: 56px; height: 56px; object-fit: cover; }
.advanced-order .product .p-in { display: contents; }
.advanced-order .product .name { font-size: 14.5px; font-weight: 600; color: var(--am-ink); text-decoration: none; }
.advanced-order .product .p-desc, .advanced-order .product .availability, .advanced-order .product .ratings-wrapper, .advanced-order .product .p-tools .increase, .advanced-order .product .p-tools .decrease, .advanced-order .product .p-tools input { display: none !important; }
.advanced-order .product .price-final { font-size: 14px; font-weight: 700; }
.advanced-order .product .btn-cart { min-height: 40px; padding: 0 14px; border-radius: var(--am-r-sm); font-size: 12px; }
/* souhlas BurdaMedia jen u workshopu ArtFashion (dřív v CSS FV) */
body:not(.ArtFashion-in) .form-group:has(#consents69) { display: none !important; }
/* „Potřebujete pomoc?“ v pokladně: obrysové, ne tmavý blok */
.ordering-process .checkout-box .toggle-contacts, .ordering-process [class*="toggle-contacts"], .ordering-process .checkout-box > .btn { background: #fff !important; color: var(--am-ink) !important; border: 1px solid var(--am-line) !important; }
/* pokladna: fakturační adresa schovaná za volbou (am-shop.js) */
.am-billing-collapsed .co-billing-address .form-group:not(.company-shopping):not(:has(#company-shopping)), .am-billing-collapsed .co-billing-address .header-billing ~ *:not(.company-shopping):not(.am-billing-toggle) { display: none !important; }
.am-billing-toggle { margin: 4px 0 8px; }
.am-hidden-ship { display: none !important; }
.advanced-order .product .p-in-in { min-width: 0; }
.advanced-order .product .name { display: block; white-space: normal !important; overflow: visible !important; -webkit-line-clamp: unset !important; height: auto !important; }
.advanced-order .product .p-bottom { display: flex !important; flex-direction: column; align-items: flex-end; gap: 6px; }
.advanced-order .product .prices { text-align: right; }
.advanced-order .product .price-standard, .advanced-order .product .price-save { font-size: 12.5px; color: var(--am-faint); }
.advanced-order .product .flags, .advanced-order .product .p > .image .flag { display: none !important; }
.am-ics { margin: 8px auto 24px; display: flex; width: max-content; }
/* nabídka v okně „Přidáno do košíku“: fotka vlevo, pod názvem cena a tlačítko */
.advanced-order .product .p { grid-template-columns: 64px minmax(0, 1fr) !important; grid-template-rows: auto auto; column-gap: 14px; row-gap: 8px; padding: 12px !important; }
.advanced-order .product .p > .image { grid-column: 1; grid-row: 1 / span 2; width: 64px; height: 64px; order: 0 !important; }
.advanced-order .product .p > .image img { width: 64px; height: 64px; }
.advanced-order .product .p-in-in { grid-column: 2; grid-row: 1; }
.advanced-order .product .p-bottom { grid-column: 2; grid-row: 2; flex-direction: row !important; align-items: center !important; justify-content: space-between; }
.advanced-order .product .prices { text-align: left; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.advanced-order .product .name { font-size: 15px; line-height: 1.35; }
.advanced-order .product .btn-cart::before { display: none !important; }

/* ================= Prodloužení voucheru (/extend/) ================= */
.am-extend .extend-input { max-width: 560px; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: 1fr auto; gap: 10px; text-align: left; }
.am-extend .extend-input input { width: 100%; min-height: 48px; border: 1px solid #b9c2ca; border-radius: var(--am-r-sm); padding: 0 14px; font: 500 16px var(--am-font); text-align: left; }
.am-extend .extend-input input:focus { border-color: var(--am-navy); outline: 2px solid var(--am-navy); outline-offset: 1px; }
.am-extend .extend-input .checkvoucher { margin: 0 !important; min-height: 48px; cursor: pointer; }
.am-extend .extend-input .checkvoucher.is-loading { opacity: .6; pointer-events: none; }
.am-extend .voucherinfo { grid-column: 1 / -1; }
.am-extend .voucherinfo > div { margin: 6px 0 0; padding: 16px 18px; border-radius: var(--am-r-sm); background: var(--am-surface); font-size: 15px; line-height: 1.6; color: var(--am-ink); }
.am-extend .voucherinfo > div[hidden] { display: none; }
.am-extend .voucherinfo p { margin: 0 0 8px; } .am-extend .voucherinfo p:last-child { margin: 0; }
.am-extend .voucherinfo > .valid { border-left: 3px solid var(--am-ok); }
.am-extend .voucherinfo > .invalid, .am-extend .voucherinfo > .used, .am-extend .voucherinfo > .noexist { border-left: 3px solid var(--am-star); }
.am-extend #orderbtn { max-width: 560px; margin: 24px 0 0; padding: 0; }
.am-extend #product-detail-form[hidden] { display: none !important; }
.am-extend #am-balance-widget .amb-wrap { margin-left: 0; margin-right: auto; }
.am-ext[hidden] { display: none; }
.am-ext__label { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--am-muted); }
.am-ext__opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.am-ext__opts button { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 64px; padding: 12px 16px; border: 1px solid #b9c2ca; border-radius: var(--am-r-sm); background: #fff; font: 500 15px var(--am-font); color: var(--am-muted); cursor: pointer; text-align: left; transition: border-color .2s, box-shadow .2s; }
.am-ext__opts button b { font-size: 17px; color: var(--am-ink); }
.am-ext__opts button:hover { border-color: var(--am-navy); }
.am-ext__opts button[aria-checked="true"] { border-color: var(--am-navy); box-shadow: inset 0 0 0 1px var(--am-navy); background: var(--am-surface); }
.am-ext #product-detail-form:not([hidden]) { display: block; }
.am-ext .p-variants-block, .am-ext .p-price-wrapper, .am-ext .detail-parameters, .am-ext .quantity, .am-ext .buttons-wrapper { display: none !important; }
.am-ext .add-to-cart, .am-ext .add-to-cart .btn { width: 100%; }
.am-ext .add-to-cart-button::before, .am-ext .add-to-cart-button [class*="icon-"] { display: none !important; }
@media (max-width: 480px) { .am-extend .extend-input { grid-template-columns: 1fr; } }

/* ================= Konfigurátor voucheru (#vc-root v popisu produktu) – barvy a písmo značky ================= */
body #vc-root { max-width: 720px; margin-inline: auto; font-family: var(--am-font); }
body #vc-root h2.vc-title { text-align: left; font-size: clamp(26px, 4vw, 36px); letter-spacing: -.02em; color: var(--am-ink); margin: 0 0 8px; }
body #vc-root p.vc-sub { text-align: left; font-size: 16px; color: var(--am-muted); letter-spacing: 0; }
body #vc-root .vc-toggle { background: var(--am-surface); border-color: var(--am-line); border-radius: var(--am-r); }
body #vc-root .vc-toggle input:checked ~ .vc-ttrack { background: var(--am-navy); }
body #vc-root .vc-ttxt strong { font-size: 15px; color: var(--am-ink); letter-spacing: 0; }
body #vc-root .vc-ttxt span, body #vc-root .vc-sub-line, body #vc-root .vc-sline, body #vc-root .vc-rec-note { color: var(--am-muted); letter-spacing: 0; font-size: 14px; }
body #vc-root .vc-card, body #vc-root .vc-chip { border-color: var(--am-line); box-shadow: none; }
body #vc-root .vc-card-hdr .vc-num, body #vc-root .vc-chip .vc-cq { background: var(--am-navy); }
body #vc-root .vc-fg label, body #vc-root .vc-alt-lbl { color: var(--am-muted); font-size: 12px; letter-spacing: .06em; }
body #vc-root .vc-fg select, body #vc-root .vc-fg input[type="number"] { min-height: 48px; font-size: 16px; border-color: #b9c2ca; background-color: #fff; color: var(--am-ink); }
body #vc-root .vc-fg select:focus, body #vc-root .vc-fg input:focus { border-color: var(--am-navy); outline: 2px solid var(--am-navy); outline-offset: 1px; }
body #vc-root .vc-addbtn { min-height: 48px; border: 1px dashed #b9c2ca; border-radius: var(--am-r-sm); color: var(--am-navy); font-size: 15px; }
body #vc-root .vc-addbtn:hover { border-color: var(--am-navy); color: var(--am-navy); background: var(--am-surface); }
body #vc-root .vc-rmbtn { min-height: 36px; border-color: var(--am-line); color: var(--am-muted); }
body #vc-root .vc-summary { border: 1px solid var(--am-line); border-radius: var(--am-r); box-shadow: none; }
body #vc-root .vc-summary h3 { letter-spacing: -.01em; color: var(--am-ink); }
body #vc-root .vc-sline .vc-sv, body #vc-root .vc-stotal .vc-stp, body #vc-root .vc-rec-title { color: var(--am-ink); }
body #vc-root .vc-stotal { border-top: 1px solid var(--am-ink); }
body #vc-root .vc-stotal .vc-stp { font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
body #vc-root .vc-rec.vc-good { background: #eef6f1; border-color: #cfe5d8; }
body #vc-root .vc-rec.vc-alt { background: var(--am-surface); border-color: var(--am-line); }

/* vyskakovací okno Ecomailu nepatří do košíku a pokladny (odvádí od dokončení objednávky) */
.ordering-process #ec-v-from-popup-cover, .ordering-process [id^="ec_form_"], .in-kosik #ec-v-from-popup-cover, .in-kosik [id^="ec_form_"] { display: none !important; }

/* ================= Košík: doplňkové služby (am-cart-upsell.js) – nabídky rovnou s zaškrtávátkem ================= */
.in-kosik .cart-table tr.related { display: table-row !important; }
.in-kosik .cart-table tr.removeable[style*="none"] + tr.related { display: none !important; }   /* nabídky u skrytých řádků služeb nezdvojovat */
.in-kosik .cart-table tr.related > td { padding: 0 0 12px; border: 0; }
.in-kosik .show-related { display: none !important; }
.in-kosik .cart-related-product { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; padding: 12px 14px; border: 1px solid var(--am-line); border-radius: var(--am-r-sm); background: #fff; }
.in-kosik .cart-related-product:has(.fvCheckRelated:checked) { border-color: var(--am-navy); background: var(--am-surface); }
.in-kosik .cart-related-product .cart-related-info { display: grid; grid-template-columns: auto auto minmax(0, 1fr); column-gap: 12px; row-gap: 2px; align-items: center; flex: 1 1 auto; min-width: 0; cursor: pointer; }
.in-kosik .cart-related-info > * { grid-column: 3; }
.in-kosik .cart-related-info > .fvCheckRelated { grid-column: 1; grid-row: 1 / span 3; position: static !important; opacity: 1 !important; clip: auto !important; -webkit-appearance: checkbox; appearance: auto; width: 22px; height: 22px; margin: 0; accent-color: var(--am-navy); cursor: pointer; }
.in-kosik .cart-related-info > .cart-related-img { grid-column: 2; grid-row: 1 / span 3; } .in-kosik .cart-related-img img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.in-kosik .cart-related-name { font-weight: 600; color: var(--am-ink); text-decoration: none; }
.in-kosik .cart-related-availability, .in-kosik .cart-related-button form { display: none !important; }
.in-kosik .cart-related-button .price { white-space: nowrap; font-weight: 700; color: var(--am-ink); }
.in-kosik .fvText { margin-top: 2px; font-size: 14px; line-height: 1.5; color: var(--am-muted); }
.in-kosik .fvLink { font-size: 14px; color: var(--am-navy); text-decoration: underline; }

/* Dárek k objednávce (Produkty → Dárky, ArtLab od 2 400 Kč): Shoptetí „Objednejte ještě za…“ zdvojuje náš pruh am-artlab-notice;
   dárek v košíku jako karta se štítkem Zdarma, aby bylo vidět, že je v objednávce */
.in-kosik:has(#am-artlab-notice) [data-testid="giftMotivation"] { display: none !important; }
.in-kosik .free-gift { margin: 0 0 16px; }
.in-kosik .free-gifts-wrapper { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--am-navy); border-radius: var(--am-r-sm); background: var(--am-surface); }
.in-kosik .free-gifts-img img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.in-kosik .free-gifts-img-hover { display: none !important; }
.in-kosik .free-gift-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 1 1 auto; min-width: 0; font-weight: 600; color: var(--am-ink); }
.in-kosik .free-gift-label::after { content: "Zdarma"; flex: 0 0 auto; font-weight: 700; color: var(--am-ok); }

/* ================= UX checklist (29. 9.): písmo min. 13 px, kontrast, dotykové plochy ================= */
.reviewbtn.button, .btn.btn-primary, .btn.btn-conversion, .btn.btn-cart, a.btn-conversion, .btn, .am-menu-btn, .search-widget .search-button,
.siteCookies .siteCookies__button, .advanced-order .advancedOrder__buttons .btn, .advanced-order .product .btn-cart, .advanced-order .product .price-standard, .advanced-order .product .price-save,
.am-logos h2, #footer .footer-bottom, body #vc-root .vc-fg label, body #vc-root .vc-alt-lbl { font-size: 13px !important; }
@media (max-width: 767px) { .type-detail .p-detail-inner-header h1 { font-size: 13px; } }
#footer .footer-bottom, #footer .footer-bottom * { color: #b9c4ce !important; }
#footer .footer-bottom a { color: #e7ecf0 !important; }
#footer .custom-footer__contact span, #footer .custom-footer__contact small, #footer .custom-footer__contact p { color: #b9c4ce; }
.availability-label[style*="#009901"], .availability-label[style*="009901"] { color: var(--am-ok) !important; }
.content [style*="#808080"], .content [style*="rgb(128, 128, 128)"], .content [style*="color: grey"], .content [style*="color: gray"] { color: var(--am-muted) !important; }
.am-usp a { min-height: 44px; }
.ami-input { font-size: 16px !important; }   /* chat na /kontakt/: bez přiblížení na iPhonu */

/* UX checklist: ztmavení pod okny přihlášení a hledání (č. 22) */
body.login-window-visible::before, body.search-window-visible::before { content: ""; position: fixed; inset: 0; z-index: 899; background: rgba(22, 32, 42, .38); }
/* newsletter: jen jazyk stránky, ikona e-mailu v poli (č. 46) */
html[lang="cs"] .footer-newsletter .consents .english, html[lang="en"] .footer-newsletter .consents .czech { display: none; }
.footer-newsletter .odber_txt { max-width: 560px; margin: 0 0 20px; color: var(--am-muted); font-size: 16px; line-height: 1.6; }
.footer-newsletter #newsletter { padding-left: 44px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%235b6670' d='M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48Zm-96,85.15L52.57,64H203.43ZM98.71,128,40,181.81V74.19Zm11.84,10.85,12,11.05a8,8,0,0,0,10.82,0l12-11.05,58,53.15H52.57ZM157.29,128,216,74.18V181.82Z'/%3E%3C/svg%3E") no-repeat 14px center / 20px 20px; }
/* hledání bez výsledků: kam pokračovat (č. 20) */
.am-sw-help { margin: 8px 0 0; font-size: 15px; line-height: 1.6; color: var(--am-muted); }
.am-sw-help a { color: var(--am-navy); text-decoration: underline; }
/* fotka člověka z podpory u telefonu (č. 15) + telefon v mobilní hlavičce (č. 13) */
.am-util .am-face { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; vertical-align: -6px; margin-right: 8px; }
.am-drawer__contact .am-face { display: block; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; margin: 0 0 10px; }
/* pokladna (krok 2 a 3): zjednodušená hlavička bez menu a výhod – jen logo a kontakt (č. 77) */
.id--16 .am-nav, .id--17 .am-nav, .id--16 .am-util__usp, .id--17 .am-util__usp { display: none !important; }
/* odkazy v souhlasech musí být poznat jako odkazy (č. 6) */
.consents a, .footer-newsletter .consents a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
/* našeptávač: tlačítko Detail bylo bílé na bílém */
.searchWhisperer .searchWhisperer__product__cart .btn { background: #fff !important; color: var(--am-navy) !important; border: 1px solid var(--am-navy) !important; }
.searchWhisperer .searchWhisperer__product__cart .btn i { color: inherit; }

/* hledání: okamžité návrhy z menu + čistší našeptávač */
.am-instant { margin: 10px 0 0; padding: 12px 16px; background: #fff; border: 1px solid var(--am-line); border-radius: var(--am-r); }
.am-instant[hidden] { display: none; }
.am-instant__h { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--am-muted); }
.am-instant a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; border-top: 1px solid var(--am-line); color: var(--am-ink); font-weight: 600; font-size: 16px; text-decoration: none; }
.am-instant a:first-of-type, .am-instant__h + a { border-top: 0; }
.am-instant a.am-instant__rec + .am-instant__h { margin-top: 12px; }
.am-instant a span { color: var(--am-muted); font-weight: 500; font-size: 14px; }
.am-instant a:hover { color: var(--am-navy); text-decoration: underline; }
.searchWhisperer__products__listItem[hidden] { display: none !important; }
.searchWhisperer .searchWhisperer__product__cart .quantity, .searchWhisperer .searchWhisperer__product__cart .add-to-cart-button { display: none !important; }
/* našeptávač pod okamžitými návrhy (ne přes ně), okno hledání se posouvá celé; kompaktní výsledky */
#header .search-widget.popup-widget { height: auto !important; bottom: auto !important; max-height: calc(100dvh - var(--am-head-h, 72px) - var(--am-util-h, 0px) - 12px) !important; overflow-y: auto !important; overscroll-behavior: contain; }   /* dlouhé výsledky (např. „praha“) se posouvají uvnitř okna; přebíjí overflow: visible výš; bottom: auto – hlavička má backdrop-filter, takže top+bottom by okno na mobilu smrskly na 0 px */
.search-widget .searchWhisperer { position: static !important; max-height: none !important; overflow: visible !important; margin-top: 10px; }
.search-widget .searchWhisperer:not(.active) { display: none; }
.searchWhisperer .searchWhisperer__product { display: grid !important; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 4px 14px; padding: 10px 0 !important; }
.searchWhisperer .searchWhisperer__product__image { grid-row: 1 / span 2; width: 56px; height: 56px; }
.searchWhisperer .searchWhisperer__product__image img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; }
.searchWhisperer .searchWhisperer__product__infoWrapper { min-width: 0; }
.searchWhisperer .searchWhisperer__product__name { font-size: 16px; font-weight: 600; line-height: 1.35; }
.searchWhisperer .searchWhisperer__product__availability { font-size: 13px; }
.searchWhisperer .searchWhisperer__product__price { font-weight: 700; white-space: nowrap; font-size: 15px; }
.searchWhisperer .searchWhisperer__product__cart { display: none !important; }
.searchWhisperer .searchWhisperer__products__listItem { background: none !important; }
/* Samba má pro hledání vlastní ztmavení (z-index 1002) → hlavička s oknem musí být nad ním */
body.search-window-visible #header, body.login-window-visible #header { z-index: 1004; }
.searchWhisperer .searchWhisperer__products { padding: 12px 16px !important; }
.searchWhisperer .searchWhisperer__product__infoWrapper { width: auto !important; max-width: none !important; padding: 0 !important; }
@media (max-width: 767px) { .search-widget .searchWhisperer > div { width: 100% !important; margin: 0 0 10px !important; } }
@media (max-width: 767px) {
  .searchWhisperer .searchWhisperer__products { padding: 4px 14px !important; }
  .searchWhisperer .searchWhisperer__products__listItem { padding: 0 !important; margin: 0 !important; }
  .searchWhisperer .searchWhisperer__product { grid-template-columns: 56px minmax(0, 1fr); gap: 2px 14px; }
  .searchWhisperer .searchWhisperer__product__image { grid-row: 1 / span 2; }
  .searchWhisperer .searchWhisperer__product__price { grid-column: 2; justify-self: start; font-size: 14px; font-weight: 600; color: var(--am-muted); }
}
.am-usp__h { text-wrap: balance; max-width: var(--am-max); margin: 0 auto; padding: 36px var(--am-gut) 0; font-size: clamp(22px, 2.6vw, 30px); letter-spacing: -.02em; color: var(--am-ink); }
.am-usp__h + .am-usp__list { padding-top: 20px; }
/* Můj ArtMoment: odkazy v textu poznat jako odkazy */
#am-muj a:not(.m-btn) { color: var(--am-navy); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1023px) { #header a.top-nav-button-login { display: none !important; } }

/* Mobil < 768 px: Samba odsazuje obsah o 60 px kvůli své plovoucí hlavičce; naše hlavička je sticky v toku → bez odsazení (jinak prázdný pruh nahoře) */
@media (max-width: 767px) { .overall-wrapper { padding-top: 0 !important; } }

/* Audit typů stránek (29. 9.): písmo min. 13 px i v obsahu stránek (sleva u ceny, statistiky O nás, karty Teambuilding) */
.price-save, .stats-label, .hero-metric-label, .product-card-badge, .product-card-features span, .product-card-meta span { font-size: 13px !important; }
/* prázdný košík na mobilu: řádek s boxy přetékal o 8 px */
@media (max-width: 767px) { .empty-cart-boxes { margin-left: 0; margin-right: 0; } }

/* kalendář: odkaz „Mapa“ u adresy – větší dotyková plocha bez posunu textu */
.amK-w .amK-addr a { display: inline-block; padding: 12px 6px; margin: -12px -6px; }
/* cookie lišta nad ikonou chatu (chat měl z-index 2147483000 a zakrýval „Souhlasím“) */
.siteCookies { z-index: 2147483001 !important; }

/* Kalendář na mobilu (29. 9.): karta termínu ve třech řádcích – [fotka | čas], název a místo přes celou šířku, nákup */
@media (max-width: 560px) {
  .amK .amK-card:not(.sold):not(.amK-row) { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "img t" "w w" "r r"; column-gap: 12px; row-gap: 10px; align-items: center; }
  .amK .amK-card:not(.sold):not(.amK-row) .amK-img { grid-area: img; width: 48px; height: 48px; }
  .amK .amK-card:not(.sold):not(.amK-row) .amK-t { grid-area: t; min-width: 0; }
  .amK .amK-card:not(.sold):not(.amK-row) .amK-w { grid-area: w; }
  .amK .amK-card:not(.sold):not(.amK-row) .amK-r { grid-area: r; }
  .amK .amK-qty button { min-width: 44px; min-height: 44px; }
}
/* den, kde je všechno vyprodané: nevypadá jako volný (šedý, bez podbarvení) */
.amK .amK-d.has:has(> i.sold):not(.on) { background: transparent; color: #8a96a1; font-weight: 500; }

/* dvojjazyčné texty z adminu (souhlasy v pokladně apod.): jen jazyk stránky – pravidlo z původní šablony FV (Echo), v Sambě chybělo */
html:not([lang=en]) .english { display: none !important; }
html:not([lang=cs]) .czech { display: none !important; }
/* košík: proč je „Pokračovat“ neaktivní */
.am-need-drink-hint { margin: 10px 0 0; font-size: 14px; line-height: 1.45; color: var(--am-muted); text-align: center; }
.am-need-drink-hint a { color: var(--am-navy); font-weight: 700; }
/* Ecomail formulář (Sleva 300 Kč na první zážitek): drobný text měl 10 px přímo z Ecomailu → min. 13 px */
.ec-v-form-text span, .ec-v-form-text a, .ec-v-form-text em { font-size: 13px !important; line-height: 1.45 !important; }

/* Voucher: výběr hodnoty tlačítky (am-shop.js voucherValues); původní seznam skrytý, ale funkční */
.am-vals { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; margin: 0 0 18px; }
.am-vals__h { grid-column: 1 / -1; margin: 0 0 2px; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--am-ink); }
.am-vals button { min-height: 48px; padding: 8px 10px; border: 1px solid var(--am-line); border-radius: var(--am-r-sm); background: var(--am-white); color: var(--am-ink); font: 700 16px/1.2 var(--am-font); cursor: pointer; transition: border-color .15s, background .15s; }
.am-vals button:hover { border-color: var(--am-navy); }
.am-vals button.am-vals__rec { position: relative; border-color: var(--am-navy); }
.am-vals button small { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); padding: 1px 7px; border-radius: 999px; background: var(--am-ok); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; white-space: nowrap; line-height: 1.5; }
.am-vals { padding-top: 6px; row-gap: 14px; }
.am-vals button[aria-checked="true"] { background: var(--am-navy); border-color: var(--am-navy); color: #fff; }
.am-vals button:focus-visible { outline: 2px solid var(--am-navy); outline-offset: 2px; }
.am-vals__native { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
/* pole počtu kusů u nákupního formuláře (číslo bylo namačkané mezi čarami) */
#product-detail-form .quantity { width: 136px !important; flex: 0 0 136px !important; }
#product-detail-form .quantity label { display: block; width: 48px; flex: 0 0 48px; margin: 0 auto; }
#product-detail-form .quantity input.amount { width: 48px !important; min-width: 0; padding: 0 !important; border: 0 !important; text-align: center !important; font-size: 16px; background: transparent; }
/* mobilní lišta zážitku: pod ní nesmí prosvítat pruh Ecomailu „Sleva 300 Kč“ */
body.am-sticky-on #ec-v-form-slider-handle { visibility: hidden; }
/* mobil: štítek „Sleva 300 Kč“ nesmí zakrývat tlačítko v úvodní fotce – ukáže se až po odscrollování z úvodu */
@media (max-width: 767px) { html.am-hero-in #ec-v-form-slider-handle { visibility: hidden; } }
html.am-rem16 { font-size: 16px !important; }   /* viz remContent() v am-ui.js */
/* landing kampaně s vlastním úvodem (.am-landing, starší #ns-bar): nadpis šablony jen pro čtečky a vyhledávače, ne dvakrát na očích */
body:has(#content .am-landing, #content #ns-bar) #content article > header h1 { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.am-sticky { background: #fff !important; }
.am-vals-on > .variant-label { display: none !important; }
body.am-voucher .availability-amount { display: none !important; }

/* děkovná stránka: tlačítko do kalendáře pod číslem objednávky, lhůta splatnosti */
.am-ics-wrap { display: flex; justify-content: center; margin: 16px 0 8px; }
.am-pay-deadline { margin: 0 0 16px; padding: 14px 16px; border-left: 3px solid var(--am-navy); background: var(--am-surface); border-radius: 0 var(--am-r-sm) var(--am-r-sm) 0; font-size: 15px; line-height: 1.5; color: var(--am-ink); }
.am-pay-deadline { text-align: left; }
/* děkovná stránka: platební údaje – popisek tlumeně, hodnota výrazně (co opsat do banky) */
.id--15 .recapitulation-table th, .id--15 .recapitulation-table .row-header-label { font-weight: 400; color: var(--am-muted); font-size: 14px; }
.id--15 .recapitulation-table td { font-weight: 700; color: var(--am-ink); font-size: 16px; font-variant-numeric: tabular-nums; }

/* ===== Kritická revize UI (29. 9. večer) ===== */
/* Průběh zážitku: místo drobných ikon v tmavých kruzích (nebyly vidět) čísla kroků */
.cstmindexbn ul.nobullets { counter-reset: am-step; gap: 18px; }
.cstmindexbn ul.nobullets > li { counter-increment: am-step; grid-template-columns: 36px 1fr; column-gap: 16px; }
.cstmindexbn ul.nobullets > li > img { display: none !important; }
.cstmindexbn ul.nobullets > li::before { content: counter(am-step); grid-row: span 2; width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--am-navy); color: var(--am-navy); font: 700 15px/33px var(--am-font); text-align: center; }
.cstmindexbn ul.nobullets > li > b { align-self: center; font-size: 17px; }
.cstmindexbn ul.nobullets > li > ul { list-style: none; padding: 0; margin: 4px 0 0; }
.cstmindexbn ul.nobullets > li > ul li { margin: 0 0 4px; line-height: 1.55; }
/* FAQ a textové stránky: obsah na středu v čitelné šířce (FAQ bylo přilepené vlevo = „nakřivo“) */
#FAQ { margin-left: auto !important; margin-right: auto !important; }
.pageArticleDetail [itemprop="about"] > :is(p, ul, ol, h2, h3, h4, table, blockquote) { max-width: 760px; margin-left: auto; margin-right: auto; }
.pageArticleDetail header h1 { text-align: center; }
/* samostatné tlačítko pod blokem (Návštěvy influencerů …): na střed, těsně pod blok, ke kterému patří */
.dmbann > .reviewbtn { margin: calc(var(--am-sec) * -0.5) auto var(--am-sec) !important; }
/* zážitek/stránka s úvodní fotkou: drobný šedý H1 pod drobečkovou navigací jen opakoval název → jen pro vyhledávače a čtečky */
body:has(#carousel) .p-detail-inner-header h1, body:has(#carousel) .category-title, body:has(#carousel) .pageArticleDetail > header h1 { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* tematické večery: název čitelně */
.swiperplace .swiper-slide .addtoslide .heading, .swiperplace .swiper-slide .addtoslide .heading strong { font-size: 18px !important; font-weight: 700 !important; color: var(--am-ink) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 14px 0 6px !important; }
/* karty měst: text na fotce čitelný i na světlé obloze */
.cstmindexbn.bannsec .photopart::after { background: linear-gradient(180deg, rgba(14, 21, 28, .05) 20%, rgba(14, 21, 28, .82) 100%) !important; }
.cstmindexbn.bannsec .photopart .text p { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
@media (max-width: 767px) {
  /* „Inspirujte se“ apod.: tři portrétní fotky pod sebou byly každá skoro na celou obrazovku */
  .cstmindexbn .row > .textpart > img:first-child:not([src$=".png"]) { aspect-ratio: 4 / 3; height: auto; object-fit: cover; }
  /* „Na co se můžete těšit“: dva sloupce, bez čar a velkých odstupů */
  .cstmindexbn .row:has(> .textpart > div > img), .cstmindexbn.icons-img .row:has(> .textpart) { display: grid !important; grid-template-columns: 1fr 1fr; gap: 28px 16px; }
  .cstmindexbn .row:has(> .textpart > div > img) > :not(.textpart) { grid-column: 1 / -1; }
  .cstmindexbn .textpart:has(> div > img), .cstmindexbn.icons-img .textpart { border: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; }
  .cstmindexbn .textpart:has(> div > img) > div { margin-bottom: 10px; }
  .cstmindexbn .textpart:has(> div > img) p:not(.heading) { font-size: 14px; }
}
/* newsletter: nadpis a text vlevo, formulář vpravo; čitelné písmo a velké pole */
.footer-newsletter-full-width { border-top: 0 !important; }
.footer-newsletter { max-width: var(--am-max) !important; margin: 0 auto !important; padding: clamp(36px, 5vw, 56px) var(--am-gut) !important; display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 48px; align-items: center; text-align: left !important; }
.footer-newsletter h2 { grid-column: 1; font-size: clamp(24px, 2.4vw, 32px) !important; line-height: 1.2 !important; letter-spacing: -0.01em !important; margin: 0 0 10px !important; text-transform: none !important; }
.footer-newsletter .odber_txt { grid-column: 1; font-size: 16px !important; color: var(--am-muted) !important; margin: 0 !important; max-width: 46ch; }
.footer-newsletter form { grid-column: 2; grid-row: 1 / span 2; }
.footer-newsletter form input[type="email"], .footer-newsletter form input[type="text"] { height: 52px !important; font-size: 16px !important; }
.footer-newsletter form .btn, .footer-newsletter form button[type="submit"] { height: 52px; }
.footer-newsletter form, .footer-newsletter form * { font-size: 14px; }
@media (max-width: 767px) { .footer-newsletter { grid-template-columns: 1fr; row-gap: 16px; } .footer-newsletter form { grid-column: 1; grid-row: auto; } }
/* patička: nadpis „Kontakt“ stejně jako ostatní sloupce; otevírací doba bez závorek pod fotkou */
#footer .pageElement__heading { font-size: 13px !important; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
#footer .pageElement__heading::after, #footer .pageElement__heading::before { display: none !important; }
/* Ecomail: automatické okno přes stránku vypnuté (formulář 37) – záložka „Sleva 300 Kč“ zůstává; na PC vlevo dole (vpravo je chat), na mobilu menší */
[id^="ec_form_37-"] { display: none !important; }
#ec-v-form-slider-handle { left: 24px !important; right: auto !important; }
@media (max-width: 767px) { #ec-v-form-slider-handle { left: 12px !important; right: auto !important; width: auto !important; max-width: calc(100% - 96px); bottom: 12px !important; border-radius: 999px !important; padding: 0 16px !important; height: 40px !important; line-height: 40px !important; font-size: 14px !important; } }
@media (max-width: 767px) {
  .cstmindexbn .row:has(> .textpart > div > img) > .textpart, .cstmindexbn.icons-img .row:has(> .textpart) > .textpart { min-width: 0 !important; width: auto !important; flex: none !important; }
  .cstmindexbn .textpart:has(> div > img) .heading, .cstmindexbn .textpart:has(> div > img) .reviewbtn { font-size: 13px !important; letter-spacing: .08em !important; overflow-wrap: anywhere; }
}
.footer-newsletter > * { min-width: 0; max-width: 100%; }
.footer-newsletter h2 { width: auto !important; white-space: normal !important; }
.footer-newsletter h2 { align-self: end; }
.footer-newsletter .odber_txt { align-self: start; }
/* záložka Ecomailu: malý štítek místo pruhu */
#ec-v-form-slider-handle { width: auto !important; bottom: 16px !important; }
#ec-v-form-slider-handle > a { display: inline-flex !important; align-items: center; height: 40px !important; line-height: 40px !important; padding: 0 16px !important; border-radius: 999px !important; font: 600 14px/40px var(--am-font) !important; box-shadow: 0 8px 24px -10px rgba(22, 32, 42, .5); white-space: nowrap; }
@media (max-width: 767px) { #ec-v-form-slider-handle { left: 12px !important; bottom: 12px !important; max-width: calc(100% - 96px); } body.am-sticky-on #ec-v-form-slider-handle { visibility: hidden; } }
/* FAQ: otázky čitelně, „+“ na řádku s textem */
#FAQ .faq_label { align-items: center !important; font-size: 16px !important; font-weight: 600; line-height: 1.4; }
/* Průběh zážitku: text kroků čitelný (byl drobný a světle šedý) */
.cstmindexbn ul.nobullets > li > ul { font-size: 15.5px !important; color: #3d4852 !important; }
.footer-newsletter .odber_txt, .footer-newsletter form, .footer-newsletter fieldset, .footer-newsletter .form-group, .footer-newsletter .form-control-wrapper, .footer-newsletter input.form-control, .footer-newsletter .czech { width: 100% !important; min-width: 0 !important; }
@media (max-width: 767px) { .footer-newsletter { grid-template-columns: minmax(0, 1fr) !important; } }
#FAQ .faq_label::after { align-self: center !important; margin: 0 0 0 16px !important; line-height: 1 !important; top: auto !important; transform: none !important; }
.pageArticleDetail [itemprop="about"] h2 { letter-spacing: -0.01em !important; }
@media (max-width: 560px) {
  .amK .amK-card.amK-row { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "t b" "buy buy"; gap: 8px 12px; align-items: center; }
  .amK .amK-row .amK-t { grid-area: t; } .amK .amK-row .amK-badge { grid-area: b; justify-self: start; }
  .amK .amK-row .amK-buy { grid-area: buy; display: flex; gap: 8px; } .amK .amK-row .amK-btn { flex: 1; }
  .amK .amK-card.amK-row.sold { grid-template-areas: "t b"; }
}
/* texty přímo v sekci (mimo .row) – zarovnat s obsahem sekce (Kontakt „Jsme vám plně k dispozici…“ byl na kraji stránky) */
.cstmindexbn > p, .cstmindexbn > h2, .cstmindexbn > h3, .cstmindexbn > ul { max-width: var(--am-max); margin-left: auto !important; margin-right: auto !important; padding-left: var(--am-gut); padding-right: var(--am-gut); box-sizing: border-box; }
/* přehled zážitků: poslední karta sama na řádku se roztáhla přes celou šířku s obří fotkou → normální šířka karty */
.cstmindexbn .row.center > .textpart:last-child:nth-child(3n + 2), .cstmindexbn .row > .textpart.medium-4:last-child { max-width: calc((100% - 2 * 24px) / 3); flex: 0 0 auto; }
@media (max-width: 767px) { .cstmindexbn .row > .textpart.medium-4:last-child { max-width: none; } }
.cstmindexbn > h2[style*="center"] + p, .cstmindexbn h2[style*="center"] + p { text-align: center; }
/* karusely bez vlastního nastavení (ArtLab „Hned několik různých technik“…): na mobilu jedna karta s náhledem další, ne tři úzké sloupce */
@media (max-width: 1023px) { :where(.cstmindexbn .swiper:not(.logos)) { --am-per: 2; } }
@media (max-width: 639px) { :where(.cstmindexbn .swiper:not(.logos)) { --am-per: 1.18; --am-cgap: 14px; }
  .cstmindexbn .swiper-slide :is(h2, h3) { font-size: clamp(20px, 6vw, 26px) !important; line-height: 1.2; overflow-wrap: anywhere; } }
/* sekce s ikonami: nadpis v mřížce přes celou šířku (ArtLab „Na co se těšit“ byl v první buňce) */
@media (max-width: 767px) { .cstmindexbn.icons-img .row > :not(.textpart) { grid-column: 1 / -1; } }
/* nadpis sekce s ikonami: odstup od ikon (ArtLab „Na co se těšit“ byl nalepený) */
.cstmindexbn.icons-img .row > h2 { margin-bottom: 28px !important; }
/* nadpisy v kartách karuselů (PendulumArt…) – úměrné kartě, ne jako nadpis sekce */
.cstmindexbn:not(.bannsec):not(#carousel .cstmindexbn) .swiper-slide h2 { font-size: clamp(20px, 1.8vw, 26px) !important; line-height: 1.25 !important; margin: 14px 0 6px !important; }
/* výčty (dřív s emoji): jednoduchá fajfka v kroužku */
p.am-bullet, li.am-bullet { position: relative; padding-left: 34px; list-style: none; }
p.am-bullet::before, li.am-bullet::before { content: ""; position: absolute; left: 0; top: .2em; width: 22px; height: 22px; border-radius: 50%; background: var(--am-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23253848' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat; }
/* data vydání u stálých stránek (restaurace, formáty, fotogalerie) a staré datum hodnocení na titulní straně působila zastarale („21.9.2023“) */
.news-wrapper time, .news-item time, .pageArticleDetail time, .latest-contribution-date { display: none !important; }
/* stránka podniku: nejbližší termíny */
.am-venue { max-width: 760px; margin: 40px auto 0; }
.am-venue h2 { font-size: clamp(22px, 2.2vw, 28px); margin: 0 0 14px; }
.am-venue ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--am-line); }
.am-venue li a { display: grid; grid-template-columns: 150px 1fr auto; gap: 12px; align-items: center; min-height: 52px; padding: 10px 4px; border-bottom: 1px solid var(--am-line); color: var(--am-ink); text-decoration: none; }
.am-venue li a:hover { background: var(--am-surface); }
.am-venue__d { font-weight: 700; font-variant-numeric: tabular-nums; }
.am-venue__p { font-weight: 700; color: var(--am-navy); white-space: nowrap; }
@media (max-width: 560px) { .am-venue li a { grid-template-columns: 1fr auto; } .am-venue__t { grid-column: 1 / -1; grid-row: 2; color: var(--am-muted); font-size: 14px; } }

/* vlastní landingy (html.am-lp – kampaně psané pro starý web): střed a plná tlačítka jako na starém webu, barvy si určuje landing */
html.am-lp .cstmindexbn .row.center, html.am-lp .cstmindexbn .row.center > .textpart, html.am-lp .cstmindexbn.bannsec > h2, html.am-lp .cstmindexbn.bannsec > p, html.am-lp .cstmindexbn.bannsec > .cullums > h2, html.am-lp .cstmindexbn.bannsec > .cullums > p { text-align: center !important; }
html.am-lp .cstmindexbn .row.center > p, html.am-lp .cstmindexbn .row.center > h2 + p { margin-left: auto; margin-right: auto; }
html.am-lp .cstmindexbn .row.center > .textpart { align-items: center; }
html.am-lp .cstmindexbn .row.center .reviewbtn, html.am-lp .cstmindexbn .row > .reviewbtn, html.am-lp .cstmindexbn > .reviewbtn { margin-left: auto !important; margin-right: auto !important; }
html.am-lp .cstmindexbn.bannsec:has(> .am-coupon), html.am-lp .cstmindexbn.bannsec:has(> .cullums > .am-coupon) { text-align: center; }

/* nejbližší termín pod položkou menu (menuDates v am-ui.js) */
.am-next { display: block; margin-top: 1px; font-size: 12.5px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--am-ok); line-height: 1.3; }
.am-drawer details a .am-next { font-size: 13px; }

/* kupón jen pro určité město (cityCoupon v am-shop.js) */
.am-citycoupon { margin: 12px 0; padding: 12px 14px; border: 1px solid #e3b4ae; border-left: 4px solid #b3261e; border-radius: var(--am-r-sm); background: #fdf3f2; color: var(--am-ink); font-size: 14.5px; line-height: 1.5; }
.am-citycoupon__rm { margin-top: 8px; display: inline-block; padding: 8px 14px; min-height: 40px; border: 1px solid var(--am-navy); border-radius: var(--am-r-sm); background: #fff; color: var(--am-navy); font-weight: 700; cursor: pointer; }
#continue-order-button.am-coupon-block { opacity: 1; background: #6b7782 !important; border-color: #6b7782 !important; }

/* věnování na voucher v košíku (dedication v am-shop.js) */
.am-dedic { margin: 0 0 20px; padding: 18px 20px; border: 1px solid var(--am-line); border-radius: var(--am-r); background: #fff; }
.am-dedic h2 { margin: 0 0 4px; font-size: 18px; font-weight: 700; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.am-dedic__free { padding: 1px 8px; border-radius: 999px; background: var(--am-ok); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.am-dedic__l { display: block; margin: 0 0 8px; font-size: 14px; color: var(--am-muted); font-weight: 400; }
.am-dedic textarea { width: 100%; min-height: 76px; padding: 10px 12px; border: 1px solid var(--am-line); border-radius: var(--am-r-sm); font: 400 16px/1.45 var(--am-font); resize: vertical; }
.am-dedic textarea:focus-visible { outline: 2px solid var(--am-navy); outline-offset: 1px; }
.am-dedic__n { margin: 4px 0 0; font-size: 12.5px; color: var(--am-muted); text-align: right; min-height: 1em; }

/* voucher – jiná částka (voucherValues v am-shop.js) */
.am-vals .am-vals__own { grid-column: span 2; }
.am-vals__cust { grid-column: 1 / -1; margin-top: 4px; }
.am-vals__cust label { display: block; font-size: 14px; font-weight: 600; margin: 0 0 6px; color: var(--am-ink); }
.am-vals__in { display: flex; align-items: center; gap: 8px; max-width: 260px; }
.am-vals__in input { flex: 1; min-height: 48px; padding: 8px 12px; border: 1px solid var(--am-navy); border-radius: var(--am-r-sm); font: 700 18px/1.2 var(--am-font); }
.am-vals__in span { font-weight: 700; }
.am-vals__hint { margin: 6px 0 0; font-size: 13.5px; color: var(--am-muted); }
.am-vals__hint.is-err { color: #b3261e; font-weight: 600; }
/* voucher: žádná sleva neexistuje – „až −99 %“ vzniká z varianty Vlastní částka */
body.am-voucher .flag-discount, body.am-voucher .p-price-wrapper .standard-price-label, body.am-voucher .p-price-wrapper .price-standard, body.am-voucher .p-price-wrapper .price-save { display: none !important; }
body.am-vals-custom #product-detail-form .quantity, body.am-vals-custom .detail-parameter-availability, body.am-vals-custom .price-standard, body.am-vals-custom .price-save, body.am-vals-custom .choose-variant { display: none !important; }
.am-vals__price { font-size: 32px; font-weight: 800; color: var(--am-ink); }
.am-vals__price[hidden] { display: none; }

/* košík: voucher s vlastní částkou (customVoucherCart) – bez počtu kusů a ceny za 100 Kč */
tr.am-vamount td.p-quantity .quantity-form { display: none !important; }
tr.am-vamount td.p-price { font-size: 0 !important; }
tr.am-vamount td.p-price::after { content: attr(data-am-sum); font-size: 15px; font-weight: 600; }
.am-vamount__q { font-size: 14px; color: var(--am-muted); }

/* stránka /last-minute/ (lastMinutePage v am-shop.js) */
.am-lm-page { max-width: 880px; margin: 0 auto; padding: 0 var(--am-gut); }
.am-lm-intro { max-width: 62ch; font-size: 17px; line-height: 1.6; margin: 0 auto 24px; text-align: center; text-wrap: pretty; }
.am-lastminute { display: grid; gap: 12px; margin: 0 0 40px; }
.am-lm { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 16px; border: 1px solid var(--am-line); border-radius: var(--am-r); background: #fff; }
.am-lm img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--am-r-sm); }
.am-lm h3 { margin: 2px 0 2px; font-size: 18px; font-weight: 700; line-height: 1.3; }
.am-lm h3 a { color: var(--am-ink); text-decoration: none; }
.am-lm h3 a:hover { text-decoration: underline; }
.am-lm__i p { margin: 0; color: var(--am-muted); font-size: 14.5px; }
.am-lm__i .am-lm__d { color: var(--am-navy); font-weight: 700; font-size: 15px; }
.am-lm__s { display: inline-block; margin-top: 6px; padding: 2px 8px; border-radius: 999px; background: #e8f5e9; color: var(--am-ok); font-size: 13px; font-weight: 700; }
.am-lm__b { display: grid; justify-items: end; gap: 6px; }
.am-lm__tag { white-space: nowrap; padding: 2px 8px; border-radius: 999px; background: #b3261e; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.am-lm__p { margin: 0; white-space: nowrap; font-size: 18px; }
.am-lm__p s { color: var(--am-muted); font-size: 14px; font-weight: 500; margin-right: 4px; }
.am-lm__btn { white-space: nowrap; min-height: 44px; padding: 0 18px; border: 0; border-radius: var(--am-r-sm); background: var(--am-navy); color: #fff; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: 13px; cursor: pointer; }
.am-lm__btn:hover { background: var(--am-navy-700); }
.am-lm-empty { padding: 18px; border: 1px dashed var(--am-line); border-radius: var(--am-r); color: var(--am-muted); }
@media (max-width: 639px) {
  .am-lm { grid-template-columns: 72px minmax(0, 1fr); }
  .am-lm img { width: 72px; height: 72px; }
  .am-lm { padding: 12px; gap: 12px; }
  .am-lm__b { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-items: start; gap: 4px 10px; }
  .am-lm__tag { grid-column: 1 / -1; }
  .am-lm__p { font-size: 17px; }
  .am-lm__btn { justify-self: end; padding: 0 14px; }
}
.am-next--lm { color: #b3261e; }
.am-lm-list { display: grid; gap: 12px; }
.am-lm[hidden] { display: none; }
.am-lm--std .am-lm__p strong { font-size: 17px; }
.am-lm-f { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.am-lm-f button { min-height: 40px; padding: 0 14px; border: 1px solid var(--am-line); border-radius: 999px; background: #fff; color: var(--am-ink); font-weight: 600; font-size: 14px; cursor: pointer; }
.am-lm-f button[aria-pressed="true"] { background: var(--am-navy); border-color: var(--am-navy); color: #fff; }
.am-lm-how, .am-lm-near, .am-lm-gift { margin-top: 40px; }
.am-lm-how h2, .am-lm-near h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 0 0 14px; }
.am-lm-how ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.am-lm-how li { padding: 12px 16px; border-left: 3px solid #b3261e; background: #fff; border-radius: 0 var(--am-r-sm) var(--am-r-sm) 0; line-height: 1.5; }
.am-lm-near p { margin: 12px 0 0; } .am-lm-near p a { color: var(--am-navy); font-weight: 700; }
.am-lm-gift { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 18px 20px; border-radius: var(--am-r); background: var(--am-navy); color: #fff; }
.am-lm-gift p { margin: 0; max-width: 52ch; }
.am-lm__btn--ghost { display: inline-flex; align-items: center; background: #fff; color: var(--am-navy); text-decoration: none; }
.am-lm__btn--ghost:hover { background: rgba(255,255,255,.88); }

/* kalkulačka voucheru (voucherCalc v am-shop.js); stará jen-ArtLab kalkulačka z popisu produktu se schová */
#vc-root.am-calc-old { display: none !important; }
.am-calc { max-width: 760px; margin: 32px auto; padding: 24px; border: 1px solid var(--am-line); border-radius: var(--am-r); background: #fff; }
.am-calc h2 { margin: 0 0 6px; font-size: clamp(22px, 2.4vw, 28px); }
.am-calc__sub { margin: 0 0 18px; color: var(--am-muted); line-height: 1.5; }
.am-calc__l { display: block; font-weight: 700; margin: 0 0 6px; }
.am-calc input[type=search] { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--am-navy); border-radius: var(--am-r-sm); font: 400 16px/1.3 var(--am-font); }
.am-calc__sug { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; }
.am-calc__sug button { min-height: 40px; padding: 0 12px; border: 1px solid var(--am-line); border-radius: 999px; background: #fff; color: var(--am-ink); font-weight: 600; font-size: 14px; cursor: pointer; }
.am-calc__sug button:hover { border-color: var(--am-navy); }
.am-calc__sug button span { color: var(--am-muted); font-weight: 500; }
.am-calc__none { color: var(--am-muted); margin: 6px 0 0; }
.am-calc__body:not(:empty) { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--am-line); display: grid; gap: 14px; }
.am-calc__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.am-calc__row label { display: grid; gap: 6px; font-weight: 600; font-size: 14px; }
.am-calc__row select, .am-calc__row input { min-height: 46px; padding: 8px 10px; border: 1px solid var(--am-line); border-radius: var(--am-r-sm); font: 400 16px/1.3 var(--am-font); background: #fff; }
.am-calc__ppl { display: flex; align-items: center; justify-content: space-between; font-weight: 600; }
.am-calc .am-step { display: inline-flex; align-items: center; border: 1px solid var(--am-line); border-radius: var(--am-r-sm); }
.am-calc .am-step button { width: 44px; height: 44px; border: 0; background: none; font-size: 20px; cursor: pointer; }
.am-calc .am-step output { min-width: 36px; text-align: center; font-weight: 700; }
.am-calc__sum { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 16px; border-radius: var(--am-r-sm); background: var(--am-bg, #f5f7f9); }
.am-calc__sum p { margin: 0; color: var(--am-muted); }
.am-calc__sum strong { font-size: 26px; white-space: nowrap; }
.am-calc__go { width: 100%; min-height: 52px; border: 0; border-radius: var(--am-r-sm); background: var(--am-navy); color: #fff; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.am-calc__go:hover { background: var(--am-navy-700); }
.am-calc__go:disabled { opacity: .6; }
.am-calc__warn { color: #b3261e; margin: 0; }
.am-calc__note { margin: 0; min-height: 1em; } .am-calc__note a { color: var(--am-navy); font-weight: 700; }
@media (max-width: 639px) { .am-calc { padding: 18px 16px; margin: 24px 0; } }

/* počet položek u košíku v hlavičce (Shoptet ho dává do <i>; bez toho tmavé číslo 19 px na tmavém kolečku) */
#header .cart-count { position: relative; }
#header .cart-count i[data-testid="headerCartCount"], #header .cart-count > i { position: absolute; top: -2px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--am-navy) !important; color: #fff !important; font: 700 11px/18px var(--am-font) !important; font-style: normal !important; text-align: center; box-shadow: 0 0 0 2px #fff; }
.continue-shopping, .continue-shopping a { color: #55606a !important; }

/* Audit 1. 10.: písmo min. 13 px i u štítků kalendáře a stavu chatu */
.amK-lm { font-size: 13px !important; }
.ami-hd-status-text { font-size: 13px !important; }
/* Audit 1. 10.: dotykové plochy 44 px u odkazů v kartách (název last minute, místo/zážitek v kalendáři) a u telefonu/e-mailu v obsahu – bez změny rozložení */
@media (max-width: 767px) {
  .am-lm__i h3 a, .amK-w a, .content a[href^="tel:"], .content a[href^="mailto:"] { display: inline-block; padding: 10px 0; margin: -10px 0; }
}
@media (max-width: 479px) { .am-vals button small { left: 6px; transform: none; } }   /* úzký mobil: štítek „Doporučujeme“ od levého okraje tlačítka, ať se neořízne */
/* Last minute: přihláška k upozorněním (am-shop.js lmSignup) */
.am-lms { margin: 40px 0; padding: 28px 24px; border-radius: var(--am-r); background: var(--am-surface); }
.am-lms h2 { margin: 0 0 8px; }
.am-lms > p { margin: 0 0 18px; color: var(--am-muted); }
.am-lms fieldset { border: 0; margin: 0 0 12px; padding: 0; }
.am-lms legend { font-weight: 700; margin: 0 0 8px; }
.am-lms__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.am-lms__c input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.am-lms__c span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--am-line); border-radius: 999px; background: #fff; cursor: pointer; font-size: 15px; }
.am-lms__c input:checked + span { background: var(--am-navy); border-color: var(--am-navy); color: #fff; }
.am-lms__c input:focus-visible + span { outline: 2px solid var(--am-navy); outline-offset: 2px; }
.am-lms__t { margin: 0 0 16px; } .am-lms__t summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--am-navy); text-decoration: underline; }
.am-lms__t .am-lms__chips { margin-top: 8px; }
.am-lms__row { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-end; margin: 8px 0 12px; }
.am-lms__l { flex-basis: 100%; font-weight: 700; }
.am-lms__row input[type=email] { flex: 1 1 220px; min-height: 48px; padding: 0 14px; border: 1px solid var(--am-line); border-radius: var(--am-r-sm); font-size: 16px; background: #fff; }
.am-lms__row .am-lm__btn { min-height: 48px; }
.am-lms__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; }
.am-lms__ok { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--am-muted); }
.am-lms__ok input { position: static !important; opacity: 1 !important; clip: auto !important; -webkit-appearance: checkbox !important; appearance: auto !important; display: inline-block !important; width: 22px !important; height: 22px !important; margin: 1px 0 0 !important; flex: none; accent-color: var(--am-navy); }   /* šablona zaškrtávátka skrývá */
.am-lms__ok { min-height: 44px; cursor: pointer; }
.am-lms__msg { margin: 12px 0 0; font-weight: 600; color: var(--am-ok); } .am-lms__msg.is-err { color: #b3261e; } .am-lms__msg:empty { display: none; }

/* Pokladna: tlačítka Pokračovat / Objednat ve stylu ostatních tlačítek (šablona do nich dává tenké velké písmo) */
.ordering-process .next-step-forward, .ordering-process .next-step-finish { display: inline-flex; align-items: center; justify-content: center; gap: 3px; min-height: 52px; padding: 12px 28px; border-radius: var(--am-r-sm); line-height: 1.2; }
.ordering-process .next-step-forward .order-button-text, .ordering-process .next-step-finish .order-button-text { font-family: inherit; font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ordering-process .next-step-finish { flex-direction: column; }
.ordering-process .next-step-forward { flex-direction: row; gap: 10px; }
.ordering-process .next-step-finish .order-button-suffix { display: block; font-family: inherit; font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; opacity: .85; }

/* /artlab/: karty ateliérů Praha + Brno nahoře (adresa, otevírací doba, cena, tlačítko na společný kalendář) */
.am-alcity .row:not(.center) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); }
.am-alcity .am-alcity__card { width: auto; max-width: none; margin: 0; padding: 0 0 clamp(18px, 2vw, 24px); background: #fff; border: 1px solid var(--am-line); border-radius: var(--am-r); overflow: hidden; display: flex; flex-direction: column; text-align: left; }
.am-alcity .am-alcity__card > a:first-child img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; margin: 0; }
.am-alcity .am-alcity__card > :not(a:first-child) { margin-left: clamp(18px, 2vw, 24px); margin-right: clamp(18px, 2vw, 24px); }
.am-alcity .am-alcity__card h3 { margin-top: 18px; margin-bottom: 6px; }
.am-alcity .am-alcity__card ul { list-style: none; padding: 0; margin-top: 4px; margin-bottom: 18px; }
.am-alcity .am-alcity__card ul li { padding: 6px 0; border-top: 1px solid var(--am-line); }
.am-alcity .am-alcity__card .button { margin-top: auto; align-self: flex-start; }
@media (max-width: 767px) { .am-alcity .row:not(.center) { grid-template-columns: 1fr; } }

/* patička: sloupce Kontakt a Sociální sítě stejně jako ostatní (nadpis bez odsazení, odkazy normálním písmem) */
#footer .custom-footer__contact h3, #footer .custom-footer h3.topic { margin-top: 0 !important; font-size: 13px; letter-spacing: .16em; line-height: 28px; }
#footer .custom-footer__contact .contact-box a { font-size: 14.5px; font-weight: 400; line-height: 1.65; }
#footer .custom-footer__contact .contact-box ul { margin-top: 6px; }
#footer .custom-footer__contact .am-contact-pic img { width: 44px; height: 44px; }
#footer .footer-rows { padding-bottom: 32px; }
#footer, #footer .footer-bottom-full-width { margin-bottom: 0 !important; }

/* mobil (nálezy 4. 10.): sloupce obsahu se nesmí roztáhnout podle šířky obrázku (karta 720 px v řádku 390 px) */
.cstmindexbn .row > [class*="small-12"], .cstmindexbn .row > .textpart { min-width: 0; max-width: 100% !important; }
.cstmindexbn .textpart img, .cstmindexbn .photopart img { max-width: 100%; height: auto; }
/* karty karuselů: dlouhé texty tlačítek („Vyberte termín v Karlových Varech“) se zalomí místo přetečení */
.swiper-slide .reviewbtn, .swiper-slide .reviewbtn span, .swiper-slide .button span { white-space: normal !important; overflow-wrap: anywhere; }

/* Ecomail štítek „Sleva 300 Kč“: křížek na zavření (am-shop.js ecmClose) */
html.am-ecm-hide #ec-v-form-slider-handle { display: none !important; }
#ec-v-form-slider-handle .am-ecm-x { position: absolute; top: -10px; right: -10px; width: 26px; height: 26px; border: 1px solid var(--am-line); border-radius: 50%; background: #fff; color: var(--am-ink); font: 400 17px/24px var(--am-font); text-align: center; cursor: pointer; padding: 0; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
#ec-v-form-slider-handle .am-ecm-x::after { content: ""; position: absolute; inset: -9px; }   /* dotyková plocha 44 px */
#ec-v-form-slider-handle .am-ecm-x:hover { background: var(--am-surface, #f4f5f7); }
#footer .custom-footer__contact h3, #footer .custom-footer__contact h3 span { color: #fff !important; }
/* /artlab/ ceník: tři stejné sloupce (delší text u vstupu rozbil řádek na 2 + 1) */
@media (min-width: 768px) {
  #price.cstmindexbn .row.center { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; align-items: start; }
  #price.cstmindexbn .row.center > h2 { grid-column: 1 / -1; }
  #price.cstmindexbn .row.center > .textpart { width: auto !important; max-width: none !important; margin: 0 !important; }
}
/* „Inspirujte se“ a podobné řádky 3 karet s fotkou: mobil 1 sloupec, od 600 px 3 stejné sloupce (dřív 2 + 1 velká) */
.banner-wrapper .cstmindexbn:not(.icons-img) .row.center:has(> .textpart.medium-4 > img):not(:has(> .textpart:nth-child(4))) { display: grid !important; grid-template-columns: 1fr; gap: 28px; }
.banner-wrapper .cstmindexbn:not(.icons-img) .row.center:has(> .textpart.medium-4 > img):not(:has(> .textpart:nth-child(4))) > .textpart { width: auto !important; max-width: none !important; margin: 0 !important; flex: none !important; }
.banner-wrapper .cstmindexbn:not(.icons-img) .row.center:has(> .textpart.medium-4 > img):not(:has(> .textpart:nth-child(4))) > .textpart img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 600px) {
  .banner-wrapper .cstmindexbn:not(.icons-img) .row.center:has(> .textpart.medium-4 > img):not(:has(> .textpart:nth-child(4))) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); }
  .banner-wrapper .cstmindexbn:not(.icons-img) .row.center:has(> .textpart.medium-4 > img):not(:has(> .textpart:nth-child(4))) > .textpart img { aspect-ratio: 3 / 4; }
}
/* drobečková navigace skrytá (majitel 4. 10.: pro zákazníky bez hodnoty); strukturovaná data v kódu zůstávají pro vyhledávače */
.breadcrumbs, .breadcrumbs-wrapper { display: none !important; }
/* Kontakt: jeden levý okraj pro nadpisy, sloupce i větu o otevírací době; bez svislých čar */
body.in-contact #content .cstmindexbn .row.center > .row.center { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; }
body.in-contact #content .cstmindexbn .row.center > .row.center > h2 { padding-left: 0; }
body.in-contact #content .cstmindexbn .row.center > .textpart { padding-left: 0 !important; border-left: 0 !important; border-right: 0 !important; }
body.in-contact #content .cstmindexbn .row.center > .row.center > h2[style*=center] + p, body.in-contact #content .cstmindexbn .row.center > .row.center > p { margin-left: auto !important; margin-right: auto !important; text-align: center; }
body.in-contact #content .cstmindexbn .row.center > .row.center:has(> h2 + p) > p:only-of-type { max-width: 622px; }
body.in-contact #content h2 + p { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
/* FAQ přes celou šířku obsahu – otázky začínají na stejném okraji jako nadpis a tlačítko „Všechny FAQ“ */
.row #FAQ, .small-12 > #FAQ { max-width: none; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
@media (max-width: 767px) { body.in-faq #content h2, body.in-faq #FAQ { padding-left: 10px !important; padding-right: 10px !important; } }
/* pokladna: loga doprav a plateb pryč – obrázky s bílým/černým podkladem v různých velikostech (a logo České pošty u e-mailu); názvy stačí */
.ordering-process .payment-logo, .ordering-process .shipping-logo { display: none !important; }
/* košík: odznak počtu u ikony (dvojciferné číslo bylo useknuté) */
#header .cart-count > i { width: auto !important; min-width: 20px; height: 20px; line-height: 20px; padding: 0 6px !important; border-radius: 10px; font-size: 11px; box-sizing: border-box; text-align: center; }
/* košík: pole počtu kusů – číslo bylo namačkané mezi tlačítky */
tr.removeable .quantity { width: 136px !important; padding: 0 44px !important; box-sizing: border-box; }
tr.removeable .quantity input.amount { width: 48px !important; min-width: 48px; text-align: center; font-size: 16px; }
/* nabídky služeb: název na stejném okraji jako popis */
.cart-related-name { padding-left: 0 !important; margin-left: 0 !important; }
/* vlastní částka v košíku: cena za kus (10 Kč, „sleva“ ze standardní ceny) nemá smysl – stačí součet */
tr.am-vamount .p-price > * { display: none !important; }
/* Můj ArtMoment: nadpis stránky jen pro čtečky (widget má vlastní), tlačítka jako na webu */
body:has(#am-muj) #content article > header h1, body:has(#am-muj) .p-detail-inner-header h1 { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#am-muj button, #am-muj .m-btn.pri, #am-muj input[type=submit] { font: 700 13px/1 var(--am-font) !important; letter-spacing: .12em; text-transform: uppercase; min-height: 52px; border-radius: var(--am-r-sm); }
/* Lokality: mapa a seznam v šířce obsahu webu (byly od kraje ke kraji) */
#amLocator { max-width: var(--am-max); margin-left: auto !important; margin-right: auto !important; padding-left: var(--am-gut); padding-right: var(--am-gut); box-sizing: border-box; }
/* Lokality (+ vlastní styly mapa.js mají přednost → !important) a nabídka voucherů / zbylé nálezy 4. 10. */
html body #amLocator { max-width: var(--am-max) !important; margin-left: auto !important; margin-right: auto !important; padding-left: var(--am-gut) !important; padding-right: var(--am-gut) !important; box-sizing: border-box !important; }
/* voucher: štítek „Nejpopulárnější“ nad fotkou nesmí posunout kartu – přes fotku vlevo nahoře */
.productborder .top { position: relative; }
.productborder .topflag { position: absolute; top: 12px; left: 12px; z-index: 2; margin: 0; padding: 4px 10px; border-radius: 999px; background: var(--am-navy); color: #fff !important; font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; }
/* karusel měst: zvětšení při najetí nesmí vyskočit z karty */
.swiper-slide .photopart { overflow: hidden; }
.swiper-slide:hover, .swiper-slide .photopart:hover { transform: none !important; }
/* /extend/: widgety portálu (zůstatek, znovu poslat voucher) písmem a tlačítky webu */
#am-balance-widget, #am-balance-widget *, #am-resend-voucher, #am-resend-voucher * { font-family: var(--am-font) !important; }
#am-balance-widget button, #am-resend-voucher button { font: 700 13px/1 var(--am-font) !important; letter-spacing: .12em !important; text-transform: uppercase !important; min-height: 52px; padding: 0 24px !important; border-radius: var(--am-r-sm) !important; }
#am-resend-voucher .amr-title { font-size: clamp(26px, 3.2vw, 40px) !important; letter-spacing: -.02em !important; font-weight: 700 !important; }
