/* =========================================================================
 * Moleano checkout skin for WooCommerce
 * Loaded only on the checkout / order-received pages (body.moleano-skin).
 * Restyles the native checkout to match the Moleano storefront. The checkout
 * ENGINE is untouched — this is presentation only.
 * ========================================================================= */

/* ---- Fonts (served locally from the plugin) --------------------------- */
@font-face{font-family:'Raleway';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/raleway-500.woff2) format('woff2');}
@font-face{font-family:'Raleway';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/raleway-600.woff2) format('woff2');}
@font-face{font-family:'Raleway';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/raleway-700.woff2) format('woff2');}
@font-face{font-family:'Raleway';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/raleway-800.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-400.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-500.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-600.woff2) format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-700.woff2) format('woff2');}

/* ---- Tokens ----------------------------------------------------------- */
body.moleano-skin{
  --obsidian:#0A0A0A; --panel:#12141A; --panel-2:#171A21; --silver:#C7CCD4;
  --silver-dim:#8A9099; --white:#F4F6F9; --blue:#4FA9FF; --blue-deep:#2B6FD6;
  --blue-glow:rgba(79,169,255,.35); --green:#22c07a;
  --line:rgba(199,204,212,.12); --line-soft:rgba(199,204,212,.06);
  --radius:14px; --radius-sm:10px;
  --font-display:"Raleway",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;

  background:var(--obsidian) !important;
  color:var(--silver);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
}

/* Give the checkout content room to breathe and centre it. */
body.moleano-skin .woocommerce,
body.moleano-skin .wc-block-checkout,
body.moleano-skin .wp-block-woocommerce-checkout,
body.moleano-skin .entry-content,
body.moleano-skin .site-main,
body.moleano-skin main{
  color:var(--silver);
}

body.moleano-skin h1,
body.moleano-skin h2,
body.moleano-skin h3,
body.moleano-skin h4{
  font-family:var(--font-display);
  color:var(--white);
  letter-spacing:.01em;
}

body.moleano-skin a{ color:var(--blue); }
body.moleano-skin a:hover{ color:#7bc0ff; }

/* ======================================================================= */
/*  CLASSIC (shortcode) CHECKOUT                                           */
/* ======================================================================= */

/* Column cards */
body.moleano-skin #customer_details .col-1,
body.moleano-skin #customer_details .col-2,
body.moleano-skin #order_review,
body.moleano-skin .woocommerce-checkout #payment{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px 24px;
}
body.moleano-skin #customer_details{ margin-bottom:26px; }
body.moleano-skin #order_review{ margin-top:0; }

/* Section headings */
body.moleano-skin .woocommerce-billing-fields h3,
body.moleano-skin .woocommerce-shipping-fields h3,
body.moleano-skin .woocommerce-additional-fields h3,
body.moleano-skin #order_review_heading{
  font-family:var(--font-display);
  font-weight:800;
  color:var(--white);
  font-size:18px;
  letter-spacing:.02em;
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}

/* Labels */
body.moleano-skin .woocommerce form .form-row label,
body.moleano-skin .woocommerce-checkout label{
  color:var(--silver);
  font-size:13px;
  font-weight:500;
  margin-bottom:6px;
}
body.moleano-skin .required{ color:var(--blue); border:0; }

/* Inputs / selects / textareas */
body.moleano-skin .woocommerce form .form-row input.input-text,
body.moleano-skin .woocommerce form .form-row textarea,
body.moleano-skin .woocommerce-checkout input[type=text],
body.moleano-skin .woocommerce-checkout input[type=email],
body.moleano-skin .woocommerce-checkout input[type=tel],
body.moleano-skin .woocommerce-checkout input[type=password],
body.moleano-skin .woocommerce-checkout textarea,
body.moleano-skin .select2-container--default .select2-selection--single,
body.moleano-skin .woocommerce-checkout select{
  background:var(--obsidian) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius-sm) !important;
  color:var(--white) !important;
  font-family:var(--font-body) !important;
  font-size:15px !important;
  padding:13px 15px !important;
  line-height:1.4 !important;
  box-shadow:none !important;
  transition:border-color .15s, box-shadow .15s;
}
body.moleano-skin .select2-container--default .select2-selection--single{
  height:auto !important; display:flex; align-items:center;
}
body.moleano-skin .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--white) !important; line-height:1.4 !important; padding:0 !important;
}
body.moleano-skin .woocommerce form .form-row input.input-text::placeholder,
body.moleano-skin .woocommerce-checkout textarea::placeholder{ color:var(--silver-dim); }

body.moleano-skin .woocommerce form .form-row input.input-text:focus,
body.moleano-skin .woocommerce form .form-row textarea:focus,
body.moleano-skin .woocommerce-checkout select:focus,
body.moleano-skin .select2-container--default.select2-container--focus .select2-selection--single{
  outline:none !important;
  border-color:var(--blue) !important;
  box-shadow:0 0 0 3px var(--blue-glow) !important;
}

/* select2 dropdown */
body.moleano-skin .select2-dropdown{
  background:var(--panel-2); border:1px solid var(--line); color:var(--silver);
}
body.moleano-skin .select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:var(--blue-deep); color:#fff;
}

/* Order review table */
body.moleano-skin .woocommerce-checkout-review-order-table,
body.moleano-skin .woocommerce-checkout-review-order-table thead th,
body.moleano-skin .woocommerce-checkout-review-order-table td,
body.moleano-skin .woocommerce-checkout-review-order-table tfoot th,
body.moleano-skin .woocommerce-checkout-review-order-table tr{
  background:transparent !important;
  color:var(--silver);
  border-color:var(--line-soft) !important;
}
body.moleano-skin .woocommerce-checkout-review-order-table th{ color:var(--white); font-family:var(--font-display); }
body.moleano-skin .woocommerce-checkout-review-order-table .order-total .amount,
body.moleano-skin .woocommerce-checkout-review-order-table .amount{ color:var(--white); }
body.moleano-skin .woocommerce-checkout-review-order-table .order-total th,
body.moleano-skin .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount{
  color:var(--white); font-size:18px;
}

/* Payment box */
body.moleano-skin #payment .wc_payment_methods li{ list-style:none; }
body.moleano-skin #payment .payment_box{
  background:var(--panel-2) !important;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  color:var(--silver);
}
body.moleano-skin #payment .payment_box::before{ display:none; }
body.moleano-skin #payment div.form-row{ padding:16px 0; }
body.moleano-skin #payment .woocommerce-privacy-policy-text,
body.moleano-skin #payment .woocommerce-terms-and-conditions-wrapper{ color:var(--silver-dim); }

/* Coupon / notices */
body.moleano-skin .woocommerce-form-coupon-toggle .woocommerce-info,
body.moleano-skin .woocommerce-info,
body.moleano-skin .woocommerce-message{
  background:var(--panel-2);
  border-top:3px solid var(--blue);
  color:var(--silver);
  border-radius:var(--radius-sm);
}
body.moleano-skin .woocommerce-error{
  background:var(--panel-2);
  border-top:3px solid #ff5b6a;
  color:var(--silver);
  border-radius:var(--radius-sm);
}
body.moleano-skin .woocommerce-info::before,
body.moleano-skin .woocommerce-message::before{ color:var(--blue); }

/* ---- Place Order button (classic) — Moleano primary --------------------*/
body.moleano-skin #place_order,
body.moleano-skin .woocommerce #payment #place_order{
  background:linear-gradient(135deg,var(--blue),var(--blue-deep)) !important;
  color:#04101f !important;
  font-family:var(--font-display) !important;
  font-weight:800 !important;
  letter-spacing:.05em !important;
  font-size:15px !important;
  border:none !important;
  border-radius:12px !important;
  padding:16px 28px !important;
  width:100%;
  box-shadow:0 8px 26px var(--blue-glow) !important;
  transition:transform .15s, box-shadow .2s;
  text-transform:none;
}
body.moleano-skin #place_order:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 34px var(--blue-glow) !important;
}

/* ======================================================================= */
/*  BLOCK CHECKOUT                                                          */
/* ======================================================================= */

body.moleano-skin .wc-block-checkout{ color:var(--silver); }

/* Panels / step cards */
body.moleano-skin .wp-block-woocommerce-checkout .wc-block-components-checkout-step,
body.moleano-skin .wc-block-checkout__sidebar .wc-block-components-sidebar,
body.moleano-skin .wc-block-components-panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
body.moleano-skin .wc-block-checkout__main .wc-block-components-checkout-step{
  padding:22px 24px; margin-bottom:20px;
}

/* Step titles */
body.moleano-skin .wc-block-components-checkout-step__title,
body.moleano-skin .wc-block-components-title{
  font-family:var(--font-display) !important;
  color:var(--white) !important;
  font-weight:800 !important;
}
body.moleano-skin .wc-block-components-checkout-step__description,
body.moleano-skin .wc-block-components-checkout-step__heading-content{
  color:var(--silver-dim) !important;
}

/* Inputs (block) */
body.moleano-skin .wc-block-components-text-input input,
body.moleano-skin .wc-block-components-text-input input[type=text],
body.moleano-skin .wc-block-components-text-input input[type=email],
body.moleano-skin .wc-block-components-text-input input[type=tel],
body.moleano-skin .wc-block-components-select .wc-block-components-select__container,
body.moleano-skin .wc-block-components-combobox .components-form-token-field__input-container,
body.moleano-skin .wc-block-components-textarea{
  background:var(--obsidian) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius-sm) !important;
  color:var(--white) !important;
  font-family:var(--font-body) !important;
}
body.moleano-skin .wc-block-components-text-input input:focus,
body.moleano-skin .wc-block-components-text-input.is-active input{
  border-color:var(--blue) !important;
  box-shadow:0 0 0 3px var(--blue-glow) !important;
}
body.moleano-skin .wc-block-components-text-input label,
body.moleano-skin .wc-block-components-checkout-step label,
body.moleano-skin .wc-block-components-text-input.is-active label{
  color:var(--silver-dim) !important;
}

/* Order summary (block) */
body.moleano-skin .wc-block-components-order-summary,
body.moleano-skin .wc-block-components-totals-item,
body.moleano-skin .wc-block-components-totals-footer-item{
  color:var(--silver) !important;
  border-color:var(--line-soft) !important;
}
body.moleano-skin .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.moleano-skin .wc-block-components-product-price,
body.moleano-skin .wc-block-components-order-summary-item__total-price{
  color:var(--white) !important;
}

/* Radios / payment options (block) */
body.moleano-skin .wc-block-components-radio-control__option{
  background:var(--panel-2);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
}
body.moleano-skin .wc-block-components-radio-control__option--checked{
  border-color:var(--blue);
  box-shadow:0 0 0 1px var(--blue) inset;
}

/* Notices (block) */
body.moleano-skin .wc-block-components-notice-banner{
  background:var(--panel-2) !important;
  color:var(--silver) !important;
  border-radius:var(--radius-sm);
}
body.moleano-skin .wc-block-components-notice-banner.is-error{ border-color:#ff5b6a; }
body.moleano-skin .wc-block-components-notice-banner.is-info{ border-color:var(--blue); }

/* ---- Place Order button (block) — Moleano primary ----------------------*/
body.moleano-skin .wc-block-components-checkout-place-order-button,
body.moleano-skin .wc-block-checkout__actions_row button{
  background:linear-gradient(135deg,var(--blue),var(--blue-deep)) !important;
  color:#04101f !important;
  font-family:var(--font-display) !important;
  font-weight:800 !important;
  letter-spacing:.05em !important;
  border:none !important;
  border-radius:12px !important;
  box-shadow:0 8px 26px var(--blue-glow) !important;
  transition:transform .15s, box-shadow .2s;
}
body.moleano-skin .wc-block-components-checkout-place-order-button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 34px var(--blue-glow) !important;
}

/* ---- Order received / thank-you page ---------------------------------- */
body.moleano-skin .woocommerce-order .woocommerce-order-overview,
body.moleano-skin .woocommerce-order .woocommerce-table,
body.moleano-skin .woocommerce-order .woocommerce-customer-details address{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  color:var(--silver);
}
body.moleano-skin .woocommerce-order .woocommerce-thankyou-order-received{
  font-family:var(--font-display);
  color:var(--white);
  font-weight:800;
}

/* =========================================================================
 * Moleano multi-step checkout layout (body.mlco-checkout)
 * ========================================================================= */
body.mlco-checkout .site-header,
body.mlco-checkout .site-footer,
body.mlco-checkout header.site-header,
body.mlco-checkout footer.site-footer,
body.mlco-checkout .woocommerce-breadcrumb,
body.mlco-checkout .page-title,
body.mlco-checkout .entry-title{ display:none !important; }

body.mlco-checkout,
body.mlco-checkout .site-content,
body.mlco-checkout .content-area,
body.mlco-checkout main,
body.mlco-checkout .woocommerce{ background:var(--obsidian) !important; }

.mlco{ max-width:1160px; margin:0 auto; padding:22px 20px 60px; color:var(--silver); }

/* Header */
.mlco-header{ display:flex; align-items:center; justify-content:space-between; padding:6px 0 26px; }
.mlco-brand img{ height:46px; width:auto; }
.mlco-secure-tag{ display:inline-flex; align-items:center; gap:8px; color:var(--silver); font-size:13.5px; font-family:var(--font-display); font-weight:600; }
.mlco-secure-tag svg{ width:16px; height:16px; color:var(--blue); }

/* Progress steps */
.mlco-steps{ list-style:none; display:flex; align-items:center; justify-content:center; gap:0; margin:6px auto 34px; padding:0; max-width:640px; }
.mlco-step-dot{ display:flex; flex-direction:column; align-items:center; gap:8px; position:relative; flex:0 0 auto; }
.mlco-step-dot:not(:last-child){ flex:1 1 auto; }
.mlco-step-dot .n{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; border:1.5px solid var(--line); color:var(--silver-dim); font-family:var(--font-display); font-weight:800; font-size:14px; background:var(--panel); transition:.2s; }
.mlco-step-dot .t{ font-size:12.5px; font-family:var(--font-display); font-weight:600; color:var(--silver-dim); letter-spacing:.02em; }
.mlco-step-dot:not(:last-child)::after{ content:""; position:absolute; top:17px; left:calc(50% + 24px); right:calc(-50% + 24px); height:1.5px; background:var(--line); }
.mlco-step-dot.is-active .n{ border-color:var(--blue); color:var(--blue); box-shadow:0 0 0 4px var(--blue-glow); }
.mlco-step-dot.is-active .t{ color:var(--blue); }
.mlco-step-dot.is-done .n{ background:linear-gradient(135deg,var(--blue),var(--blue-deep)); border-color:transparent; color:#04101f; }
.mlco-step-dot.is-done .t{ color:var(--white); }
.mlco-step-dot.is-done:not(:last-child)::after{ background:var(--blue-deep); }

/* Grid */
.mlco-grid{ display:grid; grid-template-columns:1fr 400px; gap:30px; align-items:start; }

/* Panels */
.mlco-panel{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:24px 24px; margin-bottom:20px; }
.mlco-panel-title{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:17px; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid var(--line); }
body.mlco-checkout #customer_details .col-1,
body.mlco-checkout #customer_details .col-2{ width:auto; float:none; padding:0; background:transparent; border:0; }
body.mlco-checkout .woocommerce-billing-fields h3,
body.mlco-checkout .woocommerce-shipping-fields h3{ margin-top:0; }
.mlco-muted{ color:var(--silver-dim); font-size:13.5px; line-height:1.6; }

/* Buttons */
.mlco .btn-primary,
.mlco-next{ display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; background:linear-gradient(135deg,var(--blue),var(--blue-deep)); color:#04101f; font-family:var(--font-display); font-weight:800; letter-spacing:.04em; font-size:15px; border:none; border-radius:12px; padding:16px 24px; cursor:pointer; box-shadow:0 8px 26px var(--blue-glow); transition:transform .15s, box-shadow .2s; }
.mlco-next:hover{ transform:translateY(-2px); box-shadow:0 12px 34px var(--blue-glow); }
.mlco-next svg{ width:18px; height:18px; }
.mlco-step-actions{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:6px; }
.mlco-step-actions .mlco-next{ width:auto; }
.mlco-back{ background:none; border:none; color:var(--silver); font-family:var(--font-body); font-size:14px; cursor:pointer; padding:8px 4px; }
.mlco-back:hover{ color:var(--blue); }

/* Payment step: don't double-card (base skin cards #payment already) */
body.mlco-checkout .mlco-panel--payment #payment,
body.mlco-checkout .mlco-panel--payment .woocommerce-checkout-payment{ background:transparent !important; border:0 !important; padding:0 !important; }

/* Summary */
.mlco-summary{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:24px; position:sticky; top:20px; }
.mlco-summary-title{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:16px; letter-spacing:.02em; margin:0 0 18px; }
body.mlco-checkout #order_review{ background:transparent !important; border:0 !important; padding:0 !important; }

.mlco-review-items{ display:flex; flex-direction:column; gap:16px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.mlco-item{ display:grid; grid-template-columns:56px 1fr auto; gap:14px; align-items:start; }
.mlco-item-thumb{ position:relative; width:56px; height:56px; border-radius:10px; overflow:hidden; background:var(--obsidian); border:1px solid var(--line); }
.mlco-item-thumb .mlco-item-img,
.mlco-item-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.mlco-item-qtybadge{ position:absolute; top:-7px; right:-7px; min-width:20px; height:20px; padding:0 5px; border-radius:20px; background:var(--blue); color:#04101f; font-size:11px; font-weight:800; font-family:var(--font-display); display:grid; place-items:center; box-shadow:0 2px 8px rgba(0,0,0,.5); }
.mlco-item-name{ font-family:var(--font-display); font-weight:700; color:var(--white); font-size:14.5px; line-height:1.25; }
.mlco-item-strength{ color:var(--blue); font-size:12.5px; font-family:var(--font-display); font-weight:700; margin-top:1px; }
.mlco-item-tag{ color:var(--silver-dim); font-size:11.5px; margin-top:2px; }
.mlco-item-price{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:14.5px; white-space:nowrap; }
.mlco-item-price del{ color:var(--silver-dim); font-weight:600; }

.mlco-qty{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; }
.mlco-qty-btn{ width:24px; height:24px; border-radius:7px; border:1px solid var(--line); background:var(--obsidian); color:var(--white); font-size:15px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.mlco-qty-btn:hover{ border-color:var(--blue); color:var(--blue); }
.mlco-qty-n{ min-width:20px; text-align:center; font-family:var(--font-display); font-weight:700; color:var(--white); font-size:13.5px; }
.mlco-qty-rm{ margin-left:8px; background:none; border:none; color:var(--silver-dim); font-size:12px; cursor:pointer; text-decoration:underline; }
.mlco-qty-rm:hover{ color:#ff6b78; }
.mlco-review.is-busy{ opacity:.55; pointer-events:none; }

.mlco-review-totals{ padding-top:16px; display:flex; flex-direction:column; gap:11px; }
.mlco-total-row{ display:flex; align-items:center; justify-content:space-between; font-size:14px; color:var(--silver); }
.mlco-total-row span:last-child{ color:var(--white); font-family:var(--font-display); font-weight:600; }
.mlco-total-row--muted span{ color:var(--silver-dim) !important; font-weight:500 !important; }
.mlco-total-row--discount span:last-child{ color:var(--green) !important; }
.mlco-total-row--grand{ margin-top:6px; padding-top:14px; border-top:1px solid var(--line); }
.mlco-total-row--grand span:first-child{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:17px; }
.mlco-total-row--grand span:last-child{ color:var(--blue) !important; font-size:20px; font-weight:800; }
.mlco-shipping-rows{ display:flex; flex-direction:column; gap:8px; }
.mlco-shipping-rows ul#shipping_method{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.mlco-shipping-rows label{ color:var(--silver); }

/* Assurance blocks + pay icons */
.mlco-assure{ display:flex; gap:12px; align-items:flex-start; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.mlco-assure-ic svg{ width:22px; height:22px; color:var(--blue); }
.mlco-assure strong{ display:block; font-family:var(--font-display); font-weight:700; color:var(--white); font-size:13.5px; margin-bottom:3px; }
.mlco-assure p{ margin:0; color:var(--silver-dim); font-size:12.5px; line-height:1.55; }
.mlco-payicons{ display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.mlco-payicons span{ font-family:var(--font-display); font-weight:800; font-size:9.5px; letter-spacing:.04em; color:var(--silver); background:var(--panel-2); border:1px solid var(--line); border-radius:6px; padding:6px 9px; }

/* Trust bar */
.mlco-trustbar{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:44px 0 34px; padding:30px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.mlco-trust{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; }
.mlco-trust svg{ width:28px; height:28px; color:var(--blue); margin-bottom:4px; }
.mlco-trust b{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:13px; letter-spacing:.02em; }
.mlco-trust span{ color:var(--silver-dim); font-size:12.5px; line-height:1.5; }

/* Footer */
.mlco-footer{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding-top:20px; }
.mlco-foot-brand{ display:flex; align-items:center; gap:18px; }
.mlco-foot-brand img{ height:40px; width:auto; }
.mlco-foot-brand p{ margin:0; color:var(--silver-dim); font-size:13px; max-width:320px; line-height:1.5; }
.mlco-foot-legal{ color:var(--silver-dim); font-size:12.5px; }

/* Responsive */
@media (max-width:980px){
	.mlco-grid{ grid-template-columns:1fr; }
	.mlco-summary{ position:static; order:-1; }
	.mlco-trustbar{ grid-template-columns:repeat(2,1fr); gap:26px; }
	.mlco-step-dot .t{ display:none; }
}
@media (max-width:560px){
	.mlco-header{ padding-bottom:18px; }
	.mlco-brand img{ height:38px; }
	.mlco-footer{ flex-direction:column; align-items:flex-start; }
}

/* =========================================================================
 * Single-screen checkout additions / overrides
 * ========================================================================= */

/* Sidebar becomes a transparent column of cards */
body.mlco-checkout .mlco-summary{ background:transparent; border:0; padding:0; position:sticky; top:20px; display:flex; flex-direction:column; gap:20px; }
body.mlco-checkout .mlco-summary .mlco-panel{ margin:0; }
body.mlco-checkout .mlco-panel-title{ text-transform:uppercase; letter-spacing:.06em; font-size:14px; }
body.mlco-checkout #customer_details .woocommerce-billing-fields h3,
body.mlco-checkout #customer_details .woocommerce-shipping-fields h3,
body.mlco-checkout #customer_details h3{ text-transform:uppercase; letter-spacing:.06em; font-size:14px; }

/* Coupon (always visible) */
.mlco-coupon-head{ display:flex; align-items:center; gap:9px; font-family:var(--font-display); font-weight:700; color:var(--white); font-size:14.5px; margin-bottom:14px; }
.mlco-coupon-head svg{ width:18px; height:18px; color:var(--silver-dim); }
.mlco-coupon-row{ display:flex; gap:10px; }
.mlco-coupon-row input{ flex:1 1 auto; min-width:0; background:var(--obsidian); border:1px solid var(--line); border-radius:10px; color:var(--white); font-family:var(--font-body); font-size:14px; padding:12px 14px; }
.mlco-coupon-row input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-glow); }
.mlco-coupon-apply{ flex:0 0 auto; background:var(--panel-2); border:1px solid var(--line); color:var(--white); font-family:var(--font-display); font-weight:800; letter-spacing:.04em; font-size:13px; border-radius:10px; padding:0 20px; cursor:pointer; transition:.15s; }
.mlco-coupon-apply:hover{ border-color:var(--blue); color:var(--blue); }
.mlco-coupon-msg{ font-size:12.5px; margin-top:9px; }
.mlco-coupon-msg[data-state="ok"]{ color:var(--green); }
.mlco-coupon-msg[data-state="err"]{ color:#ff6b78; }

.mlco-pay-note{ margin-top:-6px; margin-bottom:16px; }

/* Relocated shipping options (left panel) */
#mlco-shipping-methods tr,
#mlco-shipping-methods td{ display:block; padding:0; border:0; background:none; }
#mlco-shipping-methods th{ display:none; }
#mlco-shipping-methods ul#shipping_method{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
#mlco-shipping-methods li{ display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:12px; padding:14px 16px; background:var(--obsidian); transition:.15s; }
#mlco-shipping-methods li:hover{ border-color:rgba(79,169,255,.4); }
#mlco-shipping-methods input[type="radio"]{ width:18px; height:18px; accent-color:var(--blue); flex:0 0 auto; }
#mlco-shipping-methods label{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin:0; color:var(--white); font-family:var(--font-display); font-weight:600; font-size:14px; cursor:pointer; }
#mlco-shipping-methods label .woocommerce-Price-amount{ color:var(--white); font-weight:800; }
#mlco-shipping-methods .mlco-shipping-rows > tr:only-child td:empty{ display:none; }
.mlco-shipping-slot .mlco-muted{ margin:0; }

/* Attestation */
.mlco-attest{ border-color:rgba(79,169,255,.28); }
.mlco-attest-text{ color:var(--silver); font-size:13px; line-height:1.65; margin:0 0 15px; }
.mlco-attest-text strong{ color:var(--white); }
.mlco-attest-check{ display:flex; gap:12px; align-items:flex-start; cursor:pointer; }
.mlco-attest-check input{ margin:2px 0 0; width:18px; height:18px; accent-color:var(--blue); flex:0 0 auto; }
.mlco-attest-check span{ color:var(--silver); font-size:12.5px; line-height:1.65; }

/* Place Order relocated to sidebar */
.mlco-placeorder-slot{ margin-top:6px; }
body.mlco-checkout #mlco-placeorder-slot .place-order{ margin:0; padding:0; float:none; width:auto; }
body.mlco-checkout #place_order{ width:100%; display:flex; align-items:center; justify-content:center; gap:10px; background:linear-gradient(135deg,var(--blue),var(--blue-deep)); color:#04101f; font-family:var(--font-display); font-weight:800; letter-spacing:.05em; font-size:16px; border:0; border-radius:12px; padding:17px 24px; box-shadow:0 8px 26px var(--blue-glow); cursor:pointer; transition:transform .15s, box-shadow .2s; }
body.mlco-checkout #place_order:hover{ transform:translateY(-2px); box-shadow:0 12px 34px var(--blue-glow); }
body.mlco-checkout #mlco-placeorder-slot .woocommerce-terms-and-conditions-wrapper{ margin-bottom:12px; }

/* USD label on total */
.mlco-usd{ font-size:12px; color:var(--silver-dim); font-weight:600; letter-spacing:.04em; margin-right:4px; }

/* 4-badge grid inside the summary card */
.mlco-badgegrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.mlco-badge{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; color:var(--silver-dim); font-size:10.5px; line-height:1.25; font-family:var(--font-display); font-weight:600; }
.mlco-badge svg{ width:22px; height:22px; color:var(--blue); }

@media (max-width:980px){
	body.mlco-checkout .mlco-summary{ position:static; order:-1; }
}

/* =========================================================================
 * Returning-customer login bar + attestation dropdown
 * ========================================================================= */

/* Returning customer prompt + collapsible login form */
.mlco-login-bar{ margin:0 0 24px; }
.mlco-login-prompt{ color:var(--silver); font-size:14px; }
.mlco-showlogin{ color:var(--blue); font-weight:600; text-decoration:none; cursor:pointer; }
.mlco-showlogin:hover{ text-decoration:underline; }
.mlco-login-form{ display:none; margin-top:16px; background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:22px; max-width:520px; }
.mlco-login-form.is-open{ display:block; }
.mlco-login-fields{ display:flex; flex-direction:column; gap:14px; }
.mlco-login-row{ display:flex; flex-direction:column; gap:6px; margin:0; }
.mlco-login-row label{ font-size:12.5px; color:var(--silver-dim); font-family:var(--font-display); font-weight:600; letter-spacing:.02em; }
.mlco-login-row input{ background:var(--obsidian); border:1px solid var(--line); border-radius:10px; color:var(--white); padding:12px 14px; font-size:14px; font-family:var(--font-body); }
.mlco-login-row input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-glow); }
.mlco-login-actions{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 0; flex-wrap:wrap; }
.mlco-login-remember{ font-size:12.5px; color:var(--silver); display:flex; gap:8px; align-items:center; }
.mlco-login-remember input{ accent-color:var(--blue); width:16px; height:16px; }
.mlco-login-lost{ font-size:12.5px; color:var(--blue); text-decoration:none; }
.mlco-login-lost:hover{ text-decoration:underline; }
.mlco-login-submit{ background:linear-gradient(135deg,var(--blue),var(--blue-deep)); color:#04101f; border:0; border-radius:10px; font-family:var(--font-display); font-weight:800; letter-spacing:.03em; font-size:14px; padding:12px 26px; cursor:pointer; transition:transform .15s; }
.mlco-login-submit:hover{ transform:translateY(-1px); }

/* Attestation organization-type dropdown */
.mlco-attest-sub{ color:var(--silver-dim); font-size:13px; line-height:1.6; margin:0 0 16px; }
.mlco-select-wrap{ position:relative; margin-bottom:18px; }
.mlco-select-wrap select{ width:100%; appearance:none; -webkit-appearance:none; -moz-appearance:none; background:var(--obsidian); border:1px solid var(--line); border-radius:12px; color:var(--white); font-family:var(--font-display); font-weight:600; font-size:14px; padding:15px 44px 15px 16px; cursor:pointer; }
.mlco-select-wrap select:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-glow); }
.mlco-select-wrap select:required:invalid{ color:var(--silver-dim); }
.mlco-select-wrap option{ color:var(--white); background:var(--graphite); }
.mlco-select-wrap option[value=""]{ color:var(--silver-dim); }
.mlco-select-caret{ position:absolute; right:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--silver-dim); pointer-events:none; }


/* =========================================================================
 * Order-received / thank-you page (body.mlco-thankyou)
 * ========================================================================= */

body.mlco-thankyou .site-header,
body.mlco-thankyou .site-footer,
body.mlco-thankyou header.site-header,
body.mlco-thankyou footer.site-footer,
body.mlco-thankyou .woocommerce-breadcrumb,
body.mlco-thankyou .page-title,
body.mlco-thankyou .entry-title{ display:none !important; }
body.mlco-thankyou,
body.mlco-thankyou .site-content,
body.mlco-thankyou .content-area,
body.mlco-thankyou main,
body.mlco-thankyou .woocommerce{ background:var(--obsidian) !important; }
body.mlco-thankyou .woocommerce-order{ margin:0; }
body.mlco-thankyou .mlco-panel-title,
body.mlco-thankyou .mlco-summary-title{ text-transform:uppercase; letter-spacing:.06em; font-size:14px; }

.mlco-ty-shopmore{ text-decoration:none; }
.mlco-ty-shopmore:hover{ color:var(--blue); }

/* Hero */
.mlco-ty-hero{ text-align:center; padding:22px 0 30px; }
.mlco-ty-check{ width:78px; height:78px; margin:0 auto 22px; border-radius:50%; display:grid; place-items:center; border:2px solid var(--blue); box-shadow:0 0 0 6px rgba(79,169,255,.12), 0 0 34px var(--blue-glow); }
.mlco-ty-check svg{ width:34px; height:34px; color:var(--blue); }
.mlco-ty-title{ font-family:var(--font-display); font-weight:800; color:var(--blue); font-size:42px; letter-spacing:.01em; margin:0 0 8px; text-shadow:0 0 30px var(--blue-glow); }
.mlco-ty-title--failed{ color:#ff6b78; text-shadow:none; }
.mlco-ty-received{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:22px; letter-spacing:.04em; text-transform:uppercase; margin:0 0 16px; }
.mlco-ty-lead{ color:var(--silver); font-size:14.5px; line-height:1.7; max-width:560px; margin:0 auto; }
.mlco-ty-cta{ margin-top:22px; }

/* Facts bar */
.mlco-ty-facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; text-align:center; padding:26px 24px; }
.mlco-ty-fact{ display:flex; flex-direction:column; align-items:center; gap:7px; position:relative; }
.mlco-ty-fact:not(:last-child)::after{ content:""; position:absolute; right:-6px; top:10%; height:80%; width:1px; background:var(--line); }
.mlco-ty-fact svg{ width:26px; height:26px; color:var(--blue); }
.mlco-ty-fact-label{ color:var(--white); font-family:var(--font-display); font-weight:700; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; margin-top:2px; }
.mlco-ty-fact-value{ color:var(--blue); font-family:var(--font-display); font-weight:700; font-size:14.5px; word-break:break-word; }

/* Two-column: summary + what happens next */
.mlco-ty-grid{ grid-template-columns:1fr 1fr; align-items:start; }
.mlco-ty-summary{ margin:0; }
.mlco-ty-next{ margin:0; }
.mlco-free{ color:var(--blue); font-weight:800; }

/* What happens next timeline */
.mlco-steps-list{ list-style:none; margin:0; padding:0; position:relative; }
.mlco-steps-list li{ display:grid; grid-template-columns:44px 1fr; gap:16px; padding:0 0 26px; position:relative; }
.mlco-steps-list li:last-child{ padding-bottom:0; }
.mlco-steps-list li::before{ content:""; position:absolute; left:21px; top:44px; bottom:0; width:2px; background:var(--line); }
.mlco-steps-list li:last-child::before{ display:none; }
.mlco-step-ic{ width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:rgba(79,169,255,.1); border:1px solid rgba(79,169,255,.4); position:relative; z-index:1; }
.mlco-step-ic svg{ width:20px; height:20px; color:var(--blue); }
.mlco-steps-list strong{ display:block; font-family:var(--font-display); font-weight:700; color:var(--white); font-size:14.5px; letter-spacing:.03em; text-transform:uppercase; margin:6px 0 5px; }
.mlco-steps-list p{ margin:0; color:var(--silver-dim); font-size:13px; line-height:1.6; }

/* Need help bar */
.mlco-ty-help{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.mlco-ty-help-left{ display:flex; align-items:center; gap:16px; }
.mlco-ty-help-ic svg{ width:30px; height:30px; color:var(--blue); }
.mlco-ty-help strong{ display:block; font-family:var(--font-display); font-weight:700; color:var(--white); font-size:15px; margin-bottom:3px; }
.mlco-ty-help p{ margin:0; color:var(--silver-dim); font-size:13px; }
.mlco-ty-help-btn{ display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--blue); color:var(--blue); font-family:var(--font-display); font-weight:800; letter-spacing:.04em; text-transform:uppercase; font-size:13px; border-radius:10px; padding:13px 26px; text-decoration:none; transition:.15s; white-space:nowrap; }
.mlco-ty-help-btn:hover{ background:var(--blue); color:#04101f; }

/* Trust badges w/ descriptions */
.mlco-ty-badges{ border-top:0; padding:24px 0 6px; margin:0; grid-template-columns:repeat(4,1fr); }
.mlco-ty-badges .mlco-badge{ gap:8px; font-size:11px; }
.mlco-ty-badges .mlco-badge svg{ width:26px; height:26px; }
.mlco-ty-badges .mlco-badge strong{ color:var(--white); font-family:var(--font-display); font-weight:700; font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; }
.mlco-ty-badges .mlco-badge span{ color:var(--silver-dim); line-height:1.4; }

/* Gateway extra (bank transfer instructions, etc.) */
.mlco-ty-gateway{ color:var(--silver); font-size:13.5px; line-height:1.7; }
.mlco-ty-gateway h2,.mlco-ty-gateway h3{ color:var(--white); font-family:var(--font-display); font-size:15px; margin:0 0 10px; }
.mlco-ty-gateway ul,.mlco-ty-gateway ol{ margin:0; padding-left:18px; }

/* Button */
.mlco-ty-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; background:linear-gradient(135deg,var(--blue),var(--blue-deep)); color:#04101f; font-family:var(--font-display); font-weight:800; letter-spacing:.03em; font-size:15px; border-radius:12px; padding:15px 30px; text-decoration:none; box-shadow:0 8px 26px var(--blue-glow); }
.mlco-ty-btn:hover{ transform:translateY(-2px); color:#04101f; }

/* Expanded footer */
.mlco-ty-footer{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; align-items:start; border-top:1px solid var(--line); margin-top:34px; padding-top:34px; }
.mlco-foot-col h4{ font-family:var(--font-display); font-weight:700; color:var(--white); font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; margin:0 0 14px; }
.mlco-foot-col a{ display:block; color:var(--silver-dim); font-size:13.5px; text-decoration:none; margin-bottom:9px; transition:color .15s; }
.mlco-foot-col a:hover{ color:var(--blue); }
.mlco-ty-copyright{ text-align:center; color:var(--silver-dim); font-size:12.5px; border-top:1px solid var(--line); margin-top:24px; padding:22px 0 0; }

@media (max-width:900px){
	.mlco-ty-grid{ grid-template-columns:1fr; }
	.mlco-ty-facts{ grid-template-columns:1fr; gap:22px; }
	.mlco-ty-fact:not(:last-child)::after{ display:none; }
	.mlco-ty-badges{ grid-template-columns:1fr 1fr; gap:20px; }
	.mlco-ty-footer{ grid-template-columns:1fr; gap:24px; }
	.mlco-ty-title{ font-size:34px; }
	.mlco-ty-received{ font-size:18px; }
	.mlco-ty-help{ flex-direction:column; align-items:flex-start; }
}

/* =========================================================================
 * Fixes: total alignment + full vial thumbnails (checkout + thank-you)
 * ========================================================================= */

/* Show the whole vial instead of a cropped square. Vials are tall, so the
   thumb gets a portrait ratio and the image is contained, not cropped. */
.mlco-item{ grid-template-columns:60px 1fr auto; }
.mlco-item-thumb{ width:60px; height:74px; border-radius:10px; padding:5px; box-sizing:border-box; display:grid; place-items:center; }
.mlco-item-thumb .mlco-item-img,
.mlco-item-thumb img{ width:100%; height:100%; object-fit:contain !important; display:block; }

/* Totals: keep every row on one baseline so labels and figures line up, and
   stop the grand total's "USD" from floating off the price's baseline. */
.mlco-total-row{ align-items:baseline; gap:16px; }
.mlco-total-row > span:last-child{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.mlco-total-row--grand{ align-items:baseline; }
.mlco-total-row--grand > span:last-child{ display:inline-flex; align-items:baseline; justify-content:flex-end; gap:7px; line-height:1.1; }
.mlco-total-row--grand .woocommerce-Price-amount,
.mlco-total-row--grand bdi{ line-height:1.1; }
.mlco-usd{ margin-right:0; position:relative; top:-1px; }

/* Line prices share the same numeric alignment. */
.mlco-item-price{ font-variant-numeric:tabular-nums; text-align:right; }

/* =========================================================================
 * Fixes v2: lining figures everywhere + full vial (not top-cropped)
 * ========================================================================= */

/* Raleway ships old-style figures by default: 8 stands tall while 2, 3, 4, 7
   and 9 are drawn short and dip below the baseline, so prices look mismatched
   and crooked. Force lining (uniform-height) + tabular (equal-width) figures
   across the whole checkout and confirmation, including WooCommerce's own
   price markup. */
body.moleano-skin,
body.moleano-skin *,
body.mlco-thankyou,
body.mlco-thankyou *,
.mlco,
.mlco *{
	font-variant-numeric:lining-nums tabular-nums !important;
	-moz-font-feature-settings:"lnum" 1, "tnum" 1;
	-webkit-font-feature-settings:"lnum" 1, "tnum" 1;
	font-feature-settings:"lnum" 1, "tnum" 1 !important;
}

/* Prices sit on one baseline regardless of size */
.mlco-total-row,
.mlco-total-row--grand,
.mlco-item{ align-items:baseline; }
.mlco-item{ align-items:start; }
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol,
.mlco-item-price,
.mlco-total-row span,
.mlco-ty-fact-value{ font-variant-numeric:lining-nums tabular-nums !important; font-feature-settings:"lnum" 1, "tnum" 1 !important; }

/* The theme's `img{height:auto}` was overriding the thumb sizing, so the vial
   rendered at full height and got clipped to its top half. Pin it explicitly.
   The source vials are 560x1454 (roughly 1:2.6), so the box is portrait to
   match; a square box could only ever show a slice. */
.mlco-item{ grid-template-columns:58px 1fr auto; align-items:start; }
.mlco-item-thumb{ width:58px; height:98px; overflow:hidden; padding:4px; box-sizing:border-box; display:grid; place-items:center; }
.mlco-item-thumb .mlco-item-img,
.mlco-item-thumb img,
.mlco-item-thumb picture img{
	width:100% !important;
	height:100% !important;
	max-width:100% !important;
	max-height:100% !important;
	min-height:0 !important;
	object-fit:contain !important;
	object-position:center center !important;
	display:block !important;
	margin:0 !important;
	padding:0 !important;
	aspect-ratio:auto !important;
}

/* =========================================================================
 * Place Order: sidebar (desktop) / under attestation (mobile), with total
 * ========================================================================= */

.mlco-placeorder-slot:empty{ display:none; }
.mlco-placeorder-slot--mobile{ margin-top:-4px; }

/* Label: "Place Order  •  $129.99" */
body.mlco-checkout #place_order{ gap:12px; }
.mlco-po-sep{ opacity:.55; font-size:13px; line-height:1; }
.mlco-po-total{ font-weight:800; letter-spacing:.02em; }

@media (max-width:980px){
	/* The summary sits above the form on mobile, so the sidebar slot would
	   strand the button at the top; it lives under the attestation instead. */
	body.mlco-checkout #mlco-placeorder-slot{ display:none; }
	.mlco-placeorder-slot--mobile{ position:sticky; bottom:12px; z-index:5; }
	body.mlco-checkout #place_order{ padding:18px 22px; font-size:16.5px; box-shadow:0 10px 30px rgba(0,0,0,.55), 0 8px 26px var(--blue-glow); }
}

/* =========================================================================
 * Quantity badge: smaller, and no longer clipped by the thumb
 * ========================================================================= */

/* The badge is anchored just outside the thumb, so the thumb's overflow:hidden
   was shaving its edge. The vial is contained (not cropped) now, so nothing
   needs clipping — let the badge show in full. */
.mlco-item-thumb{ overflow:visible !important; }
.mlco-item-thumb .mlco-item-img,
.mlco-item-thumb img{ border-radius:7px; }

.mlco-item-qtybadge{
	top:-5px;
	right:-5px;
	min-width:17px;
	height:17px;
	padding:0 4px;
	font-size:9.5px;
	line-height:1;
	border-radius:20px;
	box-shadow:0 2px 6px rgba(0,0,0,.55);
}

/* =========================================================================
 * Thank-you: styled address panels (replaces WooCommerce's default table)
 * ========================================================================= */

.mlco-ty-addr{ grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.mlco-ty-addr .mlco-panel{ margin-bottom:0; }
.mlco-ty-address{ font-style:normal !important; color:var(--silver); font-size:13.5px; line-height:1.8; }
.mlco-ty-address-email{ margin:12px 0 0; color:var(--silver-dim); font-size:13px; }

/* Any stray WooCommerce order table that still renders keeps our alignment */
.mlco-ty .woocommerce-table--order-details,
.mlco-ty-gateway table{ width:100%; border-collapse:collapse; }
.mlco-ty .woocommerce-table--order-details th,
.mlco-ty .woocommerce-table--order-details td{ text-align:left; padding:10px 0; border-bottom:1px solid var(--line); color:var(--silver); font-size:13.5px; }
.mlco-ty .woocommerce-table--order-details td:last-child,
.mlco-ty .woocommerce-table--order-details th:last-child{ text-align:right; white-space:nowrap; }

@media (max-width:900px){
	.mlco-ty-addr{ grid-template-columns:1fr; }
}

/* =========================================================================
 * Hide block-theme chrome (Assembler etc.) + trim the space it leaves
 * ========================================================================= */

/* Block themes don't use .site-header; they render a template-part header and
   a site-title block, which is why "Moleano Peptides" was still printing above
   the checkout. */
body.mlco-checkout .wp-block-site-title,
body.mlco-checkout .wp-block-site-logo,
body.mlco-checkout .wp-block-site-tagline,
body.mlco-checkout header.wp-block-template-part,
body.mlco-checkout footer.wp-block-template-part,
body.mlco-checkout .wp-site-blocks > header,
body.mlco-checkout .wp-site-blocks > footer,
body.mlco-checkout .wp-block-navigation,
body.mlco-thankyou .wp-block-site-title,
body.mlco-thankyou header.wp-block-template-part,
body.mlco-thankyou footer.wp-block-template-part,
body.mlco-thankyou .wp-site-blocks > header,
body.mlco-thankyou .wp-site-blocks > footer{ display:none !important; }

/* Remove the gap the theme's wrappers reserve above the content */
body.mlco-checkout .wp-site-blocks,
body.mlco-checkout .wp-site-blocks > main,
body.mlco-checkout .is-layout-constrained,
body.mlco-checkout .entry-content,
body.mlco-checkout .wp-block-post-content,
body.mlco-checkout .wp-block-group{ margin-top:0 !important; padding-top:0 !important; }
body.mlco-checkout .wp-site-blocks > *:first-child{ margin-block-start:0 !important; }

/* Tighten the checkout's own top spacing */
body.mlco-checkout .mlco{ padding-top:10px; }
.mlco-header{ padding-top:0; }

/* =========================================================================
 * Auth pages (password reset) — matches the storefront's log-in / sign-up card
 * ========================================================================= */

.mlco-auth-wrap{ min-height:100vh; display:grid; place-items:center; padding:54px 24px; box-sizing:border-box; }
.mlco-auth-card{ width:100%; max-width:460px; text-align:center; position:relative; overflow:hidden;
	background:linear-gradient(180deg, rgba(20,23,30,.98), rgba(9,11,16,.99));
	border:1px solid rgba(79,169,255,.28); border-radius:24px; padding:42px 38px 34px;
	box-shadow:0 44px 120px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.05); }
.mlco-auth-card::before{ content:""; position:absolute; top:-40px; left:50%; transform:translateX(-50%);
	width:280px; height:120px; background:radial-gradient(circle, rgba(79,169,255,.18), transparent 70%); pointer-events:none; }
.mlco-auth-inner{ position:relative; z-index:1; }
.mlco-auth-logo{ height:104px; width:auto; margin:0 auto 4px; display:block; }
.mlco-auth-title{ font-family:var(--font-display); font-weight:800; font-size:clamp(24px,4vw,30px);
	letter-spacing:.02em; text-transform:uppercase; margin:6px 0 0; color:var(--white); }
.mlco-blue{ color:var(--blue); }
.mlco-auth-sub{ color:var(--silver-dim); font-size:14.5px; line-height:1.6; margin:10px 0 26px; }
.mlco-auth-body{ text-align:left; }

/* WooCommerce's reset form inside the card */
.mlco-auth-body form{ margin:0; }
.mlco-auth-body .woocommerce-form-row,
.mlco-auth-body p.form-row{ margin:0 0 16px; padding:0; }
.mlco-auth-body label{ display:block; font-size:12.5px; color:var(--silver-dim); font-family:var(--font-display);
	font-weight:600; letter-spacing:.02em; margin-bottom:7px; }
.mlco-auth-body input[type="text"],
.mlco-auth-body input[type="email"],
.mlco-auth-body input[type="password"]{ width:100%; box-sizing:border-box; background:var(--obsidian);
	border:1px solid var(--line); border-radius:12px; color:var(--white); font-family:var(--font-body);
	font-size:14.5px; padding:14px 16px; }
.mlco-auth-body input:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-glow); }
.mlco-auth-body button,
.mlco-auth-body input[type="submit"],
.mlco-auth-body .woocommerce-Button{ width:100%; background:linear-gradient(135deg,var(--blue),var(--blue-deep));
	color:#04101f; border:0; border-radius:12px; font-family:var(--font-display); font-weight:800;
	letter-spacing:.04em; font-size:15px; padding:15px 24px; cursor:pointer; box-shadow:0 8px 26px var(--blue-glow);
	transition:transform .15s; margin-top:4px; }
.mlco-auth-body button:hover,
.mlco-auth-body input[type="submit"]:hover{ transform:translateY(-2px); }
.mlco-auth-body .woocommerce-ResetPassword > p:first-child{ color:var(--silver); font-size:13.5px; line-height:1.6;
	margin:0 0 18px; }

/* Notices inside the card */
.mlco-auth-body .woocommerce-message,
.mlco-auth-body .woocommerce-error,
.mlco-auth-body .woocommerce-info,
.mlco-auth-wrap .woocommerce-message,
.mlco-auth-wrap .woocommerce-error,
.mlco-auth-wrap .woocommerce-info{ list-style:none; margin:0 0 18px; padding:13px 15px; border-radius:12px;
	font-size:13.5px; line-height:1.55; background:var(--panel-2); border:1px solid var(--line); color:var(--silver); }
.mlco-auth-body .woocommerce-error,
.mlco-auth-wrap .woocommerce-error{ border-color:rgba(255,107,120,.45); color:#ff9aa3; }
.mlco-auth-body .woocommerce-message,
.mlco-auth-wrap .woocommerce-message{ border-color:rgba(34,192,122,.45); color:#7fe3b4; }
.mlco-auth-body .woocommerce-error li,
.mlco-auth-wrap .woocommerce-error li{ list-style:none; }

.mlco-auth-foot{ font-size:14px; color:var(--silver-dim); margin-top:22px; }
.mlco-auth-foot a{ color:var(--blue); text-decoration:none; font-weight:600; }
.mlco-auth-foot a:hover{ text-decoration:underline; }

@media (max-width:520px){
	.mlco-auth-card{ padding:32px 22px 26px; border-radius:18px; }
	.mlco-auth-logo{ height:80px; }
}

/* Lost-password form rows (our template uses .mlco-form-row) */
.mlco-auth-body .mlco-form-row{ margin:0 0 16px; padding:0; }
.mlco-auth-body .mlco-form-row:last-of-type{ margin-bottom:0; }

/* WooCommerce login form inside the auth card */
.mlco-auth-body .woocommerce-form-login__rememberme{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--silver); margin:12px 0; }
.mlco-auth-body .woocommerce-form-login__rememberme input{ accent-color:var(--blue); width:16px; height:16px; }
.mlco-auth-body .woocommerce-LostPassword{ margin:14px 0 0; font-size:13px; }
.mlco-auth-body .woocommerce-LostPassword a{ color:var(--blue); text-decoration:none; }
.mlco-auth-body .woocommerce-LostPassword a:hover{ text-decoration:underline; }
.mlco-auth-body h2{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:16px;
	text-transform:uppercase; letter-spacing:.05em; margin:0 0 16px; }
.mlco-auth-body .woocommerce-privacy-policy-text{ font-size:12px; color:var(--silver-dim); line-height:1.6; }

/* =========================================================================
 * My Account area (dashboard, orders, view-order, addresses, details)
 * ========================================================================= */

body.mlco-account .mlco{ padding-top:10px; }

/* Header block */
.mlco-acct-head{ display:flex; align-items:center; gap:16px; margin:14px 0 24px; }
.mlco-acct-avatar{ width:54px; height:54px; border-radius:50%; display:grid; place-items:center;
	background:linear-gradient(135deg, rgba(79,169,255,.28), rgba(43,111,214,.18));
	border:1px solid rgba(79,169,255,.45); color:var(--white); font-family:var(--font-display);
	font-weight:800; font-size:20px; }
.mlco-acct-head h1{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:24px;
	letter-spacing:.04em; text-transform:uppercase; margin:0 0 4px; }
.mlco-acct-head p{ margin:0; color:var(--silver-dim); font-size:13.5px; }

/* Two-column layout */
.mlco-acct-grid{ display:grid; grid-template-columns:250px 1fr; gap:20px; align-items:start; }
.mlco-acct-nav{ margin:0; padding:14px; position:sticky; top:20px; }
.mlco-acct-content{ margin:0; min-height:340px; }

/* Navigation */
.mlco-acct-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.mlco-acct-nav li{ margin:0; }
.mlco-acct-nav li a{ display:block; padding:12px 14px; border-radius:10px; color:var(--silver);
	font-family:var(--font-display); font-weight:600; font-size:13.5px; letter-spacing:.02em;
	text-decoration:none; transition:.15s; }
.mlco-acct-nav li a:hover{ background:var(--panel-2); color:var(--white); }
.mlco-acct-nav li.is-active > a,
.mlco-acct-nav li.woocommerce-MyAccount-navigation-link--dashboard.is-active > a{
	background:linear-gradient(135deg, rgba(79,169,255,.18), rgba(43,111,214,.1));
	border:1px solid rgba(79,169,255,.4); color:var(--white); }

/* Content typography */
.mlco-acct-content h2,
.mlco-acct-content h3{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:16px;
	letter-spacing:.05em; text-transform:uppercase; margin:0 0 16px; }
.mlco-acct-content p{ color:var(--silver); font-size:14px; line-height:1.7; }
.mlco-acct-content a{ color:var(--blue); }
.mlco-acct-content mark{ background:none; color:var(--white); font-weight:700; }

/* Tables: orders list + order details */
.mlco-acct-content table.shop_table,
.mlco-acct-content table.woocommerce-orders-table,
.mlco-acct-content table.woocommerce-table--order-details,
.mlco-acct-content table.woocommerce-table--customer-details{ width:100%; border-collapse:collapse;
	border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:0 0 22px; }
.mlco-acct-content table th{ background:var(--panel-2); color:var(--white); font-family:var(--font-display);
	font-weight:700; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; text-align:left;
	padding:13px 14px; border-bottom:1px solid var(--line); }
.mlco-acct-content table td{ padding:14px; border-bottom:1px solid var(--line); color:var(--silver);
	font-size:13.5px; vertical-align:middle; }
.mlco-acct-content table tr:last-child td{ border-bottom:0; }
.mlco-acct-content table td:last-child,
.mlco-acct-content table th:last-child{ text-align:right; }
.mlco-acct-content table tfoot th{ background:transparent; text-align:left; }
.mlco-acct-content table tfoot tr:last-child th,
.mlco-acct-content table tfoot tr:last-child td{ color:var(--white); font-size:15px; font-weight:800; }
.mlco-acct-content .woocommerce-Price-amount{ color:var(--white); font-weight:700; }
.mlco-acct-content table a{ color:var(--blue); text-decoration:none; font-weight:600; }
.mlco-acct-content table a:hover{ text-decoration:underline; }

/* Order status pill */
.mlco-acct-content .woocommerce-orders-table__cell-order-status{ color:var(--silver); }

/* Buttons */
.mlco-acct-content .button,
.mlco-acct-content .woocommerce-Button,
.mlco-acct-content button[type="submit"]{ display:inline-flex; align-items:center; justify-content:center;
	background:linear-gradient(135deg,var(--blue),var(--blue-deep)); color:#04101f; border:0; border-radius:10px;
	font-family:var(--font-display); font-weight:800; letter-spacing:.03em; font-size:13px; padding:11px 20px;
	text-decoration:none; cursor:pointer; box-shadow:0 6px 18px var(--blue-glow); transition:transform .15s; }
.mlco-acct-content .button:hover,
.mlco-acct-content button[type="submit"]:hover{ transform:translateY(-1px); color:#04101f; }
.mlco-acct-content .woocommerce-Button--previous,
.mlco-acct-content .woocommerce-Button--next{ background:var(--panel-2); color:var(--white); box-shadow:none;
	border:1px solid var(--line); }

/* Addresses */
.mlco-acct-content .woocommerce-Addresses{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.mlco-acct-content .woocommerce-Address{ border:1px solid var(--line); border-radius:12px; padding:18px;
	background:var(--obsidian); }
.mlco-acct-content .woocommerce-Address-title{ display:flex; align-items:center; justify-content:space-between;
	gap:12px; margin-bottom:10px; }
.mlco-acct-content .woocommerce-Address-title h2,
.mlco-acct-content .woocommerce-Address-title h3{ margin:0; }
.mlco-acct-content address{ font-style:normal; color:var(--silver); font-size:13.5px; line-height:1.8; }

/* Order again / order detail wrapper */
.mlco-acct-content .woocommerce-order-details,
.mlco-acct-content .woocommerce-customer-details{ margin:0 0 8px; }
.mlco-acct-content .woocommerce-column__title{ font-size:14px; }
.mlco-acct-content .woocommerce-columns{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.mlco-acct-content .woocommerce-columns .col-1,
.mlco-acct-content .woocommerce-columns .col-2{ width:auto; float:none; }

/* Forms (account details, edit address) */
.mlco-acct-content form .form-row{ margin:0 0 16px; padding:0; display:block; }
.mlco-acct-content label{ display:block; font-size:12.5px; color:var(--silver-dim);
	font-family:var(--font-display); font-weight:600; margin-bottom:7px; }
.mlco-acct-content input[type="text"],
.mlco-acct-content input[type="email"],
.mlco-acct-content input[type="tel"],
.mlco-acct-content input[type="password"],
.mlco-acct-content select,
.mlco-acct-content textarea{ width:100%; box-sizing:border-box; background:var(--obsidian);
	border:1px solid var(--line); border-radius:10px; color:var(--white); font-family:var(--font-body);
	font-size:14px; padding:12px 14px; }
.mlco-acct-content input:focus,
.mlco-acct-content select:focus,
.mlco-acct-content textarea:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-glow); }
.mlco-acct-content fieldset{ border:1px solid var(--line); border-radius:12px; padding:18px; margin:22px 0; }
.mlco-acct-content legend{ color:var(--white); font-family:var(--font-display); font-weight:700;
	font-size:13px; text-transform:uppercase; letter-spacing:.05em; padding:0 8px; }

/* Notices */
.mlco-acct-content .woocommerce-message,
.mlco-acct-content .woocommerce-info,
.mlco-acct-content .woocommerce-error{ list-style:none; margin:0 0 20px; padding:14px 16px; border-radius:12px;
	background:var(--panel-2); border:1px solid var(--line); color:var(--silver); font-size:13.5px; }
.mlco-acct-content .woocommerce-message{ border-color:rgba(34,192,122,.45); color:#7fe3b4; }
.mlco-acct-content .woocommerce-error{ border-color:rgba(255,107,120,.45); color:#ff9aa3; }
.mlco-acct-content .woocommerce-message .button,
.mlco-acct-content .woocommerce-info .button{ margin-left:12px; }

@media (max-width:900px){
	.mlco-acct-grid{ grid-template-columns:1fr; }
	.mlco-acct-nav{ position:static; }
	.mlco-acct-nav ul{ flex-direction:row; flex-wrap:wrap; }
	.mlco-acct-content .woocommerce-Addresses,
	.mlco-acct-content .woocommerce-columns{ grid-template-columns:1fr; }
	.mlco-acct-content table th{ font-size:10.5px; }
	.mlco-acct-content table td{ padding:11px; font-size:12.5px; }
}

/* =========================================================================
 * Password reset confirmation page
 * ========================================================================= */

.mlco-reset-hero{ padding:44px 0 30px; }
.mlco-reset-h1{ margin:0 0 4px; }
.mlco-reset-h1-top{ display:block; font-family:var(--font-display); font-weight:800; color:var(--white);
	font-size:26px; letter-spacing:.03em; text-transform:uppercase; }
.mlco-reset-h1-main{ display:block; font-family:var(--font-display); font-weight:800; color:var(--blue);
	font-size:40px; letter-spacing:.02em; text-transform:uppercase; text-shadow:0 0 34px var(--blue-glow);
	margin-top:4px; }
.mlco-reset-rule{ display:flex; align-items:center; justify-content:center; gap:6px; margin:22px auto 24px;
	max-width:560px; }
.mlco-reset-rule span{ height:1px; background:linear-gradient(90deg, transparent, var(--line), transparent);
	flex:1 1 auto; }
.mlco-reset-rule span:nth-child(2){ flex:0 0 34px; height:2px; background:var(--blue); border-radius:2px;
	box-shadow:0 0 12px var(--blue-glow); }

.mlco-reset-btn{ font-size:15px; letter-spacing:.06em; text-transform:uppercase; padding:17px 34px; gap:14px; }
.mlco-reset-btn svg{ width:18px; height:18px; }

.mlco-reset-secure{ margin-top:26px; }
.mlco-reset-secure-line{ display:inline-flex; align-items:center; gap:9px; color:var(--silver); font-size:14px; }
.mlco-reset-secure-line svg{ width:19px; height:19px; color:var(--blue); }
.mlco-reset-secure p{ margin:7px 0 0; color:var(--silver-dim); font-size:13.5px; }

.mlco-reset-badges{ margin-top:14px; padding:26px 24px; }
.mlco-reset-badges .mlco-badge{ position:relative; }
.mlco-reset-badges .mlco-badge:not(:last-child)::after{ content:""; position:absolute; right:-6px; top:12%;
	height:76%; width:1px; background:var(--line); }

@media (max-width:900px){
	.mlco-reset-h1-top{ font-size:19px; }
	.mlco-reset-h1-main{ font-size:28px; }
	.mlco-reset-badges .mlco-badge:not(:last-child)::after{ display:none; }
}

/* =========================================================================
 * Account: top nav, icon sidebar, order-history cards
 * ========================================================================= */

.mlco-acct-header{ align-items:center; }
.mlco-acct-topnav{ display:flex; align-items:center; gap:26px; }
.mlco-acct-topnav a{ color:var(--silver); font-family:var(--font-display); font-weight:600; font-size:13.5px;
	text-decoration:none; transition:color .15s; }
.mlco-acct-topnav a:hover{ color:var(--blue); }

/* Sidebar */
.mlco-acct-nav{ background:transparent; border:0; padding:0; }
.mlco-nav-label{ color:var(--silver-dim); font-family:var(--font-display); font-weight:700; font-size:11px;
	letter-spacing:.12em; text-transform:uppercase; margin:4px 0 12px 6px; }
.mlco-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.mlco-nav li a{ display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:10px;
	color:var(--silver); font-family:var(--font-display); font-weight:600; font-size:13.5px; text-decoration:none;
	border-left:2px solid transparent; transition:.15s; }
.mlco-nav li a:hover{ background:var(--panel-2); color:var(--white); }
.mlco-nav-ic{ display:grid; place-items:center; width:20px; height:20px; flex:0 0 20px; }
.mlco-nav-ic svg{ width:18px; height:18px; }
.mlco-nav li.is-active > a{ background:transparent; color:var(--blue); border-left:2px solid var(--blue);
	border-radius:0 10px 10px 0; }
.mlco-nav li.is-active .mlco-nav-ic svg{ color:var(--blue); }

/* Need help card */
.mlco-help-card{ margin-top:22px; border:1px solid var(--line); border-radius:14px; padding:18px;
	background:var(--panel); }
.mlco-help-head{ display:flex; align-items:center; gap:10px; color:var(--white); font-family:var(--font-display);
	font-weight:700; font-size:13.5px; letter-spacing:.05em; text-transform:uppercase; margin-bottom:10px; }
.mlco-help-head svg{ width:20px; height:20px; color:var(--blue); }
.mlco-help-card p{ margin:0 0 14px; color:var(--silver-dim); font-size:12.5px; line-height:1.6; }
.mlco-help-btn{ display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--blue);
	color:var(--blue); font-family:var(--font-display); font-weight:800; letter-spacing:.05em; font-size:12px;
	text-transform:uppercase; border-radius:9px; padding:11px 18px; text-decoration:none; transition:.15s;
	white-space:nowrap; }
.mlco-help-btn:hover{ background:var(--blue); color:#04101f; }

/* Orders header */
.mlco-orders-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
	margin-bottom:20px; flex-wrap:wrap; }
.mlco-orders-title{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:22px;
	letter-spacing:.05em; text-transform:uppercase; margin:0 0 6px; }
.mlco-orders-sub{ margin:0; color:var(--silver-dim); font-size:13.5px; }
.mlco-orders-filter{ min-width:200px; margin:0; }
.mlco-orders-filter select{ padding:12px 40px 12px 14px; }

/* Order cards */
.mlco-orders{ display:flex; flex-direction:column; gap:16px; }
.mlco-order-card{ border:1px solid var(--line); border-radius:14px; background:var(--panel); overflow:hidden; }
.mlco-order-top{ display:grid; grid-template-columns:1.2fr 1fr 1fr .9fr auto; gap:16px; align-items:center;
	padding:18px 20px; }
.mlco-order-id a{ display:block; color:var(--blue); font-family:var(--font-display); font-weight:800;
	font-size:15px; text-decoration:none; }
.mlco-order-id a:hover{ text-decoration:underline; }
.mlco-order-id span{ display:block; color:var(--silver-dim); font-size:12.5px; margin-top:3px; }
.mlco-order-date{ color:var(--silver); font-size:13.5px; }
.mlco-order-date span{ display:block; color:var(--silver-dim); font-size:12.5px; margin-top:3px; }
.mlco-order-total{ color:var(--white); font-family:var(--font-display); font-weight:800; font-size:15px;
	text-align:left; }
.mlco-order-total span{ display:block; color:var(--silver-dim); font-size:11.5px; font-weight:600; margin-top:3px; }
.mlco-order-total .woocommerce-Price-amount{ color:var(--white); }
.mlco-order-actions{ display:flex; align-items:center; gap:10px; justify-self:end; }
.mlco-vieworder{ display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line);
	background:var(--panel-2); color:var(--white); font-family:var(--font-display); font-weight:700; font-size:12.5px;
	border-radius:9px; padding:10px 16px; text-decoration:none; transition:.15s; white-space:nowrap; }
.mlco-vieworder:hover{ border-color:var(--blue); color:var(--blue); }
.mlco-order-arrow{ color:var(--silver-dim); display:grid; place-items:center; }
.mlco-order-arrow svg{ width:18px; height:18px; }
.mlco-order-arrow:hover{ color:var(--blue); }

/* Status pills */
.mlco-pill{ display:inline-flex; align-items:center; border-radius:8px; padding:6px 12px;
	font-family:var(--font-display); font-weight:700; font-size:12px; border:1px solid var(--line);
	color:var(--silver); white-space:nowrap; }
.mlco-pill--completed{ color:var(--green); border-color:rgba(34,192,122,.5); background:rgba(34,192,122,.08); }
.mlco-pill--processing{ color:var(--silver); border-color:var(--line); background:var(--panel-2); }
.mlco-pill--on-hold{ color:#ffc861; border-color:rgba(255,200,97,.45); background:rgba(255,200,97,.08); }
.mlco-pill--cancelled,
.mlco-pill--failed,
.mlco-pill--refunded{ color:#ff9aa3; border-color:rgba(255,107,120,.45); background:rgba(255,107,120,.08); }
.mlco-pill--shipped{ color:var(--blue); border-color:rgba(79,169,255,.5); background:rgba(79,169,255,.08); }

/* Items strip */
.mlco-order-items{ border-top:1px solid var(--line); padding:16px 20px; }
.mlco-order-items-label{ display:block; color:var(--silver-dim); font-size:12.5px; margin-bottom:12px; }
.mlco-order-items-list{ display:flex; flex-wrap:wrap; gap:26px; }
.mlco-order-item{ display:flex; align-items:center; gap:12px; }
/* The image carries its own size inline (see vial_img_html); the frame is just
   big enough to hold it with a little breathing room. */
.mlco-order-item-thumb{ width:40px; height:56px; border-radius:9px; background:var(--obsidian);
	border:1px solid var(--line); box-sizing:border-box; display:flex; align-items:center;
	justify-content:center; overflow:hidden; flex:0 0 40px; }
.mlco-order-item-name{ color:var(--white); font-family:var(--font-display); font-weight:700; font-size:13.5px; }
.mlco-order-item-strength{ color:var(--blue); font-size:12.5px; margin-top:3px; }

/* Guest-order note */
.mlco-orders-note{ display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
	border:1px solid var(--line); border-radius:14px; background:var(--panel); padding:16px 20px; margin-top:16px; }
.mlco-orders-note-left{ display:flex; align-items:center; gap:14px; }
.mlco-orders-note-left svg{ width:22px; height:22px; color:var(--blue); flex:0 0 22px; }
.mlco-orders-note strong{ display:block; color:var(--white); font-family:var(--font-display); font-weight:700;
	font-size:13.5px; margin-bottom:3px; }
.mlco-orders-note p{ margin:0; color:var(--silver-dim); font-size:12.5px; }

/* Pagination + empty state */
.mlco-orders-pagination{ display:flex; gap:10px; margin-top:18px; }
.mlco-pagebtn{ border:1px solid var(--line); background:var(--panel-2); color:var(--white); border-radius:9px;
	padding:10px 18px; font-family:var(--font-display); font-weight:700; font-size:12.5px; text-decoration:none; }
.mlco-pagebtn:hover{ border-color:var(--blue); color:var(--blue); }
.mlco-orders-empty{ text-align:center; padding:44px 20px; }
.mlco-orders-empty svg{ width:46px; height:46px; color:var(--silver-dim); margin-bottom:16px; }
.mlco-orders-empty h3{ margin:0 0 8px; }
.mlco-orders-empty p{ margin:0 0 22px; color:var(--silver-dim); }

@media (max-width:900px){
	.mlco-acct-topnav{ gap:16px; font-size:12px; flex-wrap:wrap; }
	.mlco-order-top{ grid-template-columns:1fr 1fr; gap:14px; }
	.mlco-order-actions{ justify-self:start; }
	.mlco-orders-head{ flex-direction:column; }
	.mlco-orders-filter{ width:100%; }
}

/* =========================================================================
 * Account header (mirrors the storefront) + no avatars anywhere
 * ========================================================================= */

/* Belt-and-braces: whatever injects avatars into the account area stays out,
   including via hooks we don't render. */
body.mlco-account .avatar,
body.mlco-account img.avatar,
body.mlco-account .gravatar,
body.mlco-account .change-avatar,
body.mlco-account .woocommerce-MyAccount-userAvatar,
body.mlco-account .wc-memberships-profile-avatar,
body.mlco-account a[href*="gravatar"],
body.mlco-account .mlco-acct-avatar{ display:none !important; }

.mlco-acct-header{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.mlco-acct-header .mlco-brand img{ height:54px; width:auto; }
.mlco-acct-topnav{ display:flex; align-items:center; gap:30px; flex:1 1 auto; justify-content:center; }
.mlco-acct-topnav a{ color:var(--silver); font-family:var(--font-display); font-weight:600; font-size:14px;
	letter-spacing:.02em; text-decoration:none; transition:color .15s; white-space:nowrap; }
.mlco-acct-topnav a:hover{ color:var(--blue); }

.mlco-acct-actions{ display:flex; align-items:center; gap:14px; }
.mlco-icon-btn{ display:grid; place-items:center; width:38px; height:38px; border-radius:10px;
	border:1px solid var(--line); color:var(--silver); transition:.15s; }
.mlco-icon-btn svg{ width:19px; height:19px; }
.mlco-icon-btn:hover{ border-color:var(--blue); color:var(--blue); }
.mlco-cart-btn{ display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:10px;
	padding:9px 14px; color:var(--white); text-decoration:none; font-family:var(--font-display); font-weight:700;
	font-size:13px; transition:.15s; }
.mlco-cart-btn svg{ width:19px; height:19px; color:var(--silver); }
.mlco-cart-btn:hover{ border-color:var(--blue); }
.mlco-cart-btn:hover svg{ color:var(--blue); }
.mlco-cart-count{ min-width:19px; height:19px; padding:0 5px; border-radius:20px; background:var(--blue);
	color:#04101f; font-size:11px; font-weight:800; display:grid; place-items:center; }
.mlco-cart-total{ color:var(--silver); font-weight:600; }

/* Heading without the avatar circle */
.mlco-acct-head{ display:block; margin:22px 0 24px; }

@media (max-width:1040px){
	.mlco-acct-topnav{ gap:18px; font-size:13px; order:3; width:100%; justify-content:flex-start; }
	.mlco-acct-header{ gap:14px; }
}

/* =========================================================================
 * Account sidebar: user block + icon menu
 * ========================================================================= */

.mlco-nav-label{ color:var(--white); font-family:var(--font-display); font-weight:800; font-size:12.5px;
	letter-spacing:.1em; text-transform:uppercase; margin:2px 0 16px 2px; }

.mlco-nav-user{ display:flex; align-items:center; gap:13px; padding:0 2px 18px; margin-bottom:14px;
	border-bottom:1px solid var(--line); }
.mlco-nav-user-ic{ display:grid; place-items:center; width:46px; height:46px; border-radius:50%;
	border:1.5px solid var(--blue); color:var(--blue); flex:0 0 46px; }
.mlco-nav-user-ic svg{ width:24px; height:24px; }
.mlco-nav-hello{ display:block; color:var(--silver-dim); font-size:12.5px; line-height:1.3; }
.mlco-nav-user strong{ display:block; color:var(--white); font-family:var(--font-display); font-weight:700;
	font-size:14px; margin:2px 0 3px; word-break:break-word; }
.mlco-nav-user a{ color:var(--blue); font-size:12.5px; text-decoration:none; }
.mlco-nav-user a:hover{ text-decoration:underline; }

.mlco-nav li.mlco-nav-extra a{ color:var(--silver); }

/* =========================================================================
 * Header colours: restore the storefront's own palette
 * =========================================================================
 * `body.moleano-skin a { color: var(--blue) }` above is more specific than the
 * storefront's `.main-nav a`, and this file loads last, so it was repainting
 * every header link blue. Re-assert the storefront's colours here.
 */
body.mlco-account .announce a,
body.mlco-account .site-header a,
body.mlco-thankyou .site-header a,
body.mlco-authpage .site-header a{ color:inherit; text-decoration:none; }

body.mlco-account .site-header .main-nav a{ color:var(--silver); }
body.mlco-account .site-header .main-nav a:hover,
body.mlco-account .site-header .main-nav a.active{ color:var(--white); }
body.mlco-account .site-header .brand .wordmark b{ color:var(--white); }
body.mlco-account .site-header .brand .wordmark small{ color:var(--silver-dim); }
body.mlco-account .site-header .icon-btn{ color:var(--silver); }
body.mlco-account .site-header .icon-btn:hover{ color:var(--white); }
body.mlco-account .site-header .cart-btn,
body.mlco-account .site-header .cart-btn .txt{ color:var(--white); }
body.mlco-account .site-header .cart-btn svg{ color:var(--silver); }
body.mlco-account .site-header .acct-initial{ color:#04101f; }
body.mlco-account .announce .mq-item{ color:var(--silver); }
body.mlco-account .announce .mq-sep{ color:var(--blue); }

/* =========================================================================
 * Support pages (FAQ, Shipping, Returns, Privacy, Terms)
 * ========================================================================= */

.mlco-doc{ max-width:900px; }
.mlco-doc-head{ padding:34px 0 26px; }
.mlco-doc-eyebrow{ display:inline-block; color:var(--blue); font-family:var(--font-display); font-weight:700;
	letter-spacing:.12em; text-transform:uppercase; font-size:11.5px; margin-bottom:10px; }
.mlco-doc-head h1{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:34px;
	letter-spacing:.02em; text-transform:uppercase; margin:0 0 8px; }
.mlco-doc-updated{ margin:0; color:var(--silver-dim); font-size:12.5px; }

.mlco-doc-body{ padding:34px 38px; }
.mlco-doc-body h2{ font-family:var(--font-display); font-weight:800; color:var(--white); font-size:18px;
	letter-spacing:.04em; text-transform:uppercase; margin:34px 0 14px; padding-bottom:12px;
	border-bottom:1px solid var(--line); }
.mlco-doc-body h2:first-child{ margin-top:0; }
.mlco-doc-body h3{ font-family:var(--font-display); font-weight:700; color:var(--blue); font-size:15px;
	margin:22px 0 8px; }
.mlco-doc-body p{ color:var(--silver); font-size:14.5px; line-height:1.85; margin:0 0 14px; }
.mlco-doc-body a{ color:var(--blue); }
.mlco-doc-help{ margin-top:22px; }

@media (max-width:700px){
	.mlco-doc-body{ padding:24px 20px; }
	.mlco-doc-head h1{ font-size:25px; }
}

/* Temporary-password notice (shown until the customer sets their own) */
.mlco-temp-pass{ display:flex; gap:14px; align-items:center; border:1px solid rgba(255,200,97,.45);
	background:rgba(255,200,97,.07); border-radius:12px; padding:15px 17px; margin:0 0 22px; }
.mlco-temp-pass-ic svg{ width:22px; height:22px; color:#ffc861; flex:0 0 22px; }
.mlco-temp-pass p{ margin:0; color:#ffd591; font-size:13.5px; line-height:1.6; }
.mlco-temp-pass a{ color:var(--blue); font-family:var(--font-display); font-weight:700; font-size:13px;
	text-decoration:none; }
.mlco-temp-pass a:hover{ text-decoration:underline; }

/* Sign-in card: form, remember/forgot row, register prompt */
.mlco-loginform{ margin:0; }
.mlco-login-meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0 18px; }
.mlco-check{ display:flex; align-items:center; gap:8px; margin:0; color:var(--silver); font-size:13px;
	font-family:var(--font-body); cursor:pointer; }
.mlco-check input{ width:16px; height:16px; accent-color:var(--blue); margin:0; }
.mlco-check span{ font-family:var(--font-body); }
.mlco-forgot{ color:var(--blue); font-size:13px; text-decoration:none; }
.mlco-forgot:hover{ text-decoration:underline; }
.mlco-or{ display:flex; align-items:center; gap:14px; margin:22px 0 18px; color:var(--silver-dim);
	font-size:12px; }
.mlco-or::before,.mlco-or::after{ content:""; flex:1; height:1px; background:var(--line); }
.mlco-register-cta{ text-align:center; color:var(--silver-dim); font-size:13.5px; }
.mlco-register-cta a{ color:var(--blue); font-family:var(--font-display); font-weight:700;
	text-decoration:none; margin-left:4px; }
.mlco-register-cta a:hover{ text-decoration:underline; }

/* =========================================================================
 * Account layout: explicit placement for menu / content / help
 * =========================================================================
 * The help card is a sibling of the menu and the content, positioned by grid
 * area: beside the menu on desktop, and after the content once the columns
 * stack on mobile.
 */
body.mlco-account .mlco-acct-grid{
	display:grid;
	grid-template-columns:250px 1fr;
	grid-template-areas:"nav content" "help content";
	align-content:start;
	gap:20px;
}
body.mlco-account .mlco-acct-nav{ grid-area:nav; }
body.mlco-account .mlco-acct-content{ grid-area:content; }
body.mlco-account .mlco-help-card{ grid-area:help; margin-top:0; align-self:start; }

@media (max-width:900px){
	body.mlco-account .mlco-acct-grid{
		grid-template-columns:1fr;
		grid-template-areas:"nav" "content" "help";
	}
}
