:root{
  --g4t-grad: linear-gradient(93deg, #148265 9.22%, #4DCE98 87.64%);
  --g4t-muted: #6c757d;
}

.toast-success {
    background: linear-gradient(108deg, #099574 1.01%, #50D99C 100%) !important;
    font-weight: 600;
    color: #fff !important;
}


.error-404 .error-container {
  display: grid;
  place-items: center;
  min-height: min(70vh, 820px);
}

.error-404 h1 {
  margin: 0 0 8px 0;
  font-weight: 800;
  line-height: 0.85;
  font-size: clamp(72px, 14vw, 180px);
  letter-spacing: -2px;

  /* gradient text */
  background: linear-gradient(93deg, #148265 9.22%, #4DCE98 87.64%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* subtitle */
.error-404 h2 {
  margin: 0 0 16px 0;
  font-weight: 700;
  font-size: clamp(20px, 3.2vw, 34px);
  line-height: 1.2;
}

/* paragraphs */
.error-404 p {
  margin: 0 0 10px 0;
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.7;
}

.error-404 .d-flex {
  margin-top: clamp(18px, 3vw, 28px);
}

@media (max-width: 420px) {
  .error-404 .d-flex.gap-4 { gap: 0.75rem !important; }
}
#cartIcon {
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    background: var(--primary-color); 
    border-radius: 32px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    padding: 20px;
    z-index: 9999;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
#cartIcon:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 18px rgba(0,0,0,0.2);
}
.cart-icon-link svg{
    width: 3rem;
    height: 3rem;
}
.cart-icon-link{
    display: flex;
    align-items: center;
    gap: 1rem;
}
.cart-icon-wrp{
    display: flex;
    flex-direction: column;
    color: var(--white);
}
.cart-icon-price{ 
    font-size: 1.5rem;
    font-weight: 700;
}
.form-check-input.is-invalid~.form-check-label{ color: var(--black);}

.cc-badges{ display:flex; flex-wrap:wrap; gap:8px; }
.cc-badge{ background:#f5f7f9; border:1px solid #eef1f4; border-radius:999px; padding:6px 10px; font-size:.875rem; }

.cc-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
@media (max-width: 992px){ .cc-grid{ grid-template-columns: 1fr; } }

.cc-label{ margin:0 0 .25rem; font-size:.85rem; color:#6c757d; }
.cc-value{ margin:0; font-weight:600; }
.cc-muted{ margin:0; color:#6c757d; font-size:.9rem; }
.cc-sep{ border:0; border-top:1px dashed #e9ecef; margin:12px 0; }

.cc-item{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px dashed #e9ecef; }
.cc-item:last-child{ border-bottom:none; }
.cc-item-left{ display:flex; align-items:center; gap:12px; }
.cc-thumb{ width:72px; height:72px; border-radius:12px; overflow:hidden; background:#f8f9fa; display:flex; align-items:center; justify-content:center; }
.cc-thumb img{ width:100%; height:100%; object-fit:cover; }
.cc-item-title{ margin:0 0 2px; font-weight:600; }
.cc-item-right{ display:flex; align-items:center; gap:12px; }
.cc-line-price{ font-weight:700; white-space:nowrap; }
.cc-remove img{ width:20px; height:20px; opacity:.8; transition:opacity .15s ease; }
.cc-remove:hover img{ opacity:1; }

.cc-item-wide {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px dashed #e9ecef;
  width: 100%;
}

.cc-item-wide:last-child {
  border-bottom: none;
}

.cc-item-text {
  flex: 1;
}

.cc-thumb-large {
  width: 140px;
  height: 140px;
  flex-shrink: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #f8f9fa;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cc-thumb-large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cc-item-title {
  margin: 0 0 4px;
  font-weight: 600;
  font-size: 1.05rem;
  color: #1A1F1B;
}

.cc-item-title a {
  margin: 0 0 4px;
  font-weight: 600;
  font-size: 1.05rem;
  color: #1A1F1B;
}

.cc-muted {
  margin: 0 0 6px;
  color: #6c757d;
  font-size: 0.9rem;
}

.cc-line-price {
  font-weight: 700;
  font-size: 1rem;
  margin: 0;
}

.cart-card-checkout {
    display: flex;
    margin-top: 20px;
    border-top: 1px solid rgba(86, 86, 86, 0.2);
}

.cart-card-checkout:first-child {
    margin-top: 0;
    border-top: none;
}

.cart-content-checkout {
    gap: 10px;
    padding: 24px;
    border-radius: 32px;
    background: #F3F5F9;
}

.cart-card-wrp.checkout{
    margin-top: 20px;   
}

/* sekcia a karta */
.ty-section{ padding: clamp(28px, 6vw, 64px) 0; }
.ty-card{
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(17,24,39,.06);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  border-radius: 28px;
  padding: clamp(20px, 4vw, 40px);
}

/* titulky v brand gradiente */
.ty-titlebar{ margin-bottom: clamp(10px, 2.4vw, 22px); }
.ty-eyebrow{
  margin:0 0 6px; font-weight:600; color: var(--g4t-muted); letter-spacing:.02em;
}
.ty-title{
  margin:0; font-weight:800; line-height:1.05; letter-spacing:-.02em;
  font-size: clamp(26px, 4vw, 40px);
  background: var(--g4t-grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* upozornenie a texty */
.ty-alert{ max-width: 680px; margin-left:auto; margin-right:auto; border-radius: 14px; }
.ty-lead{ max-width: 720px; margin: 8px auto 0; line-height:1.7; }

/* tabuľka v štýle zvyšku */
.ty-orderbox{ max-width: 760px; }
.ty-table{ margin:0; border-radius:16px; overflow:hidden; }
.ty-table th{
  width: 40%; background:#f7f9fb; color:#344054; font-weight:600;
}
.ty-table td, .ty-table th{ padding:14px 16px; border-color: var(--g4t-border) !important; }

/* status pille */
.ty-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 12px; border-radius: 999px; font-weight:600; font-size:.95rem;
  border:1px solid var(--g4t-border); background:#f8fafb; color:#495057;
}
.ty-pill.is-paid{ border-color: rgba(25,162,124,.18); background: rgba(25,162,124,.08); color:#1c7f64; }
.ty-pill.is-unpaid{ border-color: rgba(220,53,69,.18); background: rgba(220,53,69,.08); color:#a23a45; }
.ty-pill.is-warn{ border-color: rgba(255,193,7,.22); background: rgba(255,193,7,.10); color:#8a6d00; }

/* tlačidlo – len jemné zlepšenie */
.ty-btn{
  min-width:220px; border-radius:999px; padding:12px 20px;
  box-shadow: 0 8px 20px rgba(20,130,101,.20); transition:.15s ease;
}
.ty-btn:hover{ transform: translateY(-1px); box-shadow: 0 12px 26px rgba(20,130,101,.24); }

/* drobnosti */
.ty-footnote{ color: var(--g4t-muted); margin: 16px 0 16px; }
.signature{ font-weight:600; color: var(--g4t-text); }


