/* Shared form controls across the public portal and administration. */
:root{--qoq-control-border:#d7c9b7;--qoq-control-ink:#30271f;--qoq-control-gold:#96723a}
main form{max-width:100%;min-width:0}
main form :where(fieldset,.form-grid,.form-grid>*,label){min-width:0}
main form :is(input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=time],select,textarea){box-sizing:border-box;max-width:100%;min-height:46px;padding:11px 14px;border:1px solid var(--qoq-control-border);border-radius:6px;background-color:#fff;color:var(--qoq-control-ink);font:inherit;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s}
main form select{width:auto;min-width:min(100%,180px);padding-inline-end:36px;cursor:pointer}
main form label:has(> :is(select,textarea,input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=datetime-local])){display:flex;flex-direction:column;align-items:stretch;gap:8px;font-size:13px;font-weight:500;line-height:1.5}
main form label>select{width:100%;min-width:0}
main form textarea{width:100%;resize:vertical;min-height:120px}
main form :is(input[type=checkbox],input[type=radio]){width:18px;height:18px;min-height:0;flex-shrink:0;accent-color:var(--qoq-control-gold);vertical-align:middle;margin-inline-end:7px}
main form input[type=file]{max-width:100%;font-size:13px}
main form input[type=file]::file-selector-button{padding:10px 14px;margin-inline-end:12px;border:1px solid var(--qoq-control-border);border-radius:5px;background:#f8f3eb;color:var(--qoq-control-ink);font:inherit;cursor:pointer}
main form :is(input,select,textarea,button):focus-visible{outline:2px solid var(--qoq-control-gold);outline-offset:3px}
main form :is(input,select,textarea):disabled{background-color:#f1ede7;color:#756c61;cursor:not-allowed}
main form :is(button:not([class]):not([type=button]):not([type=reset]),input[type=submit]){display:inline-flex;align-items:center;justify-content:center;min-height:46px;width:auto;padding:12px 22px;border:1px solid #8b6936;border-radius:6px;background:#96723a;color:#fff;font:inherit;font-size:13px;font-weight:600;line-height:1.5;white-space:normal;cursor:pointer}
main form :is(button:not([class]):not([type=button]),input[type=submit]):hover{background:#78592c}
main form :is(button,input[type=submit]):disabled{opacity:.5;cursor:not-allowed}
main form :is(.btn,.mini-btn){border-radius:5px;white-space:normal;line-height:1.5}
main .form-card{border-radius:8px;border-color:#e4dbce}
main .form-card>label{margin-block-end:18px}
main form[method=get]:not(.inline-form){display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:20px;margin-block:20px 24px;border:1px solid #e4dbce;border-radius:8px;background:#f8f5ef}
main form[method=get]:not(.inline-form)>label{flex:1 1 200px;max-width:100%;margin:0}
main form[method=get]:not(.inline-form)>:is(button,.btn){flex:0 0 auto;min-height:46px;margin:0}
.qoq-admin-stage{min-width:0}
.qoq-admin-content>h1{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2;margin-block:0 24px;overflow-wrap:anywhere}
.qoq-admin-content>form:not(.form-card):not([method=get]):not(.inline-form){margin-block:20px}
@media(max-width:600px){main form[method=get]:not(.inline-form){padding:16px;gap:14px}main form[method=get]:not(.inline-form)>:is(label,button,.btn){flex-basis:100%;width:100%}main form :is(input,select,textarea){font-size:16px}main .form-card{padding:20px}}
/* Purchase and context layouts refine the shared rules. */
.qoq-v9-context{padding:18px clamp(18px,2vw,32px);background:#fcfaf6;border-bottom:1px solid #e8dfd2;gap:20px;color:#30271f}
.qoq-context-summary{display:grid;gap:3px;min-width:0}
.qoq-context-caption{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.16em;color:#826d4f}
.qoq-context-summary strong{font-size:16px;font-weight:600;overflow-wrap:anywhere}
.qoq-v9-context form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:0;max-width:100%}
.qoq-v9-context .qoq-context-picker{display:grid;gap:5px;min-width:0;font-size:11px;color:#6c5c49}
.qoq-v9-context select{width:clamp(200px,20vw,320px);max-width:100%;min-height:44px;padding:10px 36px 10px 14px;border:1px solid #d7c9b7;border-radius:6px;background-color:#fff;color:#30271f;font-size:14px;cursor:pointer}
.qoq-v9-context .qoq-context-apply{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:10px 18px;border:1px solid #92713c;border-radius:6px;background:#aa874b;color:#fff;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s}
.qoq-v9-context .qoq-context-apply:hover{background:#8b6936}
.qoq-v9-context :is(select,button):focus-visible,.qoq-purchase-card :is(select,input,button):focus-visible{outline:2px solid #94713c;outline-offset:3px}
form.add-form.qoq-purchase-card{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;margin:24px 0;padding:clamp(18px,2vw,26px);border:1px solid #e2d8cd;border-radius:8px;background:#f9f6f2}
.qoq-purchase-card .qoq-v852-product-options{width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent}
.add-form.qoq-purchase-card label.qoq-v852-variant-fallback{display:grid;width:100%;min-width:0;gap:8px;margin-top:20px}
.add-form.qoq-purchase-card select.qoq-v85-variant-select{width:100%;min-width:0;max-width:100%;min-height:48px;padding:12px 36px 12px 14px;border:1px solid #cdbfae;border-radius:5px;background-color:#fff;color:#30271f;font-size:14px;line-height:1.5;field-sizing:content}
.qoq-purchase-card .qoq-v852-selection-details{margin-top:20px;padding-top:16px;gap:12px}
.qoq-purchase-actions{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid #e0d3c3}
.add-form.qoq-purchase-card label.qoq-purchase-quantity{display:grid;flex:0 0 100px;gap:7px;width:100px;max-width:100%;font-size:13px;margin:0}
.qoq-purchase-quantity input{width:100%;height:48px;padding:10px 12px;background:#fff;border:1px solid #cdbfae;border-radius:5px;color:#30271f}
.qoq-purchase-actions>.btn{flex:1 1 180px;min-height:48px;margin:0;padding:13px 24px;border-radius:5px;white-space:normal;text-align:center;line-height:1.5}
.qoq-purchase-actions>.btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:600px){.qoq-v9-context{align-items:stretch;gap:14px}.qoq-v9-context form{width:100%}.qoq-v9-context .qoq-context-picker{flex:1 1 190px}.qoq-v9-context select{width:100%}.qoq-context-apply{flex:1 1 auto}.qoq-purchase-actions{gap:12px}.qoq-purchase-actions>.btn{flex-basis:150px}}
.qoq-admin-language{position:relative}.qoq-admin-language summary{cursor:pointer;padding:10px 14px;border:1px solid currentColor;border-radius:4px;white-space:nowrap}.qoq-admin-language nav{position:absolute;inset-inline-end:0;top:100%;z-index:1200;min-width:180px;max-height:65vh;overflow:auto;background:var(--paper,#fff);color:var(--ink,#241d19);border:1px solid #b39a6d;box-shadow:0 6px 20px #0002;padding:8px;display:grid;gap:2px}.qoq-admin-language nav a{display:block!important;padding:8px 12px!important;color:inherit!important}.qoq-admin-language nav a[aria-current=page]{font-weight:700;background:#b39a6d33}

/* V9.8.20: shared vertical forms, including forms nested inside cards. */
main :is(.form-card>form:not([method=get]):not(.inline-form),form.qoq-form-flow){display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
main :is(.form-card>form:not([method=get]):not(.inline-form),form.qoq-form-flow)>:is(label,fieldset,p,details){margin-block:0;min-width:0}
main :is(.form-card>form:not([method=get]):not(.inline-form),form.qoq-form-flow)>:is(button,.btn){justify-self:start;max-width:100%;white-space:normal}
main form.form-card:not([method=get])>fieldset{margin-block:18px;padding:18px;min-width:0}
main .form-card form fieldset>label{margin-block:0 16px}
main .form-card form fieldset>label:last-child{margin-bottom:0}
main form.form-card:not([method=get])>:is(textarea,fieldset,.form-grid)+:is(button,.btn){margin-block-start:18px}
main [data-mag-picker]{display:grid;gap:14px;min-width:0;margin-block:16px}
main [data-mag-picker]>:is(label,ol,details){margin:0}
main [data-mag-picker]>button{justify-self:start}
main .form-card button[data-media-field]{margin-block:12px;max-width:100%;white-space:normal}
main .qoq-workspace-card{width:100%;max-width:560px}
main .qoq-workspace-card h1{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:0 0 20px}
main .qoq-workspace-card>p{margin-block:20px;line-height:1.65}
main .qoq-workspace-card form{margin-block:24px}
main .qoq-form-flow :is(select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea){max-width:100%;box-sizing:border-box}
@media(max-width:600px){main :is(.form-card>form:not([method=get]):not(.inline-form),form.qoq-form-flow){gap:16px}main :is(.form-card>form:not([method=get]):not(.inline-form),form.qoq-form-flow)>:is(button,.btn){justify-self:stretch;width:100%;min-height:46px}main .form-card form fieldset{padding:14px}main [data-mag-picker]>button{width:100%}}

/* Editorial footer: four links per column, with matching cookie control. */
.site-footer .qoq-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 64px;width:100%;max-width:900px;margin:32px auto 24px;padding:24px 0;border-block:1px solid #d7b26333;text-align:start}
.site-footer .qoq-footer-column{display:flex;flex-direction:column;gap:0;list-style:none;margin:0;padding:0;min-width:0}
.site-footer .qoq-footer-column li{margin:0;padding:0;min-width:0}
.site-footer .qoq-footer-column :is(a,button.qoq-cookie-footer-link){display:flex;align-items:center;justify-content:flex-start;position:static;width:100%;min-height:44px;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--gold-light,#e4c989);font:400 12px/1.5 var(--sans,system-ui);letter-spacing:.035em;text-transform:none;text-align:start;text-decoration:none;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.site-footer .qoq-footer-column :is(a,button):hover{text-decoration:underline;text-underline-offset:5px}
.site-footer .qoq-footer-column :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.site-footer .qoq-footer-contact{margin:0 0 24px;overflow-wrap:anywhere}
@media(max-width:650px){.site-footer .qoq-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.site-footer .qoq-footer-column:last-child{grid-column:1/-1;border-top:1px solid #d7b26333;padding-top:16px}}
@media(max-width:360px){.site-footer .qoq-footer-columns{grid-template-columns:minmax(0,1fr)}.site-footer .qoq-footer-column:last-child{grid-column:auto}}

/* Make authored links distinguishable while editing. */
.qoq-rich-content a[href]{color:#77551d;text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:1px}
.qoq-rich-content a[href]:hover{color:#4f3610}

/* Selected image alignment is independent from paragraph alignment. */
.qoq-rich-content img[align]{display:block;float:none;max-width:100%;height:auto}
.qoq-rich-content img[align=left]{margin-left:0;margin-right:auto}
.qoq-rich-content img[align=center]{margin-left:auto;margin-right:auto}
.qoq-rich-content img[align=right]{margin-left:auto;margin-right:0}

.qoq-image-options{display:flex;flex-wrap:wrap;gap:12px;align-items:end;width:100%;padding:12px;border-top:1px solid #d8cbb5}
.qoq-image-options label{display:flex;flex-direction:column;gap:6px;font-size:12px}.qoq-image-options input{width:100px}.qoq-image-options select{max-width:100%}
.qoq-rich-content{display:flow-root}.qoq-rich-content [data-qoq-ad]{display:block;clear:both;padding:24px;margin:24px 0;border:2px dashed #ae8b4c;background:#fbf6ed;text-align:center;cursor:pointer;min-height:80px}
.qoq-rich-content [data-qoq-ad]::before{content:'ADV · Google AdSense';font:14px system-ui;color:#72551e}
@media(max-width:600px){.qoq-rich-content img[data-wrap]{float:none!important;max-width:100%!important;margin:20px auto!important}}
