:root {
--mc-green:        #3d7a2e;
--mc-green-light:  #5aaa46;
--mc-green-dark:   #2a5620;
--mc-green-bg:     #f0f9eb;
--mc-bark:         #7c5c1e;
--mc-bark-light:   #c49a45;
--mc-white:        #ffffff;
--mc-bg:           #f8f6f2;
--mc-border:       #dde8d6;
--mc-text:         #1a1a1a;
--mc-text-muted:   #6b7280;
--mc-radius:       14px;
--mc-radius-sm:    8px;
--mc-shadow:       0 4px 24px rgba(0, 0, 0, 0.08);
--mc-shadow-sm:    0 2px 8px rgba(0, 0, 0, 0.06);
--mc-transition:   0.2s ease;
--mc-font:         -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
} .mc-wrap {
font-family:    var(--mc-font);
color:          var(--mc-text);
background:     var(--mc-white);
border-radius:  var(--mc-radius);
box-shadow:     var(--mc-shadow);
width:          100%;
max-width:      680px;
margin:         0 auto;
overflow:       hidden;
box-sizing:     border-box;
} .mc-header {
display:         flex;
align-items:     center;
gap:             16px;
padding:         28px 32px;
background:      linear-gradient(135deg, #2a5620 0%, #4a8a38 60%, #5aaa46 100%);
color:           var(--mc-white);
}
.mc-header__icon {
font-size:       40px;
line-height:     1;
flex-shrink:     0;
}
.mc-header__title {
margin:          0 0 4px;
font-size:       22px;
font-weight:     700;
color:           var(--mc-white);
line-height:     1.2;
}
.mc-header__sub {
margin:          0;
font-size:       14px;
color:           rgba(255,255,255,0.8);
} .mc-section {
padding:         24px 32px;
border-bottom:   1px solid var(--mc-border);
transition:      opacity var(--mc-transition), transform var(--mc-transition);
}
.mc-section:last-of-type {
border-bottom: none;
}
.mc-section--hidden {
display: none;
}
.mc-section__label {
display:         flex;
align-items:     center;
gap:             10px;
font-size:       15px;
font-weight:     600;
color:           var(--mc-text);
margin-bottom:   16px;
}
.mc-step-badge {
display:         inline-flex;
align-items:     center;
justify-content: center;
width:           26px;
height:          26px;
border-radius:   50%;
background:      var(--mc-green);
color:           var(--mc-white);
font-size:       12px;
font-weight:     700;
flex-shrink:     0;
} .mc-qty-layout {
display: flex;
gap:     28px;
align-items: flex-start;
}
.mc-qty-left {
flex-shrink: 0;
}
.mc-qty-right {
flex: 1;
min-width: 0;
}
@media (max-width: 540px) {
.mc-qty-layout {
flex-direction: column;
gap: 12px;
}
} .mc-qty-wrap {
display:         flex;
align-items:     center;
gap:             12px;
margin-bottom:   8px;
}
.mc-qty-btn {
width:           44px;
height:          44px;
border-radius:   50%;
border:          2px solid var(--mc-green);
background:      transparent;
color:           var(--mc-green);
font-size:       22px;
line-height:     1;
cursor:          pointer;
transition:      background var(--mc-transition), color var(--mc-transition);
display:         flex;
align-items:     center;
justify-content: center;
}
.mc-qty-btn:hover {
background: var(--mc-green);
color:      var(--mc-white);
}
.mc-qty-btn:active,
.mc-qty-btn:focus {
outline:    none;
background: var(--mc-green);
color:      var(--mc-white);
}
.mc-qty-input-wrap {
display:     flex;
align-items: center;
gap:         6px;
flex:        1;
min-width:   0;
max-width:   160px;
}
.mc-qty-input {
width:           100%;
border:          2px solid var(--mc-border);
border-radius:   var(--mc-radius-sm);
padding:         10px 12px;
font-size:       20px;
font-weight:     700;
text-align:      center;
color:           var(--mc-text);
font-family:     var(--mc-font);
transition:      border-color var(--mc-transition);
-moz-appearance: textfield;
appearance:      textfield;
}
.mc-qty-input::-webkit-outer-spin-button,
.mc-qty-input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
.mc-qty-input:focus {
outline:      none;
border-color: var(--mc-green);
}
.mc-qty-unit {
font-size:   16px;
font-weight: 600;
color:       var(--mc-text-muted);
}
.mc-qty-hint {
font-size:    13px;
color:        #dc2626;
min-height:   20px;
margin-bottom: 8px;
} .mc-presets {
display:       flex;
flex-wrap:     nowrap;
gap:           6px;
margin-bottom: 10px;
padding-top:   4px;
}
@media (max-width: 540px) {
.mc-presets {
flex-wrap: wrap;
}
}
.mc-preset-btn {
padding:       5px 10px;
border:        1.5px solid var(--mc-border);
border-radius: 20px;
background:    transparent;
color:         var(--mc-text-muted);
font-size:     12px;
font-weight:   500;
cursor:        pointer;
transition:    all var(--mc-transition);
font-family:   var(--mc-font);
white-space:   nowrap;
}
.mc-preset-btn:hover,
.mc-preset-btn:active,
.mc-preset-btn:focus,
.mc-preset-btn.mc-preset-btn--active {
border-color: var(--mc-green);
color:        var(--mc-green);
background:   var(--mc-green-bg);
outline:      none;
} .mc-discount-badges {
display:   flex;
flex-wrap: wrap;
gap:       8px;
min-height: 28px;
}
.mc-badge {
display:       inline-flex;
align-items:   center;
gap:           4px;
padding:       4px 10px;
border-radius: 20px;
font-size:     12px;
font-weight:   600;
background:    #fef9c3;
color:         #854d0e;
border:        1px solid #fde047;
}
.mc-badge--active {
background: #dcfce7;
color:      #15803d;
border-color: #86efac;
} .mc-toggle-group {
display:               grid;
grid-template-columns: 1fr 1fr;
gap:                   12px;
}
.mc-toggle {
display:        flex;
flex-direction: column;
align-items:    center;
gap:            4px;
padding:        16px 12px;
border:         2px solid var(--mc-border);
border-radius:  var(--mc-radius);
background:     transparent;
cursor:         pointer;
transition:     all var(--mc-transition);
font-family:    var(--mc-font);
text-align:     center;
}
.mc-toggle:hover {
border-color: var(--mc-green-light);
background:   var(--mc-green-bg);
}
.mc-toggle:active,
.mc-toggle:focus {
background: var(--mc-green-bg);
outline:    none;
}
.mc-toggle:focus-visible {
outline:        2px solid var(--mc-green);
outline-offset: 2px;
}
.mc-toggle--active,
.mc-toggle--active:hover,
.mc-toggle--active:focus,
.mc-toggle--active:active {
border-color: var(--mc-green) !important;
background:   var(--mc-green-bg) !important;
box-shadow:   0 0 0 3px rgba(90,170,70,0.15) !important;
outline:      none;
}
.mc-toggle__icon {
font-size: 26px;
line-height: 1;
}
.mc-toggle__title {
font-size:   14px;
font-weight: 600;
color:       var(--mc-text);
}
.mc-toggle__price {
font-size:   13px;
color:       var(--mc-text-muted);
font-weight: 500;
}
.mc-toggle--active .mc-toggle__price {
color: var(--mc-green-dark);
} .mc-address-search-row {
display:     flex;
gap:         10px;
align-items: stretch;
}
.mc-address-search-row .mc-input {
flex: 1;
}
.mc-address-search-row .mc-btn-secondary {
white-space: nowrap;
flex-shrink: 0;
} .mc-address-autofill {
margin-bottom: 12px;
}
.mc-address-autofill__grid {
display:               grid;
grid-template-columns: 2fr 1fr 1fr;
gap:                   10px;
padding:               14px 16px;
background:            var(--mc-green-bg);
border:                1px solid var(--mc-border);
border-radius:         var(--mc-radius-sm);
}
@media (max-width: 540px) {
.mc-address-autofill__grid {
grid-template-columns: 1fr 1fr;
}
.mc-address-autofill__grid .mc-input-wrap:first-child {
grid-column: 1 / -1;
}
}
.mc-input--autofill {
background:  #f0f7eb !important;
color:       var(--mc-green-dark) !important;
font-weight: 600 !important;
cursor:      default;
} .mc-psc-row {
display:     flex;
gap:         12px;
align-items: flex-end;
flex-wrap:   wrap;
}
.mc-psc-row .mc-input-wrap {
flex: 1;
min-width: 140px;
}
.mc-psc-status {
margin-top: 8px;
font-size:  13px;
min-height: 20px;
}
.mc-psc-status--ok    { color: #15803d; }
.mc-psc-status--error { color: #dc2626; }
.mc-psc-status--info  { color: var(--mc-text-muted); }
.mc-delivery-breakdown {
margin-top: 12px;
padding:    12px 16px;
background: var(--mc-green-bg);
border:     1px solid var(--mc-border);
border-radius: var(--mc-radius-sm);
font-size:  13px;
color:      var(--mc-text-muted);
}
.mc-delivery-breakdown strong {
color: var(--mc-green-dark);
} .mc-input-wrap {
display: flex;
flex-direction: column;
gap: 6px;
}
.mc-label {
font-size:   13px;
font-weight: 600;
color:       var(--mc-text);
}
.mc-label-hint {
font-weight: 400;
color:       var(--mc-text-muted);
}
.mc-required {
color: #dc2626;
}
.mc-input {
padding:       10px 14px;
border:        1.5px solid var(--mc-border);
border-radius: var(--mc-radius-sm);
font-size:     16px;
font-family:   var(--mc-font);
color:         var(--mc-text);
background:    var(--mc-white);
transition:    border-color var(--mc-transition), box-shadow var(--mc-transition);
width:         100%;
box-sizing:    border-box;
}
.mc-input:focus {
outline:      none;
border-color: var(--mc-green);
box-shadow:   0 0 0 3px rgba(90,170,70,0.12);
}
.mc-input.mc-input--error {
border-color: #dc2626;
box-shadow:   0 0 0 3px rgba(220,38,38,0.12);
}
.mc-field-error {
font-size:  12px;
color:      #dc2626;
font-weight: 500;
margin-top: -2px;
}
.mc-textarea {
resize:   vertical;
min-height: 80px;
}
.mc-input-unit-wrap {
display:     flex;
align-items: center;
}
.mc-input-unit-wrap .mc-input {
border-radius: var(--mc-radius-sm) 0 0 var(--mc-radius-sm);
}
.mc-input-unit {
padding:         10px 14px;
background:      #f1f5f9;
border:          1.5px solid var(--mc-border);
border-left:     none;
border-radius:   0 var(--mc-radius-sm) var(--mc-radius-sm) 0;
font-size:       14px;
color:           var(--mc-text-muted);
font-weight:     500;
white-space:     nowrap;
} .mc-summary {
margin:     0 32px 8px;
padding:    20px;
background: var(--mc-bg);
border:     1.5px solid var(--mc-border);
border-radius: var(--mc-radius);
}
.mc-summary__rows {
display:        flex;
flex-direction: column;
gap:            8px;
margin-bottom:  12px;
}
.mc-summary__row {
display:         flex;
justify-content: space-between;
align-items:     center;
font-size:       14px;
color:           var(--mc-text-muted);
}
.mc-summary__row--discount span:last-child {
color: #15803d;
font-weight: 600;
}
.mc-summary__total {
display:         flex;
justify-content: space-between;
align-items:     center;
padding-top:     12px;
border-top:      2px solid var(--mc-border);
font-size:       20px;
font-weight:     700;
color:           var(--mc-text);
}
.mc-summary__total span:last-child {
color: var(--mc-green-dark);
}
.mc-summary__vat {
margin:    8px 0 0;
font-size: 11px;
color:     var(--mc-text-muted);
text-align: right;
} .mc-form-grid {
display:               grid;
grid-template-columns: 1fr 1fr;
gap:                   16px;
margin-bottom:         20px;
}
.mc-col-full {
grid-column: 1 / -1;
} .mc-wrap .mc-btn-primary,
.mc-wrap button.mc-btn-primary {
display:         inline-flex !important;
align-items:     center !important;
justify-content: center !important;
gap:             8px;
padding:         16px 40px !important;
background:      linear-gradient(135deg, #2a5620 0%, #4a8a38 60%, #5aaa46 100%) !important;
background-color: #3d7a2e !important;
color:           #ffffff !important;
border:          none !important;
border-radius:   8px !important;
font-size:       17px !important;
font-weight:     700 !important;
font-family:     var(--mc-font) !important;
letter-spacing:  0.01em;
cursor:          pointer !important;
transition:      all 0.2s ease !important;
box-shadow:      0 4px 16px rgba(42,86,32,0.5), 0 1px 3px rgba(0,0,0,0.15) !important;
text-shadow:     0 1px 2px rgba(0,0,0,0.25) !important;
min-width:       200px;
opacity:         1 !important;
filter:          none !important;
}
.mc-wrap .mc-btn-primary:hover:not(:disabled),
.mc-wrap button.mc-btn-primary:hover:not(:disabled) {
background:      linear-gradient(135deg, #1e3f18 0%, #3d7a2e 60%, #4a9a38 100%) !important;
background-color: #3d7a2e !important;
color:           #ffffff !important;
transform:       translateY(-2px) !important;
box-shadow:      0 8px 24px rgba(42,86,32,0.55), 0 2px 6px rgba(0,0,0,0.15) !important;
}
.mc-wrap .mc-btn-primary:active:not(:disabled),
.mc-wrap button.mc-btn-primary:active:not(:disabled) {
transform:  translateY(0) !important;
box-shadow: 0 3px 10px rgba(42,86,32,0.4) !important;
}
.mc-wrap .mc-btn-primary:disabled,
.mc-wrap button.mc-btn-primary:disabled {
opacity:    0.4 !important;
cursor:     not-allowed !important;
box-shadow: none !important;
transform:  none !important;
}
.mc-btn-secondary {
padding:       10px 20px;
border:        1.5px solid var(--mc-green);
border-radius: var(--mc-radius-sm);
background:    transparent;
color:         var(--mc-green);
font-size:     14px;
font-weight:   600;
font-family:   var(--mc-font);
cursor:        pointer;
transition:    all var(--mc-transition);
white-space:   nowrap;
}
.mc-btn-secondary:hover {
background: var(--mc-green-bg);
} .mc-form-footer {
display:        flex;
flex-direction: column;
align-items:    flex-start;
gap:            12px;
margin-top:     24px;
padding-top:    20px;
border-top:     1px solid var(--mc-border);
}
.mc-form-gdpr {
font-size: 12px;
color:     var(--mc-text-muted);
margin:    0;
} .mc-success {
padding:    40px 32px;
text-align: center;
}
.mc-success__icon {
font-size:     52px;
margin-bottom: 16px;
}
.mc-success__title {
font-size:     22px;
font-weight:   700;
color:         var(--mc-green-dark);
margin:        0 0 8px;
}
.mc-success__msg {
font-size: 15px;
color:     var(--mc-text-muted);
margin:    0;
} .mc-error-msg {
margin:     0 32px 16px;
padding:    12px 16px;
background: #fef2f2;
border:     1px solid #fca5a5;
border-radius: var(--mc-radius-sm);
color:      #dc2626;
font-size:  14px;
} .mc-tabs {
display:    flex;
border-bottom: 2px solid var(--mc-border);
background: #e8ede4;
}
.mc-tab {
flex:            1;
padding:         14px 16px;
border:          none;
background:      transparent;
font-size:       14px;
font-weight:     600;
font-family:     var(--mc-font);
color:           var(--mc-text-muted);
cursor:          pointer;
transition:      all var(--mc-transition);
border-bottom:   3px solid transparent;
margin-bottom:   -2px;
opacity:         0.65;
}
.mc-tab:hover {
color:      var(--mc-text);
background: rgba(255,255,255,0.5);
opacity:    0.85;
}
.mc-tab--active {
color:               var(--mc-green-dark);
border-bottom-color: var(--mc-green);
background:          var(--mc-white);
opacity:             1;
box-shadow:          inset 0 2px 0 var(--mc-green);
} .mc-area-grid {
display:               grid;
grid-template-columns: 1fr 1fr 1fr;
gap:                   16px;
margin-bottom:         20px;
}
@media (max-width: 480px) {
.mc-area-grid { grid-template-columns: 1fr 1fr; }
}
.mc-area-result {
padding:       20px;
background:    var(--mc-green-bg);
border:        1.5px solid var(--mc-border);
border-radius: var(--mc-radius);
margin-top:    4px;
}
.mc-area-result__row {
display:         flex;
justify-content: space-between;
align-items:     center;
padding:         6px 0;
font-size:       14px;
color:           var(--mc-text-muted);
border-bottom:   1px solid var(--mc-border);
}
.mc-area-result__row:last-of-type { border-bottom: none; }
.mc-area-result__row--total {
font-size:   18px;
font-weight: 700;
color:       var(--mc-green-dark);
padding-top: 12px;
margin-top:  4px;
}
.mc-area-result__row--total strong {
color: var(--mc-green-dark);
font-size: 22px;
}
.mc-btn-use-kg {
width:      100%;
margin-top: 16px;
font-size:  15px;
} .mc-open-btn {
display:         inline-flex;
align-items:     center;
gap:             10px;
padding:         14px 28px;
background:      linear-gradient(135deg, var(--mc-green-dark), var(--mc-green));
color:           var(--mc-white);
border:          none;
border-radius:   var(--mc-radius);
font-size:       16px;
font-weight:     600;
font-family:     var(--mc-font);
cursor:          pointer;
box-shadow:      0 4px 14px rgba(61,122,46,0.35);
transition:      all var(--mc-transition);
}
.mc-open-btn:hover {
transform:  translateY(-2px);
box-shadow: 0 6px 20px rgba(61,122,46,0.45);
}
.mc-open-btn:active,
.mc-open-btn:focus { outline: none; background: linear-gradient(135deg, var(--mc-green-dark), var(--mc-green)); }
.mc-open-btn__icon { font-size: 20px; }
.mc-open-btn__arrow {
font-size:  12px;
margin-left: auto;
transition: transform var(--mc-transition);
}
.mc-open-btn[aria-expanded="true"] .mc-open-btn__arrow {
transform: rotate(180deg);
} .mc-accordion-wrap { width: 100%; }
.mc-accordion-body {
margin-top: 12px;
animation:  mc-slide-down 0.25s ease;
}
@keyframes mc-slide-down {
from { opacity: 0; transform: translateY(-8px); }
to   { opacity: 1; transform: translateY(0); }
} .mc-popup-overlay {
position:   fixed;
inset:      0;
background: rgba(0,0,0,0.55);
z-index:    99999;
display:    flex;
align-items: center;
justify-content: center;
padding:    16px;
animation:  mc-fade-in 0.2s ease;
}
@keyframes mc-fade-in {
from { opacity: 0; }
to   { opacity: 1; }
}
.mc-popup-inner {
position:   relative;
width:      100%;
max-width:  680px;
max-height: 90vh;
overflow-y: auto;
border-radius: var(--mc-radius);
animation:  mc-pop-in 0.25s ease;
}
@keyframes mc-pop-in {
from { opacity: 0; transform: scale(0.96) translateY(10px); }
to   { opacity: 1; transform: scale(1) translateY(0); }
}
.mc-popup-close {
position:    absolute;
top:         12px;
right:       12px;
z-index:     10;
width:       32px;
height:      32px;
border:      none;
border-radius: 50%;
background:  rgba(255,255,255,0.9);
color:       var(--mc-text);
font-size:   16px;
cursor:      pointer;
display:     flex;
align-items: center;
justify-content: center;
box-shadow:  0 2px 8px rgba(0,0,0,0.15);
transition:  background var(--mc-transition);
}
.mc-popup-close:hover { background: #fff; } .mc-hidden { display: none !important; } .mc-billing-details {
margin: 16px 0 0;
border: 1px solid var(--mc-border);
border-radius: 10px;
overflow: hidden;
}
.mc-billing-summary {
display: flex;
align-items: center;
gap: 8px;
padding: 12px 16px;
cursor: pointer;
font-size: 14px;
font-weight: 600;
color: var(--mc-text);
background: #f8fafc;
user-select: none;
list-style: none;
}
.mc-billing-summary::-webkit-details-marker { display: none; }
.mc-billing-summary::after {
content: '▾';
margin-left: auto;
color: var(--mc-muted);
transition: transform .2s;
}
.mc-billing-details[open] .mc-billing-summary::after {
transform: rotate(-180deg);
}
.mc-billing-summary__icon { font-size: 16px; }
.mc-billing-summary__hint {
font-size: 12px;
font-weight: 400;
color: var(--mc-muted);
}
.mc-billing-fields {
padding: 16px;
border-top: 1px solid var(--mc-border);
background: #fff;
} .mc-summary__row--vat {
color: var(--mc-text-muted);
font-size: 13px;
}
.mc-summary__total--ex-vat {
font-size: 15px;
font-weight: 600;
border-top: none;
padding-top: 0;
color: var(--mc-text-muted);
} .mc-product-row {
display:         flex;
align-items:     center;
gap:             12px;
padding:         14px 16px;
border:          1px solid var(--mc-border);
border-radius:   var(--mc-radius-sm);
background:      var(--mc-bg);
margin-bottom:   10px;
}
.mc-product-row:last-of-type {
margin-bottom: 0;
}
.mc-product-info {
display:     flex;
align-items: center;
gap:         10px;
flex:        1;
min-width:   0;
}
.mc-product-icon {
font-size:   26px;
line-height: 1;
flex-shrink: 0;
}
.mc-product-img {
width:         56px;
height:        44px;
object-fit:    cover;
border-radius: 6px;
flex-shrink:   0;
display:       block;
}
.mc-product-details {
display:        flex;
flex-direction: column;
gap:            2px;
}
.mc-product-name {
font-size:   15px;
font-weight: 600;
color:       var(--mc-text);
}
.mc-product-price {
font-size:   12px;
color:       var(--mc-text-muted);
}
.mc-product-subtotal {
font-size:   14px;
font-weight: 700;
color:       var(--mc-green-dark);
white-space: nowrap;
min-width:   80px;
text-align:  right;
} .mc-capacity {
margin-top:   16px;
padding:      14px 16px;
background:   var(--mc-green-bg);
border:       1px solid var(--mc-border);
border-radius: var(--mc-radius-sm);
}
.mc-capacity__bar-wrap {
display:     flex;
align-items: center;
gap:         10px;
margin-bottom: 8px;
}
.mc-capacity__bar {
flex:            1;
height:          8px;
background:      #dde8d6;
border-radius:   999px;
overflow:        hidden;
}
.mc-cap-fill {
height:          100%;
border-radius:   999px;
background:      var(--mc-green-light);
transition:      width 0.25s ease, background 0.2s;
}
.mc-cap-fill--warn {
background: #e6a817;
}
.mc-cap-fill--over {
background: #d9534f;
}
.mc-capacity__text {
font-size:   13px;
font-weight: 600;
color:       var(--mc-text-muted);
white-space: nowrap;
}
.mc-capacity__info {
font-size:  12px;
color:      var(--mc-text-muted);
line-height: 1.5;
}
.mc-capacity__warning {
margin-top:       8px;
padding:          10px 12px;
background:       #fef2f2;
border:           1px solid #fca5a5;
border-radius:    var(--mc-radius-sm);
font-size:        13px;
font-weight:      600;
color:            #b91c1c;
line-height:      1.5;
} .mc-area-order-info {
margin-top:    10px;
padding:       10px 14px;
background:    #fffbeb;
border:        1px solid #fde68a;
border-radius: var(--mc-radius-sm);
font-size:     13px;
color:         #92400e;
line-height:   1.5;
}
.mc-area-order-info strong {
color: #78350f;
} .mc-area-actions {
margin-top:  12px;
display:     flex;
flex-wrap:   wrap;
align-items: center;
gap:         8px;
}
.mc-area-actions__label {
font-size:   13px;
color:       var(--mc-text-muted);
margin:      0;
flex-basis:  100%;
}
.mc-btn-use-bark,
.mc-btn-use-chips {
flex: 1;
min-width: 140px;
} @media (max-width: 560px) {
.mc-header         { padding: 20px 20px; }
.mc-header__title  { font-size: 18px; }
.mc-section        { padding: 20px 20px; }
.mc-summary        { margin: 0 20px 8px; }
.mc-form-grid      { grid-template-columns: 1fr; }
.mc-toggle-group   { grid-template-columns: 1fr; }
.mc-error-msg      { margin: 0 20px 16px; }
.mc-success        { padding: 30px 20px; }
.mc-product-row    { flex-wrap: wrap; }
.mc-product-info   { flex-basis: 100%; }
.mc-product-subtotal { text-align: left; min-width: auto; }
}
@media (max-width: 420px) {
.mc-header         { padding: 16px; }
.mc-header__title  { font-size: 16px; }
.mc-section        { padding: 16px; }
.mc-summary        { margin: 0 12px 8px; }
.mc-error-msg      { margin: 0 12px 16px; }
.mc-qty-btn {
width:     36px;
height:    36px;
font-size: 18px;
}
.mc-qty-wrap       { gap: 8px; }
.mc-qty-input      { font-size: 17px; padding: 8px 6px; }
.mc-qty-input-wrap { max-width: 120px; }
.mc-address-autofill__grid {
grid-template-columns: 1fr;
padding: 10px 12px;
}
.mc-address-autofill__grid .mc-input-wrap:first-child {
grid-column: auto;
}
.mc-area-grid { grid-template-columns: 1fr; }
} .mc-floating-wrap {
position: static;
}
@keyframes mc-fab-pulse {
0%   { box-shadow: 0 4px 22px rgba(61,122,46,0.45), 0 0 0 0   rgba(90,170,70,0.5); }
70%  { box-shadow: 0 4px 22px rgba(61,122,46,0.45), 0 0 0 14px rgba(90,170,70,0); }
100% { box-shadow: 0 4px 22px rgba(61,122,46,0.45), 0 0 0 0   rgba(90,170,70,0); }
}
.mc-floating-fab {
position:      fixed !important;
bottom:        28px;
right:         28px;
z-index:       99999 !important;
display:       flex !important;
align-items:   center;
gap:           10px;
padding:       14px 22px;
background:    linear-gradient(135deg, var(--mc-green-dark) 0%, var(--mc-green) 100%) !important;
color:         #fff !important;
border:        none !important;
border-radius: 50px !important;
font-size:     15px !important;
font-weight:   700 !important;
font-family:   var(--mc-font) !important;
text-transform: none !important;
letter-spacing: normal !important;
cursor:        pointer;
box-shadow:    0 4px 22px rgba(61,122,46,0.45);
animation:     mc-fab-pulse 2.2s ease-out 1.5s 3;
transition:    transform .2s ease, box-shadow .2s ease;
white-space:   nowrap;
text-decoration: none !important;
line-height:   1.2 !important;
}
.mc-floating-fab:hover {
transform:  translateY(-3px);
box-shadow: 0 8px 28px rgba(61,122,46,0.55);
animation:  none;
}
.mc-floating-fab:active,
.mc-floating-fab:focus {
outline:    none;
background: linear-gradient(135deg, var(--mc-green-dark), var(--mc-green));
animation:  none;
}
.mc-floating-fab__icon {
font-size:   22px;
line-height: 1;
flex-shrink: 0;
} @media (max-width: 768px) {
.mc-floating-fab {
bottom:    unset;
top:       15px;
right:     calc(5% + 63px);
left:      auto;
padding:   11px 16px;
font-size: 14px;
} .mc-floating-fab.mc-fab--wide {
left:             10px;
justify-content:  center;
}
.mc-floating-fab__icon { font-size: 18px; }
} @media (max-width: 480px) {
.mc-floating-fab {
bottom:    unset;
top:       15px;
right:     calc(5% + 63px);
left:      auto;
padding:   10px 14px;
font-size: 13px;
gap:       7px;
}
.mc-floating-fab.mc-fab--wide {
left:             10px;
justify-content:  center;
}
.mc-floating-fab__icon { font-size: 17px; }
}