
.brand-logo-frame {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  overflow: hidden;
  border-radius: 50%;
  background: #f9f9f9;
  box-shadow: 0 3px 12px rgba(45, 7, 12, .18), inset 0 0 0 1px rgba(101, 31, 39, .12);
}

.checkout-card #checkout-form button { justify-content:center; font-size:15px; text-transform:none; letter-spacing:.03em; min-height:52px; }
.checkout-card #checkout-form button:focus-visible { outline:3px solid var(--wine); outline-offset:3px; }
.payment-logos { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px; padding:12px 8px; }
.payment-logos img { display:block; width:56px; height:32px; object-fit:contain; }
.payment-help { color:#715c58; font-size:11px; line-height:1.6; text-align:center; margin:10px 0 0; }
.payment-help[hidden] { display:none; }

.checkout-burial { min-width:0; margin:28px 0; padding:24px 0 0; border:0; border-top:1px solid var(--line); }
.checkout-burial legend { padding:0 12px 0 0; color:var(--wine); font:26px/1.2 Georgia,serif; }
.checkout-burial>p { margin:0 0 20px; color:#715c58; font:13px/1.65 "Trebuchet MS",Arial,sans-serif; }
.checkout-burial-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.checkout-burial-fields label { display:flex; flex-direction:column; gap:8px; min-width:0; color:var(--wine); font:700 13px/1.45 "Trebuchet MS",Arial,sans-serif; }
.checkout-burial-fields input { width:100%; min-width:0; min-height:48px; margin-top:auto; padding:12px; border:1px solid #bcaeaa; border-radius:3px; background:#fff; color:var(--wine); font:16px/1.4 "Trebuchet MS",Arial,sans-serif; }
.checkout-burial-fields input::placeholder { color:#8c7773; opacity:1; }
.checkout-burial-fields input:focus-visible { outline:2px solid var(--wine); outline-offset:2px; }
.burial-field-wide { grid-column:1/-1; }
.checkout-burial>p.checkout-burial-note { margin:18px 0 12px; font-size:12px; }
.checkout-burial>p.checkout-burial-error { padding:14px; border-left:3px solid #ad3938; background:#f4dfdc; color:#8f302f; }
.checkout-burial-location { display:inline-flex; align-items:center; min-height:44px; max-width:100%; color:var(--wine); font-size:12px; line-height:1.5; text-decoration:underline; text-underline-offset:3px; }
.checkout-photo { min-width:0; margin-top:22px; padding:18px; border:1px solid var(--line); background:#f5efeb; }
.checkout-photo label { display:block; margin-bottom:10px; color:var(--wine); font:700 13px/1.45 "Trebuchet MS",Arial,sans-serif; }
.checkout-photo input[type=file] { display:block; width:100%; min-width:0; color:var(--wine); font:14px/1.5 "Trebuchet MS",Arial,sans-serif; }
.checkout-photo input[type=file]::file-selector-button { min-height:44px; max-width:100%; margin:0 10px 8px 0; padding:8px 12px; border:1px solid #bcaeaa; border-radius:3px; background:#fff; color:var(--wine); font:inherit; cursor:pointer; }
.checkout-photo input:focus-visible { outline:2px solid var(--wine); outline-offset:3px; }
.checkout-photo p { margin:8px 0 0; color:#715c58; font:12px/1.6 "Trebuchet MS",Arial,sans-serif; }
.checkout-photo p:empty { display:none; }
.checkout-photo p.checkout-photo-error { margin:0 0 14px; padding:12px; border-left:3px solid #ad3938; background:#f4dfdc; color:#8f302f; }
.checkout-photo-preview { margin-top:14px; }
.checkout-photo-preview[hidden] { display:none; }
.checkout-photo-preview img { display:block; width:auto; max-width:100%; max-height:240px; margin:0 auto 10px; object-fit:contain; border-radius:3px; }
.checkout-photo-preview img:not([src]) { display:none; }
.checkout-card #checkout-form .checkout-photo-remove { width:auto; min-height:44px; margin:0; padding:8px 12px; border:1px solid #bcaeaa; border-radius:3px; background:#fff; color:var(--wine); font:13px/1.5 "Trebuchet MS",Arial,sans-serif; letter-spacing:normal; }
@media(max-width:560px) { .checkout-burial-fields { grid-template-columns:1fr; } }

.brand-logo-frame img {
  width: 100%;
  height: 100%;
  padding: 2px;
  object-fit: contain;
}

