/* =========================================================
   V158 checkout: mode-aware details + reusable e-invoice
   ========================================================= */
.checkout-panel-head-v158{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.checkout-panel-head-v158>div{display:grid;gap:3px;}
.checkout-panel-head-v158 span,
.checkout-invoice-v158 .asset-section-title>div>span{
  color:#b45a29;
  font-size:10px;
  font-weight:950;
  letter-spacing:.14em;
}
.checkout-panel-head-v158 h2{margin:0;font-size:22px;}
.checkout-panel-head-v158>a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border:1px solid #dfc5a8;
  border-radius:10px;
  color:#8f4324;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.checkout-mode-detail-v158{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-top:14px;
  overflow:hidden;
  border:1px solid #ead8c5;
  border-radius:13px;
  background:#ead8c5;
}
.checkout-mode-row-v158{
  min-width:0;
  display:grid;
  align-content:start;
  gap:5px;
  padding:13px 15px;
  background:#fffaf4;
}
.checkout-mode-row-v158.is-wide{grid-column:1 / -1;}
.checkout-mode-row-v158>span{color:#967662;font-size:11px;font-weight:900;}
.checkout-mode-row-v158>strong{color:#2b201a;font-size:14px;line-height:1.55;overflow-wrap:anywhere;}
.checkout-mode-row-v158.is-missing>strong{color:#b74b31;}

.checkout-invoice-v158{display:grid;gap:15px;}
.invoice-profile-row-v158{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  padding:14px;
  border:1px solid #ead8c5;
  border-radius:12px;
  background:#fffaf4;
}
.invoice-profile-row-v158 label,
.invoice-fields-v158 label,
.invoice-save-v158>label{
  min-width:0;
  display:grid;
  gap:7px;
  color:#57443a;
  font-size:12px;
  font-weight:900;
}
.invoice-profile-row-v158 select,
.invoice-fields-v158 input,
.invoice-fields-v158 select,
.invoice-save-v158 input[type="text"]{
  width:100%;
  min-height:46px;
  padding:0 13px;
  border:1px solid #d9c5b0;
  border-radius:9px;
  background:#fffdf9;
  color:#30231d;
  font:inherit;
  font-size:15px;
  outline:none;
}
.invoice-profile-row-v158 select:focus,
.invoice-fields-v158 input:focus,
.invoice-fields-v158 select:focus,
.invoice-save-v158 input[type="text"]:focus{
  border-color:#c66b35;
  box-shadow:0 0 0 3px rgba(198,107,53,.11);
}
.invoice-profile-row-v158 button{
  min-height:46px;
  padding:0 13px;
  border:1px solid #e2b8aa;
  border-radius:9px;
  background:#fff8f5;
  color:#a23c2c;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.invoice-type-grid-v158{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.invoice-type-grid-v158 label{position:relative;min-width:0;cursor:pointer;}
.invoice-type-grid-v158 input{position:absolute;opacity:0;pointer-events:none;}
.invoice-type-grid-v158 label>span{
  min-height:70px;
  display:grid;
  align-content:center;
  gap:4px;
  padding:12px 14px 12px 42px;
  border:1px solid #dfcbb7;
  border-radius:11px;
  background:#fffdf9;
}
.invoice-type-grid-v158 label>span::before{
  content:"";
  position:absolute;
  left:15px;
  top:50%;
  width:15px;
  height:15px;
  border:2px solid #c7ad95;
  border-radius:50%;
  transform:translateY(-50%);
}
.invoice-type-grid-v158 input:checked+span{
  border-color:#c96830;
  background:#fff5e9;
  box-shadow:0 0 0 2px rgba(201,104,48,.08);
}
.invoice-type-grid-v158 input:checked+span::before{
  border-color:#c96830;
  box-shadow:inset 0 0 0 4px #fff5e9;
  background:#c96830;
}
.invoice-type-grid-v158 strong{color:#31251e;font-size:14px;}
.invoice-type-grid-v158 small{color:#8b7465;font-size:11px;line-height:1.45;}
.invoice-fields-v158{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:15px;
  border-left:3px solid #cf733c;
  background:#fff9f1;
}
.invoice-fields-v158[hidden]{display:none !important;}
.invoice-fields-v158 label:only-child{grid-column:1 / -1;}
.invoice-fields-v158 label>span em{color:#b6402c;font-size:10px;font-style:normal;}
.invoice-save-v158{
  display:grid;
  gap:12px;
  padding:14px 15px;
  border-top:1px dashed #dec5aa;
  background:#fffdf9;
}
.invoice-save-toggle-v158{
  grid-template-columns:42px minmax(0,1fr) !important;
  align-items:center;
  gap:10px !important;
  cursor:pointer;
}
.invoice-save-toggle-v158 input{position:absolute;opacity:0;pointer-events:none;}
.invoice-save-toggle-v158>span{
  position:relative;
  width:42px;
  height:24px;
  border-radius:24px;
  background:#cfc2b7;
  transition:.18s ease;
}
.invoice-save-toggle-v158>span::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(62,42,30,.2);
  transition:.18s ease;
}
.invoice-save-toggle-v158 input:checked+span{background:#c96830;}
.invoice-save-toggle-v158 input:checked+span::after{transform:translateX(18px);}
.invoice-save-toggle-v158 input:focus-visible+span{outline:3px solid rgba(201,104,48,.22);outline-offset:2px;}
.invoice-save-toggle-v158>strong{font-size:13px;line-height:1.5;}
.checkout-summary-card-v152 [data-checkout-invoice-summary]{max-width:180px;text-align:right;line-height:1.4;}

@media (max-width:620px){
  .checkout-panel-head-v158{align-items:center;}
  .checkout-panel-head-v158 h2{font-size:20px;}
  .checkout-panel-head-v158>a{min-height:36px;padding:0 10px;font-size:12px;}
  .checkout-mode-detail-v158{grid-template-columns:1fr;}
  .checkout-mode-row-v158.is-wide{grid-column:auto;}
  .invoice-profile-row-v158{grid-template-columns:1fr;}
  .invoice-profile-row-v158 button{width:100%;}
  .invoice-type-grid-v158{grid-template-columns:1fr;}
  .invoice-type-grid-v158 label>span{min-height:62px;}
  .invoice-fields-v158{grid-template-columns:1fr;padding:13px;}
  .invoice-fields-v158 label:only-child{grid-column:auto;}
  .checkout-summary-card-v152 [data-checkout-invoice-summary]{max-width:145px;}
}

@media (prefers-reduced-motion:reduce){
  .invoice-save-toggle-v158>span,
  .invoice-save-toggle-v158>span::after{transition:none;}
}
