/* Skinel — lightweight Bootstrap-class compatibility layer for
   not-yet-redesigned pages (checkout steps, account, forms).
   Reuses design tokens from theme.css. No Bootstrap framework loaded. */

.container { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }

.breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; color: var(--muted); padding: 18px 0; list-style: none; margin: 0; background: transparent; }
.breadcrumb li { display: flex; align-items: center; gap: 8px; }
.breadcrumb li:not(:last-child)::after { content: "/"; opacity: .5; margin-left: 8px; }
.breadcrumb a:hover { color: var(--brand); }
#checkout-checkout h1, #checkout-cart h1 { font-family: "Spectral", Georgia, serif; font-size: clamp(28px,4vw,44px); margin: 6px 0 30px; }

.row { display: flex; flex-wrap: wrap; margin: 0 -12px; }
.row > [class^="col-"] { padding: 0 12px; box-sizing: border-box; }
.col-sm-1 { width: 8.33%; } .col-sm-2 { width: 16.66%; } .col-sm-3 { width: 25%; }
.col-sm-4 { width: 33.33%; } .col-sm-5 { width: 41.66%; } .col-sm-6 { width: 50%; }
.col-sm-7 { width: 58.33%; } .col-sm-8 { width: 66.66%; } .col-sm-9 { width: 75%; }
.col-sm-10 { width: 83.33%; } .col-sm-11 { width: 91.66%; } .col-sm-12 { width: 100%; }
@media (max-width: 640px) {
  .row > [class^="col-"] { width: 100%; }
}

.form-group { margin-bottom: 16px; }
.control-label { display: block; font-size: 13.5px; font-weight: 600; margin-bottom: 7px; }
.form-control, .form-control:focus {
  width: 100%; height: 50px; border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: 0 14px; background: #fff; font: inherit; transition: border-color .2s, box-shadow .2s;
}
textarea.form-control { height: 110px; padding: 12px 14px; resize: vertical; }
.form-control:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(20,69,60,.12); }
select.form-control { appearance: auto; }
.input-group { display: flex; }
.input-group .form-control { border-radius: var(--r-sm) 0 0 var(--r-sm); }
.input-group-btn .btn, .input-group-btn { border-radius: 0 var(--r-sm) var(--r-sm) 0; }

.radio, .checkbox { display: block; margin-bottom: 10px; }
.radio label, .checkbox label { display: flex; align-items: center; gap: 10px; font-weight: 500; font-size: 14.5px; cursor: pointer; }
.radio input, .checkbox input { width: 18px; height: 18px; accent-color: var(--brand); }

.has-error .form-control { border-color: var(--sale); }
.text-danger { color: var(--sale); font-size: 13px; margin-top: 4px; }

.alert { padding: 14px 18px; border-radius: var(--r); margin-bottom: 16px; font-size: 14px; position: relative; }
.alert-danger, .alert-warning { background: #fdecea; color: #7a1f1f; }
.alert-success { background: var(--brand-soft); color: var(--brand); }
.alert-dismissible { padding-right: 40px; }
.alert .close { position: absolute; right: 12px; top: 10px; background: none; border: 0; font-size: 18px; line-height: 1; cursor: pointer; color: inherit; opacity: .6; }
.alert .close:hover { opacity: 1; }

/* Accordion panels -> numbered step cards */
#accordion { counter-reset: skinel-step; }
.panel { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-lg); padding: 26px; margin-bottom: 18px; }
.panel-heading { padding: 0; border: 0; background: transparent; margin-bottom: 4px; }
.panel-title { font-size: 19px; font-weight: 600; display: flex; align-items: center; gap: 12px; counter-increment: skinel-step; }
.panel-title::before {
  content: counter(skinel-step); width: 30px; height: 30px; border-radius: 50%; background: var(--brand); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; flex: none;
}
.panel-title a { color: inherit; }
.panel-title .fa-caret-down { display: none; }
.panel-collapse.collapse { display: block !important; height: auto !important; }
.panel-collapse { margin-top: 14px; }
.panel-body { padding: 0; }

.btn-block { width: 100%; }
.close { background: none; border: 0; }

.table { width: 100%; border-collapse: collapse; margin: 6px 0 20px; font-size: 14.5px; }
.table th, .table td { padding: 12px 10px; text-align: left; }
.table-bordered th, .table-bordered td { border: 1px solid var(--line-2); }
.table-hover tbody tr:hover { background: var(--sand-2); }
.text-left { text-align: left; }
.text-right { text-align: right; }
.table-responsive { overflow-x: auto; }

.buttons { display: flex; justify-content: flex-end; margin-top: 20px; }
.pull-right { margin-left: auto; }
.well { background: var(--sand-2); border: 1px solid var(--line); border-radius: var(--r); padding: 18px; margin: 16px 0; }
.well-sm { padding: 12px 16px; }
.label { display: inline-block; padding: 3px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; color: #fff; background: var(--muted); }
.label-info { background: var(--new); }
