.cps-search { display: inline-flex; align-items: center; box-sizing: border-box; color: inherit; }
.cps-search .cps-trigger, .cps-search .cps-fallback { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: max(44px,calc(var(--cps-icon-size,24px) + 16px)); min-height: max(44px,calc(var(--cps-icon-size,24px) + 16px)); padding: 8px; margin: 0; border: 0; border-radius: 0; background: transparent; color: var(--cps-icon-color,inherit); cursor: pointer; box-shadow: none; text-decoration: none; }
.cps-search .cps-trigger[hidden], .cps-search .cps-fallback[hidden] { display: none !important; }
.cps-search .cps-trigger:is(:hover,:focus-visible), .cps-search .cps-fallback:is(:hover,:focus-visible) { background: transparent; color: var(--cps-icon-hover-color,var(--cps-icon-color,inherit)); }
.cps-search .cps-trigger svg, .cps-search .cps-fallback svg { display: block; width: var(--cps-icon-size,24px); height: var(--cps-icon-size,24px); fill: none; stroke: currentColor; }
.cps-search .cps-trigger:focus-visible, .cps-search .cps-fallback:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.cps-search .cps-dialog { box-sizing: border-box; width: min(var(--cps-modal-width,920px),calc(100vw - 48px)); max-width: none; max-height: min(80dvh,850px); margin: auto; padding: 0; border: 1px solid var(--cps-border,#dfd7cf); border-radius: var(--cps-radius,12px); background: var(--cps-background,#fffbf3); color: var(--cps-text,#811321); box-shadow: 0 20px 70px rgb(0 0 0 / .2); font: 18px/1.4 var(--wp--preset--font-family--body,Yrsa,Georgia,serif); text-align: left; overflow: auto; overscroll-behavior: contain; }
.cps-search .cps-dialog:not([open]) { display: none; }
.cps-search .cps-dialog::backdrop { background: rgb(0 0 0 / var(--cps-overlay,.35)); }
.cps-search .cps-dialog[open] { animation: cps-appear .18s ease-out; }
.cps-dialog .cps-panel { min-width: 0; }
.cps-dialog .cps-header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; gap: 10px; padding: 16px 20px; background: var(--cps-background,#fffbf3); border-bottom: 1px solid var(--cps-border,#dfd7cf); }
.cps-dialog .cps-title { margin: 0 0 18px; font: 500 26px/1.2 var(--wp--preset--font-family--heading,Cormorant,Georgia,serif); color: var(--cps-text,#811321); }
.cps-dialog .cps-form { margin: 0; }
.cps-dialog .cps-input-wrap { display: flex; align-items: center; flex: 1; gap: 10px; min-width: 0; }
.cps-dialog .cps-input-wrap > svg { flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: currentColor; }
.cps-dialog input.cps-input { display: block; box-sizing: border-box; flex: 1; min-width: 0; width: 100%; min-height: 44px; margin: 0; padding: 8px 0; border: 0; border-radius: 0; background: transparent; color: var(--cps-text,#811321); font: inherit; font-size: 20px; line-height: 1.3; box-shadow: none; }
.cps-dialog input.cps-input::placeholder { color: inherit; opacity: .65; }
.cps-dialog input.cps-input:focus { outline: none; box-shadow: none; }
.cps-dialog .cps-input-wrap:focus-within { outline: 2px solid var(--cps-text,#811321); outline-offset: 3px; border-radius: 2px; }
.cps-dialog button.cps-clear, .cps-dialog button.cps-close { display: inline-flex; justify-content: center; align-items: center; flex: 0 0 auto; min-height: 44px; min-width: 44px; margin: 0; padding: 8px; border: 0; border-radius: 0; background: transparent; color: var(--cps-text,#811321); font: inherit; cursor: pointer; box-shadow: none; }
.cps-dialog button.cps-clear { font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }
.cps-dialog .cps-clear[hidden] { display: none !important; }
.cps-dialog .cps-close svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; }
.cps-dialog .cps-body { padding: 22px 24px; }
.cps-dialog .cps-status { margin: 0 0 14px; color: var(--cps-text,#811321); font: inherit; }
.cps-dialog .cps-status:empty { display: none; }
.cps-dialog .cps-results { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.cps-dialog .cps-results > li { min-width: 0; margin: 0; padding: 0; }
.cps-dialog a.cps-product { display: flex; flex-direction: column; gap: 8px; color: var(--cps-text,#811321) !important; text-decoration: none; }
.cps-dialog .cps-product-image { display: block; box-sizing: border-box; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; background: rgb(0 0 0 / .04); margin: 0; }
.cps-dialog .cps-product-name { font-size: 18px; font-weight: 500; line-height: 1.3; overflow-wrap: anywhere; }
.cps-dialog .cps-product-price { font-size: 16px; line-height: 1.4; color: var(--cps-text,#811321); }
.cps-dialog .cps-product-price del { opacity: .65; }
.cps-dialog .cps-product-price ins { text-decoration: none; }
.cps-dialog .cps-footer { position: sticky; bottom: 0; padding: 16px 24px; background: var(--cps-background,#fffbf3); border-top: 1px solid var(--cps-border,#dfd7cf); text-align: center; }
.cps-dialog .cps-footer[hidden] { display: none !important; }
.cps-dialog button.cps-submit { min-height: 44px; max-width: 100%; padding: 10px 24px; border: 1px solid var(--cps-text,#811321); border-radius: 4px; color: var(--cps-background,#fffbf3); background: var(--cps-text,#811321); font: inherit; cursor: pointer; box-shadow: none; }
.cps-dialog :is(button,a):focus-visible { outline: 2px solid var(--cps-text,#811321); outline-offset: 3px; }
.cps-dialog a.cps-product:hover .cps-product-name { text-decoration: underline; text-underline-offset: 3px; }
html.cps-scroll-locked { overflow: hidden; }
.cps-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.cps-editor-preview { margin-top: 16px; padding: 20px; border: 1px dashed #aaa; background: var(--cps-background,#fffbf3); color: var(--cps-text,#811321); width: min(100%,600px); box-sizing: border-box; }
.cps-search.cps-is-editor { flex-direction: column; align-items: flex-start; }
.cps-editor-preview p { margin: 10px 0; }
@keyframes cps-appear { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width:767px) {
    .cps-search .cps-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; }
    .cps-dialog .cps-header { gap: 4px; padding: 12px; }
    .cps-dialog input.cps-input { font-size: 17px; }
    .cps-dialog .cps-body { padding: 20px 16px; }
    .cps-dialog .cps-results { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 14px; }
    .cps-dialog .cps-footer { padding: 14px 16px; }
}
@media (prefers-reduced-motion:reduce) { .cps-search .cps-dialog[open] { animation: none; } }
