/* =====================================================================
   Cretaphon e-shop - 2026 redesign
   Palette and structure follow the original site (cream paper, Cretan
   red, earth brown, ochre), rebuilt as a responsive, mobile-first layout.
   ===================================================================== */

@font-face {
  font-family: 'Commissioner';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(fonts/commissioner-greek-full-normal.woff2) format('woff2-variations'), url(fonts/commissioner-greek-full-normal.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Commissioner';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(fonts/commissioner-latin-ext-full-normal.woff2) format('woff2-variations'), url(fonts/commissioner-latin-ext-full-normal.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: 'Commissioner';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(fonts/commissioner-latin-full-normal.woff2) format('woff2-variations'), url(fonts/commissioner-latin-full-normal.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;
}

:root {
  /* original colours */
  --paper: #F8E6C3;        /* page background (body) */
  --paper-soft: #FBF1DE;   /* sidebar panels (was #f7ebd3) */
  --surface: #FFFCF6;      /* content surface */
  --ink: #592317;          /* text */
  --ink-soft: #7A4A3A;
  --red: #A2161B;          /* menu bar / links */
  --red-deep: #7C0F13;
  --price: #C80D12;
  --earth: #865F49;        /* section title bars */
  --earth-deep: #6A4936;
  --ochre: #E3A23B;        /* sidebar headers */
  --ochre-soft: #F3D49A;
  --line: rgba(89, 35, 23, .14);
  --line-strong: rgba(89, 35, 23, .28);
  --focus: #F59E0B;

  --radius: 10px;
  --radius-s: 6px;
  --shadow: 0 1px 2px rgba(89, 35, 23, .08), 0 6px 18px -8px rgba(89, 35, 23, .25);

  --font: 'Commissioner', 'Segoe UI', Tahoma, 'Noto Sans', Arial, sans-serif;
  --gutter: clamp(14px, 3vw, 28px);
  --side-w: 250px;
  --aside-w: 272px;
  --nav-h: 54px;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: hidden; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

body.cp {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  font-size: 15.5px;
  line-height: 1.55;
  font-variation-settings: "FLAR" 0, "VOLM" 0;
  overflow-x: hidden;
}
body.cp td, body.cp th, body.cp input, body.cp select, body.cp textarea, body.cp button {
  font-family: var(--font);
  color: inherit;
}
body.cp td, body.cp th { font-size: inherit; }
body.cp img { max-width: 100%; height: auto; }
:where(body.cp) a { color: var(--red); text-decoration-thickness: 1px; text-underline-offset: 2px; }
:where(body.cp) a:hover { color: var(--red-deep); }
body.cp :focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 3px; }
body.cp h1, body.cp h2, body.cp h3, body.cp h4 { font-variation-settings: "FLAR" 100, "VOLM" 0; line-height: 1.2; }
body.cp hr { border: 0; border-top: 1px solid var(--line); }

.cp-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: var(--ink); color: #fff !important; padding: 8px 14px; border-radius: 6px; }
.cp-skip:focus { left: 8px; }
.cp-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cp-icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.cp-icon--s { width: 18px; height: 18px; }
.cp-icon--fill { fill: currentColor; stroke: none; }

/* ---------- header ---------- */
.cp-banner { background: var(--paper); padding: 10px var(--gutter) 0; }
.cp-banner__link { display: block; max-width: 1500px; margin: 0 auto; border-radius: 14px 14px 0 0; overflow: hidden; line-height: 0; }
.cp-banner__link img { width: 100%; height: clamp(96px, 13vw, 186px); object-fit: cover; object-position: left center; display: block; }

.cp-nav {
  position: sticky; top: 0; z-index: 60;
  background: var(--red);
  color: #fff;
  box-shadow: 0 2px 0 var(--red-deep);
}
.cp-nav__inner { max-width: 1500px; margin: 0 auto; display: flex; align-items: center; gap: 6px; min-height: var(--nav-h); padding: 0 var(--gutter); }
.cp-nav__links { display: flex; list-style: none; margin: 0; padding: 0; gap: 2px; flex-wrap: wrap; }
.cp-nav__links a {
  display: block; color: #fff !important; text-decoration: none; font-weight: 520; font-size: .95rem;
  padding: 8px 14px; border-radius: 999px; white-space: nowrap;
}
.cp-nav__links a:hover { background: rgba(255,255,255,.12); }
.cp-nav__links a[aria-current="page"] { background: var(--paper); color: var(--red) !important; }
.cp-nav__tools { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.cp-iconbtn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; position: relative;
  min-width: 42px; height: 42px; padding: 0 10px; border-radius: 999px; border: 0; cursor: pointer;
  background: transparent; color: #fff !important; text-decoration: none; font-size: .92rem; font-weight: 520;
}
.cp-iconbtn:hover { background: rgba(255,255,255,.14); }
.cp-iconbtn__label { white-space: nowrap; }
.cp-cartbadge {
  position: absolute; top: 2px; right: 0; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px;
  background: var(--ochre); color: var(--ink); font-size: .72rem; font-weight: 750; line-height: 19px; text-align: center;
}
.cp-cartbadge[data-count="0"] { display: none; }
.cp-nav__toggle { display: none; }

.cp-search { position: relative; }
.cp-search input#s {
  width: clamp(170px, 18vw, 260px); height: 40px; border-radius: 999px; border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.12) !important; color: #fff; padding: 0 14px 0 38px; font-size: .92rem;
}
.cp-search input#s::placeholder { color: rgba(255,255,255,.8); }
.cp-search input#s:focus { background: #fff !important; color: var(--ink); outline: none; border-color: var(--ochre); }
.cp-search input#s:focus::placeholder { color: #9a7b6c; }
.cp-search .cp-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; opacity: .9; }
.cp-search input#s:focus + .cp-icon, .cp-search:focus-within .cp-icon { color: var(--ink); }
#ac_loader { position: absolute; right: 10px; top: 11px; width: 18px !important; height: 18px !important; }

.cp-meander { height: 14px; background: var(--red-deep) url(../images/cp/spiral.svg) repeat-x 0 50% / 35px 14px; }

/* ---------- shell ---------- */
.cp-shell {
  max-width: 1500px; margin: 0 auto; padding: 22px var(--gutter) 40px;
  display: grid; grid-template-columns: var(--side-w) minmax(0, 1fr); gap: 26px; align-items: start;
}
.cp-content { min-width: 0; }
.cp-side { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.cp-drawer__head { display: none; }

/* sidebar navigation blocks (original "vertmenu") */
.cp-block { background: var(--paper-soft); border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); }
.cp-block__title {
  margin: 0; padding: 10px 14px; font-size: .98rem; font-weight: 650;
  background: linear-gradient(180deg, #EDB457, var(--ochre)); color: var(--ink);
  border-bottom: 1px solid rgba(89,35,23,.25);
}
.cp-block__title--earth { background: var(--earth); color: #FFF6E6; border-bottom-color: var(--earth-deep); }
.cp-block__body { padding: 12px 14px; }
.cp-menu { list-style: none; margin: 0; padding: 6px 0; }
.cp-menu li + li { border-top: 1px solid var(--line); }
.cp-menu a {
  display: flex; align-items: baseline; gap: 8px; padding: 9px 14px; color: var(--red);
  text-decoration: none; font-size: .9rem; line-height: 1.35;
}
.cp-menu a::before { content: ""; width: 5px; height: 5px; margin-top: 7px; flex: none; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(-45deg); opacity: .6; }
.cp-menu a:hover { background: rgba(227,162,59,.18); }
.cp-menu .is-active > a, .cp-menu li.vertmenu_active > a { background: var(--ochre-soft); color: var(--ink); font-weight: 650; }
.cp-menu__count { margin-left: auto; color: var(--ink-soft); font-size: .8rem; }
.cp-menu a.cp-menu__logout { color: var(--ink); font-weight: 650; }

.cp-trust { display: grid; gap: 14px; justify-items: center; padding: 6px 0; }
.cp-trust img { display: block; }
.cp-trust__brand { border-radius: var(--radius); overflow: hidden; }

/* ---------- page layout (content + right column) ---------- */
.cp-page { display: grid; grid-template-columns: minmax(0, 1fr) var(--aside-w); gap: 26px; align-items: start; }
.cp-page--full { grid-template-columns: minmax(0, 1fr); }
.cp-main { min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.cp-aside { min-width: 0; display: flex; flex-direction: column; gap: 18px; }

.cp-panel { background: var(--surface); border-radius: var(--radius); border: 1px solid var(--line); overflow: hidden; }
.cp-panel__body { padding: 18px clamp(14px, 2.4vw, 24px); }

/* section title bar (original brown bars, #865F49) */
.cp-band {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin: 0; padding: 11px 18px; background: var(--earth); color: #FFF6E6;
  font-size: 1.05rem; font-weight: 650; letter-spacing: .01em; font-variation-settings: "FLAR" 100;
  border-bottom: 3px solid var(--ochre);
}
.cp-band a { color: #FFF6E6 !important; }
.cp-band__aside { margin-left: auto; font-weight: 600; color: var(--ochre); font-size: .95rem; }
.cp-panel > .cp-band { border-radius: 0; }
h1.cp-band { font-size: clamp(1.1rem, 1.6vw, 1.35rem); }

.cp-crumbs { font-size: .88rem; color: var(--ink-soft); margin: 0 0 -8px; }
.cp-crumbs a { color: var(--red); text-decoration: none; }
.cp-crumbs a:hover { text-decoration: underline; }
.cp-crumbs__sep { margin: 0 6px; opacity: .55; }

.cp-more { display: flex; justify-content: flex-end; padding: 0 18px 16px; }
.cp-link-more { font-weight: 650; text-decoration: none; }
.cp-link-more:hover { text-decoration: underline; }

/* ---------- buttons & form controls ---------- */
.cp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 42px; padding: 0 18px; border-radius: 999px; border: 1px solid transparent; cursor: pointer;
  background: var(--red); color: #fff !important; font-weight: 620; font-size: .95rem; text-decoration: none; line-height: 1.1;
  transition: background-color .15s ease;
}
.cp-btn:hover { background: var(--red-deep); }
.cp-btn--ghost { background: transparent; color: var(--red) !important; border-color: var(--line-strong); }
.cp-btn--ghost:hover { background: rgba(162,22,27,.06); }
.cp-btn--ochre { background: var(--ochre); color: var(--ink) !important; }
.cp-btn--ochre:hover { background: #D69224; }
.cp-btn--block { width: 100%; }
.cp-btn--s { min-height: 34px; padding: 0 12px; font-size: .86rem; }
.cp-btn[disabled], .cp-btn.is-disabled { opacity: .45; pointer-events: none; }

body.cp input[type=text], body.cp input[type=password], body.cp input[type=email], body.cp input[type=tel], body.cp input[type=number], body.cp input[type=search], body.cp input[type=url], body.cp input:not([type]), body.cp select, body.cp textarea {
  font-size: 16px; /* prevents iOS zoom */
  min-height: 42px; padding: 8px 12px; border-radius: var(--radius-s);
  border: 1px solid var(--line-strong); background: #fff; color: var(--ink); max-width: 100%;
}
body.cp textarea { min-height: 120px; width: 100%; }
body.cp input:focus, body.cp select:focus, body.cp textarea:focus { outline: 2px solid var(--ochre); outline-offset: 0; border-color: var(--ochre); }
body.cp input.error, body.cp select.error, body.cp textarea.error { border-color: var(--price) !important; background: #FFF4F3; }
body.cp label.error { color: var(--price); font-size: .82rem; display: block; margin-top: 3px; }
body.cp input[type=checkbox], body.cp input[type=radio] { width: 18px; height: 18px; accent-color: var(--red); vertical-align: -3px; }
body.cp input[type=image] { max-width: 100%; }

.cp-field { display: grid; gap: 6px; margin-bottom: 12px; }
.cp-field > label, .cp-label { font-size: .88rem; font-weight: 600; color: var(--ink); }
.cp-field input, .cp-field select, .cp-field textarea { width: 100%; }
.cp-check { display: flex; align-items: center; gap: 8px; font-size: .9rem; cursor: pointer; }
.cp-req { color: var(--price); }
.cp-formgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 16px; }

.cp-note { border-radius: var(--radius-s); padding: 12px 14px; background: #FFF3DD; border: 1px solid var(--ochre-soft); color: var(--ink); font-size: .93rem; }
.cp-note--ok { background: #EEF7E9; border-color: #BBD9AA; }
.cp-note--err { background: #FFF0EE; border-color: #F1B7B1; color: #7E1014; }
.cp-note ul { margin: 4px 0 0; padding-left: 18px; }

.cp-muted { color: var(--ink-soft); font-size: .9rem; }
.cp-price { color: var(--price); font-weight: 700; white-space: nowrap; }

/* ---------- album card (CD jewel case look, replacing images/jewel.png) ---------- */
.cp-albums { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 186px), 1fr)); gap: 22px 18px; padding: 18px; }
.cp-albums--compact { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); }
.cp-album { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cp-album__artist { font-size: .84rem; font-weight: 650; line-height: 1.3; }
.cp-album__artist a { text-decoration: none; color: var(--red); }
.cp-album__artist a:hover { text-decoration: underline; }
.cp-album__title { margin: 0; font-size: .98rem; font-weight: 650; line-height: 1.3; font-variation-settings: "FLAR" 60; }
.cp-album__title a { color: var(--ink); text-decoration: none; }
.cp-album__title a:hover { color: var(--red); }
.cp-album__meta { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; font-size: .82rem; color: var(--ink-soft); }
.cp-album__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 2px; }
.cp-album__price { color: var(--price); font-size: .95rem; }
.cp-album__price strong { font-weight: 750; }

.cp-jewel {
  position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 3px; overflow: hidden;
  background: #2B1A14; box-shadow: 0 1px 1px rgba(0,0,0,.25), 0 10px 18px -10px rgba(40,15,8,.55);
  isolation: isolate;
}
.cp-jewel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cp-jewel::before { /* hinge / spine of the case */
  content: ""; position: absolute; z-index: 2; left: 0; top: 0; bottom: 0; width: 8%;
  background: linear-gradient(90deg, rgba(10,6,4,.85), rgba(40,25,18,.55) 55%, rgba(255,255,255,.18) 62%, rgba(0,0,0,.25) 70%, transparent);
}
.cp-jewel::after { /* plastic gloss */
  content: ""; position: absolute; z-index: 3; inset: 0;
  background: linear-gradient(125deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.06) 28%, transparent 46%, transparent 78%, rgba(255,255,255,.07));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
  pointer-events: none;
}
.cp-jewel--empty { background: var(--paper-soft); display: grid; place-items: center; }
.cp-jewel--empty::before { background: linear-gradient(90deg, rgba(89,35,23,.25), transparent); }
.cp-jewel--empty img { position: static; width: 56%; height: auto; opacity: .75; object-fit: contain; }

.cp-formats { display: inline-flex; gap: 6px; }
.cp-format {
  display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px;
  font-size: .74rem; font-weight: 650; border: 1px solid var(--line-strong); color: var(--ink-soft); background: #fff;
}

/* small product row (sidebars: offers, suggested) */
.cp-minis { list-style: none; margin: 0; padding: 4px 0; }
.cp-mini { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 12px; align-items: center; padding: 9px 14px; }
.cp-mini + .cp-mini { border-top: 1px solid var(--line); }
.cp-mini .cp-jewel { width: 58px; }
.cp-mini__title { font-size: .86rem; font-weight: 600; line-height: 1.3; color: var(--ink); text-decoration: none; display: block; }
.cp-mini__title:hover { color: var(--red); }
.cp-mini__code { font-size: .78rem; color: var(--ink-soft); }

/* ---------- category grid (products_list sub categories) ---------- */
.cp-cats { list-style: none; margin: 0; padding: 14px; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 8px; }
.cp-cats li { min-width: 0; }
.cp-cats a, .cp-cats span {
  display: flex; align-items: center; min-height: 46px; padding: 8px 14px; border-radius: var(--radius-s);
  background: #fff; border: 1px solid var(--line); color: var(--red); text-decoration: none; font-size: .9rem; font-weight: 560;
}
.cp-cats a:hover { border-color: var(--ochre); background: #FFF8EA; }
.cp-cats span { color: var(--ink-soft); }
.cp-cats-filter { padding: 14px 14px 0; }
.cp-cats-filter input { width: 100%; }

/* list rows (category products) */
.cp-rows { list-style: none; margin: 0; padding: 6px 0; }
.cp-row { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 18px; }
.cp-row + .cp-row { border-top: 1px solid var(--line); }
.cp-row__body { min-width: 0; display: grid; gap: 4px; }
.cp-row__title { margin: 0; font-size: 1rem; font-weight: 650; }
.cp-row__title a { color: var(--ink); text-decoration: none; }
.cp-row__title a:hover { color: var(--red); }

/* ---------- news list ---------- */
.cp-news { list-style: none; margin: 0; padding: 4px 0; }
.cp-news__item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; padding: 14px 18px; }
.cp-news__item + .cp-news__item { border-top: 1px solid var(--line); }
.cp-news__item--noimg { grid-template-columns: minmax(0, 1fr); }
.cp-news__thumb { width: 92px; aspect-ratio: 1; border-radius: var(--radius-s); overflow: hidden; display: block; }
.cp-news__thumb img { width: 100%; height: 100%; object-fit: cover; }
.cp-news__title { margin: 0 0 4px; font-size: 1rem; font-weight: 650; }
.cp-news__title a { text-decoration: none; }
.cp-news__title a:hover { text-decoration: underline; }
.cp-news__intro { font-size: .92rem; color: var(--ink); overflow-wrap: anywhere; }
.cp-news__date { font-size: .8rem; color: var(--ink-soft); }

/* ---------- product page ---------- */
.cp-product { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: 24px; padding: 20px clamp(14px, 2.4vw, 24px); }
.cp-product__media { display: flex; flex-direction: column; gap: 12px; }
.cp-product__media .cp-jewel { width: 100%; }
.cp-product__thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.cp-product__thumbs a { width: 64px; height: 64px; border-radius: 4px; overflow: hidden; border: 1px solid var(--line); display: block; }
.cp-product__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.cp-product__text { font-size: .97rem; line-height: 1.65; overflow-wrap: anywhere; }
.cp-product__text img { border-radius: 4px; }
.cp-share { display: flex; gap: 8px; flex-wrap: wrap; }

.cp-buy { display: grid; gap: 10px; padding: 16px clamp(14px, 2.4vw, 24px); background: #FFF8EA; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cp-buy__row { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 8px 12px; background: #fff; border-radius: var(--radius-s); border: 1px solid var(--line); }
.cp-buy__row img { width: 34px; height: 34px; }
.cp-buy__label { font-weight: 600; font-size: .94rem; }
.cp-buy__label small { display: block; font-weight: 400; color: var(--ink-soft); font-size: .8rem; }
.cp-buy__price { color: var(--price); font-weight: 750; font-size: 1.05rem; white-space: nowrap; }

.cp-facts { display: grid; grid-template-columns: minmax(120px, 200px) minmax(0, 1fr); margin: 0; padding: 6px clamp(14px, 2.4vw, 24px) 16px; }
.cp-facts dt, .cp-facts dd { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: .93rem; }
.cp-facts dt { font-weight: 650; padding-right: 14px; }
.cp-facts dd { min-width: 0; }

/* track list */
.cp-disc { padding: 18px clamp(14px, 2.4vw, 24px); border-top: 1px solid var(--line); }
.cp-disc__head { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; flex-wrap: wrap; }
.cp-disc__cover { width: 72px; flex: none; }
.cp-disc__title { margin: 0; font-size: 1.08rem; font-weight: 650; color: var(--earth-deep); }
.cp-disc__sub { font-size: .85rem; color: var(--ink-soft); }
.cp-tracks { list-style: none; margin: 0; padding: 0; counter-reset: trk; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.cp-track { display: grid; grid-template-columns: 30px 40px minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 9px 12px; counter-increment: trk; }
.cp-track + .cp-track { border-top: 1px solid var(--line); }
.cp-track::before { content: counter(trk); text-align: right; color: var(--ink-soft); font-size: .85rem; font-variant-numeric: tabular-nums; }
.cp-track.is-playing { background: #FFF5E0; }
.cp-track__title { font-weight: 600; font-size: .95rem; line-height: 1.3; }
.cp-track__credits { display: block; font-size: .8rem; color: var(--ink-soft); font-weight: 400; margin-top: 2px; }
.cp-track__time { font-size: .82rem; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.cp-play {
  width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--red); background: #fff; color: var(--red);
  display: inline-grid; place-items: center; cursor: pointer; padding: 0;
}
.cp-play:hover { background: var(--red); color: #fff; }
.cp-play[disabled] { border-color: var(--line-strong); color: var(--line-strong); cursor: not-allowed; background: transparent; }
.is-playing .cp-play { background: var(--red); color: #fff; }
.cp-addtrack { width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--ochre-soft); color: var(--ink); display: inline-grid; place-items: center; cursor: pointer; padding: 0; }
.cp-addtrack:hover { background: var(--ochre); }
.cp-addtrack[disabled] { opacity: .35; cursor: not-allowed; }
.cp-demo { display: inline-flex; align-items: center; gap: 8px; }

.cp-legend { list-style: none; margin: 0; padding: 12px 14px; display: grid; gap: 6px; font-size: .84rem; }
.cp-legend li { display: flex; align-items: center; gap: 8px; }

/* rating */
.cp-rating { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.cp-rating .ui-stars-star, .cp-rating .ui-stars-cancel { transform: scale(1.2); margin-right: 4px; }

.cp-video { display: inline-block; position: relative; width: 200px; aspect-ratio: 4 / 3; border-radius: var(--radius-s); overflow: hidden; cursor: pointer; background: #000; }
.cp-video img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.cp-video__play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; }
.cp-video__play span { width: 54px; height: 54px; border-radius: 50%; background: rgba(162,22,27,.92); display: grid; place-items: center; }

/* ---------- cart ---------- */
.cp-cart { list-style: none; margin: 0; padding: 0; }
.cp-cartrow { display: grid; grid-template-columns: 84px minmax(0, 1fr) 120px 110px 44px; gap: 14px; align-items: center; padding: 14px 18px; }
.cp-cartrow + .cp-cartrow { border-top: 1px solid var(--line); }
.cp-cartrow__title { margin: 0 0 3px; font-size: 1rem; font-weight: 650; }
.cp-cartrow__title a { color: var(--ink); text-decoration: none; }
.cp-cartrow__kind { display: flex; align-items: center; gap: 6px; font-size: .84rem; color: var(--ink-soft); }
.cp-cartrow__kind img { width: 24px; height: 24px; }
.cp-cartrow__qty input { width: 72px; text-align: center; }
.cp-cartrow__qty label { display: block; font-size: .76rem; color: var(--ink-soft); }
.cp-cartrow__sum { text-align: right; }
.cp-cartrow__unit { font-size: .78rem; color: var(--ink-soft); display: block; }
.cp-remove { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink-soft); display: grid; place-items: center; cursor: pointer; }
.cp-remove:hover { color: var(--price); border-color: var(--price); }
.cp-cartrow__extra { grid-column: 2 / -1; font-size: .84rem; color: var(--ink-soft); }
.cp-cartsum { display: grid; justify-items: end; gap: 14px; padding: 18px; border-top: 1px solid var(--line); background: #FFF8EA; }
.cp-cartsum__total { font-size: 1.15rem; font-weight: 650; }
.cp-cartsum__total .cp-price { font-size: 1.35rem; }
.cp-cartactions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }

/* mini cart (sidebar) */
.cp-minicart ul.smart_cart { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 6px; }
.cp-minicart ul.smart_cart li { margin: 0 !important; font-size: .84rem; display: flex; gap: 6px; align-items: flex-start; }
.cp-minicart ul.smart_cart li img { width: 16px; height: 16px; margin-top: 2px; }
.cp-minicart__sum { display: flex; justify-content: space-between; border-top: 1px dashed var(--line-strong); padding-top: 8px; margin-top: 4px; font-size: .92rem; }

/* account dashboard */
.cp-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 12px; padding: 18px; }
.cp-tile { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: var(--radius); background: #fff; border: 1px solid var(--line); text-decoration: none; color: var(--ink) !important; }
.cp-tile:hover { border-color: var(--ochre); background: #FFF8EA; }
.cp-tile strong { font-size: 1rem; }
.cp-tile span { font-size: .85rem; color: var(--ink-soft); }
.cp-tile .cp-icon { color: var(--red); width: 26px; height: 26px; }

/* data tables */
.cp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table.cp-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
table.cp-table th, table.cp-table td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
table.cp-table thead th { background: #FFF3DD; font-size: .82rem; font-weight: 700; color: var(--ink); white-space: nowrap; }
table.cp-table tbody tr:hover { background: #FFFAF0; }

/* comments (guestbook, mantinades) */
.cp-comments { list-style: none; margin: 0; padding: 0; }
.cp-comment { padding: 16px 18px; }
.cp-comment + .cp-comment { border-top: 1px solid var(--line); }
.cp-comment__head { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; margin-bottom: 6px; }
.cp-comment__name { font-weight: 700; }
.cp-comment__date { font-size: .8rem; color: var(--ink-soft); }
.cp-comment__body { font-size: .95rem; overflow-wrap: anywhere; }
.cp-mantinada { font-style: italic; font-size: 1.04rem; line-height: 1.7; white-space: normal; padding-left: 14px; border-left: 3px solid var(--ochre); }

.cp-pager { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 18px; justify-content: center; }
.cp-pager a, .cp-pager span, .cp-pager strong { min-width: 38px; height: 38px; display: inline-grid; place-items: center; padding: 0 10px; border-radius: 999px; border: 1px solid var(--line); text-decoration: none; background: #fff; }
.cp-pager strong, .cp-pager .is-current { background: var(--red); color: #fff; border-color: var(--red); }

.cp-captcha { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cp-captcha img { border-radius: 4px; border: 1px solid var(--line); }
.cp-captcha input { width: 130px; }

/* article body (TinyMCE content) */
.cp-prose { font-size: 1rem; line-height: 1.7; max-width: 78ch; overflow-wrap: anywhere; }
.cp-prose img { border-radius: 4px; }
.cp-prose table { max-width: 100%; }
.cp-prose iframe, .cp-prose object, .cp-prose embed, .cp-prose video { max-width: 100%; }
.cp-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 8px; }
.cp-gallery a { display: block; aspect-ratio: 1; border-radius: 4px; overflow: hidden; border: 1px solid var(--line); }
.cp-gallery img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- player (HTML5, replaces Flash jPlayer) ---------- */
.cp-player {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 90; max-width: 760px; margin: 0 auto;
  background: var(--earth-deep); color: #FFF6E6; border-radius: 16px; box-shadow: 0 18px 40px -12px rgba(40,15,8,.6);
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 14px;
  border-top: 3px solid var(--ochre);
}
.cp-player[hidden] { display: none; }
.cp-player__ctrls { display: flex; gap: 4px; align-items: center; }
.cp-player button { border: 0; background: transparent; color: inherit; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; padding: 0; }
.cp-player button:hover { background: rgba(255,255,255,.12); }
.cp-player .cp-player__main { background: var(--ochre); color: var(--ink); width: 46px; height: 46px; }
.cp-player .cp-player__main:hover { background: #F0B551; }
.cp-player__info { min-width: 0; display: grid; gap: 6px; }
.cp-player__title { font-weight: 650; font-size: .93rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-player__bar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; font-size: .75rem; font-variant-numeric: tabular-nums; opacity: .92; }
.cp-player input[type=range] { width: 100%; accent-color: var(--ochre); min-height: 0; padding: 0; height: 18px; border: 0; background: transparent; }
.cp-player__list { grid-column: 1 / -1; max-height: 40vh; overflow: auto; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.15); }
.cp-player__list[hidden] { display: none; }
.cp-player__list li button { width: 100%; height: auto; border-radius: 6px; text-align: left; padding: 8px 10px; display: block; font-size: .88rem; }
.cp-player__list li.is-current button { color: var(--ochre); font-weight: 700; }
body.cp.has-player { padding-bottom: 110px; }

/* homepage inline player */
.cp-homeplayer { padding: 16px 18px; }
.cp-homeplayer ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.cp-homeplayer li { display: flex; align-items: center; gap: 10px; }

/* ---------- footer ---------- */
.cp-footer { background: var(--red); color: #FFE9D6; margin-top: 10px; }
.cp-footer .cp-meander { background-color: var(--red-deep); }
.cp-footer__inner { max-width: 1500px; margin: 0 auto; padding: 26px var(--gutter) 30px; display: grid; gap: 18px; }
.cp-footer__links { display: flex; flex-wrap: wrap; gap: 6px 22px; list-style: none; margin: 0; padding: 0; }
.cp-footer__links a { color: #fff !important; text-decoration: none; font-weight: 560; }
.cp-footer__links a:hover { text-decoration: underline; }
.cp-footer__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; font-size: .88rem; opacity: .92; }
.cp-footer__meta a { color: #fff !important; }
.cp-social { display: flex; gap: 10px; flex-wrap: wrap; }
.cp-social a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff !important; text-decoration: none; font-size: .88rem; font-weight: 560; }
.cp-social a:hover { background: rgba(255,255,255,.22); }

/* ---------- third-party widgets ---------- */
/* jGrowl notifications */
div.jGrowl { z-index: 2000 !important; }
div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
  background: var(--ink) !important; color: #FFF6E6 !important; border-radius: 12px !important; opacity: .97 !important;
  font-family: var(--font) !important; font-size: .9rem !important; box-shadow: var(--shadow); width: min(320px, calc(100vw - 30px)) !important; padding: 12px 14px !important;
}
div.jGrowl div.jGrowl-notification div.header { font-weight: 700; color: var(--ochre); margin-bottom: 4px; }
div.jGrowl div.jGrowl-notification a { color: var(--ochre) !important; }
@media (max-width: 600px) { div.jGrowl.top-right { right: 0 !important; left: 0 !important; top: 60px !important; display: flex; flex-direction: column; align-items: center; } }

/* jQuery UI dialogs */
.ui-widget-overlay { background: rgba(40, 15, 8, .55) !important; opacity: 1 !important; filter: none !important; }
.ui-dialog { max-width: calc(100vw - 20px) !important; border-radius: 14px !important; overflow: hidden; padding: 0 !important; border: 0 !important; box-shadow: 0 24px 60px -20px rgba(0,0,0,.6); font-family: var(--font) !important; }
.ui-dialog .ui-dialog-titlebar { background: var(--earth) !important; border: 0 !important; border-radius: 0 !important; color: #FFF6E6 !important; padding: 12px 16px !important; }
.ui-dialog .ui-dialog-content { padding: 16px !important; background: var(--surface); color: var(--ink); font-size: .95rem; max-height: 80vh; overflow: auto; }
.ui-dialog iframe, .ui-dialog object, .ui-dialog embed { max-width: 100%; }

/* searchlight live results */
#searchlight, .searchlight, div[id^="searchlight"] { font-family: var(--font) !important; }

/* ---------- legacy markup (pages not rewritten, admin-managed HTML) ---------- */
.cp-legacy { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(10px, 2vw, 18px); overflow: hidden; }
.cp-legacy table { max-width: 100% !important; }
.cp-legacy img { max-width: 100%; height: auto; }
.cp-legacy td[bgcolor="#865f49"], .cp-legacy td[bgcolor="#865F49"], .cp-legacy .whitepadtitle { background: var(--earth); color: #FFF6E6; font-weight: 650; padding: 10px 14px; }
.cp-legacy .basket { width: 100% !important; }
.whitepadtitle { color: #FFF6E6; font-weight: 650; }
.whitepadtitle a { color: #FFF6E6; }
.smallredtitle { color: var(--red); }
.redprice, .price { color: var(--price); }
.redlink a, .orangelink a { color: var(--red); }
.artistname { color: var(--ink-soft); }
.handadd { cursor: pointer; }
.bborder { border-bottom: 1px solid var(--line); }
.basketborder { border-bottom: 1px solid var(--line); }
.input_shadowd, .input_shadow, .input_ly, .input_ly_r { max-width: 100%; }
.cp-legacy .ui-state-error, .cp-legacy .ui-state-highlight { border-radius: var(--radius-s); padding: 6px 12px !important; }

/* ===================== responsive ===================== */
@media (max-width: 1279px) {
  .cp-page { grid-template-columns: minmax(0, 1fr); }
  .cp-aside { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); align-items: start; }
}

@media (max-width: 1023px) {
  :root { --nav-h: 56px; }
  .cp-shell { grid-template-columns: minmax(0, 1fr); padding-top: 16px; }
  .cp-nav__links { display: none; }
  .cp-nav__toggle { display: inline-flex; }
  .cp-side {
    position: fixed; z-index: 120; top: 0; bottom: 0; left: 0; width: min(88vw, 340px);
    background: var(--paper); padding: 0 14px 30px; overflow-y: auto; overscroll-behavior: contain;
    transform: translateX(-105%); transition: transform .22s ease; box-shadow: 0 0 40px rgba(0,0,0,.35);
    visibility: hidden;
  }
  body.cp.drawer-open .cp-side { transform: none; visibility: visible; }
  .cp-scrim { position: fixed; inset: 0; background: rgba(40,15,8,.5); z-index: 110; }
  .cp-scrim[hidden] { display: none; }
  .cp-drawer__head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2; background: var(--paper); padding: 12px 0 10px; margin: 0 0 -6px; border-bottom: 1px solid var(--line); }
  .cp-drawer__head strong { font-size: 1.05rem; }
  .cp-drawer__close { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-strong); background: #fff; display: grid; place-items: center; color: var(--ink); cursor: pointer; }
  .cp-drawer__nav { display: block; }
  .cp-search input#s { width: 100%; }
  .cp-search { flex: 1; min-width: 0; }
  .cp-nav__tools { flex: 1; justify-content: flex-end; }
}
@media (min-width: 1024px) { .cp-drawer__nav { display: none; } .cp-scrim { display: none !important; } }

@media (max-width: 700px) {
  body.cp { font-size: 15px; }
  .cp-banner { padding: 0; }
  .cp-banner__link { border-radius: 0; }
  .cp-banner__link img { height: 92px; }
  .cp-nav__inner { gap: 2px; padding: 0 8px; }
  .cp-iconbtn__label { display: none; }
  .cp-iconbtn { padding: 0; }
  .cp-shell { padding: 14px 12px 30px; gap: 18px; }
  .cp-band { padding: 10px 14px; font-size: 1rem; }
  .cp-albums { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; padding: 14px 12px; }
  .cp-album__title { font-size: .92rem; }
  .cp-product { grid-template-columns: minmax(0, 1fr); padding: 14px; }
  .cp-product__media { flex-direction: row; align-items: flex-start; }
  .cp-product__media .cp-jewel { width: 46%; flex: none; }
  .cp-facts { grid-template-columns: minmax(0, 1fr); }
  .cp-facts dt { border-bottom: 0; padding-bottom: 0; }
  .cp-buy__row { grid-template-columns: 34px minmax(0, 1fr) auto; }
  .cp-buy__row .cp-btn { grid-column: 1 / -1; }
  .cp-track { grid-template-columns: 22px 38px minmax(0, 1fr) auto; padding: 9px 10px; gap: 8px; }
  .cp-track__time { display: none; }
  .cp-row { grid-template-columns: 76px minmax(0, 1fr); padding: 12px 14px; }
  .cp-row > :last-child:not(.cp-row__body) { grid-column: 2; justify-self: start; }
  .cp-cartrow { grid-template-columns: 64px minmax(0, 1fr) auto; gap: 10px 12px; padding: 14px; }
  .cp-cartrow__qty { grid-column: 2; grid-row: 2; display: flex; align-items: center; gap: 8px; }
  .cp-cartrow__sum { grid-column: 3; grid-row: 2; text-align: right; }
  .cp-cartrow .cp-remove { grid-row: 1; grid-column: 3; justify-self: end; }
  .cp-cartrow__extra { grid-column: 1 / -1; }
  .cp-cartsum { justify-items: stretch; }
  .cp-cartactions .cp-btn { flex: 1 1 auto; }
  .cp-player { left: 6px; right: 6px; bottom: 6px; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; padding: 8px 10px; border-radius: 14px; }
  .cp-player__ctrls:first-child { grid-column: 1 / -1; grid-row: 2; justify-content: center; gap: 18px; }
  .cp-player__info { grid-row: 1; grid-column: 1; }
  .cp-player__side { grid-row: 1; grid-column: 2; }
  .cp-footer__meta { flex-direction: column; }

  /* legacy tables become stacked on phones */
  .cp-legacy { padding: 10px; }
  .cp-legacy table, .cp-legacy tbody, .cp-legacy thead, .cp-legacy tfoot, .cp-legacy tr, .cp-legacy td, .cp-legacy th { display: block; width: auto !important; height: auto !important; min-width: 0 !important; }
  .cp-legacy table { border: 0; }
  .cp-legacy td, .cp-legacy th { text-align: left !important; padding: 4px 2px; white-space: normal !important; }
  .cp-legacy td:empty, .cp-legacy th:empty { display: none; }
  .cp-legacy tr { margin-bottom: 4px; }
  .cp-legacy input:not([type=checkbox]):not([type=radio]):not([type=image]):not([type=hidden]), .cp-legacy select, .cp-legacy textarea { width: 100% !important; }
  .cp-legacy [align=right], .cp-legacy [align=left] { float: none !important; }
  .cp-legacy table[align] { float: none !important; margin: 0 !important; }
  .cp-legacy .cp-keep-table, .cp-legacy .cp-keep-table tbody { display: table !important; width: 100% !important; }
  .cp-legacy .cp-keep-table tr { display: table-row !important; }
  .cp-legacy .cp-keep-table td, .cp-legacy .cp-keep-table th { display: table-cell !important; }
}

@media print {
  .cp-nav, .cp-side, .cp-aside, .cp-footer, .cp-player, .cp-banner { display: none !important; }
  .cp-shell { display: block; }
  body.cp { background: #fff; }
}

/* follow block */
.cp-follow { display: grid; gap: 8px; }
.cp-follow a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: var(--radius-s); background: #fff; border: 1px solid var(--line); text-decoration: none; font-weight: 600; font-size: .9rem; }
.cp-follow a:hover { border-color: var(--ochre); background: #FFF8EA; }
@media (max-width: 700px) {
  .cp-album .cp-link-more { display: none; }
  .cp-album__foot { padding-top: 0; }
}
@media (max-width: 700px) { .cp-row > .cp-btn { display: none; } }

/* checkout / confirmation (legacy forms) */
.cp-checkout .cp-legacy { border-radius: 0 0 var(--radius) var(--radius); border-top: 0; }
.cp-legacy h3 { font-size: 1.02rem; margin: 18px 0 10px; color: var(--earth-deep); }
.cp-legacy label { font-size: .9rem; font-weight: 600; display: block; margin-bottom: 4px; }
.cp-legacy label.handadd, .cp-legacy label[for=accept_terms] { display: inline; font-weight: 500; }
.cp-legacy td { padding: 6px 8px; vertical-align: top; }
.cp-legacy td > input.fixed, .cp-legacy td > select.fixed { width: 100%; }
.cp-legacy .whitepadtitle { border-bottom: 3px solid var(--ochre); }
.cp-legacy .bottom_border { border-bottom: 1px solid var(--line); }
.cp-legacy .payment_methods { margin-top: 12px; padding: 14px; background: #FFF8EA; border: 1px solid var(--line); border-radius: var(--radius-s); font-size: .92rem; }
.cp-legacy .checkout_buttons { margin: 20px 0 6px; display: flex; justify-content: flex-end; }
.cp-legacy .checkout_buttons .cp-btn { min-height: 50px; padding: 0 26px; font-size: 1.02rem; }
.cp-legacy .submit_form_please_wait { margin: 16px 0; }
.cp-legacy .item td { border-bottom: 1px solid var(--line); }
.cp-legacy .item h3 { margin: 4px 0; font-size: 1rem; }
.cp-legacy .item h3 span { display: block; font-size: .8rem; font-weight: 400; color: var(--ink-soft); }
.cp-legacy .item .image { margin-right: 12px; }
.cp-legacy .item .image img { width: 72px; border-radius: 3px; }
.cp-legacy ._fields { font-size: .82rem; color: var(--ink-soft); }
.cp-legacy em { color: var(--price); font-style: normal; }
@media (max-width: 700px) {
  .cp-legacy tr:has(> td.bborder) { display: none !important; }
  .cp-legacy .item td { border-bottom: 0; }
  .cp-legacy tr.item { border-bottom: 1px solid var(--line); padding: 8px 0; }
  .cp-legacy .checkout_buttons .cp-btn { width: 100%; }
}
.cp-checkout table, .cp-legacy--wide table { width: 100%; }
.cp-legacy table.cp-auto, .cp-legacy--wide table.cp-auto { width: auto; }
@media (max-width: 700px) {
  .cp-legacy tr { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 4px; }
  .cp-legacy tr > td, .cp-legacy tr > th { flex: 0 1 auto; }
  .cp-legacy tr > td:has(> input:not([type=checkbox]):not([type=radio]):not([type=hidden])),
  .cp-legacy tr > td:has(> select), .cp-legacy tr > td:has(> textarea), .cp-legacy tr > td:has(> table),
  .cp-legacy tr > td:has(> span > select), .cp-legacy tr > td:has(> label + input), .cp-legacy tr > td[colspan] { flex-basis: 100%; }
  .cp-legacy td[bgcolor="#865f49"]:not(.whitepadtitle), .cp-legacy td[bgcolor="#865F49"]:not(.whitepadtitle) { display: none !important; }
  .cp-legacy td.whitepadtitle { flex-basis: 100%; }
}
@media (max-width: 700px) {
  .cp-panel__body > div[style*="float:right"] { float: none !important; max-width: 100% !important; margin: 0 0 14px !important; }
}
/* data tables inside legacy account pages */
.cp-legacy .cp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 10px; border: 1px solid var(--line); border-radius: var(--radius-s); }
.cp-legacy table.cp-keep-table { width: 100%; border-collapse: collapse; }
.cp-legacy table.cp-keep-table td { padding: 8px 10px; font-size: .9rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.cp-legacy td[bgcolor="#D9E5EE"], .cp-legacy td[bgcolor="#d9e5ee"] { background: #FFF3DD; }
.cp-legacy td[bgcolor="#F8F7F5"], .cp-legacy td[bgcolor="#f8f7f5"] { background: #fff; }
.cp-legacy td[bgcolor="#666666"] { background: var(--earth); color: #FFF6E6; }
@media (max-width: 700px) {
  .cp-legacy table.cp-keep-table { display: table !important; min-width: 560px; }
  .cp-legacy table.cp-keep-table > tbody { display: table-row-group !important; }
  .cp-legacy table.cp-keep-table tr { display: table-row !important; }
  .cp-legacy table.cp-keep-table td, .cp-legacy table.cp-keep-table th { display: table-cell !important; }
  .cp-legacy table.cp-keep-table table { min-width: 0; }
}
.cp-auth { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 22px; align-items: start; max-width: 980px; }
@media (max-width: 700px) {
  .cp-legacy tr > td[bgcolor="#D9E5EE"], .cp-legacy tr > td[bgcolor="#d9e5ee"] { flex: 0 0 42%; background: transparent; font-size: .85rem; color: var(--ink-soft); padding-left: 0; }
  .cp-legacy tr > td[bgcolor="#D9E5EE"] + td, .cp-legacy tr > td[bgcolor="#d9e5ee"] + td { flex: 1 1 52%; min-width: 0; overflow-wrap: anywhere; }
  .cp-legacy tr:has(> td[bgcolor="#D9E5EE"]) { border-bottom: 1px solid var(--line); }
  .cp-legacy table.cp-keep-table tr > td[bgcolor="#D9E5EE"] { background: #FFF3DD; color: var(--ink); font-size: .82rem; padding-left: 10px; }
}
.cp-side > * { flex-shrink: 0; }

/* live search results (jquery.searchlight) */
div.searchlight-balloon { position: fixed !important; z-index: 200 !important; opacity: 1 !important; width: min(620px, calc(100vw - 24px)); max-height: min(70vh, 640px); overflow: auto; background: var(--surface); border-radius: 14px; box-shadow: 0 24px 50px -16px rgba(40,15,8,.55); border: 1px solid var(--line); }
div.searchlight-results-wrapper { border: 0 !important; margin: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
table.searchlight-results { font-family: var(--font) !important; font-size: .88rem !important; }
table.searchlight-results th, table.searchlight-results td { text-shadow: none !important; padding: 8px 10px !important; border-bottom: 1px solid var(--line); vertical-align: top; }
table.searchlight-results th { background: #FFF3DD !important; color: var(--ink) !important; font-size: .8rem !important; font-weight: 650 !important; width: 34% !important; text-align: left !important; border-right: 0 !important; }
table.searchlight-results td { background: #fff !important; color: var(--ink); }
table.searchlight-results .searchlight-header-text, table.searchlight-results .searchlight-result-text { white-space: normal !important; }
table.searchlight-results tr.searchlight-selected th, table.searchlight-results tr.searchlight-selected td { background: var(--red) !important; color: #fff !important; }
table.searchlight-results img { width: 20px; height: 20px; object-fit: cover; border-radius: 2px; vertical-align: -4px; margin-right: 6px; }
@media (max-width: 600px) { table.searchlight-results th { width: 30% !important; font-size: .72rem !important; } }
