/* ============================================================
   HøjdeRensen — Kurv / tilbudsflow (delt CSS)
============================================================ */

/* Cart icon in header */
.cart-link{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; color:#fff;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16);
  transition:background .15s ease;
}
.cart-link:hover{background:rgba(255,255,255,0.16);}
.cart-link svg{width:18px; height:18px; stroke:#fff;}
.cart-badge{
  position:absolute; top:-6px; right:-6px; min-width:18px; height:18px; padding:0 4px;
  background:var(--steel-300, #a9c1e3); color:var(--navy-950, #0c1526);
  border-radius:10px; font-size:11px; font-weight:800; line-height:18px; text-align:center;
  font-family:var(--font-mono); display:none;
}
.cart-badge.show{display:block;}

/* Service picker grid (forside) */
.service-picker{
  background:#fff; border-radius:10px; padding:32px; box-shadow:var(--shadow-lift);
  color:var(--ink); display:flex; flex-direction:column; height:100%;
}
.service-picker h3{font-size:19px; color:var(--navy-900);}
.service-picker > p{margin-top:8px; font-size:14px; color:var(--muted); line-height:1.55;}
.service-picker-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; flex:1;
}
.service-picker-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:8px; justify-content:center;
  border:1px solid var(--line-strong); border-radius:6px; padding:18px 16px;
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease; min-height:104px;
}
.service-picker-card:hover{border-color:var(--navy-900); transform:translateY(-2px); box-shadow:0 10px 22px rgba(12,21,38,0.1);}
.service-picker-card .sp-icon{color:var(--navy-900);}
.service-picker-card span.sp-name{font-family:var(--font-display); font-weight:700; font-size:15px; color:var(--navy-900);}
.service-picker-card span.sp-sub{font-size:12px; color:var(--muted);}

/* Package selection on service pages */
.pkg-select-btn{cursor:pointer; border:none;}
.pkg-card.is-chosen{
  border-color:var(--navy-900) !important; box-shadow:0 10px 28px rgba(12,21,38,0.18) !important; position:relative;
}
.pkg-card.is-chosen::after{
  content:'✓ Valgt'; position:absolute; top:14px; right:14px; background:#d8ecd4; color:#2f5b1f;
  font-size:13px; font-weight:700; padding:7px 14px; border-radius:20px; font-family:var(--font-mono);
  letter-spacing:0.02em; box-shadow:0 4px 10px rgba(12,21,38,0.12); z-index:3;
}
.pkg-card.is-chosen.is-featured::after{background:#d8ecd4; color:#2f5b1f;}
.addon-box.is-chosen{
  border-color:var(--navy-900) !important; box-shadow:0 10px 28px rgba(12,21,38,0.18) !important; position:relative;
}
.addon-box.is-chosen::after{
  content:'✓ Valgt'; position:absolute; top:14px; right:14px; background:#d8ecd4; color:#2f5b1f;
  font-size:13px; font-weight:700; padding:7px 14px; border-radius:20px; font-family:var(--font-mono);
  letter-spacing:0.02em; box-shadow:0 4px 10px rgba(12,21,38,0.12);
}

.pkg-select-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:150;
  background:var(--navy-950); border-top:1px solid rgba(255,255,255,0.14);
  transform:translateY(100%); transition:transform .3s cubic-bezier(.2,.7,.3,1);
  box-shadow:0 -10px 30px rgba(0,0,0,0.2);
}
.pkg-select-close{
  position:absolute; top:-14px; right:16px; width:28px; height:28px; border-radius:50%;
  background:var(--navy-950); border:1px solid rgba(255,255,255,0.2); color:#fff;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.pkg-select-close:hover{background:#1a2740;}
.pkg-select-bar.show{transform:translateY(0);}
.pkg-select-bar-inner{
  display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 40px;
}
@media (max-width:640px){ .pkg-select-bar-inner{padding:14px 20px; flex-wrap:wrap;} }
.pkg-select-info{display:flex; flex-direction:column; gap:2px; min-width:0;}
.pkg-select-addon{
  display:flex; align-items:center; gap:12px; margin-top:8px; flex-wrap:wrap;
}
.pkg-addon-check{
  display:flex; align-items:center; gap:7px; font-size:12.5px; color:rgba(255,255,255,0.85); cursor:pointer;
}
.pkg-addon-check input{width:auto; cursor:pointer;}
.pkg-addon-height{
  font-size:12.5px; padding:5px 8px; border-radius:4px; border:1px solid rgba(255,255,255,0.25);
  background:rgba(255,255,255,0.08); color:#fff;
}
.pkg-addon-height option{color:var(--ink);}
.pkg-select-label{font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:rgba(255,255,255,0.55);}
.pkg-select-name{font-size:15px; font-weight:700; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pkg-cart-btn{
  display:inline-flex; align-items:center; gap:9px; flex-shrink:0;
  background:#fff; color:var(--navy-900); border:none; border-radius:4px; padding:12px 22px;
  font-size:14.5px; font-weight:700; cursor:pointer; transition:background .15s ease;
}
.pkg-cart-btn:hover{background:var(--steel-300, #a9c1e3);}
.pkg-cart-btn svg{flex-shrink:0;}

.erhverv-quote-btn{display:inline-flex; align-items:center; gap:10px;}

/* ============================================================
   Cart page
============================================================ */
.cart-page-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:44px; align-items:start;}
@media (max-width:900px){ .cart-page-grid{grid-template-columns:1fr;} }
.cart-empty{text-align:center; padding:60px 20px; color:var(--muted);}
.cart-empty svg{color:var(--steel-400); margin-bottom:16px;}
.cart-item{
  background:#fff; border:1px solid var(--line-strong); border-radius:8px; padding:22px 24px;
  margin-bottom:14px; position:relative;
}
.cart-item-service{font-family:var(--font-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.04em; color:var(--muted);}
.cart-item-name{font-family:var(--font-display); font-size:19px; font-weight:700; color:var(--navy-900); margin-top:4px;}
.cart-item-price{font-size:14.5px; color:var(--muted); margin-top:6px;}
.cart-item-remove{
  position:absolute; top:16px; right:16px; display:inline-flex; align-items:center; gap:6px;
  background:none; border:1px solid var(--line-strong); border-radius:4px; padding:7px 11px;
  font-size:12.5px; color:#8a2e26; cursor:pointer; transition:border-color .15s ease, background .15s ease;
}
.cart-item-remove:hover{border-color:#8a2e26; background:#fbeceb;}
.cart-form-card{background:#fff; border-radius:10px; padding:32px; box-shadow:var(--shadow-lift);}
.cart-form-card h3{font-size:19px; color:var(--navy-900);}
.cart-form-card > p{margin-top:8px; font-size:14px; color:var(--muted); line-height:1.55;}
.cart-summary-line{
  display:flex; justify-content:space-between; align-items:center; padding:14px 0;
  border-top:1px solid var(--line-strong); margin-top:6px; font-size:13.5px; color:var(--muted);
}

/* Confirm dialog */
.confirm-overlay{
  position:fixed; inset:0; z-index:300; background:rgba(12,21,38,0.55); display:none;
  align-items:center; justify-content:center; padding:20px;
}
.confirm-overlay.show{display:flex;}
.confirm-box{background:#fff; border-radius:10px; padding:30px 30px 26px; max-width:420px; width:100%; box-shadow:var(--shadow-lift);}
.confirm-box h4{font-size:18px; color:var(--navy-900);}
.confirm-box p{margin-top:10px; font-size:14px; color:var(--muted); line-height:1.6;}
.confirm-box-actions{display:flex; gap:12px; margin-top:22px;}
.confirm-box-actions .btn{flex:1; justify-content:center;}

/* Success animation */
.success-overlay{
  position:fixed; inset:0; z-index:320; background:rgba(12,21,38,0.85); display:none;
  align-items:center; justify-content:center; padding:20px; flex-direction:column; text-align:center;
}
.success-overlay.show{display:flex;}
.success-check{
  width:96px; height:96px; border-radius:50%; background:#2f5b1f; display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 0 rgba(80,180,90,0.5);
  animation:successPulse 1.1s ease-out;
}
.success-check svg{width:48px; height:48px;}
.success-check svg path{
  stroke-dasharray:48; stroke-dashoffset:48;
  animation:successDraw .5s ease-out .35s forwards;
}
@keyframes successPulse{
  0%{ transform:scale(0.6); box-shadow:0 0 0 0 rgba(80,180,90,0.6); }
  55%{ transform:scale(1.08); box-shadow:0 0 0 22px rgba(80,180,90,0); }
  100%{ transform:scale(1); box-shadow:0 0 0 0 rgba(80,180,90,0); }
}
@keyframes successDraw{ to{ stroke-dashoffset:0; } }
.success-text{margin-top:26px; color:#fff; max-width:360px;}
.success-text h3{font-size:22px; color:#fff; font-family:var(--font-display);}
.success-text p{margin-top:10px; font-size:15px; color:rgba(255,255,255,0.75); line-height:1.6;}
