/* =====================================================
   Aliscon Kurv — Cart Drawer v1.2.0
   Fonts: Albert Sans + Inter
===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root {
  --akv-primary:      #DB8C28;
  --akv-primary-dk:   #D1701E;
  --akv-primary-lt:   #FEF3E2;
  --akv-navy:         #00192F;
  --akv-navy-lt:      #EEF2F6;
  --akv-bg:           #F3F2F0;
  --akv-white:        #FFFFFF;
  --akv-text:         #00192F;
  --akv-muted:        #5A6875;
  --akv-border:       #DDD9D2;
  --akv-radius:       16px;
  --akv-radius-sm:    10px;
  --akv-font-head:    'Albert Sans',-apple-system,sans-serif;
  --akv-font-body:    'Inter',-apple-system,sans-serif;
  --akv-shadow:       0 8px 40px rgba(0,25,47,0.16);
  --akv-w:            400px;
}

/* ── Floating Button ── */
#akv-fab {
  position:fixed; top:20px; right:24px; z-index:9980;
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  background:var(--akv-primary); color:#fff; border:none; border-radius:30px;
  padding:0 16px 0 13px; height:40px; cursor:pointer;
  box-shadow:0 3px 16px rgba(219,140,40,0.4);
  transition:background .2s, transform .2s, box-shadow .2s;
  user-select:none; outline:none; font-family:var(--akv-font-head); font-size:14px; font-weight:700;
  line-height:1;
}
#akv-fab:hover  { background:var(--akv-primary-dk); transform:translateY(-1px); box-shadow:0 5px 22px rgba(209,112,30,0.5); }
#akv-fab:active { transform:translateY(0); }
#akv-fab svg    { width:17px; height:17px; pointer-events:none; flex-shrink:0; }
#akv-fab .akv-fab-label { line-height:1; }
.akv-fab-count {
  min-width:20px; height:20px; border-radius:10px; background:#fff;
  color:var(--akv-primary); font-size:11px; font-weight:800;
  font-family:var(--akv-font-head); display:inline-flex; align-items:center;
  justify-content:center; padding:0 5px; line-height:1; pointer-events:none;
}

/* ── Overlay ── */
#akv-overlay {
  position:fixed; inset:0; background:rgba(0,25,47,0.45); z-index:9981;
  opacity:0; pointer-events:none; transition:opacity .28s ease;
}
#akv-overlay.open { opacity:1; pointer-events:auto; }

/* ── Drawer ── */
#akv-drawer {
  position:fixed; top:0; right:0; bottom:0; width:var(--akv-w); max-width:95vw;
  background:var(--akv-white); z-index:9982; display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .32s cubic-bezier(.4,0,.2,1);
  box-shadow:var(--akv-shadow); font-family:var(--akv-font-body);
}
#akv-drawer.open { transform:translateX(0); }

/* ── Head ── */
.akv-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 24px 18px; border-bottom:1.5px solid var(--akv-border);
  flex-shrink:0; gap:12px; background:var(--akv-primary-lt); border-bottom:2px solid rgba(219,140,40,0.2);
}
.akv-title {
  font-size:17px; font-weight:800; color:var(--akv-navy); margin:0;
  display:flex; align-items:center; gap:9px; font-family:var(--akv-font-head);
}
.akv-title svg { width:17px; height:17px; color:var(--akv-primary); flex-shrink:0; }
.akv-head-count {
  font-size:12px; font-weight:600; color:var(--akv-primary-dk);
  background:rgba(219,140,40,0.15); border-radius:20px; padding:3px 9px;
  font-family:var(--akv-font-head);
}
#akv-close {
  width:32px; height:32px; min-width:32px; border-radius:50%;
  border:1.5px solid var(--akv-border); background:transparent;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:background .18s; padding:0;
}
#akv-close svg { width:13px; height:13px; color:var(--akv-navy); display:block; }
#akv-close:hover { background:var(--akv-primary-lt); border-color:var(--akv-primary); }

/* ── Body ── */
.akv-body { flex:1; overflow-y:auto; padding:18px 22px; }

/* Tom kurv */
.akv-empty {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; padding:56px 20px; text-align:center;
}
.akv-empty svg { width:54px; height:54px; opacity:.2; color:var(--akv-navy); }
.akv-empty p { font-size:15px; font-weight:700; color:var(--akv-navy); margin:0; font-family:var(--akv-font-head); }
.akv-empty-sub { font-size:13px !important; color:var(--akv-muted) !important; font-weight:400 !important; font-family:var(--akv-font-body) !important; }

/* Kursus-item */
.akv-item {
  background:var(--akv-bg); border:1.5px solid var(--akv-border);
  border-radius:var(--akv-radius-sm); padding:16px 18px; margin-bottom:12px;
  transition:border-color .18s;
}
.akv-item:last-child { margin-bottom:0; }
.akv-item:hover { border-color:var(--akv-primary); }
.akv-item__top { margin-bottom:10px; }
.akv-item__date {
  display:flex; align-items:center; gap:5px; font-size:12px;
  font-weight:700; color:var(--akv-primary-dk); margin-bottom:5px;
  font-family:var(--akv-font-head);
}
.akv-item__date svg { width:12px; height:12px; }
.akv-item__name {
  font-size:15px; font-weight:800; color:var(--akv-navy);
  text-decoration:none; line-height:1.3; display:block;
  font-family:var(--akv-font-head);
}
.akv-item__name:hover { color:var(--akv-primary); }
.akv-item__tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:12px; }
.akv-tag {
  display:inline-flex; align-items:center; gap:3px; padding:3px 9px;
  background:var(--akv-white); border:1.5px solid var(--akv-border);
  border-radius:20px; font-size:11px; color:var(--akv-muted); font-weight:500;
  font-family:var(--akv-font-body);
}
.akv-tag svg { width:10px; height:10px; }
.akv-tag--loc { color:var(--akv-primary-dk); background:var(--akv-primary-lt); border-color:rgba(219,140,40,0.3); font-weight:600; }
.akv-tag--kat { color:var(--akv-navy); background:var(--akv-navy-lt); border-color:rgba(0,25,47,0.15); font-weight:600; }
.akv-item__bottom {
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid var(--akv-border); padding-top:10px;
}
.akv-item__price { font-size:15px; font-weight:800; color:var(--akv-navy); font-family:var(--akv-font-head); }
.akv-item__price .woocommerce-Price-amount { font-size:inherit !important; font-weight:inherit !important; color:inherit !important; }
.akv-item__remove {
  display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:500;
  color:var(--akv-muted); text-decoration:none; padding:4px 8px; border-radius:6px;
  transition:background .15s, color .15s; font-family:var(--akv-font-body);
}
.akv-item__remove svg { width:12px; height:12px; }
.akv-item__remove:hover { background:#FEE2E2; color:#DC2626; }

/* ── Foot ── */
.akv-foot { padding:16px 22px 22px; border-top:1.5px solid var(--akv-border); flex-shrink:0; }
.akv-deposit {
  background:var(--akv-primary-lt); border:1.5px solid rgba(219,140,40,0.3);
  border-radius:var(--akv-radius-sm); padding:12px 14px; margin-bottom:14px;
}
.akv-deposit strong {
  display:block; font-size:11px; font-weight:700; color:var(--akv-primary-dk);
  text-transform:uppercase; letter-spacing:.07em; margin-bottom:5px;
  font-family:var(--akv-font-head);
}
.akv-deposit p { font-size:12px; color:#6B3E0A; line-height:1.55; margin:0; font-family:var(--akv-font-body); }
.akv-deposit p strong { display:inline; font-size:inherit; text-transform:none; letter-spacing:0; color:var(--akv-primary-dk); font-weight:700; }
.akv-btn-checkout {
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  background:var(--akv-primary); color:#fff !important; text-decoration:none !important;
  border-radius:var(--akv-radius-sm); padding:14px 20px; font-size:15px; font-weight:700;
  font-family:var(--akv-font-head); transition:background .18s, transform .18s;
  letter-spacing:.02em;
}
.akv-btn-checkout svg { width:16px; height:16px; }
.akv-btn-checkout:hover { background:var(--akv-primary-dk); transform:translateY(-1px); color:#fff !important; }

/* ── Responsive ── */
@media (max-width:480px) {
  :root { --akv-w:100vw; }
  #akv-fab { top:12px; right:12px; padding:8px 14px 8px 10px; font-size:13px; }
}

/* Tom kurv — Find kurser knap */
.akv-empty-knap {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--akv-primary); color: #fff !important;
  text-decoration: none; border-radius: var(--akv-radius-sm);
  padding: 11px 20px; font-size: 14px; font-weight: 700;
  font-family: var(--akv-font-head);
  transition: background .18s, transform .18s;
  margin-top: 4px;
}
.akv-empty-knap svg { width: 15px; height: 15px; }
.akv-empty-knap:hover { background: var(--akv-primary-dk); transform: translateY(-1px); color: #fff !important; }
