/* All rules are scoped to GreatGadets Mouse Finder. No theme-wide selectors. */
.ggmf { --ggmf-ink: #142c40; --ggmf-teal:#087e78; --ggmf-mint:#15d1b8; --ggmf-text:#243548; --ggmf-sub:#596879; --ggmf-line:#e3e9ec; --ggmf-bg:#f5f8f9; color:var(--ggmf-text); font:inherit; width:100%; max-width:1130px; margin:24px auto 38px; box-sizing:border-box; }
.ggmf * { box-sizing:border-box; }
.ggmf [hidden] { display:none!important; }
.ggmf button,.ggmf input,.ggmf select { font-family:inherit; }
.ggmf .ggmf-hero { color:white; background:radial-gradient(circle at 100% 0%,rgba(21,209,184,.25),transparent 36%),linear-gradient(125deg,#0d2338 0%,#142c40 64%,#0e4548 100%); border-radius:20px 20px 0 0; padding:42px 44px 36px; overflow:hidden; }
.ggmf .ggmf-eyebrow { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:800; letter-spacing:.16em; color:#9ce8dd; margin-bottom:15px; }
.ggmf .ggmf-hero-dot { display:inline-block; width:8px; height:8px; background:#15d1b8; border-radius:100%; box-shadow:0 0 0 5px rgba(21,209,184,.15); }
.ggmf .ggmf-hero h2 { margin:0 0 12px!important; color:#fff!important; font-size:clamp(29px,4.5vw,47px)!important; font-weight:800; letter-spacing:-.04em; line-height:1.12; }
.ggmf .ggmf-hero h2 em { color:#58e3ce; font-style:normal; }
.ggmf .ggmf-hero p { color:#d4e0e4; max-width:640px; line-height:1.6; margin:0!important; font-size:15px; }
.ggmf .ggmf-hero-points { display:flex; flex-wrap:wrap; margin-top:20px; gap:8px; }
.ggmf .ggmf-hero-points span { font-size:11px; border:1px solid rgba(210,249,246,.2); color:#d8f3f0; background:rgba(255,255,255,.06); border-radius:999px; padding:5px 11px; }
.ggmf .ggmf-shell { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(245px,.8fr); background:#fff; border:1px solid var(--ggmf-line); border-top:0; border-radius:0 0 20px 20px; overflow:hidden; }
.ggmf .ggmf-form-panel { padding:32px 36px 36px; min-width:0; }
.ggmf .ggmf-section-head { display:flex; align-items:center; gap:13px; margin:0 0 19px; }
.ggmf .ggmf-section-head--space { margin-top:28px; border-top:1px solid var(--ggmf-line); padding-top:28px; }
.ggmf .ggmf-section-head>span { display:flex; align-items:center; justify-content:center; min-width:35px; height:35px; border-radius:10px; background:#e8f8f5; color:#087e78; font-weight:800; font-size:13px; }
.ggmf .ggmf-section-head h3 { margin:0!important; color:var(--ggmf-ink); font-size:21px!important; line-height:1.2; font-weight:800; letter-spacing:-.02em; }
.ggmf .ggmf-section-head p { margin:3px 0 0!important; font-size:12px; color:var(--ggmf-sub); line-height:1.5; }
.ggmf .ggmf-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.ggmf .ggmf-field { display:flex; flex-direction:column; gap:7px; min-width:0; color:var(--ggmf-ink); font-size:13px; font-weight:700; line-height:1.4; }
.ggmf .ggmf-field small { display:block; font-size:11px; font-weight:400; color:var(--ggmf-sub); line-height:1.3; }
.ggmf .ggmf-field select,.ggmf .ggmf-field-control { min-width:0; width:100%; height:46px; color:var(--ggmf-ink); background:#f8fafb; border:1px solid #dbe5e9; border-radius:9px; font-weight:500; font-size:12px; }
.ggmf .ggmf-field select { padding:0 25px 0 12px; appearance:auto; }
.ggmf .ggmf-field-control { display:flex; overflow:hidden; align-items:center; }
.ggmf .ggmf-field-control input { min-width:0; flex:1; padding:8px 12px; border:0!important; box-shadow:none!important; background:transparent!important; border-radius:0; color:#142c40!important; font-size:15px; font-weight:650; height:44px; }
.ggmf .ggmf-field-control>span { padding:0 12px; color:#627581; font-size:12px; border-left:1px solid var(--ggmf-line); }
.ggmf .ggmf-field input:focus,.ggmf .ggmf-field select:focus,.ggmf .ggmf-submit:focus-visible,.ggmf .ggmf-chip:focus-within { outline:3px solid rgba(15,170,156,.25); outline-offset:2px; }
.ggmf .ggmf-hint { color:#657888; background:#f3faf8; border-left:3px solid #22b3a5; padding:10px 12px; border-radius:0 8px 8px 0; font-size:12px; line-height:1.55; margin:0 0 20px!important; }
.ggmf .ggmf-choice-group { padding:0!important; margin:0!important; border:0!important; min-width:0; }
.ggmf .ggmf-choice-group legend { font-weight:700; font-size:13px; color:var(--ggmf-ink); padding:0 0 9px; }
.ggmf .ggmf-choice-grid { display:grid; gap:8px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.ggmf .ggmf-chip { display:block; position:relative; margin:0!important; cursor:pointer; min-width:0; }
.ggmf .ggmf-chip input { opacity:0; position:absolute; width:1px; height:1px; }
.ggmf .ggmf-chip>span { display:flex; flex-direction:column; min-height:70px; align-items:center; justify-content:center; gap:2px; text-align:center; border:1.5px solid #dbe5e9; border-radius:10px; background:#fff; font-size:12px; color:#304757; font-weight:750; padding:10px 6px; transition:all .15s ease; }
.ggmf .ggmf-chip small { display:block; font-size:9.5px; color:#72808b; font-weight:400; line-height:1.35; }
.ggmf .ggmf-chip input:checked + span { border-color:#0f9789; box-shadow:0 0 0 2px rgba(15,151,137,.08) inset; color:#087e78; background:#effbf7; }
.ggmf .ggmf-session { margin:6px 0 0; max-width:calc(50% - 7px); }
.ggmf .ggmf-action { display:flex; align-items:center; flex-direction:column; padding-top:26px; }
.ggmf .ggmf-submit { width:100%; min-height:52px; background:#087e78!important; color:#fff!important; font-size:15px!important; font-weight:800!important; border:0!important; border-radius:10px; cursor:pointer; box-shadow:0 9px 20px rgba(8,126,120,.18); display:flex; align-items:center; justify-content:center; gap:12px; transition:background .18s ease,transform .18s ease; }
.ggmf .ggmf-submit:hover { background:#066a64!important; transform:translateY(-1px); }
.ggmf .ggmf-submit span {font-size:23px;line-height:1;}
.ggmf .ggmf-action p { font-size:11px; color:var(--ggmf-sub); margin:10px 0 0!important; text-align:center; }
.ggmf .ggmf-sidebar { min-width:0; border-left:1px solid var(--ggmf-line); padding:35px 26px; background:#f7faf9; display:flex; flex-direction:column; }
.ggmf .ggmf-sidebar-icon { display:grid; place-items:center; color:#087e78; font-size:27px; border-radius:13px; background:#e2f6f1; width:47px;height:47px; margin-bottom:16px; }
.ggmf .ggmf-sidebar h3 { color:var(--ggmf-ink); font-size:25px!important; line-height:1.15!important; margin:0 0 10px!important; font-weight:850!important; }
.ggmf .ggmf-sidebar-top>p { color:#607181; font-size:13px; line-height:1.65; margin:0 0 22px!important; }
.ggmf .ggmf-method { padding:18px 0 15px; border-top:1px solid #dae7e5; border-bottom:1px solid #dae7e5; }
.ggmf .ggmf-method h4 { font-size:12px!important; color:var(--ggmf-ink); margin:0 0 15px!important; font-weight:800; }
.ggmf .ggmf-method>div { display:flex; gap:10px; color:#3b5962; font-size:12px; padding:6px 0; line-height:1.4; }
.ggmf .ggmf-method>div>span { color:#087e78; font-size:11px; font-weight:800; }
.ggmf .ggmf-disclaimer { font-size:11px; line-height:1.65; color:#687986; margin:20px 0 0!important; }
.ggmf .ggmf-results { background:#fff; border:1px solid var(--ggmf-line); border-radius:18px; padding:31px; margin-top:18px; }
.ggmf .ggmf-results-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; align-items:start; border-bottom:1px solid var(--ggmf-line); padding-bottom:19px; margin-bottom:18px; }
.ggmf .ggmf-results-eyebrow { font-size:11px; color:var(--ggmf-teal); letter-spacing:.11em; font-weight:800; }
.ggmf .ggmf-results h3 { margin:4px 0 8px!important; font-size:25px!important; letter-spacing:-.025em; color:#142c40!important; }
.ggmf .ggmf-results-top p { margin:0!important; font-size:13px; line-height:1.6; color:#596879; max-width:670px; }
.ggmf .ggmf-edit { padding:10px 14px; border:1px solid #c8e4dd; color:#087e78!important; background:#effbf8!important; border-radius:9px; cursor:pointer; font-size:12px; font-weight:750; }
.ggmf .ggmf-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.ggmf .ggmf-card { border:1px solid #dce7e7; border-radius:13px; padding:20px 18px 18px; background:#fff; min-width:0; display:flex; flex-direction:column; gap:11px; }
.ggmf .ggmf-card:first-child { border-color:#16aa9b; background:linear-gradient(180deg,#f2fcf9,white 35%); }
.ggmf .ggmf-rank { color:#087e78; font-size:10px; letter-spacing:.11em; font-weight:800; text-transform:uppercase; }
.ggmf .ggmf-product-name { color:#142c40; font-weight:800; font-size:18px; letter-spacing:-.025em; line-height:1.25; margin:0!important; }
.ggmf .ggmf-product-meta { display:flex; gap:5px; flex-wrap:wrap; }
.ggmf .ggmf-tag { background:#ecf2f5; color:#45606f; font-size:10px; border-radius:999px; padding:4px 8px; white-space:normal; }
.ggmf .ggmf-reasons { color:#344c5e; padding:0 0 0 15px!important; margin:0!important; font-size:12px; line-height:1.65; flex-grow:1; }
.ggmf .ggmf-reasons li { padding:0!important; margin:0 0 7px!important; }
.ggmf .ggmf-product-caution { font-size:11px; line-height:1.6; color:#76602f; border-left:2px solid #dbb75d; padding:4px 0 4px 9px; margin:0!important; }
.ggmf .ggmf-card a { display:block; text-align:center; text-decoration:none!important; font-size:12px; font-weight:800; border-radius:9px; color:#087e78!important; border:1px solid #bddbd6; padding:11px 9px; }
.ggmf .ggmf-card a:hover { background:#e8faf5; }
.ggmf .ggmf-results-foot { background:#f4f9f8; padding:15px 17px; border-radius:10px; margin-top:17px; font-size:12px; line-height:1.6; color:#506476; }
.ggmf .ggmf-results-foot p { margin:0!important; }
.ggmf .ggmf-results-foot a { font-weight:800; color:#087e78!important; }
.ggmf .ggmf-empty { background:#fff8e7; border:1px solid #f0d8a4; padding:16px; border-radius:10px; color:#675323; font-size:13px; line-height:1.6; }
.ggmf .ggmf-error { padding:12px 14px; border-radius:9px; background:#fff5f1; border:1px solid #f1c9bc; color:#9b3124; font-size:13px; margin:9px 0; }
.ggmf .ggmf-fine-print { margin-top:14px; font-size:11px; color:#677988; line-height:1.6; }
@media(max-width:980px){ .ggmf .ggmf-shell { grid-template-columns:minmax(0,1fr); } .ggmf .ggmf-sidebar { border-left:0; border-top:1px solid var(--ggmf-line); } .ggmf .ggmf-sidebar-top { max-width:600px; } }
@media(max-width:690px){ .ggmf .ggmf-hero{padding:28px 21px 26px;} .ggmf .ggmf-form-panel{padding:24px 18px;} .ggmf .ggmf-field-row{grid-template-columns:1fr;gap:15px;} .ggmf .ggmf-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .ggmf .ggmf-chip>span { min-height:66px; } .ggmf .ggmf-session {max-width:100%;} .ggmf .ggmf-results{padding:21px 15px;} .ggmf .ggmf-cards{grid-template-columns:1fr;gap:13px;} .ggmf .ggmf-sidebar { padding:24px 18px;} .ggmf .ggmf-results h3 {font-size:22px!important;} }
@media(prefers-reduced-motion:reduce){ .ggmf .ggmf-submit,.ggmf .ggmf-chip>span{transition:none;} }

/* v1.2: clear on-card affiliate CTA, without changing the grid spacing */
.ggmf .ggmf-affiliate-disclosure { padding:11px 15px; background:#f3faf8; border-left:3px solid #087e78; color:#385b61; border-radius:0 8px 8px 0; line-height:1.55; font-size:12px; margin:0 0 17px!important; }
.ggmf .ggmf-card a.ggmf-amazon-link { display:block; margin-top:auto; padding:13px 12px; background:#087e78!important; color:#fff!important; border:1px solid #087e78!important; font-size:13px; font-weight:800; border-radius:9px; text-decoration:none!important; }
.ggmf .ggmf-card a.ggmf-amazon-link:hover { background:#066a64!important; color:#fff!important; }
.ggmf .ggmf-card a.ggmf-amazon-link small { font-size:10px; color:#eafbf8; white-space:nowrap; }
.ggmf .ggmf-card a.ggmf-official-link { margin-top:0; }
