.cpas{position:relative;display:block;width:100%}
/* Desktop field + icon */
.cpas .cpas__wrap{display:flex;align-items:center;gap:.5rem}
.cpas .cpas__input{flex:1 1 auto;min-height:44px;padding-right:56px;background:var(--cpas-input-bg,#fff);color:var(--cpas-input-text,#111);border:1px solid var(--cpas-input-border,#e5e5ea);border-radius:var(--cpas-input-radius,8px);outline:0;transition:box-shadow .15s ease,border-color .15s ease}
.cpas .cpas__input::placeholder{color:var(--cpas-input-ph,#888)}
.cpas .cpas__input:focus{box-shadow:0 0 0 var(--cpas-focus-w,2px) var(--cpas-focus,#2684ff);border-color:var(--cpas-focus,#2684ff)}
.cpas .cpas__toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;line-height:1;border:1px solid transparent;background:transparent;cursor:pointer;transition:color .15s ease}
.cpas .cpas__toggle{color:var(--cpas-ico-color,#111) !important}
.cpas .cpas__toggle:hover,.cpas .cpas__toggle:focus{color:var(--cpas-ico-hover,var(--cpas-ico-color,#111))}
.cpas .cpas__icon i,.cpas .cpas__icon svg{width:var(--cpas-ico-size,30px);height:var(--cpas-ico-size,30px);display:inline-block;vertical-align:middle;line-height:1;flex-shrink:0;color:var(--cpas-ico-color,currentColor)}
.cpas .cpas__icon svg *{fill:currentColor;stroke:currentColor}
.cpas .cpas__toggle:hover .cpas__icon{color:var(--cpas-ico-hover,var(--cpas-ico-color,currentColor))}
/* Results panel */
.cpas .cpas__panel{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--cpas-panel-bg,#fff);border:1px solid var(--cpas-panel-border,#e5e5ea);border-radius:var(--cpas-panel-radius,10px);box-shadow:var(--cpas-panel-shadow,0 10px 30px rgba(0,0,0,.08));max-height:360px;overflow:auto;z-index:1000;display:none}
.cpas.is-open .cpas__panel{display:block}
.cpas .cpas__item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;cursor:pointer}
.cpas .cpas__item:hover,.cpas .cpas__item.is-active{background:var(--cpas-item-hover-bg,#f5f5f7);color:var(--cpas-item-hover-text,inherit)}
.cpas .cpas__thumb{width:var(--cpas-thumb,48px);height:var(--cpas-thumb,48px);border-radius:8px;overflow:hidden;flex:0 0 auto}
.cpas .cpas__price{margin-left:auto;color:var(--cpas-price,#111)}
.cpas .cpas__footer{padding:.5rem .75rem;border-top:1px solid #eee;font-size:.92rem}
.cpas .cpas__footer a{color:var(--cpas-link,#ff6a00);text-decoration:none}
/* Overlay */
.cpas-ovl{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;display:none}
.cpas-ovl.is-open{display:block}
.cpas-ovl .cpas__sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;max-height:78vh;padding:16px env(safe-area-inset-right,16px) calc(16px + env(safe-area-inset-bottom,0px)) env(safe-area-inset-left,16px);overflow:auto}
.cpas-ovl .cpas__panel{display:block;position:static;max-height:none;box-shadow:none;border:0;padding-top:.5rem}
.cpas-ovl .cpas__panel.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
@media(min-width:768px){ .cpas-ovl .cpas__panel.grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(min-width:1024px){ .cpas-ovl .cpas__panel.grid{grid-template-columns:repeat(4,minmax(0,1fr))} }
.cpas-ovl .cpas__item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.5rem;border:1px solid #eee;border-radius:10px}
.cpas-ovl .cpas__thumb{width:100%;height:auto;border-radius:8px;overflow:hidden}
.cpas-ovl .cpas__price{margin-left:0}
/* Responsive */
@media(min-width:1024px){ .cpas.cpas--hide-input-desktop .cpas__input{display:none} }
@media(min-width:768px) and (max-width:1023px){ .cpas .cpas__input{display:none!important} .cpas .cpas__toggle{display:inline-flex!important} }
@media(max-width:767px){ .cpas .cpas__input{display:none!important} .cpas .cpas__toggle{display:inline-flex!important} }
/* Icon-only widget */
.cpas-icon .cpas__wrap{display:flex}
.cpas-icon .cpas__wrap.pos-left{justify-content:flex-start}
.cpas-icon .cpas__wrap.pos-center{justify-content:center}
.cpas-icon .cpas__wrap.pos-right{justify-content:flex-end}
.cpas-icon .cpas__toggle{min-width:44px;min-height:44px;background:transparent;transition:background-color .15s ease;position:fixed;margin-top:30px}
.cpas-icon .cpas__toggle:hover{background:var(--cpas-icon-bg-hover,transparent)}
/* Safety */
.cpas .cpas__icon[aria-hidden="true"]{display:inline-flex;visibility:visible;opacity:1}
/* Native clear button policy */
@media(max-width:1023px){ .cpas input[type="search"]::-webkit-search-cancel-button{ -webkit-appearance:none; appearance:none; display:none } }
@media(min-width:1024px){ .cpas input[type="search"]::-webkit-search-cancel-button{ -webkit-appearance:searchfield-cancel-button; appearance:auto; display:block } .cpas .cpas__toggle{display:none!important} }
/* Icon-only: kill all theme button borders/backgrounds */
.cpas-icon .cpas__toggle,
.cpas-icon .cpas__toggle:hover,
.cpas-icon .cpas__toggle:focus,
.cpas-icon .cpas__toggle:active{background:transparent!important;border:0!important;box-shadow:none!important;outline:none!important}
/* Icon-only: force icon size to follow variable */
.cpas-icon .cpas__icon i, .cpas-icon .cpas__icon svg{width:var(--cpas-ico-size,30px)!important;height:var(--cpas-ico-size,30px)!important}

/* Kill theme button borders/outline/background on all states */
.cpas-icon .cpas__toggle,
.cpas-icon .cpas__toggle:hover,
.cpas-icon .cpas__toggle:focus,
.cpas-icon .cpas__toggle:active{border:0!important;border-color:transparent!important;outline:none!important;box-shadow:none!important;background:transparent!important}
/* Force icon size to follow variable */
.cpas-icon .cpas__icon i, .cpas-icon .cpas__icon svg{width:var(--cpas-ico-size,30px)!important;height:var(--cpas-ico-size,30px)!important}

/* Enforce icon size to follow variable (applies to FA <i> and inline SVG) */
.cpas-icon .cpas__icon i{font-size:var(--cpas-ico-size,30px)!important;width:auto!important;height:auto!important;line-height:1}
.cpas-icon .cpas__icon svg{width:var(--cpas-ico-size,30px)!important;height:var(--cpas-ico-size,30px)!important}
/* Kill theme button borders/outline/background on all states for icon-only */
.cpas-icon .cpas__toggle,
.cpas-icon .cpas__toggle:hover,
.cpas-icon .cpas__toggle:focus,
.cpas-icon .cpas__toggle:active{border:0!important;border-color:transparent!important;outline:none!important;box-shadow:none!important;background:transparent!important}
/* list overlay rows */
.cpas-ovl .cpas__panel:not(.grid) .cpas__item{display:grid;grid-template-columns:56px 1fr auto;gap:.75rem;align-items:center;padding:.6rem .75rem;border-bottom:1px solid #eee;border-radius:0}
.cpas-ovl .cpas__panel:not(.grid) .cpas__thumb{width:56px;height:56px;border-radius:8px;overflow:hidden}
.cpas-ovl .cpas__panel:not(.grid) .cpas__title{font-size:14px;line-height:1.3}
.cpas-ovl .cpas__panel:not(.grid) .cpas__title mark{background:none;color:inherit;font-weight:700}
.cpas-ovl .cpas__panel:not(.grid) .cpas__price{margin-left:0;font-weight:700;white-space:nowrap}
.cpas-ovl .cpas__panel.grid[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.cpas-ovl .cpas__panel.grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.cpas-ovl .cpas__panel.grid[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
