/* Small additions to the existing Light for Life theme. */
:root { --lf-brown:#8d6056; --lf-ink:#262626; --lf-soft:#faf7f5; }
.lf-notice { margin:16px 0; padding:12px 16px; border-radius:8px; background:#f2ebe7; color:var(--lf-ink); }
.lf-notice[hidden] { display:none !important; }
.lf-toast { position:fixed; bottom:24px; right:24px; z-index:10001; max-width:min(360px,calc(100vw - 32px)); padding:14px 18px; border-radius:8px; background:var(--lf-ink); color:white; box-shadow:0 6px 24px #0003; }
.header__cart-badge[data-count="0"] { display:none; }
.lf-cart-page #MainContent > :not(#lf-cart) { display:none !important; }
#lf-cart { max-width:1100px; margin:0 auto; padding:44px 24px 80px; color:var(--lf-ink); }
#lf-cart h1 { font-size:clamp(28px,4vw,42px); margin:0 0 10px; }
.lf-lede { color:#615b58; margin:0 0 26px; }
.lf-cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:32px; align-items:start; }
.lf-cart-item { display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:20px; padding:22px 0; border-top:1px solid #e8ded9; }
.lf-cart-item img { width:110px; height:110px; object-fit:contain; border-radius:8px; background:var(--lf-soft); }
.lf-cart-item h2 { font-size:18px; line-height:1.35; margin:0 0 8px; }
.lf-cart-item p { margin:0 0 12px; }
.lf-qty { display:inline-flex; align-items:center; border:1px solid #bca59b; border-radius:6px; overflow:hidden; }
.lf-qty button { border:0; background:white; min-width:44px; min-height:44px; font-size:23px; cursor:pointer; color:var(--lf-ink); }
.lf-qty button:disabled { color:#777; background:#f1edeb; cursor:not-allowed; }
.lf-qty output { min-width:32px; text-align:center; font-weight:600; }
.lf-remove { border:0; background:none; text-decoration:underline; cursor:pointer; padding:10px 0; color:#6e4a40; }
.lf-summary { background:var(--lf-soft); padding:24px; border-radius:10px; border:1px solid #eaded8; }
.lf-summary h2 { margin:0 0 20px; font-size:23px; }
.lf-shipping-progress { margin:0 0 20px; padding:16px; border:1px solid #e2d3cb; border-radius:10px; background:#fff; }
.lf-shipping-progress p { margin:0 0 12px; color:#65443c; font-weight:700; line-height:1.4; }
.lf-progress-track { height:10px; overflow:hidden; border-radius:999px; background:#eaded8; }
.lf-progress-track span { display:block; height:100%; border-radius:inherit; background:var(--lf-brown); transition:width .2s ease; }
.lf-checkout-note { margin:18px 0 4px; color:#514944; font-size:14px; line-height:1.5; }
.lf-total-row { display:flex; justify-content:space-between; gap:16px; padding:7px 0; }
.lf-total-row.final { border-top:1px solid #dac7be; margin-top:10px; padding-top:15px; font-size:20px; font-weight:700; }
.lf-button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:10px 20px; border-radius:6px; background:var(--lf-brown); color:white !important; border:1px solid var(--lf-brown); text-decoration:none; font-family:inherit; font-size:16px; font-weight:600; line-height:1.3; cursor:pointer; }
.lf-button:hover { background:#70493f; }
.lf-button:disabled { opacity:.55; cursor:not-allowed; }
.lf-button.secondary { background:white; color:var(--lf-brown) !important; }
.lf-summary .lf-button { width:100%; margin-top:16px; box-sizing:border-box; }
.lf-links { display:flex; flex-wrap:wrap; gap:14px; margin-top:20px; }
.lf-card { background:white; border:1px solid #eaded8; border-radius:10px; padding:24px; }
.lf-page { max-width:980px; margin:0 auto; padding:48px 20px 88px; }
.lf-page h1 { font-size:clamp(28px,5vw,44px); line-height:1.15; margin:0 0 16px; }
.lf-page p { line-height:1.6; }
.lf-page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:24px 0; }
.lf-simple-header { border-bottom:1px solid #eaded8; background:#fff; }
.lf-simple-header-inner { max-width:1200px; margin:auto; padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.lf-simple-header .lf-logo { flex:0 0 auto; padding:0; }
.lf-simple-header img { display:block; width:140px; height:auto; }
.lf-simple-header a { color:var(--lf-ink); text-decoration:none; min-height:44px; display:inline-flex; align-items:center; box-sizing:border-box; }
.lf-checkout-nav { display:flex; align-items:center; gap:28px; }
.lf-checkout-nav a:hover { color:var(--lf-brown); text-decoration:underline; text-underline-offset:4px; }
.lf-checkout-nav .lf-back-shop { padding:8px 14px; border:1px solid #d8c6bc; border-radius:6px; color:#65443c; font-weight:600; }
.lf-simple-header a:focus-visible,.lf-button:focus-visible,.lf-qty button:focus-visible,.lf-remove:focus-visible,.lf-cancel-actions a:focus-visible { outline:3px solid #3c74ae; outline-offset:2px; }
.lf-cancel-actions { display:flex; flex-wrap:wrap; gap:18px; margin:0 0 24px; }
.lf-cancel-actions a { color:#65443c; font-weight:600; text-underline-offset:3px; }
.lf-simple-header .lf-mini-count { background:var(--lf-brown); color:white; border-radius:50%; min-width:18px; height:18px; font:11px/18px Arial,sans-serif; text-align:center; margin-left:4px; }
.lf-simple-header .lf-mini-count[data-count="0"] { display:none; }
@media(max-width:768px) {
  .header-wrapper { padding:0 10px !important; gap:4px !important; min-width:0; }
  .header__logo { min-width:0; }
  .header__logo img { max-width:100px !important; }
  .header__actions { gap:2px !important; margin-left:auto; }
  .header__actions #search-open-sections--28320755122513__custom_header_YiBUgz { display:none !important; }
  .header__icon-btn,.header__mobile-toggle { flex:0 0 44px; width:44px; height:44px; padding:10px !important; box-sizing:border-box; }
  .header__cart-badge { top:-2px; right:-2px; }
  .header__offcanvas .offcanvas__close { min-width:44px; min-height:44px; }
  .lf-cart-layout { grid-template-columns:1fr; gap:18px; }
  #lf-cart { padding:30px 16px 70px; }
  .lf-cart-item { grid-template-columns:82px minmax(0,1fr); gap:12px; }
  .lf-cart-item img { width:82px; height:82px; }
  .lf-cart-item .lf-line-price { grid-column:2; }
  .lf-page-grid { grid-template-columns:1fr; }
  .lf-simple-header-inner { padding:8px 16px; gap:12px; }
  .lf-simple-header img { width:110px; }
  .lf-checkout-nav { gap:10px; }
  .lf-checkout-nav a { font-size:14px; }
  .lf-checkout-nav a[href="/pages/contact"] { display:none; }
  .lf-checkout-nav .lf-back-shop { padding:6px 10px; }
}
@media(max-width:420px) { .lf-checkout-nav a[href="/collections"] { display:none; } .lf-simple-header img { width:100px; } .lf-simple-header-inner { padding-inline:12px; } }
@media(max-width:340px) { .header__logo img { max-width:88px !important; } .header-wrapper { padding:0 6px !important; } }
.lf-order-page { margin:0; font-family:Arial,sans-serif; color:var(--lf-ink); background:#faf7f5; }
.lf-order-wrap { max-width:760px; padding-top:56px; }
.lf-order-card { background:#fff; border:1px solid #eaded8; border-radius:16px; padding:clamp(24px,5vw,48px); box-shadow:0 12px 36px #3a24130d; }
.lf-order-eyebrow { color:var(--lf-brown); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.lf-order-mark { width:48px; height:48px; border-radius:50%; background:#e8f3e9; color:#28653b; text-align:center; font-size:30px; line-height:48px; margin:26px 0 18px; }
.lf-order-card h1 { margin:0 0 12px; letter-spacing:.015em; }
.lf-order-intro { color:#514944; font-size:17px; margin:0 0 26px; }
.lf-order-reference { padding:17px 0; border-top:1px solid #eaded8; border-bottom:1px solid #eaded8; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.lf-order-section { padding:19px 0; border-bottom:1px solid #eaded8; }
.lf-order-section h2 { font-size:19px; margin:0 0 18px; }
.lf-order-item { display:flex; justify-content:space-between; align-items:start; gap:18px; padding:12px 0; }
.lf-order-item span { max-width:75%; }
.lf-order-card .lf-total-row.final { margin-top:12px; }
.lf-order-email { margin:25px 0; color:#514944; }
.lf-order-fulfilment { margin:22px 0 0; color:#514944; }
.lf-order-card .lf-links { margin-top:28px; }
@media(max-width:600px) { .lf-order-wrap { padding:24px 14px 60px; } .lf-order-card { border-radius:10px; } .lf-order-card .lf-links .lf-button { width:100%; box-sizing:border-box; } }
