/* Mattress Safe FAQ + contact form */
.msa-faq{--msa-blue:#0a4b8c;--msa-accent:#1d8acb;--msa-text:#1c2530;--msa-muted:#6b7785;--msa-line:#e3e8ef;max-width:100%;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--msa-text);}
.msa-faq-search{width:100%;box-sizing:border-box;padding:13px 16px;border:1px solid var(--msa-line);border-radius:12px;font-size:15px;margin-bottom:24px;outline:none;}
.msa-faq-search:focus{border-color:var(--msa-accent);box-shadow:0 0 0 3px rgba(29,138,203,.15);}
.msa-faq-cat{margin-bottom:30px;}
.msa-faq-cat-title{font-size:18px;font-weight:700;color:var(--msa-blue);margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--msa-line);}
.msa-faq-item{border:1px solid var(--msa-line);border-radius:10px;margin-bottom:10px;overflow:hidden;background:#fff;}
.msa-faq-q{cursor:pointer;padding:15px 18px;font-weight:600;font-size:15px;list-style:none;position:relative;padding-right:44px;}
.msa-faq-q::-webkit-details-marker{display:none;}
.msa-faq-q::after{content:var(--msa-icon-closed,"+");position:absolute;right:var(--msa-icon-right,18px);left:var(--msa-icon-left,auto);top:50%;transform:translateY(-50%);font-size:var(--msa-icon-size,20px);color:var(--msa-icon-color,var(--msa-accent));font-weight:400;line-height:1;}
.msa-faq-item[open] .msa-faq-q::after{content:var(--msa-icon-open,"\2212");color:var(--msa-icon-color-open,var(--msa-icon-color,var(--msa-accent)));}
.msa-faq-item[open] .msa-faq-q{color:var(--msa-blue);}
.msa-faq-q{padding-left:var(--msa-q-pad-left,18px);padding-right:var(--msa-q-pad-right,44px);}
.msa-faq-a{padding:0 18px 16px;font-size:14.5px;line-height:1.65;color:#3a4654;}
.msa-faq-a p{margin:0 0 10px;}
.msa-faq-help{text-align:center;margin-top:26px;color:var(--msa-muted);font-size:14px;}
.msa-faq-help a{color:var(--msa-blue);font-weight:600;}

/* Two-column (tabs) layout */
.msa-faq-tabs-wrap{display:flex;gap:24px;align-items:flex-start;}
.msa-faq-nav{flex:0 0 240px;display:flex;flex-direction:column;gap:4px;}
.msa-faq-nav-item{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:10px;padding:12px 14px;font-size:14px;font-weight:600;color:var(--msa-text);cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s;}
.msa-faq--tabs button.msa-faq-nav-item[type="button"]{display:flex;align-items:center;justify-content:space-between;gap:8px;}
/* Beat the theme's [type="button"] reset (which paints a pink color-mix border)
   using a higher-specificity attribute-matched selector. No !important, so the
   Elementor Style tab border control (which targets {{WRAPPER}} at even higher
   specificity) can still override these defaults when the user sets a border. */
.msa-faq--tabs button.msa-faq-nav-item[type="button"]{border-width:1px;border-style:solid;border-color:transparent;}
.msa-faq-nav-item:hover{background:#f0f5fa;}
.msa-faq--tabs button.msa-faq-nav-item.is-active[type="button"]{background:#fff;border-color:var(--msa-line);color:var(--msa-blue);box-shadow:0 1px 4px rgba(7,58,110,.08);}
.msa-faq-nav-label{flex:1 1 auto;display:block;text-align:left;}
.msa-faq-nav-count{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--msa-muted);background:#eef3f8;border-radius:999px;padding:1px 8px;}
.msa-faq-nav-item.is-active .msa-faq-nav-count{background:var(--msa-blue);color:#fff;}
.msa-faq-panels{flex:1 1 auto;min-width:0;}
.msa-faq-panel[hidden]{display:none;}
.msa-faq--tabs .msa-faq-cat-title{margin-top:0;}
@media(max-width:680px){
	.msa-faq-tabs-wrap{flex-direction:column;}
	.msa-faq-nav{flex-basis:auto;width:100%;flex-direction:row;flex-wrap:wrap;}
	.msa-faq-nav-item{width:auto;}
}

/* Contact form */
.msa-contact{max-width:520px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.msa-field{margin-bottom:16px;}
.msa-field label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:#1c2530;}
.msa-field label span{color:#c0392b;}
.msa-field input,.msa-field textarea{width:100%;box-sizing:border-box;padding:11px 13px;border:1px solid #e3e8ef;border-radius:10px;font-size:15px;outline:none;font-family:inherit;}
.msa-field input:focus,.msa-field textarea:focus{border-color:#1d8acb;box-shadow:0 0 0 3px rgba(29,138,203,.15);}
.msa-hint{font-size:13px;color:#6b7785;margin:-6px 0 16px;}
.msa-submit{background:#0a4b8c;color:#fff;border:none;border-radius:10px;padding:12px 26px;font-weight:600;font-size:15px;cursor:pointer;}
.msa-submit:hover{background:#073a6e;}
.msa-form-msg{margin-top:14px;font-size:14px;color:#0a4b8c;}

/* Related questions links */
.msa-related{margin-top:14px;padding-top:12px;border-top:1px solid #e8ecf0;font-size:13px;color:#555;}
.msa-related-label{display:block;font-weight:600;color:#444;margin-bottom:6px;}
.msa-related-list{list-style:none;margin:0;padding:0;}
.msa-related-item{margin:0 0 4px;padding:0;}
.msa-related-item::before{content:none;}
.msa-related-link{display:inline-block;color:#0a4b8c;text-decoration:none;}
.msa-related-link:hover{text-decoration:underline;}
