@font-face{font-family:'DM Sans';font-style:normal;font-weight:300;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:300;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/dm-sans-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/playfair-display-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/playfair-display-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/playfair-display-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/playfair-display-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/playfair-display-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/playfair-display-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/playfair-display-normal-latin-ext.woff2?ver=1714421040)format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(//test-vergleiche.com/wp-content/uploads/omgf/tv-google-fonts-product-v2/playfair-display-normal-latin.woff2?ver=1714421040)format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}:root {
--color-bg: #FFFFFF;
--color-surface: #F8FAFB;
--color-surface-alt: #F1F4F7;
--color-primary: #2563EB;
--color-primary-dark: #1D4ED8;
--color-primary-light: #DBEAFE;
--color-accent: #1E40AF;
--color-accent-light: #EFF6FF;
--color-text: #111827;
--color-text-muted: #6B7280;
--color-text-light: #9CA3AF;
--color-border: #E5E7EB;
--color-star: #F59E0B;
--color-badge-bg: #1E3A5F;
--color-badge-text: #FFFFFF;
--color-success: #059669;
--color-warning: #D97706;
--font-display: 'Playfair Display', Georgia, serif;
--font-body: 'DM Sans', system-ui, sans-serif;
--shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
--shadow-md: 0 4px 16px rgba(0,0,0,0.08);
--shadow-lg: 0 12px 40px rgba(0,0,0,0.12);
--radius-sm: 8px;
--radius-md: 14px;
--radius-lg: 20px;
--radius-xl: 28px;
} .sp-page {
font-family: var(--font-body) !important;
background: var(--color-bg) !important;
color: var(--color-text);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
.sp-page *,
.sp-page *::before,
.sp-page *::after {
box-sizing: border-box;
}
.sp-page ul { list-style: none; margin: 0; padding: 0; }
.sp-page h1, .sp-page h2, .sp-page h3 { margin: 0; }
.sp-page a { text-decoration: none; }
.sp-page img { max-width: 100%; height: auto; }
.sp-page p { margin: 0; } .sp-nav {
position: sticky !important;
top: 0;
z-index: 100;
background: rgba(255, 255, 255, 0.92);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-bottom: 1px solid var(--color-border);
padding: 0 24px;
}
.sp-nav-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
height: 64px;
}
.sp-nav-logo {
font-family: var(--font-body);
font-weight: 700;
font-size: 15px;
color: var(--color-text);
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
}
.sp-nav-logo:hover {
color: var(--color-text);
}
.sp-nav-logo-icon {
width: 32px;
height: 32px;
background: var(--color-badge-bg);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 14px;
font-weight: 700;
}
.sp-breadcrumb {
display: flex;
align-items: center;
gap: 6px;
font-size: 13px;
color: var(--color-text-muted);
}
.sp-breadcrumb a {
color: var(--color-text-muted);
text-decoration: none;
transition: color 0.2s;
}
.sp-breadcrumb a:hover { color: var(--color-primary); }
.sp-breadcrumb .sp-sep { opacity: 0.4; } .sp-container {
max-width: 1200px !important;
margin: 0 auto;
padding: 0 24px;
} .sp-hero {
padding: 48px 0 60px;
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 60px !important;
align-items: start;
} .sp-gallery {
position: sticky;
top: 88px;
}
.sp-gallery-main {
width: 100%;
max-width: 500px;
aspect-ratio: 1;
background: #FFFFFF;
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-md);
display: flex;
align-items: center;
justify-content: center;
position: relative;
cursor: crosshair;
}
.sp-gallery-main img {
width: 80%;
height: 80%;
object-fit: contain;
transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.sp-gallery-main:hover img {
transform: scale(1.08);
}
.sp-gallery-badge {
position: absolute;
top: 20px;
left: 20px;
background: var(--color-badge-bg);
color: var(--color-badge-text);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 8px 14px;
border-radius: 100px;
z-index: 2;
}
.sp-gallery-thumbs {
display: flex;
gap: 10px;
margin-top: 14px;
}
.sp-gallery-thumb {
width: 72px;
height: 72px;
border-radius: var(--radius-sm);
background: var(--color-surface);
border: 2px solid transparent;
overflow: hidden;
cursor: pointer;
transition: all 0.25s;
display: flex;
align-items: center;
justify-content: center;
box-shadow: var(--shadow-sm);
}
.sp-gallery-thumb:hover,
.sp-gallery-thumb.active {
border-color: var(--color-primary);
box-shadow: 0 0 0 3px var(--color-primary-light);
}
.sp-gallery-thumb img {
width: 85%;
height: 85%;
object-fit: contain;
} .sp-product-info {
padding-top: 8px;
}
.sp-product-category {
font-size: 12px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--color-primary);
margin-bottom: 12px;
}
.sp-product-category a {
color: var(--color-primary);
text-decoration: none;
}
.sp-product-title {
font-family: var(--font-display) !important;
font-size: 36px !important;
font-weight: 600 !important;
line-height: 1.2 !important;
color: var(--color-text) !important;
margin-bottom: 8px !important;
}
.sp-product-subtitle {
font-size: 17px;
color: var(--color-text-muted);
margin-bottom: 42px;
line-height: 1.5;
} .sp-rating-row {
display: flex;
align-items: center;
gap: 16px;
margin-top: 12px;
margin-bottom: 28px;
padding-bottom: 28px;
border-bottom: 1px solid var(--color-border);
} .sp-rating-row .kk-star-ratings {
display: inline-flex !important;
flex-direction: row !important;
align-items: center !important;
gap: 0 !important;
margin: 0 !important;
padding: 0 !important;
background: none !important;
border: none !important;
box-shadow: none !important;
}
.sp-rating-row .kksr-stars {
position: relative !important;
display: inline-block !important;
line-height: 1 !important;
}
.sp-rating-row .kksr-stars .kksr-stars-active,
.sp-rating-row .kksr-stars .kksr-stars-inactive {
display: flex !important;
flex-direction: row !important;
}
.sp-rating-row .kksr-stars .kksr-stars-active {
overflow: hidden !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
}
.sp-rating-row .kksr-star {
display: inline-block !important;
padding: 0 !important;
}
.sp-rating-row .kksr-star .kksr-icon {
background-size: contain !important;
background-repeat: no-repeat !important;
display: inline-block !important;
}
.sp-rating-row .kksr-legend {
font-size: 14px !important;
font-weight: 500 !important;
color: var(--color-text-muted) !important;
margin-left: 10px !important;
margin-right: 0 !important;
background: none !important;
line-height: 1 !important;
} .sp-rating-stars {
display: flex;
gap: 2px;
}
.sp-star {
width: 18px;
height: 18px;
color: var(--color-star);
}
.sp-star-empty { color: var(--color-border); }
.sp-rating-score {
font-weight: 700;
font-size: 15px;
color: var(--color-text);
}
.sp-rating-count {
font-size: 14px;
color: var(--color-text-muted);
} .sp-test-badge-row {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 28px;
}
.sp-test-badge {
display: flex;
align-items: center;
gap: 12px;
background: var(--color-accent-light);
border: 1px solid rgba(30, 64, 175, 0.15);
border-radius: var(--radius-md);
padding: 14px 20px;
flex: 1;
}
.sp-test-badge-icon {
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--color-accent);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.sp-test-badge-icon svg {
width: 22px;
height: 22px;
color: white;
}
.sp-test-badge-text {
display: flex;
flex-direction: column;
}
.sp-test-badge-label {
font-size: 11px;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--color-accent);
}
.sp-test-badge-value {
font-weight: 700;
font-size: 18px;
color: var(--color-text);
}
.sp-test-badge-note {
font-size: 13px;
font-weight: 600;
color: var(--color-accent);
background: var(--color-accent-light);
border: 1px solid rgba(30, 64, 175, 0.15);
border-radius: var(--radius-md);
padding: 14px 20px;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.sp-test-badge-note-big {
font-family: var(--font-display);
font-size: 20px;
font-weight: 700;
color: var(--color-accent);
} .sp-key-features {
display: flex;
flex-direction: column;
gap: 10px;
margin-bottom: 28px;
}
.sp-key-feature {
display: flex;
align-items: center;
gap: 12px;
font-size: 14.5px;
color: var(--color-text);
}
.sp-key-feature-icon {
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--color-primary-light);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.sp-key-feature-icon svg {
width: 14px;
height: 14px;
color: var(--color-primary-dark);
} .sp-price-section {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: 24px;
margin-bottom: 20px;
}
.sp-price-row {
display: flex;
align-items: baseline;
gap: 12px;
margin-bottom: 6px;
}
.sp-price-current {
font-family: var(--font-display);
font-size: 34px;
font-weight: 700;
color: var(--color-text);
}
.sp-price-shipping {
font-size: 13px;
color: var(--color-success);
margin-bottom: 18px;
display: flex;
align-items: center;
gap: 6px;
}
.sp-cta-button {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
width: 100%;
padding: 16px 32px;
background: var(--color-primary);
color: white !important;
border: none;
border-radius: var(--radius-md);
font-family: var(--font-body);
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
text-decoration: none !important;
box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
}
.sp-cta-button:hover {
background: var(--color-primary-dark);
color: white !important;
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(37, 99, 235, 0.4);
}
.sp-cta-button svg {
width: 18px;
height: 18px;
}
.sp-cta-merchant {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
margin-top: 12px;
font-size: 13px;
color: var(--color-text-muted);
}
.sp-cta-merchant img {
height: 22px;
max-height: 22px;
width: auto;
max-width: 80px;
object-fit: contain;
opacity: 1;
}
.sp-no-offer {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: 24px;
margin-bottom: 20px;
text-align: center;
color: var(--color-text-muted);
} .sp-price-compare {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: 20px 24px;
margin-top: 16px;
}
.sp-price-compare-title {
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--color-text-muted);
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 8px;
}
.sp-price-compare-row {
display: grid;
grid-template-columns: 1fr auto auto auto;
align-items: center;
gap: 12px;
padding: 10px 0;
border-bottom: 1px solid var(--color-border);
}
.sp-price-compare-row:last-child {
border-bottom: none;
}
.sp-price-compare-merchant {
display: flex;
align-items: center;
gap: 8px;
min-width: 120px;
}
.sp-price-compare-logo {
height: 22px;
max-height: 22px;
width: auto;
max-width: 80px;
object-fit: contain;
opacity: 1;
}
.sp-price-compare-name {
font-size: 14px;
font-weight: 600;
color: var(--color-text);
}
.sp-price-compare-price {
font-size: 15px;
font-weight: 700;
color: var(--color-text);
white-space: nowrap;
}
.sp-price-compare-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 20px;
min-width: 120px;
justify-content: center;
background: var(--color-primary);
color: white !important;
font-size: 13px;
font-weight: 600;
border-radius: var(--radius-sm);
text-decoration: none !important;
white-space: nowrap;
transition: all 0.2s;
}
.sp-price-compare-btn:hover {
background: var(--color-primary-dark);
color: white !important;
transform: translateY(-1px);
} .sp-toc {
background: var(--color-accent-light);
border: 1px solid rgba(30, 64, 175, 0.12);
border-radius: var(--radius-lg);
padding: 24px 28px;
margin-bottom: 48px;
}
.sp-toc-label {
font-family: var(--font-display);
font-size: 18px;
font-weight: 600;
color: var(--color-text);
margin-bottom: 14px;
}
.sp-toc-list {
list-style: none !important;
counter-reset: toc-counter;
display: flex;
flex-direction: column;
gap: 8px;
padding: 0 !important;
margin: 0 !important;
}
.sp-toc-list li {
counter-increment: toc-counter;
padding: 0 !important;
border: none !important;
position: static !important;
}
.sp-toc-list li a {
display: flex;
align-items: center;
gap: 10px;
font-size: 14.5px;
color: var(--color-accent);
text-decoration: none;
padding: 6px 0;
transition: color 0.2s;
}
.sp-toc-list li a::before {
content: counter(toc-counter) ".";
font-weight: 700;
color: var(--color-primary);
min-width: 20px;
}
.sp-toc-list li a:hover {
color: var(--color-primary-dark);
} .sp-section {
margin-bottom: 60px;
}
.sp-section-header {
display: flex;
align-items: baseline;
gap: 16px;
margin-bottom: 32px;
}
.sp-section-title {
font-family: var(--font-display) !important;
font-size: 28px !important;
font-weight: 600 !important;
color: var(--color-text) !important;
white-space: nowrap;
}
.sp-section-line {
flex: 1;
height: 1px;
background: var(--color-border);
} .sp-content {
font-size: 15px;
line-height: 1.8;
color: var(--color-text);
}
.sp-content p {
margin: 0 0 16px;
}
.sp-content h2, .sp-content h3 {
margin: 24px 0 12px;
font-family: var(--font-display);
} .sp-specs-table {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
overflow: hidden;
}
.sp-spec-row {
display: grid;
grid-template-columns: 240px 1fr;
min-height: 52px;
border-bottom: 1px solid var(--color-border);
transition: background 0.2s;
}
.sp-spec-row:last-child { border-bottom: none; }
.sp-spec-row:hover { background: var(--color-surface-alt); }
.sp-spec-label {
padding: 14px 24px;
font-size: 14px;
font-weight: 600;
color: var(--color-text-muted);
background: var(--color-surface-alt);
display: flex;
align-items: center;
}
.sp-spec-value {
padding: 14px 24px;
font-size: 14px;
color: var(--color-text);
display: flex;
align-items: center;
gap: 8px;
}
.sp-spec-check {
color: var(--color-success);
font-weight: 700;
}
.sp-spec-cross {
color: #C44;
font-weight: 700;
} .sp-pros-cons-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.sp-pros-cons-grid--single {
grid-template-columns: 1fr;
}
.sp-pros-card, .sp-cons-card {
background: var(--color-surface);
border-radius: var(--radius-lg);
padding: 28px;
border: 1px solid var(--color-border);
}
.sp-pros-card { border-top: 3px solid var(--color-success); }
.sp-cons-card { border-top: 3px solid var(--color-warning); }
.sp-pros-title, .sp-cons-title {
font-weight: 700;
font-size: 16px;
margin-bottom: 18px;
display: flex;
align-items: center;
gap: 10px;
}
.sp-pros-title { color: var(--color-success); }
.sp-cons-title { color: var(--color-warning); }
.sp-pros-list, .sp-cons-list {
list-style: none !important;
display: flex;
flex-direction: column;
gap: 12px;
padding: 0 !important;
margin: 0 !important;
}
.sp-pros-list li, .sp-cons-list li {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: 14.5px;
line-height: 1.5;
color: var(--color-text);
padding: 0 !important;
border: none !important;
position: static !important;
}
.sp-pros-list li::before {
content: '\2713';
font-weight: 700;
color: var(--color-success);
flex-shrink: 0;
margin-top: 1px;
}
.sp-cons-list li::before {
content: '\2013';
font-weight: 700;
color: var(--color-warning);
flex-shrink: 0;
margin-top: 1px;
} .sp-author-box {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: 28px;
display: flex;
gap: 20px;
align-items: flex-start;
}
.sp-author-photo img {
width: 80px;
height: 80px;
border-radius: 50%;
object-fit: cover;
border: 3px solid var(--color-primary-light);
}
.sp-author-photo-placeholder {
width: 80px;
height: 80px;
border-radius: 50%;
background: var(--color-surface-alt);
border: 3px solid var(--color-primary-light);
display: flex;
align-items: center;
justify-content: center;
color: var(--color-text-muted);
}
.sp-author-info {
flex: 1;
}
.sp-author-label {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--color-success);
margin-bottom: 6px;
}
.sp-author-name {
font-family: var(--font-display);
font-size: 20px;
font-weight: 600;
color: var(--color-text);
margin-bottom: 8px;
}
.sp-author-bio {
font-size: 14px;
line-height: 1.6;
color: var(--color-text-muted);
margin-bottom: 10px;
}
.sp-author-date {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
color: var(--color-text-light);
} .sp-mini-compare {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
overflow: hidden;
}
.sp-mini-compare-header {
display: grid;
grid-template-columns: 60px 1fr 100px 100px 120px;
padding: 12px 20px;
background: var(--color-surface-alt);
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--color-text-muted);
border-bottom: 1px solid var(--color-border);
}
.sp-mini-compare-row {
display: grid;
grid-template-columns: 60px 1fr 100px 100px 120px;
padding: 16px 20px;
align-items: center;
border-bottom: 1px solid var(--color-border);
transition: background 0.2s;
}
.sp-mini-compare-row:last-child {
border-bottom: none;
}
.sp-mini-compare-row:hover {
background: var(--color-surface-alt);
}
.sp-mini-compare-current {
background: var(--color-accent-light) !important;
border-left: 3px solid var(--color-primary);
}
.sp-mini-compare-rank {
font-size: 18px;
font-weight: 700;
color: var(--color-text-muted);
}
.sp-mini-compare-product {
display: flex;
align-items: center;
gap: 12px;
}
.sp-mini-compare-product img {
width: 48px;
height: 48px;
object-fit: contain;
border-radius: var(--radius-sm);
background: white;
border: 1px solid var(--color-border);
flex-shrink: 0;
}
.sp-mini-compare-product a {
font-size: 14px;
font-weight: 600;
color: var(--color-text);
text-decoration: none;
transition: color 0.2s;
}
.sp-mini-compare-product a:hover {
color: var(--color-primary);
}
.sp-mini-compare-grade {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
}
.sp-mini-compare-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 28px;
background: var(--color-accent);
color: white;
font-size: 13px;
font-weight: 700;
border-radius: 6px;
}
.sp-mini-compare-grade-text {
font-size: 11px;
color: var(--color-text-muted);
}
.sp-mini-compare-price {
font-size: 15px;
font-weight: 700;
color: var(--color-text);
text-align: center;
}
.sp-mini-compare-action {
text-align: right;
}
.sp-mini-compare-btn {
display: inline-flex;
align-items: center;
padding: 8px 16px;
background: var(--color-primary);
color: white !important;
font-size: 13px;
font-weight: 600;
border-radius: var(--radius-sm);
text-decoration: none !important;
transition: all 0.2s;
}
.sp-mini-compare-btn:hover {
background: var(--color-primary-dark);
color: white !important;
transform: translateY(-1px);
}
.sp-mini-compare-footer {
text-align: center;
padding: 16px 0 0;
}
.sp-mini-compare-footer a {
font-size: 14px;
font-weight: 600;
color: var(--color-primary);
text-decoration: none;
transition: color 0.2s;
}
.sp-mini-compare-footer a:hover {
color: var(--color-primary-dark);
} .sp-faq-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.sp-faq-item {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
overflow: hidden;
}
.sp-faq-question {
padding: 20px 24px;
font-weight: 600;
font-size: 15px;
color: var(--color-text);
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
transition: background 0.2s;
user-select: none;
gap: 16px;
}
.sp-faq-question:hover { background: var(--color-surface-alt); }
.sp-faq-chevron {
width: 20px;
height: 20px;
color: var(--color-text-muted);
transition: transform 0.3s;
flex-shrink: 0;
}
.sp-faq-item.open .sp-faq-chevron { transform: rotate(180deg); }
.sp-faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.sp-faq-item.open .sp-faq-answer { max-height: 500px; }
.sp-faq-answer-inner {
padding: 0 24px 20px;
font-size: 14.5px;
color: var(--color-text-muted);
line-height: 1.6;
} .sp-similar-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}
.sp-similar-card {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
overflow: hidden;
text-decoration: none !important;
color: var(--color-text) !important;
transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
display: flex;
flex-direction: column;
}
.sp-similar-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-lg);
color: var(--color-text) !important;
}
.sp-similar-image {
position: relative;
aspect-ratio: 1;
background: white;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.sp-similar-image img {
width: 75%;
height: 75%;
object-fit: contain;
transition: transform 0.3s;
}
.sp-similar-card:hover .sp-similar-image img {
transform: scale(1.05);
}
.sp-similar-badge {
position: absolute;
top: 10px;
right: 10px;
background: var(--color-accent);
color: white;
font-size: 12px;
font-weight: 700;
padding: 4px 10px;
border-radius: 6px;
}
.sp-similar-info {
padding: 16px;
display: flex;
flex-direction: column;
gap: 6px;
}
.sp-similar-title {
font-family: var(--font-body) !important;
font-size: 14px !important;
font-weight: 600 !important;
color: var(--color-text) !important;
line-height: 1.3 !important;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.sp-similar-price {
font-size: 16px;
font-weight: 700;
color: var(--color-text);
}
.sp-similar-link {
font-size: 13px;
font-weight: 600;
color: var(--color-primary);
} .sp-back-comparison {
background: var(--color-badge-bg);
border-radius: var(--radius-lg);
padding: 48px;
text-align: center;
margin-bottom: 80px;
}
.sp-back-comparison h3 {
font-family: var(--font-display) !important;
font-size: 26px !important;
font-weight: 600 !important;
color: white !important;
margin-bottom: 12px !important;
}
.sp-back-comparison p {
font-size: 15px;
color: rgba(255,255,255,0.65);
margin-bottom: 24px;
}
.sp-back-comparison-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 32px;
background: white;
color: var(--color-text) !important;
font-family: var(--font-body);
font-weight: 600;
font-size: 15px;
border-radius: var(--radius-md);
text-decoration: none !important;
transition: all 0.3s;
}
.sp-back-comparison-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(0,0,0,0.3);
color: var(--color-text) !important;
} .sp-sticky-cta {
display: none;
}
.sp-sticky-cta-info {
flex: 1;
min-width: 0;
}
.sp-sticky-cta-name {
font-size: 13px;
font-weight: 600;
color: var(--color-text);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.sp-sticky-cta-price {
font-size: 16px;
font-weight: 700;
color: var(--color-text);
}
.sp-sticky-cta-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 12px 24px;
background: var(--color-primary);
color: white !important;
font-size: 14px;
font-weight: 700;
border-radius: var(--radius-sm);
text-decoration: none !important;
white-space: nowrap;
flex-shrink: 0;
transition: background 0.2s;
}
.sp-sticky-cta-btn:hover {
background: var(--color-primary-dark);
color: white !important;
} .sp-footer {
border-top: 1px solid var(--color-border);
padding: 40px 0;
text-align: center;
}
.sp-footer-note {
font-size: 12px;
color: var(--color-text-light);
max-width: 700px;
margin: 0 auto;
line-height: 1.7;
}
.sp-footer-note a { color: var(--color-text-muted); } @media (max-width: 900px) {
.sp-hero {
grid-template-columns: 1fr !important;
gap: 32px !important;
}
.sp-gallery { position: static; }
.sp-gallery-main {
max-width: 400px;
margin: 0 auto;
}
.sp-product-title { font-size: 28px !important; }
.sp-pros-cons-grid { grid-template-columns: 1fr; }
.sp-spec-row { grid-template-columns: 160px 1fr; } .sp-similar-grid { grid-template-columns: repeat(2, 1fr); } .sp-mini-compare-header { display: none; }
.sp-mini-compare-row {
grid-template-columns: 40px 1fr;
grid-template-rows: auto auto;
gap: 8px 12px;
padding: 16px;
}
.sp-mini-compare-rank {
grid-row: 1 / 3;
align-self: center;
}
.sp-mini-compare-product {
grid-column: 2;
}
.sp-mini-compare-grade,
.sp-mini-compare-price,
.sp-mini-compare-action {
grid-column: 2;
text-align: left;
}
.sp-mini-compare-grade {
flex-direction: row;
gap: 8px;
} .sp-sticky-cta {
display: flex;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 99;
background: white;
border-top: 1px solid var(--color-border);
padding: 12px 16px;
padding-bottom: calc(12px + env(safe-area-inset-bottom));
align-items: center;
gap: 12px;
box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
transform: translateY(100%);
transition: transform 0.3s ease;
}
.sp-sticky-cta.sp-sticky-visible {
transform: translateY(0);
} .sp-footer {
padding-bottom: 80px;
}
}
@media (max-width: 600px) {
.sp-hero { padding: 32px 0 40px; }
.sp-product-title { font-size: 24px !important; }
.sp-gallery-main {
max-width: 320px;
}
.sp-test-badge-row { flex-direction: column; }
.sp-spec-row { grid-template-columns: 1fr; }
.sp-spec-label { background: transparent; padding-bottom: 2px; }
.sp-spec-value { padding-top: 2px; padding-bottom: 14px; }
.sp-back-comparison { padding: 32px 24px; }
.sp-price-current { font-size: 26px; }
.sp-section-title { font-size: 22px !important; }
.sp-breadcrumb { display: none; } .sp-author-box {
flex-direction: column;
align-items: center;
text-align: center;
} .sp-mini-compare-row {
grid-template-columns: 1fr;
gap: 8px;
}
.sp-mini-compare-rank {
grid-row: auto;
}
.sp-mini-compare-grade,
.sp-mini-compare-price,
.sp-mini-compare-action {
grid-column: 1;
}
} @keyframes spFadeInUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.sp-animate-in {
animation: spFadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
opacity: 0;
}
.sp-delay-1 { animation-delay: 0.1s; }
.sp-delay-2 { animation-delay: 0.2s; }
.sp-delay-3 { animation-delay: 0.3s; }
.sp-delay-4 { animation-delay: 0.4s; } .mct-stock { display: inline-flex; align-items: center; gap: 3px; font-size: 9px; color: #2e7d32; font-weight: 500; margin-left: 4px; white-space: nowrap; }
.mct-stock-dot { width: 6px; height: 6px; background: #4caf50; border-radius: 50%; display: inline-block; flex-shrink: 0; }