.debrifree-calc-wrapper {
  --paper: #f2efe6;
  --ink: #111;
  --muted: #555;
  --border: rgba(0,0,0,.22);
  --shadow: rgba(0,0,0,.12);
  background: #ded8c9;
  color: var(--ink);
}
.debrifree-calc-wrapper * { box-sizing: border-box; }
.debrifree-calc-wrapper .page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px;
}
.debrifree-calc-wrapper .header,
.debrifree-calc-wrapper .panel {
  background: var(--paper);
  border: 2px solid var(--ink);
  box-shadow: 0 6px 18px var(--shadow);
}
.debrifree-calc-wrapper .header { padding: 18px; }
.debrifree-calc-wrapper .brand-top {
  font-weight: 900;
  letter-spacing: 2px;
  font-size: 28px;
}
.debrifree-calc-wrapper .brand-sub {
  font-size: 14px;
  color: var(--muted);
  margin-top: 4px;
}
.debrifree-calc-wrapper .tagline {
  margin-top: 10px;
  font-size: 16px;
  border-top: 1px solid var(--border);
  padding-top: 10px;
}
.debrifree-calc-wrapper .grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 16px;
  margin-top: 16px;
}
.debrifree-calc-wrapper .panel { padding: 16px; }
.debrifree-calc-wrapper h2 {
  margin: 0 0 14px 0;
  font-size: 20px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 10px;
}
.debrifree-calc-wrapper h3 {
  margin: 18px 0 10px 0;
  font-size: 16px;
}
.debrifree-calc-wrapper .form-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}
.debrifree-calc-wrapper .form-row.short {
  max-width: 180px;
}
.debrifree-calc-wrapper label {
  font-size: 13px;
  color: var(--muted);
}
.debrifree-calc-wrapper input {
  padding: 10px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.7);
  outline: none;
  font-size: 14px;
}
.debrifree-calc-wrapper .dims-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}
.debrifree-calc-wrapper .dim-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.debrifree-calc-wrapper .actions {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}
.debrifree-calc-wrapper .btn {
  padding: 10px 12px;
  border: 2px solid var(--ink);
  background: transparent;
  cursor: pointer;
  font-weight: 700;
  transition: all 0.3s ease;
}
.debrifree-calc-wrapper .btn.primary {
  background: var(--ink);
  color: var(--paper);
}
.debrifree-calc-wrapper .stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.debrifree-calc-wrapper .stat {
  border: 1px solid var(--border);
  padding: 10px;
}
.debrifree-calc-wrapper .stat.big {
  grid-column: span 2;
  border: 2px solid var(--ink);
}
.debrifree-calc-wrapper .stat.highlight {
  background: rgba(0,0,0,.04);
}
.debrifree-calc-wrapper .stat-label {
  font-size: 12px;
  color: var(--muted);
}
.debrifree-calc-wrapper .stat-value {
  margin-top: 6px;
  font-size: 20px;
  font-weight: 800;
}
.debrifree-calc-wrapper .bar-wrap { margin-top: 16px; }
.debrifree-calc-wrapper .bar-labels {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 6px;
}
.debrifree-calc-wrapper .bar-bg {
  position: relative;
  height: 28px;
  border: 2px solid var(--ink);
  background: rgba(255,255,255,.55);
  overflow: hidden;
}
.debrifree-calc-wrapper .bar-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0%;
  background: var(--ink);
  transition: width .25s ease;
}
.debrifree-calc-wrapper .bar-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(0,0,0,.35);
}
.debrifree-calc-wrapper .bar-line.l1 { left: 25%; }
.debrifree-calc-wrapper .bar-line.l2 { left: 50%; }
.debrifree-calc-wrapper .bar-line.l3 { left: 75%; }
.debrifree-calc-wrapper .explain-box {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.35);
  line-height: 1.5;
}
.debrifree-calc-wrapper .table-wrap {
  border: 1px solid var(--border);
  overflow: auto;
  max-height: 260px;
}
.debrifree-calc-wrapper table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.debrifree-calc-wrapper th,
.debrifree-calc-wrapper td {
  padding: 10px;
  border-bottom: 1px solid var(--border);
}
.debrifree-calc-wrapper th {
  text-align: left;
  font-size: 12px;
  color: var(--muted);
  background: rgba(0,0,0,.03);
}
.debrifree-calc-wrapper .empty-row td {
  text-align: center;
  color: var(--muted);
  font-style: italic;
}
.debrifree-calc-wrapper .remove {
  border: 1px solid var(--ink);
  background: transparent;
  cursor: pointer;
  padding: 6px 10px;
  font-weight: 800;
}
.debrifree-calc-wrapper .footer {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
}
@media (max-width:900px){
  .debrifree-calc-wrapper .grid { grid-template-columns: 1fr; }
  .debrifree-calc-wrapper .dims-row { grid-template-columns: 1fr; }
  .debrifree-calc-wrapper .contact-grid { grid-template-columns: 1fr; }
}

/* ── Contact Form ─────────────────────────────────── */
.debrifree-calc-wrapper .contact-divider {
  border-top: 1px solid var(--border);
  margin: 20px 0 16px 0;
}
.debrifree-calc-wrapper .contact-heading {
  margin: 0 0 6px 0;
  font-size: 16px;
  font-weight: 800;
}
.debrifree-calc-wrapper .contact-panel { margin-top: 16px; }
.debrifree-calc-wrapper .contact-intro {
  margin: 0 0 18px 0;
  font-size: 14px;
  color: var(--muted);
}
.debrifree-calc-wrapper .contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.debrifree-calc-wrapper .req { color: #b00; }
.debrifree-calc-wrapper .contact-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}
.debrifree-calc-wrapper .form-success {
  margin-top: 14px;
  padding: 12px 16px;
  border: 2px solid var(--ink);
  background: rgba(0,0,0,.04);
  font-weight: 700;
  font-size: 14px;
}
.debrifree-calc-wrapper .form-error {
  margin-top: 14px;
  padding: 12px 16px;
  border: 2px solid #a00;
  background: rgba(170,0,0,.06);
  color: #a00;
  font-weight: 700;
  font-size: 14px;
}




/* ── Moving Products Widget ─────────────────────── */

.moving-products-wrapper {
    background-color: #FAF5E9;
    padding: 60px 20px;
    box-sizing: border-box;
}

/* ── Tabs ─── */
.moving-products-wrapper .mp-tabs-container {
    display: flex;
    justify-content: center;
    margin: 0 0 50px 0;
}

.moving-products-wrapper .mp-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 0;
    padding: 10px 12px;
    list-style: none;
    border: 1.5px solid #000;
    background: transparent;
}

.moving-products-wrapper .mp-tab-btn {
    appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    background: #fff;
    color: #000;
    border: 1.5px solid #000;
    padding: 10px 22px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 0;
    line-height: 1;
    transition: background 0.2s, color 0.2s;
}

.moving-products-wrapper .mp-tab-btn:hover {
    background: #f5f5f5;
}

.moving-products-wrapper .mp-tab-btn.mp-tab-active {
    background: #A11217;
    color: #fff;
    border-color: #000;
}

/* ── Product Grid ─── */
.moving-products-wrapper .mp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 40px;
    max-width: 1100px;
    margin: 0 auto;
}

/* ── Product Card ─── */
.moving-products-wrapper .mp-product-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.moving-products-wrapper .mp-prod-title {
    font-size: 24px;
    font-weight: 900;
    color: #000;
    margin: 0 0 6px;
    line-height: 1.2;
    text-transform: uppercase;
}

.moving-products-wrapper .mp-prod-dims {
    font-size: 18px;
    font-weight: 400;
    color: #555;
    margin: 0 0 18px;
}
.moving-products-wrapper .mp-prod-dims p {
    margin: 0;
}

.moving-products-wrapper .mp-prod-img {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    min-height: 180px;
}

.moving-products-wrapper .mp-prod-img img {
    max-width: 100%;
    max-height: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.moving-products-wrapper .mp-prod-price {
    font-size: 22px;
    font-weight: 800;
    color: #000;
    margin: 0 0 18px;
}

/* ── Quantity Selector ─── */
.moving-products-wrapper .mp-qty-selector {
    display: inline-flex;
    flex-direction: row;
    align-items: stretch;
    background: transparent;
    margin: 0 0 20px;
    height: 44px;
    border: none;
}

.moving-products-wrapper .mp-qty-btn {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 1px solid #000;
    border-radius: 0;
    width: 38px;
    height: 44px;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    flex-shrink: 0;
}

.moving-products-wrapper .mp-qty-btn:hover {
    background: #f5f5f5;
}

.moving-products-wrapper .mp-minus {
    border-right: none;
}

.moving-products-wrapper .mp-minus.disabled {
    border-color: #bbb;
    color: #bbb;
    cursor: default;
}

.moving-products-wrapper .mp-minus.disabled:hover {
    background: transparent;
}

.moving-products-wrapper .mp-plus {
    border-left: none;
}

.moving-products-wrapper .mp-qty-input {
    width: 48px;
    border: 1px solid #000;
    text-align: center;
    font-weight: 700;
    font-size: 17px;
    height: 44px;
    outline: none;
    background: transparent;
    margin: 0;
    padding: 0;
    color: #000;
    -moz-appearance: textfield;
}

.moving-products-wrapper .mp-qty-input::-webkit-inner-spin-button,
.moving-products-wrapper .mp-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ── Add to Move Button ─── */
.moving-products-wrapper .mp-add-btn {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 100%;
    background: #A11217;
    color: #fff;
    border: 1.5px solid #000;
    border-radius: 0;
    padding: 14px 10px;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 4px 4px 0 #000;
    position: relative;
    top: 0;
    transition: top 0.08s, left 0.08s, box-shadow 0.08s;
    line-height: 1;
}

.moving-products-wrapper .mp-add-btn:active {
    top: 4px;
    left: 4px;
    box-shadow: 0 0 0 #000;
}

.moving-products-wrapper .mp-add-btn:disabled {
    opacity: 0.7;
    cursor: default;
}

/* Hide WooCommerce default "View cart" link that appears after AJAX add */
.moving-products-wrapper .added_to_cart {
    display: none !important;
}

/* ── Responsive ─── */
@media (max-width: 991px) {
    .moving-products-wrapper .mp-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 50px 30px;
    }
}

@media (max-width: 600px) {
    .moving-products-wrapper .mp-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .moving-products-wrapper .mp-tab-btn {
        font-size: 12px;
        padding: 8px 14px;
    }
}
