.lms-bsa {
--lms-bsa-primary: #112164;
--lms-bsa-accent: #0d99e5;
--lms-bsa-text: #1a1a2e;
--lms-bsa-muted: #73729a;
--lms-bsa-bg: rgba(255, 255, 255, 0.94);
--lms-bsa-border: rgba(17, 33, 100, 0.12);
--lms-bsa-radius: 8px;
--lms-bsa-font: "DM Sans", system-ui, sans-serif;
position: relative;
z-index: 40;
max-width: 560px;
margin: 0 auto;
padding: 1.25rem 1.25rem 1.5rem;
font-family: var(--lms-bsa-font);
color: var(--lms-bsa-text);
background: var(--lms-bsa-bg);
border: 1px solid var(--lms-bsa-border);
border-radius: var(--lms-bsa-radius);
box-sizing: border-box;
}
.lms-bsa *,
.lms-bsa *::before,
.lms-bsa *::after {
box-sizing: border-box;
}
.lms-bsa-hero {
margin: 0 0 1rem;
font-size: 1.05rem;
line-height: 1.45;
color: var(--lms-bsa-primary);
font-weight: 600;
}
.lms-bsa-count {
font-variant-numeric: tabular-nums;
color: var(--lms-bsa-accent);
white-space: nowrap;
}
.lms-bsa-label {
display: block;
margin-bottom: 0.4rem;
font-size: 0.875rem;
font-weight: 500;
color: var(--lms-bsa-muted);
}
.lms-bsa-search-wrap {
position: relative;
}
.lms-bsa-input,
.lms-bsa-form input[type="text"],
.lms-bsa-form input[type="tel"],
.lms-bsa-form input[type="email"],
.lms-bsa-form input[type="search"],
.lms-bsa-form textarea {
width: 100%;
padding: 0.75rem 0.9rem;
font: inherit;
font-size: 1rem;
color: var(--lms-bsa-text);
background: #fff;
border: 1px solid var(--lms-bsa-border);
border-radius: var(--lms-bsa-radius);
outline: none;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.lms-bsa-input:focus,
.lms-bsa-form input:focus,
.lms-bsa-form textarea:focus {
border-color: var(--lms-bsa-accent);
box-shadow: 0 0 0 3px rgba(13, 153, 229, 0.2);
}
.lms-bsa-listbox {
position: absolute;
left: 0;
right: 0;
top: calc(100% + 4px);
z-index: 50;
margin: 0;
padding: 0.35rem 0;
list-style: none;
max-height: 240px;
overflow-y: auto;
background: #fff;
border: 1px solid var(--lms-bsa-border);
border-radius: var(--lms-bsa-radius);
box-shadow: 0 8px 24px rgba(17, 33, 100, 0.12);
}
.lms-bsa-option {
padding: 0.55rem 0.9rem;
cursor: pointer;
font-size: 0.95rem;
line-height: 1.35;
}
.lms-bsa-option:hover,
.lms-bsa-option.is-active {
background: rgba(13, 153, 229, 0.1);
color: var(--lms-bsa-primary);
}
.lms-bsa-status-msg {
margin: 0.6rem 0 0;
font-size: 0.875rem;
color: var(--lms-bsa-muted);
}
.lms-bsa-status-msg.is-error {
color: #b42318;
}
.lms-bsa-result {
margin-top: 1.1rem;
padding-top: 1rem;
border-top: 1px solid var(--lms-bsa-border);
}
.lms-bsa-availability {
margin: 0 0 0.75rem;
font-size: 1rem;
font-weight: 600;
color: var(--lms-bsa-primary);
}
.lms-bsa-availability[data-status="active"] {
color: #0a7a3e;
}
.lms-bsa-availability[data-status="future"] {
color: #9a6700;
}
.lms-bsa-availability[data-status="unavailable"] {
color: #b42318;
}
.lms-bsa-offers:empty {
display: none;
}
.lms-bsa-form-title {
margin: 0 0 0.75rem;
font-size: 1.05rem;
color: var(--lms-bsa-primary);
}
.lms-bsa-field {
margin: 0 0 0.75rem;
}
.lms-bsa-field label {
display: block;
margin-bottom: 0.3rem;
font-size: 0.85rem;
font-weight: 500;
color: var(--lms-bsa-muted);
}
.lms-bsa-consent label {
display: flex;
gap: 0.5rem;
align-items: flex-start;
font-size: 0.85rem;
line-height: 1.4;
color: var(--lms-bsa-text);
cursor: pointer;
}
.lms-bsa-consent input {
margin-top: 0.2rem;
flex-shrink: 0;
}
.lms-bsa-hp {
position: absolute !important;
left: -9999px !important;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
}
.lms-bsa-form-error {
margin: 0 0 0.75rem;
font-size: 0.875rem;
color: #b42318;
}
.lms-bsa-submit {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 44px;
padding: 0.65rem 1.25rem;
font: inherit;
font-size: 0.95rem;
font-weight: 600;
color: #fff;
background: var(--lms-bsa-accent);
border: none;
border-radius: var(--lms-bsa-radius);
cursor: pointer;
transition: background 0.15s ease, opacity 0.15s ease;
}
.lms-bsa-submit:hover {
background: #0b86c9;
}
.lms-bsa-submit:disabled {
opacity: 0.65;
cursor: not-allowed;
}
.lms-bsa-success {
margin: 0.5rem 0 0;
font-size: 1rem;
font-weight: 600;
color: #0a7a3e;
} .lms-bsa-header-slot {
position: relative;
z-index: 35;
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 6.5rem 1rem 1rem;
pointer-events: none;
}
.lms-bsa-header-slot .lms-bsa {
pointer-events: auto;
}
@media (max-width: 767px) {
.lms-bsa-header-slot {
padding-top: 5rem;
padding-left: 0.75rem;
padding-right: 0.75rem;
}
.lms-bsa {
padding: 1rem;
max-width: none;
}
.lms-bsa-hero {
font-size: 0.95rem;
}
}
@media (prefers-reduced-motion: reduce) {
.lms-bsa-input,
.lms-bsa-submit {
transition: none;
}
}