/* ==========================================================================
   BARRA DI RICERCA (.search-module-wrapper)
   ========================================================================== */
.search-module-wrapper { position: relative; width: 100%; max-width: 440px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; box-sizing: border-box; }
.search-module-wrapper * { margin: 0; padding: 0; box-sizing: border-box; }
.search-input-group { position: relative; display: flex; align-items: center; width: 100%; background-color: #ffffff; border: 1.5px solid #d1d5db; border-radius: 8px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.search-input-group:focus-within { border-color: #1e40af; box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.15); }
.search-input { width: 100%; height: 46px; padding: 0 46px 0 14px; font-size: 14px; font-weight: 500; background: transparent; color: #111827; border: none; outline: none; }
.search-input::placeholder { font-size: 12.5px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #9ca3af; }
.search-submit-btn { position: absolute; top: 50%; right: 4px; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; background: transparent; color: #6b7280; border: none; border-radius: 6px; cursor: pointer; transform: translateY(-50%); transition: color 0.15s ease, background-color 0.15s ease; }
.search-submit-btn:hover { background-color: #f3f4f6; color: #1e40af; }
.search-icon { width: 18px; height: 18px; stroke-width: 2.2; pointer-events: none; }
.search-results-list { position: absolute; top: calc(100% + 6px); right: 0; bottom: auto; left: 0; display: none; overflow-y: auto; max-height: 280px; background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: 8px; box-shadow: 0 12px 28px -4px rgba(0, 0, 0, 0.12), 0 4px 8px -2px rgba(0, 0, 0, 0.06); z-index: 1000; }
.search-results-list.is-visible { display: block; }
.search-result-item { display: block; padding: 11px 16px; font-size: 13.5px; line-height: 1.4; text-decoration: none; color: #374151; border-bottom: 1px solid #f3f4f6; transition: background-color 0.15s ease, color 0.15s ease; }
.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover, .search-result-item.is-selected { background-color: #f0f7ff; color: #1e40af; }
.search-result-item strong { font-weight: 700; text-decoration: underline; text-underline-offset: 2px; color: #1e40af; }
.search-no-results { padding: 12px 16px; font-size: 13px; font-style: italic; text-align: center; color: #6b7280; }

/* ==========================================================================
   BREAKPOINT TABLET (max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
	.search-module-wrapper { max-width: 100%; padding: 0 8px; }
	.search-input { height: 48px; font-size: 15px; }
	.search-results-list { max-height: 240px; }
}

/* ==========================================================================
   BREAKPOINT SMARTPHONE (max-width: 564px)
   ========================================================================== */
@media (max-width: 564px) {
	.search-module-wrapper { display: flex; flex-direction: column; align-items: center; padding: 0 4px; }
	.search-input-group { border-radius: 10px; }
	.search-input { height: 50px; padding: 0 50px 0 16px; font-size: 16px; }
	.search-submit-btn { right: 3px; width: 44px; height: 44px; }
	.search-results-list { top: calc(100% + 6px); bottom: auto; max-height: 220px; border-radius: 10px; }
	.search-result-item { display: flex; align-items: center; min-height: 48px; padding: 14px 16px; font-size: 15px; }
}



