:root{
  --bg:#f6f7fb; --card:#fff; --ink:#171727; --muted:#8186a5;
  --brand:#5b2cff; --warn:#ffb703; --err:#e63946; --ok:#2a9d8f;
  --br:18px; --shadow:0 7px 34px #b7c8ec22;
}
.header-search-input {border: none !important;}
*{box-sizing:border-box}
body.cart-body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial}

/* Top help */
.helpbar{background:#ecebff;border-bottom:1px solid #dedcff}
.helpbar-inner{max-width:1200px;margin:auto;padding:10px 16px;display:flex;gap:18px;align-items:center}
.helpbar a{color:var(--brand);text-decoration:none}

/* Layout */
.cart-wrap{max-width:1200px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border-radius:var(--br);box-shadow:var(--shadow);padding:22px}
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:22px}
@media (max-width:960px){.cart-layout{grid-template-columns:1fr}}

.cart-head-row,.item-row{display:grid;grid-template-columns:1.6fr 70px 70px 90px 90px 70px;gap:14px;align-items:center}
.cart-head-row{color:var(--muted);border-bottom:1px dashed #e6e8f4;padding-bottom:6px;margin-bottom:8px}
.item-row{padding:14px 0;border-bottom:1px solid #f0f1f8}
.item-title{font-weight:600}
.item-sub{font-size:12px;color:var(--muted)}

/* Inputs + buttons */
select,input[type=number],input[type=email],input[type=password],input[type=text]{width:100%;padding:10px 12px;border:1px solid #dfe3f6;border-radius:12px}
input.qty{max-width:84px}

.btn-ghost{cursor: pointer;display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:10px;text-decoration:none;border:1px solid #e5e7fb}
.btn-ghost:hover{background:#f6f6ff}
.btn-ghost.danger{border-color:#ffdadd;color:#a3292f}
.btn{margin: 10px 0;display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:5px;border:0;background:#eef0fb;cursor:pointer}
.btn.primary{background:var(--brand);color:#fff}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* Totals */
.totals{margin-top:14px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.totals div{display:flex;gap:16px;align-items:center}
.totals strong{font-size:20px}

/* Right column */
.vat-toggle{display:flex;gap:16px;align-items:center;margin-bottom:8px}
.switch{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--muted)}
.cart-side{display:flex;flex-direction:column;gap:22px}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tabs input{display:none}
.tabs label{text-align:center;padding:10px;border-radius:5px;background:#eef0fb;cursor:pointer}
.tabs label[for=tab-login]{grid-column:1}
.tabs label[for=tab-register]{grid-column:2}
#tab-login:checked + label[for=tab-login]{background:var(--brand);color:#fff}
#tab-register:checked ~ label[for=tab-register]{background:var(--brand);color:#fff}
.tab-panels{margin-top:12px}
.panel.hidden{display:none}
.grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.grid .btn{grid-column:1 / -1}
@media (max-width:720px){.grid{grid-template-columns:1fr}}

/* Messages */
.err{background:#ffe8ea;border:1px solid #ffd2d7;color:#7a1a1f;padding:10px 12px;border-radius:10px}
.ok-badge{margin:10px 0;display:inline-block;background:#e7f7f4;color:#0d5a51;border:1px solid #c9efe8;padding:6px 10px;border-radius:999px;font-size:13px}
.empty{padding:18px;background:#f6f7fb;border-radius:12px;color:var(--muted)}
.backlink{margin-top:18px}
.backlink a{text-decoration:none;color:var(--brand)}

/* Fees / checkboxes */
.fees{margin:.5rem 0 .6rem;display:flex;flex-direction:column;gap:.25rem}
.fee-row{display:flex;align-items:center;gap:.5rem;margin:.25rem 0;font-size:.95rem}
.fee-row input{transform:translateY(1px)}
.fee-row input[disabled]{filter:grayscale(1);cursor:not-allowed}

/* Tooltip */
.tip{position:relative;display:inline-flex;justify-content:center;align-items:center;width:18px;height:18px;border-radius:50%;border:1px solid #8b73d3;color:#8b73d3;font-weight:700;line-height:1;cursor:help;margin-left:.5rem}
.tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:125%;transform:translateX(-50%);background:#331c64;color:#fff;font-size:.85rem;line-height:1.25;padding:.5rem .6rem;border-radius:.5rem;white-space:normal;width:260px;max-width:70vw;opacity:0;pointer-events:none;transition:opacity .15s ease, transform .15s ease;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:50}
.tip::before{content:"";position:absolute;left:50%;bottom:115%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#331c64;opacity:0;transition:opacity .15s ease}
.tip:hover::after,.tip:focus::after,.tip:hover::before,.tip:focus::before{opacity:1}

/* Required star */
.req{color:#c00;margin-left:.25rem}

/* =========================
   DOMAINS – unified styles
   ========================= */

/* Chips container + chip */
.domains{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 .5rem}
.domain-chip{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.35rem .55rem;border-radius:999px;
  background:#f7f7fe;border:1px solid #e5e5f9;color:#2b235a;
  font-size:.92rem;
}
.domain-chip em{font-style:normal;opacity:.75;font-weight:600}
.domain-remove{appearance:none;border:0;background:transparent;cursor:pointer;line-height:1;padding:.1rem .35rem;border-radius:.35rem;color:#7b6eb6;font-weight:700}
.domain-remove:hover{background:#ebe9fb}

/* Add-domain bar (grid) */
.cart-domains{margin:.5rem 0 .25rem}
.btn-add-domain{
  appearance:none;border:1px dashed #cfd3ff;background:#f7f7fe;
  color:var(--brand);padding:.55rem .85rem;border-radius:999px;
  font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;
  transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;
}
.btn-add-domain:hover{background:#f0efff;border-color:#b7befc;transform:translateY(-1px);box-shadow:0 6px 16px #b7c8ec33}
.btn-add-domain:focus-visible{outline:2px solid #d9d5ff;outline-offset:2px}

/* Grid: [input][Přidat][Zrušit][Platforma] */
.add-domain-row{
  display: grid;
  grid-template-columns: 1fr 1fr;      /* řádek s tlačítky = 2 sloupce */
  grid-auto-rows: auto;
  gap: .6rem;
  align-items: center;
  margin-top: .6rem;
  background: #fafbff;
  border: 1px solid #e7e9fb;
  border-radius: 12px;
  padding: .75rem;
  max-width: 640px;                    /* klidně smaž nebo uprav */
}
.add-domain-row[hidden]{display:none !important}

.domain-input{
  width:100%;
  padding:.7rem 1rem;
  border:1px solid #dfe3f6;border-radius:10px;
  font:inherit;background:#fff;
}
.domain-input:focus{outline:none;border-color:#bfc7fb;box-shadow:0 0 0 3px #e9ecff}

/* 1) input přes celou šířku */
.add-domain-row .domain-input{
  grid-column: 1 / -1;
}

/* 2) tlačítka vedle sebe */
.add-domain-row .btn-save-domain{
  grid-column: 1;
  justify-self: start;
}
.add-domain-row .btn-cancel-domain{
  grid-column: 2;
  justify-self: start;
}

/* 3) „Platforma: …“ pod tlačítky přes celou šířku */
.add-domain-row .platform-hint{
  grid-column: 1 / -1;
  font-size: .85rem;
  color: #6b7280; /* volitelné ztišení */
}

/* Responsivní – na úzkých displejích tlačítka pod sebe */
@media (max-width: 560px){
  .add-domain-row{ grid-template-columns: 1fr; }
  .add-domain-row .btn-cancel-domain{ grid-column: 1; }
}

.btn-save-domain,.btn-cancel-domain{
  appearance:none;border:0;border-radius:10px;padding:.6rem .9rem;
  font-weight:600;cursor:pointer;display:inline-flex;align-items:center;
}
.btn-save-domain{background:var(--brand);color:#fff}
.btn-save-domain:hover{filter:brightness(1.05)}
.btn-save-domain:focus-visible{outline:2px solid #d9d5ff;outline-offset:2px}

.btn-cancel-domain{background:#eef0fb;color:#2b235a;border:1px solid #e1e4f8}
.btn-cancel-domain:hover{background:#e8eafe}
.btn-cancel-domain:focus-visible{outline:2px solid #d9d5ff;outline-offset:2px}

.platform-hint{color:var(--muted);font-size:.9rem;white-space:nowrap}

/* Conflict / info box */
.hint{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;line-height:1.35;margin:.5rem 0 0;padding:.6rem .75rem;border-radius:.75rem}
.hint .ico{width:18px;height:18px;flex:0 0 18px}
.icon-warn{background:#fff8e6;border:1px solid #ffe09a;color:#6b4b00}
.icon-warn a{color:inherit;text-decoration:underline dotted}

/* Responsive for add-domain row */
@media (max-width:640px){
  .add-domain-row{grid-template-columns:1fr}
  .btn-save-domain,.btn-cancel-domain{width:100%}
  .platform-hint{justify-self:start}
}

.ares-row { display:flex; align-items:center; gap:.5rem; }
.ares-msg { font-size:.9rem; }
