/* =========================================================
     PROFESSIONAL MODERN SEARCH THEME
     - Dark first, Light optional
     - Uses CSS variables for easy tweaking
     - Minimal, crisp, no childish gradients
     - Accent: professional blue
========================================================= */

:root {
    --font-stack: 'Inter','Segoe UI','Roboto',system-ui,Arial,sans-serif;
    --ease: cubic-bezier(.4,0,.2,1);
    --radius-xs:4px; --radius-sm:6px; --radius:10px; --radius-lg:16px; --radius-xl:24px;
    --focus-ring: 0 0 0 3px #1e6df820;

    /* Dark (default) */
    --c-bg: #0f141a;
    --c-bg-alt: #161d25;
    --c-surface: #1d262f;
    --c-border: #27323e;
    --c-border-soft: #1b242d;
    --c-text: #e4e9ef;
    --c-text-dim: #98a5b4;
    --c-accent: #1e6df8;
    --c-accent-hover: #1352bc;
    --c-danger: #e84855;
    --shadow-sm: 0 1px 2px rgba(0,0,0,.5);
    --shadow: 0 4px 14px -2px rgba(0,0,0,.55);
    --shadow-focus: 0 0 0 4px #1e6df826;
    --transition: .18s var(--ease);
    --density-scale: 1;
    --panel-bg: rgba(16,22,30,.90);
    --panel-border: rgba(255,255,255,.07);
    --panel-shadow: -6px 0 20px -6px rgba(0,0,0,.55);
}

/* Fixed panel accent (decoupled from dynamic accent) */
.settings-panel { --panel-accent:#1e6df8; }

/* Panel specific accent usage */
.settings-panel .group-label i { color:var(--panel-accent); }
.settings-panel .button-set button { background:rgba(255,255,255,.02); border:1px solid var(--c-border); color:var(--c-text-dim); }
.settings-panel .button-set button:hover { border-color:var(--panel-accent); color:var(--c-text); }
.settings-panel .button-set button.active { background:var(--panel-accent); border-color:var(--panel-accent); color:#fff; }

/* Toggle / switches */
.switch { position:relative; display:inline-flex; align-items:center; cursor:pointer; }
.switch input { position:absolute; opacity:0; pointer-events:none; }
.switch .track { width:54px; height:28px; background:rgba(255,255,255,.08); border-radius:40px; position:relative; transition:.35s var(--ease); box-shadow:0 2px 6px -2px rgba(0,0,0,.5) inset, 0 0 0 1px rgba(255,255,255,.05); }
.switch .thumb { position:absolute; top:3px; left:3px; width:22px; height:22px; background:var(--c-surface); border-radius:50%; display:grid; place-items:center; color:var(--c-text-dim); font-size:.8rem; transition:.35s var(--ease); box-shadow:0 2px 6px -2px rgba(0,0,0,.55); }
.switch input:checked + .track .thumb { transform:translateX(26px); color:#ffce48; }
.switch input:checked + .track { background:linear-gradient(90deg,var(--panel-accent),color-mix(in srgb,var(--panel-accent),transparent 35%)); filter:brightness(1.05); }
.mini-btn { background:rgba(255,255,255,.03); border:1px solid var(--c-border); color:var(--c-text-dim); padding:.4rem .7rem; border-radius:8px; font-size:.65rem; letter-spacing:.6px; text-transform:uppercase; cursor:pointer; transition:var(--transition); }
.mini-btn:hover { border-color:var(--panel-accent); color:var(--c-text); }
.mini-btn.active { background:var(--panel-accent); color:#fff; border-color:var(--panel-accent); }

/* Glow switch reuses .switch */
.effect-row { display:flex; align-items:center; gap:.75rem; }
.effect-row label { font-size:.7rem; letter-spacing:1px; text-transform:uppercase; color:var(--c-text-dim); }

/* Card previews stronger differentiation */
.preview-card { overflow:hidden; }
.preview-card[data-style='outline'] { background:transparent; }
.preview-card[data-style='outline']::after { opacity:.15; background:linear-gradient(90deg,var(--panel-accent),transparent); }
.preview-card[data-style='subtle'] { background:color-mix(in srgb,var(--c-bg-alt),transparent 10%); }
.preview-card[data-style='filled'] { background:var(--c-surface); }
.preview-card::before { content:attr(data-label); position:absolute; top:4px; left:6px; font-size:.55rem; font-weight:600; letter-spacing:.5px; color:var(--c-text-dim); }
.preview-card.active::before { color:#fff; }

/* Reset confirmation overlay */
.reset-trigger { background:rgba(255,255,255,.06); border:1px solid var(--c-border); width:34px; height:34px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--c-text-dim); cursor:pointer; transition:var(--transition); margin-left:auto; }
.reset-trigger:hover { color:#fff; border-color:var(--panel-accent); }
.reset-confirm { position:fixed; top:1rem; right:calc(min(30vw,360px) + 1rem); background:var(--panel-bg); backdrop-filter:blur(24px) saturate(160%); -webkit-backdrop-filter:blur(24px) saturate(160%); border:1px solid var(--panel-border); padding:1rem 1.1rem 1.05rem; border-radius:14px; box-shadow:0 8px 30px -6px rgba(0,0,0,.55); width:240px; display:flex; flex-direction:column; gap:.8rem; z-index:170; animation:fadeIn .35s var(--ease); }
.reset-confirm p { margin:0; font-size:.75rem; line-height:1.4; color:var(--c-text-dim); }
.reset-actions { display:flex; gap:.5rem; }
.reset-actions button { flex:1; font-size:.65rem; text-transform:uppercase; letter-spacing:.7px; font-weight:600; padding:.55rem .6rem; border-radius:8px; border:1px solid var(--c-border); background:rgba(255,255,255,.04); color:var(--c-text-dim); cursor:pointer; transition:var(--transition); }
.reset-actions button:hover { border-color:var(--panel-accent); color:var(--c-text); }
.reset-actions .danger { background:var(--c-danger); border-color:var(--c-danger); color:#fff; }
.reset-actions .danger:hover { filter:brightness(1.1); }

/* Extra bottom padding for scroll safety */
.settings-panel { padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)); overscroll-behavior: contain; }
.settings-panel::after { content:""; display:block; height: calc(140px + env(safe-area-inset-bottom, 0px)); }
.settings-panel .settings-group:last-of-type { margin-bottom: 120px; }

/* Density stronger differentiation */
[data-density="compact"] { --density-scale:.85; }
[data-density="compact"] body, [data-density="compact"] .gsc-result .gs-snippet { line-height:1.35; }
[data-density="compact"] .gsc-webResult.gsc-result { margin-bottom:.7rem !important; }
[data-density="compact"] .preview-card { height:48px; }
[data-density="compact"] .settings-group { padding:.7rem .75rem .85rem; }


/* Settings trigger button (transparent icon) */
.settings-trigger { position:fixed; top:1.15rem; right:1.15rem; width:46px; height:46px; display:flex; align-items:center; justify-content:center; background:transparent; border:none; color:var(--c-text-dim); cursor:pointer; transition:color .25s, transform .2s; z-index:130; }
.settings-trigger:hover { color:var(--c-accent); }
.settings-trigger:active { transform:scale(.9); }
.settings-trigger:focus-visible { outline:none; box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent),transparent 70%); border-radius:50%; }
[data-theme="light"] .settings-trigger { color:var(--c-text-dim); }
[data-theme="light"] .settings-trigger:hover { color:var(--c-accent); }

/* Settings side panel (adaptive) */
.settings-panel { position:fixed; top:0; right:0; height:100dvh; width:clamp(280px,30vw,360px); background:var(--panel-bg, rgba(16,22,30,.9)); backdrop-filter:blur(28px) saturate(170%); -webkit-backdrop-filter:blur(28px) saturate(170%); border-left:1px solid var(--panel-border, rgba(255,255,255,.07)); box-shadow:var(--panel-shadow, -6px 0 20px -6px rgba(0,0,0,.55)); transform:translateX(110%); transition:transform .55s cubic-bezier(.65,.05,.36,1), box-shadow .4s; display:flex; flex-direction:column; gap:1rem; padding:1.25rem 1.3rem 2.2rem; z-index:160; overflow-y:auto; scrollbar-width:thin; }
.settings-panel::-webkit-scrollbar { width:10px; }
.settings-panel::-webkit-scrollbar-track { background:transparent; }
.settings-panel::-webkit-scrollbar-thumb { background:rgba(255,255,255,.09); border-radius:20px; }
.settings-panel.open { transform:translateX(0); }
.settings-panel header { display:flex; align-items:center; justify-content:space-between; }
.settings-panel h2 { font-size:1rem; font-weight:600; margin:0; letter-spacing:.5px; color: var(--c-text); }
.close-settings { background:none; border:1px solid var(--c-border); width:34px; height:34px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--c-text-mute); cursor:pointer; transition:background .25s,color .25s,border-color .25s; }
.close-settings:hover { background:var(--c-elevated); color:var(--c-text); }

.settings-group { border:1px solid var(--c-border); border-radius:12px; padding:.85rem .9rem 1rem; background:var(--c-elevated); display:flex; flex-direction:column; gap:.6rem; }
.settings-group.optional { opacity:.85; }
.group-label { margin:0; font-size:.7rem; text-transform:uppercase; letter-spacing:1.2px; font-weight:600; color:var(--c-text-mute); }
.settings-group .group-label i { font-size:.8rem; margin-right:.4rem; color:var(--c-accent); }
.settings-panel .settings-group .group-label i { color:var(--panel-accent); }
.button-set { display:flex; gap:.5rem; flex-wrap:wrap; }
.button-set button { flex:1; }

/* Card style previews */
.preview-cards { display:flex; gap:.6rem; }
.preview-card { flex:1; position:relative; height:54px; border-radius:12px; cursor:pointer; background:var(--c-bg-alt); border:1px solid var(--c-border); display:flex; align-items:center; justify-content:center; transition:var(--transition); }
[data-card='outline'] .preview-card[data-style='outline'],
[data-card='subtle'] .preview-card[data-style='subtle'],
[data-card='filled'] .preview-card[data-style='filled'],
.preview-card.active { border-color:var(--c-accent); box-shadow:0 0 0 1px var(--c-accent),0 4px 12px -4px rgba(0,0,0,.5); }
.preview-card[data-style='outline'] { background:transparent; }
.preview-card[data-style='subtle'] { background:color-mix(in srgb,var(--c-bg-alt),transparent 15%); }
.preview-card[data-style='filled'] { background:var(--c-surface); }
.preview-card::after { content:""; width:60%; height:36%; border-radius:8px; background:linear-gradient(90deg,var(--c-accent),color-mix(in srgb,var(--c-accent),transparent 55%)); opacity:.35; }
.preview-card:hover { transform:translateY(-3px); }
/* Panel-scoped: fixed blue visuals */
.settings-panel .preview-card.active,
.settings-panel [data-card='outline'] .preview-card[data-style='outline'],
.settings-panel [data-card='subtle'] .preview-card[data-style='subtle'],
.settings-panel [data-card='filled'] .preview-card[data-style='filled'] { border-color:var(--panel-accent); box-shadow:0 0 0 1px var(--panel-accent),0 4px 12px -4px rgba(0,0,0,.5); }
.settings-panel .preview-card::after { background:linear-gradient(90deg,var(--panel-accent),color-mix(in srgb,var(--panel-accent),transparent 55%)); }
.settings-panel .radius-control input[type=range] { background:linear-gradient(90deg,var(--panel-accent),var(--panel-accent)); }
.settings-panel .radius-control input[type=range]::-webkit-slider-thumb { border-color:var(--panel-accent); }
.settings-panel .radius-control input[type=range]::-moz-range-thumb { border-color:var(--panel-accent); }
.settings-panel .r-icon.active { border-color:var(--panel-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--panel-accent),transparent 70%); }
.settings-panel .density-btn .density-visual::before,
.settings-panel .density-btn .density-visual::after { background:var(--panel-accent); }
.settings-panel .density-btn.active { border-color:var(--panel-accent); box-shadow:0 0 0 1px var(--panel-accent); background:color-mix(in srgb,var(--panel-accent),transparent 90%); }
.settings-panel .density-btn:hover { border-color:var(--panel-accent); }

/* Radius slider */
.radius-control { display:flex; flex-direction:column; gap:.6rem; }
.radius-control input[type=range] { width:100%; appearance:none; height:6px; border-radius:4px; background:linear-gradient(90deg,var(--c-accent),var(--c-accent-hover)); outline:none; cursor:pointer; }
.radius-control input[type=range]::-webkit-slider-thumb { appearance:none; width:18px; height:18px; border-radius:50%; background:var(--c-surface); border:2px solid var(--c-accent); box-shadow:0 2px 6px -2px rgba(0,0,0,.5); transition:var(--transition); }
.radius-control input[type=range]::-webkit-slider-thumb:hover { transform:scale(1.15); }
.radius-control input[type=range]::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:var(--c-surface); border:2px solid var(--c-accent); box-shadow:0 2px 6px -2px rgba(0,0,0,.5); transition:var(--transition); }
.radius-icons { display:flex; justify-content:space-between; font-size:.65rem; opacity:.75; }
.radius-labels { display:flex; justify-content:space-between; font-size:.55rem; text-transform:uppercase; letter-spacing:.6px; opacity:.55; }
.r-icon { width:18px; height:18px; border:2px solid var(--c-border); border-radius:8px; position:relative; }
.r-round { border-radius:50%; }
.r-sharp { border-radius:3px; }
.r-icon.active { border-color:var(--c-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--c-accent),transparent 70%); }

/* Text size slider styling (mirrors radius control) */
.scale-control { display:flex; flex-direction:column; gap:.6rem; }
.settings-panel .scale-control input[type=range] { width:100%; appearance:none; height:6px; border-radius:4px; background:linear-gradient(90deg,var(--panel-accent),var(--panel-accent)); outline:none; cursor:pointer; }
.settings-panel .scale-control input[type=range]::-webkit-slider-thumb { appearance:none; width:18px; height:18px; border-radius:50%; background:var(--c-surface); border:2px solid var(--panel-accent); box-shadow:0 2px 6px -2px rgba(0,0,0,.5); transition:var(--transition); }
.settings-panel .scale-control input[type=range]::-webkit-slider-thumb:hover { transform:scale(1.15); }
.settings-panel .scale-control input[type=range]::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:var(--c-surface); border:2px solid var(--panel-accent); box-shadow:0 2px 6px -2px rgba(0,0,0,.5); transition:var(--transition); }

/* Density visuals */
.density-set { gap:.9rem; }
.density-btn { background:transparent; border:1px solid var(--c-border); border-radius:10px; padding:.35rem .55rem; display:flex; align-items:center; justify-content:center; width:54px; height:46px; cursor:pointer; transition:var(--transition); position:relative; }
.density-btn .density-visual { width:70%; height:70%; position:relative; display:grid; gap:.35rem; }
.density-btn .density-visual::before, .density-btn .density-visual::after { content:""; display:block; background:var(--c-accent); border-radius:4px; }
.density-btn .density-visual.comfort { grid-template-rows:repeat(2,1fr); }
.density-btn .density-visual.comfort::before { height:100%; }
.density-btn .density-visual.comfort::after { height:100%; }
.density-btn .density-visual.compact { grid-template-rows:repeat(3,1fr); }
.density-btn .density-visual.compact::before { grid-row:1/span 1; }
.density-btn .density-visual.compact::after { grid-row:3/span 1; }
.density-btn.active { border-color:var(--c-accent); box-shadow:0 0 0 1px var(--c-accent); background:color-mix(in srgb,var(--c-accent),transparent 90%); }
.density-btn:hover { border-color:var(--c-accent); }

/* Accent swatches */
.swatches { display:flex; gap:.5rem; }
.swatch { width:32px; height:32px; border-radius:50%; border:2px solid var(--c-border); background:var(--sw); cursor:pointer; position:relative; display:inline-flex; align-items:center; justify-content:center; transition:transform .25s, box-shadow .25s, border-color .25s; }
.swatch:hover { transform:translateY(-3px); }
.swatch.active { box-shadow:0 0 0 3px rgba(255,255,255,.08), 0 0 0 6px color-mix(in srgb,var(--sw),transparent 70%); border-color: var(--sw); }

/* Provide narrow screen adaptation */
@media (max-width: 700px){
    .settings-panel { width:min(100%,420px); }
    .settings-trigger { top:.65rem; right:.65rem; }
}

/* Integrate user supplied result styling tweaks while adapting colors to theme */
.results { position:relative; left:2%; right:2%; }
.searchbar { position:sticky; top:0; width:85%; left:5%; right:10%; }
.gsc-webResult.gsc-result { text-align:left; }
.gsc-adBlock { border-bottom:1px solid var(--c-border); }
.gsc-richsnippet-showsnippet-label, .gsc-above-wrapper-area, .gcsc-more-maybe-branding-root, .gcsc-more-maybe-banding-root { display:none !important; }
.gsc-cursor { text-align:center; font-size: .9rem; }
.gsc-input-box { color:transparent; border-color:transparent; }
.gsc-control-cse { border-color:transparent; background:transparent; }
.gsc-webResult.gsc-result, .gsc-results .gsc-imageResult { border-color:transparent; background:var(--c-elevated); border-radius:14px; }
.gsc-results { background:transparent; width:auto; }
.gsc-tabHeader.gsc-tabhInactive, .gsc-refinementHeader.gsc-refinementhInactive { color: var(--c-text-mute); border-color:transparent; background:transparent; }
.gsc-tabHeader.gsc-tabhActive, .gsc-refinementHeader.gsc-refinementhActive { color: var(--c-text); border-bottom:2px solid var(--c-accent); background:transparent; }
.gsc-results .gsc-cursor-box .gsc-cursor-page { border-color: var(--c-border); background:transparent; color: var(--c-text-mute); }
.gsc-results .gsc-cursor-box .gsc-cursor-current-page { border-color: var(--c-accent); color: var(--c-text); }
.gsc-imageResult > .gsc-expansionArea { background:transparent; }
.gs-imagePreviewArea { background:transparent; }
.gsc-webResult.gsc-result:hover { background: var(--c-surface); }
.gsc-search-button-v2, .gsc-search-button-v2:hover, .gsc-search-button-v2:focus { border-color:transparent; background:transparent; filter:none; }
.gsc-search-button-v2 svg:hover { fill: var(--c-accent); }
#___gcse_0 { border-radius:12px; }


[data-theme="light"] {
    --c-bg: #f5f7fa;
    --c-bg-alt: #eef1f5;
    --c-surface: #ffffff;
    --c-border: #d9e2ec;
    --c-border-soft: #e6edf3;
    --c-text: #1d2733;
    --c-text-dim: #5c6b7a;
    --c-accent: #1d64e0;
    --c-accent-hover: #154ba8;
    --shadow-sm: 0 1px 2px rgba(0,0,0,.08);
    --shadow: 0 4px 18px -4px rgba(0,0,0,.12);
    --shadow-focus: 0 0 0 4px #1e6df81f;
    --panel-bg: rgba(255,255,255,.92);
    --panel-border: rgba(0,0,0,.08);
    --panel-shadow: -6px 0 18px -8px rgba(0,0,0,.18);
}

[data-density="compact"] { --density-scale: .8; }
[data-density="comfortable"] { --density-scale: 1; }

html,body { height:100%; }
body { margin:0; font-family:var(--font-stack); -webkit-font-smoothing:antialiased; background:var(--c-bg); color:var(--c-text); display:flex; flex-direction:column; min-height:100dvh; animation:fadeIn .4s ease; overflow-x:hidden; }

@keyframes fadeIn {from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* HEADER / LOGO */
.logo-open { width:92px; height:92px; object-fit:contain; user-select:none; display:block; }
.logo-open.small { width:54px; height:54px; }
.brand-logo { display:flex; justify-content:center; align-items:center; position:relative; }
.brand-logo img { position:relative; }
/* Theme-driven logo swap */
.logo-for-dark { display:block; }
.logo-for-light { display:none; }
[data-theme="light"] .logo-for-dark { display:none; }
[data-theme="light"] .logo-for-light { display:block; }

/* CARD CONTAINER */
main.open-style {
    width: min(100%, 820px);
    background: var(--c-bg-alt);
    border:1px solid var(--c-border);
    box-shadow: var(--shadow);
    border-radius: var(--radius-xl);
    padding: clamp(1.8rem,3vw,2.6rem) clamp(1.4rem,2.6vw,2.4rem) 2.4rem;
    display:flex;
    flex-direction:column;
    gap:1.8rem;
    position:relative;
}

/* Landing hero adjustments */
/* Hero background wrapper fills viewport; card sits with controlled top spacing */
/* Hero layout wrapper (full-bleed background, centered content) */
.hero-section { min-height:100dvh; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding-top:clamp(4rem,16vh,9rem); position:relative; isolation:isolate; width:100%; }
main.open-style.hero { min-height:unset; justify-content:flex-start; margin:0 auto; }

/* Abstract layered hero background */
/* Enhanced abstract hero background (full-bleed) */
.hero-section { overflow:hidden; }
.hero-section::before, .hero-section::after { content:""; position:absolute; inset:0; pointer-events:none; }
/* Base gradient */
.hero-section { background: linear-gradient(160deg,#081018 0%, #0c1824 55%, #081018 100%); }
/* Large soft colored glows */
/* Accent-driven glow */
.hero-section::before { background:
    radial-gradient(circle at 22% 30%, color-mix(in srgb,var(--c-accent) 70%, transparent) 0%, transparent 58%),
    radial-gradient(circle at 78% 26%, color-mix(in srgb,var(--c-accent) 45%, transparent) 0%, transparent 55%),
    radial-gradient(circle at 60% 75%, color-mix(in srgb,var(--c-accent) 55%, transparent) 0%, transparent 65%);
    filter: blur(72px) saturate(140%);
    mix-blend-mode:screen;
}
/* Grain */
.hero-section::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 300 300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); background-size:240px 240px; mix-blend-mode:overlay; opacity:.18; animation:noiseMove 18s linear infinite; }
/* Grain toggle */
[data-grain='off'] .hero-section::after { display:none; }
@keyframes noiseMove { from { transform:translate3d(0,0,0);} to { transform:translate3d(-240px,-240px,0);} }
/* Light theme variant */
[data-theme="light"] .hero-section { background: linear-gradient(155deg,#f2f6fa 0%, #e7edf3 55%, #f2f6fa 100%); }
[data-theme="light"] .hero-section::before { filter: blur(80px) saturate(150%); mix-blend-mode:normal; }
[data-theme="light"] .hero-section::after { opacity:.10; }
/* Translucent card */
main.open-style.hero { background: rgba(16,22,30,.78); backdrop-filter: blur(28px) saturate(150%); -webkit-backdrop-filter: blur(28px) saturate(150%); }
[data-theme="light"] main.open-style.hero { background: rgba(255,255,255,.82); }

/* Additional settings attribute driven styles */
[data-glow='off'] .hero-section::before,[data-glow='off'] .hero-section::after { display:none; }
[data-card='outline'] main.open-style, [data-card='outline'] .gsc-webResult.gsc-result { background:transparent !important; border:1px solid var(--c-border) !important; box-shadow:none !important; }
[data-card='subtle'] main.open-style, [data-card='subtle'] .gsc-webResult.gsc-result { background:color-mix(in srgb,var(--c-bg-alt),transparent 15%) !important; border:1px solid color-mix(in srgb,var(--c-border),transparent 35%) !important; }
[data-radius='round'] { --radius:16px; --radius-lg:22px; --radius-xl:34px; }
[data-radius='sharp'] { --radius:4px; --radius-lg:8px; --radius-xl:12px; }
[data-radius='round'] .gsc-webResult.gsc-result, [data-radius='sharp'] .gsc-webResult.gsc-result { border-radius:var(--radius) !important; }

/* Icon buttons inside settings (small) */
.settings-group .button-set button i { pointer-events:none; font-size:.8rem; }

/* Info sections below hero */
.info-sections { width:min(100%,1100px); margin:4rem auto 2rem; display:flex; flex-direction:column; gap:3.5rem; }
.info-block h2 { margin:.2rem 0 1rem; font-size:clamp(1.8rem,4.2vw,2.6rem); letter-spacing:.5px; }
.info-block p { margin:0; font-size:1.05rem; line-height:1.6; color:var(--c-text-dim); max-width:780px; }
.info-grid { display:grid; gap:1.4rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.feature { background:var(--c-bg-alt); border:1px solid var(--c-border); padding:1.1rem 1.15rem 1.25rem; border-radius:14px; box-shadow:var(--shadow-sm); transition:var(--transition); }
.feature:hover { border-color:var(--c-accent); box-shadow:var(--shadow); transform:translateY(-2px); }
.feature h3 { margin:.2rem 0 .6rem; font-size:1rem; letter-spacing:.5px; }
.feature p { margin:0; font-size:.85rem; line-height:1.5; color:var(--c-text-dim); }

/* Results page layout */
body.results-page { padding:0 0 4rem; }
.results-header { position:sticky; top:0; z-index:40; display:flex; gap:1rem; align-items:center; background:rgba(15,20,26,.88); backdrop-filter:blur(14px); padding:.65rem 1.1rem; border-bottom:1px solid var(--c-border); }
[data-theme="light"] .results-header { background:rgba(245,247,250,.85); }
.results-header .logo-open.small { width:54px; height:54px; }
.brand-link { display:inline-flex; align-items:center; text-decoration:none; }
.results-search { flex:1; display:flex; }
.results-main { width:min(100%, 1300px); margin:1.2rem auto 0; padding:0 1.2rem; }

/* Wider search input on results page */
body.results-page .search-input { font-size:1.05rem; }

/* Refined tabs */
.gsc-tabsArea { margin: .5rem 0 1rem !important; }
.gsc-tabsArea div.gsc-tabHeader { background:var(--c-bg-alt)!important; border:1px solid var(--c-border)!important; color:var(--c-text-dim)!important; border-radius:var(--radius-sm); margin-right:.4rem; padding:.5rem .9rem!important; font-size:.65rem; letter-spacing:.6px; }
.gsc-tabsArea div.gsc-tabHeader.gsc-tabhActive { background:var(--c-accent)!important; color:#fff!important; box-shadow:0 2px 6px -1px rgba(0,0,0,.4); }

/* Pagination redesign */
.gsc-cursor-box { display:flex!important; justify-content:center; gap:.4rem; flex-wrap:wrap; margin:1.8rem 0 .6rem!important; }
.gsc-cursor-page, .gsc-cursor-current-page { border:1px solid var(--c-border)!important; background:var(--c-bg-alt)!important; color:var(--c-text-dim)!important; padding:.55rem .85rem!important; border-radius:10px!important; font-size:.7rem!important; font-weight:600; letter-spacing:.5px; min-width:42px; text-align:center; transition:var(--transition); }
.gsc-cursor-page:hover { color:var(--c-text)!important; border-color:var(--c-accent)!important; }
.gsc-cursor-current-page { background:var(--c-accent)!important; color:#fff!important; border-color:var(--c-accent)!important; box-shadow:0 4px 12px -4px rgba(0,0,0,.5); }

/* Result container width control */
.gsc-expansionArea { max-width:100%; }
#___gcse_0 { width:100%; }
/* Results layout toggles */
[data-wide='on'] .results-main { width:min(100%, 1500px); }
[data-minimal='on'] .gsc-result .gs-snippet { display:none !important; }
[data-minimal='on'] .gsc-result .gs-visibleUrl { display:none !important; }

/* Text size (root font scaling) */
[data-text='small'] { font-size: 15px; }
[data-text='normal'] { font-size: 16px; }
[data-text='large'] { font-size: 18px; }
/* Results layout toggles */
[data-wide='on'] .results-main { width:min(100%, 1500px); }
[data-minimal='on'] .gsc-result .gs-snippet { display:none !important; }
[data-minimal='on'] .gsc-result .gs-visibleUrl { display:none !important; }

/* Text size */
[data-text='small'] { font-size: 15px; }
[data-text='normal'] { font-size: 16px; }
[data-text='large'] { font-size: 18px; }

@media (min-width: 900px){
    .results-main #___gcse_0 { width:100%; }
    .gsc-webResult.gsc-result, .gsc-result.gsc-webResult.gsc-result { padding:1.15rem 1.35rem!important; }
    .gsc-result .gs-title { font-size:1.05rem!important; }
    .gsc-result .gs-snippet { font-size:.85rem!important; }
}

@media (max-width: 600px){
    .results-header { flex-wrap:wrap; }
    .results-search { order:2; width:100%; }
    .results-header .logo-open.small { order:1; }
    .results-main { padding:0 .7rem; }
    .info-grid { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
}

/* APPEARANCE BAR */
.appearance-bar {
    position:absolute; top:.9rem; right:.9rem;
    display:flex; gap:.5rem; align-items:center;
}
.appearance-bar button {
    background: var(--c-surface);
    color: var(--c-text-dim);
    border:1px solid var(--c-border);
    border-radius: var(--radius-sm);
    padding:.45rem .75rem;
    --c-surface: #1d262f;
    --c-elevated: #1a232c;
    letter-spacing:.5px;
    text-transform:uppercase;
    display:inline-flex; gap:.35rem; align-items:center;
    cursor:pointer; line-height:1;
    transition: var(--transition);
}
.appearance-bar button:hover { color: var(--c-text); border-color: var(--c-accent); }
.appearance-bar button:focus-visible { outline:none; box-shadow: var(--shadow-focus); }
.appearance-bar button.active { background: var(--c-accent); color:#fff; border-color: var(--c-accent); }

/* TITLE */
.search-title-open {
    margin:0; text-align:center;
    font-size: clamp(1.9rem, 4.5vw, 2.6rem);
    font-weight:800; letter-spacing:.5px;
    background:linear-gradient(90deg,var(--c-text),var(--c-text-dim));
    background-clip:text; -webkit-background-clip:text; color:transparent;
}

.subtitle-open { margin:0; text-align:center; font-size:.95rem; color: var(--c-text-dim); }

/* SEARCH BAR */
.custom-searchbar { width:100%; display:flex; gap:0; }
.search-input {
    flex:1; font-size:1rem; font-weight:500;
    padding: calc(0.85rem * var(--density-scale)) calc(1rem * var(--density-scale));
    background: var(--c-surface);
    --c-elevated: #ffffff;
    border:1px solid var(--c-border);
    border-right:none;
    color: var(--c-text);
    border-radius: var(--radius) 0 0 var(--radius);
[data-theme="light"] .settings-trigger { background:rgba(255,255,255,.72); border:1px solid rgba(0,0,0,.08); color:var(--c-text-dim); }
[data-theme="light"] .settings-trigger:hover { background:rgba(255,255,255,.95); border-color:var(--c-accent); color:var(--c-text); }
[data-theme="light"] .settings-panel { background:rgba(255,255,255,.92); border-left:1px solid rgba(0,0,0,.08); box-shadow:-6px 0 18px -8px rgba(0,0,0,.18); }
[data-theme="light"] .settings-group { background:var(--c-elevated); border:1px solid var(--c-border); }
    transition: var(--transition);
}
.search-input:focus { outline:none; border-color: var(--c-accent); box-shadow: var(--focus-ring); }

.search-btn {
    background: var(--c-accent); color:#fff; border:1px solid var(--c-accent);
    padding:0 calc(1.05rem * var(--density-scale));
    font-size:1rem; font-weight:600; letter-spacing:.5px;
    display:inline-flex; align-items:center; justify-content:center;
    border-radius:0 var(--radius) var(--radius) 0; cursor:pointer; transition: var(--transition);
}
.search-btn:hover { background: var(--c-accent-hover); border-color: var(--c-accent-hover); }
.search-btn:focus-visible { outline:none; box-shadow: var(--shadow-focus); }

.search-box-open { width:100%; display:flex; flex-direction:column; gap:1.2rem; }
/* Compact mode stronger site-wide changes */
[data-density="compact"] .search-box-open { gap:.85rem; }
[data-density="compact"] .gsc-result .gs-snippet { font-size:.8rem !important; }
[data-density="compact"] .gsc-result .gs-title { margin-bottom:.1rem !important; }
[data-density="compact"] .gsc-webResult.gsc-result, [data-density="compact"] .gsc-result.gsc-webResult.gsc-result { padding:.85rem 1rem !important; }
[data-density="compact"] .results-main { margin:.8rem auto 0; padding:0 .8rem; }

/* RESULTS WRAPPER (Google CSE overrides) */
#___gcse_0, .gsc-control-cse, .gsc-control-wrapper-cse { background: transparent !important; border:none !important; }
.gsc-webResult.gsc-result, .gsc-result.gsc-webResult.gsc-result {
    background: var(--c-surface) !important;
    border:1px solid var(--c-border) !important;
    border-radius: var(--radius) !important;
    padding:1rem 1.1rem !important;
    margin:0 0 1rem 0 !important;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}
.gsc-webResult.gsc-result:hover { border-color: var(--c-accent) !important; box-shadow: var(--shadow); }

.gsc-result .gs-title { font-size:1rem !important; font-weight:600; }
.gsc-result .gs-title b { color: var(--c-accent); }
.gsc-result .gs-snippet { color: var(--c-text-dim) !important; line-height:1.5; font-size:.82rem; }
.gsc-result .gs-visibleUrl { font-size:.7rem !important; color: var(--c-accent) !important; }

/* Pagination */
.gsc-cursor-box { text-align:center; padding-top:.5rem; }
.gsc-cursor-page { background: var(--c-bg-alt); border:1px solid var(--c-border); color: var(--c-text-dim); padding:.45rem .75rem; margin:.25rem; border-radius: var(--radius-sm); font-size:.75rem; transition: var(--transition);}
.gsc-cursor-page:hover { color: var(--c-text); border-color: var(--c-accent); }
.gsc-cursor-current-page { background: var(--c-accent) !important; color:#fff !important; border-color: var(--c-accent) !important; }

/* Hide unwanted blocks */
.gsc-above-wrapper-area, .gcsc-more-maybe-branding-root, .gsc-adBlock { display:none !important; }

/* Tabs / refinements */
.gsc-tabsArea div.gsc-tabHeader { background: var(--c-bg-alt) !important; border:1px solid var(--c-border) !important; color: var(--c-text-dim) !important; border-radius: var(--radius-sm); margin-right:.5rem; padding:.4rem .8rem !important; font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.gsc-tabsArea div.gsc-tabHeader.gsc-tabhActive { background: var(--c-accent) !important; color:#fff !important; border-color: var(--c-accent) !important; }

/* Embedded search input Google might render (hidden) */
.gsc-input, .gsc-input-box, .gsc-input-box input { background: var(--c-surface) !important; color: var(--c-text) !important; }
.gsc-search-button-v2 { background: var(--c-accent) !important; border:1px solid var(--c-accent) !important; border-radius: var(--radius-sm) !important; }
.gsc-search-button-v2:hover { background: var(--c-accent-hover) !important; }

/* Footer */
.footer-open { font-size:.7rem; color: var(--c-text-dim); margin-top:auto; text-align:center; }
.footer-open a { color: var(--c-accent); text-decoration:none; }
.footer-open a:hover { text-decoration:underline; }

/* Density adjustments */
[data-density="compact"] .gsc-webResult.gsc-result { padding:.85rem .95rem !important; }
[data-density="compact"] .search-input { padding:.65rem .85rem; }
[data-density="compact"] .search-btn { padding:0 .85rem; }

/* Scrollbar (WebKit) */
body::-webkit-scrollbar { width:10px; }
body::-webkit-scrollbar-track { background: var(--c-bg-alt); }
body::-webkit-scrollbar-thumb { background: var(--c-border); border-radius:20px; }
body::-webkit-scrollbar-thumb:hover { background: var(--c-accent); }

/* Utility */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); border:0; }

