/* Header search only: keeps the manually approved WARQ shell untouched. */
.header-search-wrap { position: relative; grid-column: 2; width: 360px; min-width: 0; }
.header-search-wrap .header-search { display: grid; grid-template-columns: auto minmax(0, 1fr); width: 100%; min-width: 0; }
.header-search-wrap .header-search input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; line-height: 1; }
.header-search-wrap .header-search input::placeholder { color: currentColor; opacity: 1; }
.header-search-wrap .header-search:focus-within { border-color: var(--warq-blue); background: var(--warq-paper); color: var(--warq-black); }
.header-search-panel { position: absolute; z-index: 1010; top: calc(100% + .5rem); left: 0; width: min(430px, calc(100vw - 3rem)); max-height: min(68vh, 39rem); overflow-y: auto; border: 1px solid var(--warq-black); border-radius: var(--warq-radius); background: var(--warq-paper); box-shadow: var(--warq-shadow); }
.header-search-panel[hidden] { display: none; }
.header-search-panel-status { padding: .85rem 1rem; margin: 0; color: var(--warq-gray); font-size: .73rem; }
.header-search-panel-status[hidden] { display: none; }
.header-search-panel-section { padding: .8rem 1rem 0; }
.header-search-panel-section + .header-search-panel-section { margin-top: .75rem; border-top: 1px solid var(--warq-line); }
.header-search-panel-section h2 { margin: 0 0 .4rem; color: var(--warq-gray); font-size: .61rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.header-search-panel-list { padding: 0; margin: 0; list-style: none; }
.header-search-panel-list li { margin: 0; }
.header-search-result { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: .65rem; align-items: center; min-height: 52px; padding: .42rem 0; color: var(--warq-black); text-decoration: none; }
.header-search-result:hover, .header-search-result:focus-visible { color: var(--warq-blue-hover); }
.header-search-result-media, .header-search-result-mark { display: grid; width: 40px; height: 40px; place-items: center; overflow: hidden; background: var(--warq-surface); color: var(--warq-blue); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-align: center; }
.header-search-result-media { object-fit: cover; }
.header-search-result[data-domain="profesionales"] .header-search-result-media, .header-search-result[data-domain="profesionales"] .header-search-result-mark { border-radius: 50%; }
.header-search-result-copy { min-width: 0; }
.header-search-result-title, .header-search-result-detail { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-search-result-title { font-size: .78rem; font-weight: 800; }
.header-search-result-detail { margin-top: .14rem; color: var(--warq-gray); font-size: .66rem; }
.header-search-panel-footer { display: block; padding: .9rem 1rem; margin-top: .85rem; border-top: 1px solid var(--warq-black); color: var(--warq-black); font-size: .7rem; font-weight: 800; letter-spacing: .035em; text-decoration: none; }
.header-search-panel-footer:hover, .header-search-panel-footer:focus-visible { background: var(--warq-accent-soft); color: var(--warq-blue-hover); }
.header-search-loading { display: inline-block; width: .65rem; height: .65rem; margin-right: .45rem; border: 1px solid var(--warq-gray-light); border-top-color: var(--warq-blue); border-radius: 50%; animation: header-search-spin .7s linear infinite; vertical-align: -.08rem; }
@keyframes header-search-spin { to { transform: rotate(1turn); } }
@media (max-width: 1100px) { .header-search-wrap { width: min(100%, 250px); } .header-search-panel { width: min(420px, calc(100vw - 2.5rem)); } }
@media (max-width: 800px) { .header-search-wrap { grid-column: 1; } }
@media (max-width: 620px) { .site-header-inner { position: relative; } .header-search-wrap { width: 2.25rem; } .header-search-wrap .header-search { width: 2.25rem; } .header-search-wrap .header-search input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; } .header-search-wrap.is-open { position: absolute; z-index: 1010; top: .55rem; right: 0; left: 0; width: auto; } .header-search-wrap.is-open .header-search { width: 100%; } .header-search-wrap.is-open .header-search input { position: static; width: 100%; height: auto; clip: auto; } .header-search-wrap.is-open .header-search-panel { width: 100%; max-height: min(70vh, 34rem); } }
