/* Komparify: original forest green, sage and warm neutral palette. */
:root { --kp-ink:#203c34; --kp-muted:#64716a; --kp-green:#1a413b; --kp-sage:#bad6b4; --kp-mint:#e8f2e7; --kp-cream:#f7f6f1; --kp-accent:#347867; --kp-border:#dde4da; --kp-radius:12px; }
body { background:var(--kp-cream); color:var(--kp-ink); font-family:'Noto Sans',Arial,sans-serif; font-size:16px; line-height:1.65; }
h1,h2,h3,h4,h5,h6 { font-family:'Lexend',Arial,sans-serif; line-height:1.35; letter-spacing:-.025em; }
button,input,select,textarea { font:inherit; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #347867; outline-offset:4px; }
p { line-height:1.75; }
[hidden] { display:none !important; }
.kp-skip-link { position:fixed; top:8px; left:12px; z-index:2500; transform:translateY(-160%); padding:10px 16px; background:#fff; color:var(--kp-green); border:2px solid var(--kp-green); border-radius:6px; }
.kp-skip-link:focus { transform:none; }
.kp-site-header { position:relative; z-index:100; background:var(--kp-sage); border-bottom:1px solid var(--kp-border); }
.kp-brandbar { display:flex; justify-content:space-between; gap:16px; padding:7px max(24px,calc((100% - 1180px)/2)); background:var(--kp-green); color:#c8ddd1; font-size:.6875rem; }
.kp-brandbar a { color:#e2f9f3; }
.kp-navigation { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1240px; min-height:88px; padding:16px 24px; margin-inline:auto; }
.kp-brand { display:inline-flex; align-items:center; gap:10px; color:var(--kp-green); font:600 1.75rem/1 'Lexend',Arial,sans-serif; letter-spacing:-.07em; text-decoration:none; flex-shrink:0; }
.kp-brand-symbol { display:grid; place-items:center; width:40px; height:40px; border-radius:11px; background:var(--kp-green); }
.kp-brand-symbol svg { fill:none; stroke:#dceac6; stroke-width:2.4; stroke-linecap:round; }
.kp-brand-dot { color:#347867; }
.kp-nav-menu { display:flex; align-items:center; gap:5px; margin:0; padding:0; list-style:none; }
.kp-nav-menu > li { position:relative; text-align:left; }
.kp-nav-menu > li > a,.kp-nav-pair > a { display:block; padding:10px 9px; border-radius:7px; color:var(--kp-ink); font-size:.8125rem; font-weight:500; text-decoration:none; white-space:nowrap; }
.kp-nav-menu a:hover { background:var(--kp-mint); color:var(--kp-green); }
.kp-nav-menu [aria-current="page"] { background:#d4e6ca; color:var(--kp-accent); }
.kp-nav-pair { display:flex; align-items:center; }
.kp-submenu-toggle { display:grid; place-items:center; width:30px; min-height:40px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--kp-ink); cursor:pointer; }
.kp-submenu-toggle:hover,.kp-submenu-toggle[aria-expanded="true"] { background:var(--kp-mint); }
.kp-submenu-toggle svg { fill:none; stroke:currentColor; stroke-width:1.8; }
.kp-submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.kp-submenu { position:absolute; left:0; top:calc(100% + 12px); width:260px; margin:0; padding:10px; border:1px solid var(--kp-border); border-radius:10px; background:#fff; box-shadow:0 12px 30px rgb(26 65 59 / 12%); list-style:none; }
.kp-submenu li { text-align:left; }
.kp-submenu a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:42px; padding:10px 12px; border-radius:5px; font-size:.8125rem; color:var(--kp-ink); }
.kp-submenu a > span { color:#54745d; }
.kp-menu-toggle { display:flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:8px 12px; border:1px solid #ccd9c6; border-radius:7px; background:var(--kp-mint); color:var(--kp-green); cursor:pointer; font-size:.8125rem; font-weight:500; }
.kp-menu-toggle svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.kp-section { max-width:1240px; margin-inline:auto; padding:56px 24px; }
.kp-eyebrow { display:block; margin-bottom:14px; color:#64775f; font-size:.6875rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.kp-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.kp-section-heading h2 { font-size:clamp(1.5rem,2.7vw,2rem); }
.kp-section-heading > p { max-width:360px; margin:0; color:var(--kp-muted); font-size:.875rem; }
.kp-section-heading .kp-eyebrow { margin-bottom:8px; }
.kp-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; padding:13px 20px; border:1px solid transparent; border-radius:7px; background:var(--kp-green); color:#fff; font-size:.8125rem; font-weight:500; text-decoration:none; }
.kp-button:hover { background:#285d50; color:#fff; }
.kp-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding-block:8px; color:var(--kp-green); font-size:.8125rem; font-weight:500; text-decoration:underline; text-underline-offset:5px; }
.kp-hero { background:var(--kp-green); border-bottom:1px solid #386354; }
.kp-hero-copy { color:#e2f9f3; }
.kp-hero-copy .kp-eyebrow { color:#bad6b4; }
.kp-hero-actions .kp-button { background:var(--kp-sage); color:var(--kp-green); }
.kp-hero-actions .kp-button:hover { background:#d5e6cb; }
.kp-hero-actions .kp-text-link { color:#d9edda; }
.kp-hero-inner { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:90px; max-width:1240px; padding:74px 24px; margin-inline:auto; }
.kp-hero-copy h1 { font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.12; letter-spacing:-.055em; font-weight:400; }
.kp-hero-copy > p { max-width:570px; margin-top:24px; color:#c5dbd0; font-size:1rem; }
.kp-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-top:28px; }
.kp-hero-copy .kp-hero-note { margin-top:24px; font-size:.6875rem; color:#abcab8; }
.kp-hero-feature { position:relative; padding:36px; border:1px solid #94b18a; border-radius:16px; background:var(--kp-sage); box-shadow:10px 10px 0 #2d5548; }
.kp-feature-icon { display:grid; place-items:center; width:74px; height:74px; margin-bottom:30px; border:1px solid #a8c29e; border-radius:18px; background:#d9e8cd; }
.kp-feature-icon svg { fill:none; stroke:var(--kp-green); stroke-width:1.6; stroke-linejoin:round; }
.kp-hero-feature h2 { max-width:330px; font-size:2rem; font-weight:400; }
.kp-hero-feature > p { margin-top:16px; color:#365a42; font-size:.875rem; }
.kp-feature-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:28px; padding-top:18px; border-top:1px solid #91ad86; font-size:.75rem; color:#365a42; }
.kp-feature-bottom a { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#fff; background:var(--kp-accent); font-size:1.25rem; }
.kp-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; }
.kp-category-grid > li { display:flex; min-width:0; text-align:left; }
.kp-category-card { display:flex; flex-direction:column; align-items:flex-start; width:100%; padding:26px; border:1px solid var(--kp-border); border-radius:var(--kp-radius); background:#fff; color:var(--kp-ink); }
.kp-category-card:hover { border-color:#a1b990; background:#fbfcf7; }
.kp-category-number { margin-bottom:26px; color:#798773; font-size:.6875rem; }
.kp-category-card h3 { font-size:1.125rem; }
.kp-category-card p { margin:12px 0 22px; color:var(--kp-muted); font-size:.8125rem; }
.kp-category-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; margin-top:auto; font-size:.75rem; font-weight:500; }
.kp-category-bottom > span { color:#54745d; font-size:1.25rem; }
.kp-category-featured { background:var(--kp-green); color:#fff; border-color:var(--kp-green); }
.kp-category-featured:hover { background:#27584b; }
.kp-category-featured p,.kp-category-featured .kp-category-number { color:#c5d9c7; }
.kp-category-featured .kp-category-bottom > span { color:#bad6b4; }
.kp-home-energy { padding-top:8px; }
.kp-provider-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:20px; list-style:none; }
.kp-provider-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; height:100%; padding:26px; border:1px solid var(--kp-border); border-top:3px solid #a7c397; border-radius:var(--kp-radius); background:#fff; color:var(--kp-ink); text-align:left; overflow-wrap:anywhere; }
.kp-provider-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; width:100%; margin-bottom:22px; }
.kp-provider-logo { position:relative; display:grid; place-items:center; width:132px; height:60px; background:#fff; }
.kp-provider-logo > span { color:#54745d; font:400 1.75rem 'Lexend',Arial,sans-serif; }
.kp-provider-logo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:left center; background:#fff; }
.kp-tag { padding:4px 8px; border:1px solid #cadcc5; border-radius:4px; background:#e8f2e7; color:var(--kp-accent); font-size:.625rem; }
.kp-provider-card h3 { font-size:1.125rem; }
.kp-provider-summary { margin:12px 0 24px; color:var(--kp-muted); font-size:.8125rem; }
.kp-provider-cta { width:100%; margin-top:auto; }
.kp-energy-offers { width:100%; margin-bottom:24px; list-style:none; }
.kp-energy-offers li { padding:14px 0; border-top:1px dashed #d9dcc9; text-align:left; }
.kp-energy-offers p { margin:0 0 10px; font-size:.8125rem; }
.kp-energy-offers a { color:var(--kp-accent); font-size:.75rem; text-decoration:underline; text-underline-offset:4px; }
.kp-energy-offers .kp-code { padding:8px; background:#edf4e9; border:1px dashed #a9c69d; border-radius:4px; }
.kp-how { margin-top:8px; border-block:1px solid var(--kp-border); }
.kp-how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; }
.kp-how-grid li { text-align:left; }
.kp-how-grid li > span { display:grid; place-items:center; width:34px; height:34px; margin-bottom:18px; background:#e6e9d0; border-radius:50%; font-size:.8125rem; }
.kp-how-grid h3 { font-size:1rem; }
.kp-how-grid p { margin-top:12px; color:var(--kp-muted); font-size:.8125rem; }
.kp-transparency { display:flex; justify-content:space-between; align-items:center; gap:32px; padding-block:38px; }
.kp-transparency > div { max-width:780px; }
.kp-transparency h2 { font-size:1.125rem; }
.kp-transparency p { margin-top:12px; color:var(--kp-muted); font-size:.8125rem; }
.kp-transparency > a { flex-shrink:0; }
.kp-page-intro { background:var(--kp-green); color:#e2f9f3; }
.kp-page-intro .kp-eyebrow,.kp-page-intro .kp-breadcrumb,.kp-page-intro .kp-breadcrumb a { color:#bad6b4; }
.kp-page-intro .kp-button { background:var(--kp-sage); color:var(--kp-green); }
.kp-page-intro .kp-button:hover { background:#d5e6cb; }
.kp-page-intro .kp-section { padding-block:28px 48px; }
.kp-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; color:var(--kp-muted); font-size:.6875rem; }
.kp-breadcrumb a { color:var(--kp-green); text-decoration:underline; text-underline-offset:4px; }
.kp-page-intro h1 { font-size:clamp(2rem,4.5vw,3.5rem); font-weight:400; }
.kp-page-intro p { max-width:750px; margin:18px 0 24px; color:#c5dbd0; }
.kp-energy-checks { display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:48px; border-bottom:1px solid var(--kp-border); }
.kp-energy-checks h2 { font-size:1.5rem; }
.kp-energy-checks p { margin-top:16px; color:var(--kp-muted); font-size:.875rem; }
.kp-energy-checks ul { display:grid; gap:10px; list-style:none; }
.kp-energy-checks li { padding:12px 16px; border-left:3px solid #86ac7c; border-radius:0 6px 6px 0; background:#e4eedd; font-size:.8125rem; text-align:left; }
.kp-count { font-size:.8125rem; color:var(--kp-muted); }
.kp-list-note { max-width:800px; margin:-6px 0 26px; color:var(--kp-muted); font-size:.8125rem; }
.kp-empty { padding:24px; border:1px dashed #b3c5a6; border-radius:var(--kp-radius); background:#f0f4e8; color:var(--kp-ink); }
.kp-empty p { margin-top:10px; }
.kp-empty a { color:var(--kp-accent); text-decoration:underline; }
.kp-energy-faq { border-top:1px solid var(--kp-border); }
.kp-energy-faq h2 { margin-bottom:24px; font-size:1.5rem; }
.kp-energy-faq details { padding:16px 20px; margin-bottom:10px; border:1px solid var(--kp-border); border-radius:8px; background:#fff; }
.kp-energy-faq summary { cursor:pointer; font-size:.875rem; font-weight:500; }
.kp-energy-faq details p { max-width:850px; margin-top:14px; color:var(--kp-muted); font-size:.8125rem; }
.kp-footer { padding:0; background:var(--kp-green); color:#c5d9c7; }
.kp-footer-inner { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; max-width:1240px; margin-inline:auto; padding:48px 24px 36px; }
.kp-footer .kp-brand { color:#fff; }
.kp-footer .kp-brand-symbol { background:#345d49; }
.kp-footer-inner h2 { margin-bottom:16px; font-size:.875rem; color:#fff; }
.kp-footer-inner p { margin-top:18px; font-size:.8125rem; line-height:1.8; }
.kp-footer-inner ul { display:grid; gap:8px; list-style:none; }
.kp-footer-inner li { text-align:left; }
.kp-footer-inner a:not(.kp-brand) { color:#dbe8d9; font-size:.8125rem; }
.kp-footer .disclamer { max-width:1192px; margin:0 auto; padding:28px 0; border-top:1px solid #42614f; color:#b7cbb9; font-size:.6875rem; line-height:1.9; }
.kp-footer .company_info { margin-top:18px; }
.kp-footer .copyright-notice { margin-top:10px; }
/* Bring existing comparison pages into the same visual system without changing their data. */
.page-heading-container { padding:36px max(24px,calc((100% - 1180px)/2)); gap:28px; min-height:0; background:var(--kp-green); }
.page-heading-container h1 { font:400 clamp(1.75rem,3.5vw,2.5rem)/1.3 'Lexend',Arial,sans-serif; color:#edf4e4; }
.page-heading-container .page-ingress { color:#d1dfce; font-size:.875rem; }
.page-heading-container p { padding:0; margin-top:16px; }
.page-heading-container .top-cards { gap:10px; }
.top-cards .card { padding:14px; border:1px solid #86a077; border-radius:8px; background:#e4ecd3; color:var(--kp-green); box-shadow:none; }
.top-cards .card a { color:var(--kp-green); }
.breadcrumb-list { max-width:1240px; margin-inline:auto; padding-inline:24px; font-size:.75rem; }
.loan-card,.credit-card,.article-card-body { border:1px solid var(--kp-border); border-radius:var(--kp-radius); box-shadow:0 3px 12px rgb(26 65 59 / 4%); }
.loan-card-summary,.credit-card-summary { gap:16px; }
.article-card-body { background:#fff; padding:24px; line-height:1.8; }
.article-card-body h2,.article-card-body h3 { color:var(--kp-green); }
.top-wave { height:40px; background-size:100% 100%; }
@media (max-width:1100px) and (min-width:1001px) { .kp-navigation { gap:12px; padding-inline:16px; } .kp-nav-menu { gap:0; } .kp-nav-menu > li > a,.kp-nav-pair > a { padding-inline:6px; font-size:.75rem; } .kp-brand { font-size:1.5rem; } }
@media (max-width:1000px) {
  .kp-navigation { flex-wrap:wrap; gap:14px; min-height:76px; }
  .kp-nav-menu { flex-basis:100%; width:100%; flex-direction:column; align-items:stretch; gap:4px; max-height:calc(100dvh - 155px); overflow-y:auto; padding-top:12px; border-top:1px solid var(--kp-border); }
  .kp-nav-menu > li > a,.kp-nav-pair > a { padding:12px 14px; font-size:.875rem; }
  .kp-nav-pair { justify-content:space-between; }
  .kp-nav-pair > a { flex:1; }
  .kp-submenu-toggle { width:44px; min-height:44px; }
  .kp-submenu { position:static; width:100%; margin:4px 0 8px; padding:8px 12px; border:0; border-radius:8px; background:var(--kp-mint); box-shadow:none; }
  .kp-hero-inner { gap:40px; padding-block:50px; }
  .kp-hero-feature { padding:26px; }
  .kp-footer-inner { gap:28px; }
  .page-heading-container.center { flex-wrap:wrap; }
}
@media (max-width:760px) {
  .kp-brandbar { padding-inline:20px; }
  .kp-brandbar > span { display:none; }
  .kp-brandbar { justify-content:flex-end; }
  .kp-navigation { padding-inline:20px; }
  .kp-hero-inner { grid-template-columns:minmax(0,1fr); padding:40px 20px; gap:36px; }
  .kp-hero-copy h1 { font-size:clamp(2.6rem,9vw,4rem); }
  .kp-hero-feature { box-shadow:6px 6px 0 #2d5548; }
  .kp-feature-icon { margin-bottom:20px; width:56px; height:56px; }
  .kp-hero-feature h2 { font-size:1.625rem; }
  .kp-section { padding:36px 20px; }
  .kp-section-heading { flex-wrap:wrap; gap:12px; }
  .kp-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .kp-category-card { padding:20px; }
  .kp-provider-grid { grid-template-columns:minmax(0,1fr); }
  .kp-how-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .kp-transparency,.kp-energy-checks { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
  .kp-energy-checks ul { width:100%; }
  .kp-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); padding:36px 20px; }
  .kp-footer .disclamer { margin-inline:20px; }
  .loan-card-summary,.credit-card-summary { flex-wrap:wrap; }
}
@media (max-width:420px) { .kp-category-grid { grid-template-columns:minmax(0,1fr); } .kp-category-number { margin-bottom:16px; } .kp-brand { font-size:1.5rem; } .kp-footer-inner { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }

.kp-hero-feature .kp-eyebrow { color:#365a42; }

/* Breadcrumbs shared by both existing comparison pages and shop views. */
.breadcrumb-list { max-width:1240px; margin:0 auto; padding:16px 24px; border:0; background:transparent; color:#718076; font-size:.75rem; }
.breadcrumb-list .breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:6px 0; margin:0; padding:0; list-style:none; }
.breadcrumb-list .breadcrumb > li { display:flex; align-items:center; min-width:0; margin:0; padding:0; text-align:left; overflow-wrap:anywhere; }
.breadcrumb-list .breadcrumb > li + li::before { content:'›'; display:inline-block; padding-inline:12px; color:#95a58f; }
.breadcrumb-list .breadcrumb > li::after { content:none; }
.breadcrumb-list .breadcrumb a { color:#5a725f; text-decoration:none; }
.breadcrumb-list .breadcrumb a:hover { color:var(--kp-green); text-decoration:underline; text-underline-offset:4px; }
.breadcrumb-list [aria-current="page"] { font-weight:500; color:var(--kp-green); }
.kp-page-intro .breadcrumb-list { margin:0 0 28px; padding:0; color:#bad6b4; }
.kp-page-intro .breadcrumb-list .breadcrumb a { color:#bad6b4; }
.kp-page-intro .breadcrumb-list [aria-current="page"] { color:#e2f9f3; }
.kp-page-intro .breadcrumb-list .breadcrumb > li + li::before { color:#7ba290; }
.kp-shop-search { padding:22px; margin-bottom:18px; border:1px solid var(--kp-border); border-radius:var(--kp-radius); background:#fff; }
.kp-shop-search label { display:block; margin-bottom:10px; color:var(--kp-ink); font-size:.8125rem; font-weight:500; }
.kp-shop-search > div { display:flex; align-items:stretch; gap:10px; }
.kp-shop-search input { flex:1; min-width:0; height:48px; margin:0; padding:12px 16px; border:1px solid #bbcfb3; border-radius:7px; background:#fafcf8; color:var(--kp-ink); font-size:.875rem; }
.kp-shop-search input::placeholder { color:#7b8875; }
.kp-shop-letters { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; padding-bottom:4px; }
.kp-shop-letters a { display:grid; place-items:center; min-width:34px; min-height:38px; padding:7px 9px; border:1px solid var(--kp-border); border-radius:5px; background:#fff; color:#4e7056; font-size:.75rem; }
.kp-shop-letters a:hover,.kp-shop-letters [aria-current="true"] { background:var(--kp-green); color:#fff; border-color:var(--kp-green); }
.kp-shop-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; list-style:none; }
.kp-shop-grid > li { min-width:0; display:flex; text-align:left; }
.kp-shop-card { display:flex; flex-direction:column; align-items:flex-start; width:100%; padding:22px; border:1px solid var(--kp-border); border-radius:var(--kp-radius); background:#fff; color:var(--kp-ink); overflow-wrap:anywhere; }
.kp-shop-card:hover { border-color:#9db68d; background:#fbfcf8; }
.kp-shop-logo { position:relative; display:grid; place-items:center; width:132px; max-width:100%; height:64px; background:#fff; }
.kp-shop-logo > span { color:#71916c; font:400 1.75rem 'Lexend',Arial,sans-serif; }
.kp-shop-logo img { position:absolute; inset:0; width:100%; height:100%; background:#fff; object-fit:contain; object-position:left center; }
.kp-shop-card h3 { margin:20px 0 18px; font-size:.9375rem; }
.kp-shop-card > span:last-child { display:flex; justify-content:space-between; gap:12px; width:100%; margin-top:auto; font-size:.6875rem; color:#5c775b; }
.kp-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px; margin-top:28px; font-size:.8125rem; color:var(--kp-muted); }
.kp-pagination a { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; border:1px solid #b8cbae; border-radius:6px; background:#e8f2e1; color:var(--kp-green); }
.kp-shop-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) 240px; align-items:center; gap:48px; }
.kp-shop-intro-grid h1 { max-width:850px; }
.kp-shop-intro-logo { display:grid; place-items:center; min-height:140px; padding:28px; border:1px solid #9db88f; border-radius:var(--kp-radius); background:#fff; }
.kp-shop-intro-logo .kp-shop-logo { width:180px; height:80px; }
.kp-shop-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:28px; }
.kp-shop-layout .kp-section-heading h2 { font-size:1.5rem; }
.kp-shop-offer-list { display:grid; gap:18px; list-style:none; }
.kp-shop-offer { display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding:26px; border:1px solid var(--kp-border); border-left:3px solid #91b081; border-radius:var(--kp-radius); background:#fff; text-align:left; overflow-wrap:anywhere; }
.kp-shop-offer h3 { font-size:1.125rem; line-height:1.6; }
.kp-code { width:100%; margin:0; padding:12px 16px; border:1px dashed #9dbb8b; border-radius:6px; background:#edf5e6; color:#345d38; font-size:.875rem; }
.kp-code strong { user-select:all; }
.kp-offer-terms { width:100%; font-size:.75rem; color:var(--kp-muted); }
.kp-offer-terms summary { padding:5px 0; color:#42674b; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.kp-offer-terms p { margin-top:12px; line-height:1.8; }
.kp-shop-about { padding:24px; border:1px solid #cfddc5; border-radius:var(--kp-radius); background:#e9f0e2; overflow-wrap:anywhere; }
.kp-shop-about > .kp-shop-logo { padding:8px; border-radius:5px; }
.kp-shop-about h2 { margin-top:20px; font-size:1.125rem; }
.kp-shop-about > p { margin:16px 0 22px; color:#526b53; font-size:.8125rem; }
.kp-shop-about .kp-button { width:100%; }
.kp-shop-about .kp-shop-disclosure { margin:18px 0 8px; font-size:.6875rem; }
@media (max-width:970px) { .kp-shop-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .kp-shop-layout { grid-template-columns:minmax(0,1fr) 280px; gap:20px; } }
@media (max-width:760px) { .kp-shop-layout { grid-template-columns:minmax(0,1fr); } .kp-shop-intro-grid { grid-template-columns:minmax(0,1fr); gap:24px; } .kp-shop-intro-logo { justify-self:start; width:180px; min-height:100px; padding:18px; } .kp-shop-intro-logo .kp-shop-logo { width:144px; height:64px; } .breadcrumb-list { padding-inline:20px; } }
@media (max-width:650px) { .kp-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .kp-shop-card { padding:16px; } .kp-shop-search { padding:16px; } .kp-shop-search .kp-button { padding-inline:16px; } .kp-shop-letters { flex-wrap:nowrap; overflow-x:auto; } .kp-shop-letters a { flex-shrink:0; } .kp-shop-offer { padding:20px; } }
