/* Extend Dowebo checkout primitives; preview content retains the memorial theme. */
/* The shared .form label span rule is for errors, not choice or field labels. */
.mc-form label > span:not([data-memorial-file-error]) {
    color: var(--heading);
    font-size: inherit;
    font-weight: inherit;
}
.mc-form label > span small {
    color: var(--body);
    font-weight: 400;
}

.memorial-configurator .mc-form{min-width:0;align-content:start}
.mc-form h1{font-size:2rem;line-height:1.2;margin:0}.mc-form>p{margin:0;color:var(--body)}
.mc-form fieldset{border:0;border-top:1px solid var(--line);padding:24px 0 0;min-width:0;display:grid;gap:18px}
.mc-form legend{font-size:1.1rem;font-weight:850;padding:0 0 10px;color:var(--heading)}
.mc-form small{font-size:14px;line-height:1.5;font-weight:400;color:var(--body)}
.mc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mc-row>*{min-width:0}.mc-form input,.mc-form textarea,.mc-form select{max-width:100%;min-width:0}
.mc-form input[type=file]{padding:12px;line-height:1.5;font-size:14px}
.mc-form .mc-check{display:flex;align-items:flex-start;font-weight:400;line-height:1.5;font-size:14px}.mc-form .mc-check input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--blue)}
.mc-palettes{display:flex;flex-wrap:wrap;gap:10px}.mc-form .mc-palette{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding:10px;gap:8px;cursor:pointer;min-height:48px;font-size:14px}.mc-palette:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.mc-palette input{min-height:16px;width:16px;height:16px;accent-color:var(--blue)}.mc-swatch{width:20px;height:20px;border-radius:50%}
.mc-preview-panel{min-width:0;align-self:start}.mc-preview-toolbar{display:grid;gap:12px;font-size:14px;padding-top:16px;border-top:1px solid var(--line);margin-top:16px}.mc-preview-toolbar>div{display:flex;gap:8px}.mc-preview-toolbar button{border:1px solid var(--line);padding:8px 12px;border-radius:6px;background:white;font:14px system-ui;min-height:40px;cursor:pointer;color:var(--heading)}.mc-preview-toolbar button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
.mc-preview-stage{display:flex;justify-content:center;background:var(--surface-muted,#f4f7fb);padding:8px;margin-top:16px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.mc-preview-stage iframe{width:100%;height:520px;border:0;background:white;max-width:100%}.mc-preview-stage iframe.is-mobile{width:390px}.mc-preview-note{font-size:14px;line-height:1.5}.mc-preview-dialog{width:min(1240px,96vw);max-width:96vw;height:92vh;max-height:92vh;border:1px solid var(--line);border-radius:10px;padding:20px}.mc-preview-dialog::backdrop{background:#10213d99}.mc-dialog-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center}.mc-preview-dialog .mc-preview-stage{height:calc(92vh - 120px)}.mc-preview-dialog iframe{height:100%}.mc-preview-panel>[data-preview-expand]{margin-top:12px}
.mc-form [hidden]{display:none!important}[data-memorial-file-error]{color:#a02134;font-size:14px}
@media(max-width:980px){.memorial-checkout-grid>.recap-card{position:static}.mc-preview-panel{order:2}.mc-form{order:1}.mc-preview-stage iframe{height:450px}}@media(max-width:520px){.mc-row{grid-template-columns:1fr}.mc-preview-dialog{padding:12px}.mc-dialog-toolbar{align-items:flex-start;font-size:14px}}

:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .website-checkout-section{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:22px}
:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .website-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .website-payment-list{display:grid;gap:12px}
:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .website-payment-choice{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);cursor:pointer}
:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .website-payment-choice:has(input:checked){border-color:var(--blue);background:#f5f9ff}
:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) input[type=radio]{width:18px;height:18px;min-height:18px;margin-top:3px}
:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .website-payment-choice strong,:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .website-payment-choice small{display:block}
:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .domain-choice:has(input[type=radio]:checked){border-color:var(--blue);background:#f5f9ff}
:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .domain-choice:has(input[type=radio]:checked) .domain-choice-body{display:grid}
@media(max-width:600px){:is(#memorial-checkout-form,#wedding-checkout-form,#ready-checkout-form) .website-form-grid{grid-template-columns:1fr}}

.rc-gallery-status{font-size:13px;line-height:1.5;color:var(--body)}

.rc-themes{display:grid;gap:10px}.mc-form .rc-theme{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.rc-theme:has(input:checked){border-color:var(--blue);background:var(--surface-soft);box-shadow:0 0 0 1px var(--blue)}.mc-form .rc-theme input{width:18px;height:18px;min-height:18px;margin-top:3px;accent-color:var(--blue)}.rc-theme strong,.rc-theme small{display:block}.rc-theme strong{margin-bottom:4px}

.mc-preview-panel>.mc-preview-toolbar:first-child{border-top:0;margin-top:0;padding-top:0}
.mc-price-summary{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}

.mc-form .mc-module-option{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);cursor:pointer}
.mc-form .mc-module-option:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:var(--surface-soft,#f4f7ff)}
.mc-form .mc-module-option:focus-within{outline:2px solid var(--blue);outline-offset:3px}
.mc-form .mc-module-option>input{width:18px;height:18px;min-height:18px;margin:3px 0 0;padding:0;accent-color:var(--blue)}
.mc-form .mc-module-copy{display:grid;gap:7px;min-width:0}
.mc-form .mc-module-copy>strong{display:block;font-size:15px;line-height:1.45;color:var(--heading)}
.mc-form .mc-module-copy>small{display:block;font-size:14px;line-height:1.55;font-weight:400;color:var(--body)}
.mc-form .mc-module-copy>.mc-module-price{margin-top:3px;padding-top:10px;border-top:1px solid var(--line);font-weight:600;color:var(--heading)}
[data-module-price-status]{padding:14px 16px;border-radius:8px;background:var(--surface-soft,#f4f7ff);font-weight:600;line-height:1.6}
@media(max-width:520px){.mc-form .mc-module-option{padding:14px;gap:10px}}

/* Payment cards use the shared checkout layout, without text-field radio sizing. */
.mc-form .payment-method-card input[type="radio"] { width:18px; height:18px; min-height:18px; margin:3px 0 0; padding:0; accent-color:var(--blue); }
.mc-form .payment-method-card small { font-weight:700; }
