See It in Real Life
Real products. Real spaces. Real inspiration.
Fast delivery
Free shipping
Quality promise
Made to last
Easy returns
30-day returns
Real products. Real spaces. Real inspiration.
{% assign details_content = product.description %}
{% assign features_content = product.metafields.custom.features %}
{% assign shipping_content = product.metafields.custom.shipping_returns %}
{% assign faqs_content = product.metafields.custom.faqs %}
{% assign first_active = '' %}
{% if features_content != blank and first_active == '' %}{% assign first_active = 'features' %}{% endif %}
{% if details_content != blank and first_active == '' %}{% assign first_active = 'details' %}{% endif %}
{% if shipping_content != blank and first_active == '' %}{% assign first_active = 'shipping' %}{% endif %}
{% if faqs_content != blank and first_active == '' %}{% assign first_active = 'faqs' %}{% endif %}
<div class="product-tabs-{{ block.id }}" {{ block.shopify_attributes }}>
<div class="pt-tab-bar">
{% if features_content != blank %}
<button class="pt-tab {% if first_active == 'features' %}active{% endif %}" data-tab="features">{{ block.settings.tab_features_label }}</button>
{% endif %}
{% if details_content != blank %}
<button class="pt-tab {% if first_active == 'details' %}active{% endif %}" data-tab="details">{{ block.settings.tab_details_label }}</button>
{% endif %}
{% if shipping_content != blank %}
<button class="pt-tab {% if first_active == 'shipping' %}active{% endif %}" data-tab="shipping">{{ block.settings.tab_materials_label }}</button>
{% endif %}
{% if faqs_content != blank %}
<button class="pt-tab {% if first_active == 'faqs' %}active{% endif %}" data-tab="faqs">{{ block.settings.tab_story_label }}</button>
{% endif %}
</div>
<div class="pt-content">
{% if features_content != blank %}
<div class="pt-panel {% if first_active == 'features' %}active{% endif %}" data-panel="features">
<div class="pt-preview">{{ features_content | metafield_tag }}</div>
<button class="pt-readmore-btn">Read more</button>
</div>
{% endif %}
{% if details_content != blank %}
<div class="pt-panel {% if first_active == 'details' %}active{% endif %}" data-panel="details">
<div class="pt-preview">{{ details_content }}</div>
<button class="pt-readmore-btn">Read more</button>
</div>
{% endif %}
<style>
.pt-panel[data-panel="details"] img {
max-width: 100% !important;
height: auto !important;
display: block !important;
}
.pt-panel[data-panel="details"] {
overflow: hidden !important;
}
.pt-panel[data-panel="details"] img {
border-radius: 8px !important;
}
<style>
.pt-faq-item {
background: #F0F4F8;
border-radius: 8px;
margin-bottom: 8px;
overflow: hidden;
}
.pt-faq-question {
font-weight: 600;
color: #1B2A5E;
cursor: pointer;
list-style: none;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 15px;
gap: 16px;
padding: 16px 20px;
user-select: none;
}
.pt-faq-question::-webkit-details-marker { display: none; }
.pt-faq-question::after {
content: "+";
font-size: 20px;
font-weight: 400;
color: #1B2A5E;
flex-shrink: 0;
}
details[open] .pt-faq-question {
border-bottom: 1px solid #D0D8E8;
}
details[open] .pt-faq-question::after {
content: "−";
}
.pt-faq-answer {
color: #444;
font-size: 14px;
line-height: 1.7;
padding: 12px 20px 16px;
}
.pt-faq-answer p { margin: 0; }
</style>
<style>
.pt-faq-item {
background: #F0F4F8 !important;
border-radius: 8px !important;
margin-bottom: 8px !important;
border-bottom: none !important;
overflow: hidden !important;
}
.pt-faq-question {
color: #1B2A5E !important;
padding: 16px 20px !important;
}
details[open] .pt-faq-question {
border-bottom: 1px solid #D0D8E8 !important;
}
.pt-faq-answer {
padding: 12px 20px 16px !important;
color: #444 !important;
}
</style>
</style>
{% if shipping_content != blank %}
<div class="pt-panel {% if first_active == 'shipping' %}active{% endif %}" data-panel="shipping">
<div class="pt-preview">{{ shipping_content | metafield_tag }}</div>
<button class="pt-readmore-btn">Read more</button>
</div>
{% endif %}
{% if faqs_content != blank %}
<div class="pt-panel {% if first_active == 'faqs' %}active{% endif %}" data-panel="faqs">
<div class="pt-preview">
{% for faq in faqs_content.value %}
<details class="pt-faq-item">
<summary class="pt-faq-question">{{ faq.question }}</summary>
<div class="pt-faq-answer">{{ faq.answer | metafield_tag }}</div>
</details>
{% endfor %}
</div>
<button class="pt-readmore-btn">Read more</button>
</div>
{% endif %}
</div>
</div>
<style>
.product-tabs-{{ block.id }} {
max-width: {{ block.settings.desktop_width_percent }}%;
margin: 0 auto;
padding: {{ block.settings.section_padding }}px 0;
display: flex;
flex-direction: column;
align-items: center;
}
.product-tabs-{{ block.id }} .pt-tab-bar {
display: flex;
flex-wrap: wrap;
gap: {{ block.settings.tab_spacing }}px;
background: {{ block.settings.tab_bar_background }};
padding: {{ block.settings.tab_bar_padding }}px;
border-radius: {{ block.settings.tab_bar_border_radius }}px;
justify-content: center;
position: sticky;
top: 0;
z-index: 10;
}
.product-tabs-{{ block.id }} .pt-tab {
background: transparent;
color: {{ block.settings.tab_text_color }};
border: none;
cursor: pointer;
padding: {{ block.settings.tab_padding_vertical }}px {{ block.settings.tab_padding_horizontal }}px;
border-radius: {{ block.settings.tab_border_radius }}px;
font-size: {{ block.settings.tab_font_size }}px;
font-weight: {{ block.settings.tab_font_weight }};
transition: all 0.2s ease;
}
.product-tabs-{{ block.id }} .pt-tab:hover {
background: {{ block.settings.tab_hover_background }};
color: {{ block.settings.tab_hover_text_color }};
}
.product-tabs-{{ block.id }} .pt-tab.active {
background: {{ block.settings.tab_active_background }};
color: {{ block.settings.tab_active_text_color }};
}
.product-tabs-{{ block.id }} .pt-content {
margin-top: {{ block.settings.content_top_margin }}px;
background: {{ block.settings.section_background_color }};
color: {{ block.settings.content_text_color }};
border-radius: 12px;
padding: 32px;
box-shadow: 0 2px 12px rgba(27, 42, 94, 0.08);
width: 100%;
}
.product-tabs-{{ block.id }} .pt-panel {
display: none;
}
.product-tabs-{{ block.id }} .pt-panel.active {
display: block;
}
.product-tabs-{{ block.id }} .pt-preview {
max-height: {{ block.settings.preview_max_height }}px;
overflow: hidden;
position: relative;
transition: max-height 0.4s ease;
}
.product-tabs-{{ block.id }} .pt-preview::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 50px;
background: linear-gradient(transparent, white);
pointer-events: none;
}
.product-tabs-{{ block.id }} .pt-preview.expanded {
max-height: 3000px;
}
.product-tabs-{{ block.id }} .pt-preview.expanded::after {
display: none;
}
.product-tabs-{{ block.id }} .pt-readmore-btn {
background: none;
border: 1px solid {{ block.settings.tab_bar_background }};
color: {{ block.settings.tab_bar_background }};
padding: 6px 20px;
border-radius: 20px;
cursor: pointer;
margin-top: 12px;
font-size: 14px;
font-weight: 600;
display: block;
margin-left: auto;
margin-right: auto;
transition: all 0.2s ease;
}
.product-tabs-{{ block.id }} .pt-readmore-btn:hover {
background: {{ block.settings.tab_bar_background }};
color: white;
}
@media (max-width: 768px) {
.product-tabs-{{ block.id }} {
max-width: 100% !important;
padding-left: 16px;
padding-right: 16px;
}
}
@media (max-width: 768px) {
.product-tabs-{{ block.id }} .pt-tab-bar {
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
width: 100%;
justify-content: flex-start;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.product-tabs-{{ block.id }} .pt-tab-bar::-webkit-scrollbar {
display: none;
}
.product-tabs-{{ block.id }} .pt-tab {
white-space: nowrap;
flex-shrink: 0;
}
}
</style>
<script>
(function() {
var container = document.querySelector('.product-tabs-{{ block.id }}');
if (!container) return;
var tabs = container.querySelectorAll('.pt-tab');
var panels = container.querySelectorAll('.pt-panel');
tabs.forEach(function(tab) {
tab.addEventListener('click', function() {
tabs.forEach(function(t) { t.classList.remove('active'); });
panels.forEach(function(p) { p.classList.remove('active'); });
tab.classList.add('active');
var panel = container.querySelector('.pt-panel[data-panel="' + tab.getAttribute('data-tab') + '"]');
if (panel) panel.classList.add('active');
// Scroll lên đầu tab bar khi chuyển tab
var tabBar = container.querySelector('.pt-tab-bar');
if (tabBar) {
var tabBarHeight = tabBar.offsetHeight;
var offset = container.getBoundingClientRect().top + window.scrollY - tabBarHeight - 20;
window.scrollTo({ top: offset, behavior: 'smooth' });
}
});
});
container.querySelectorAll('.pt-readmore-btn').forEach(function(btn) {
var preview = btn.previousElementSibling;
// Ẩn nút nếu nội dung không vượt quá max-height
function checkHeight() {
var maxH = parseInt(window.getComputedStyle(preview).maxHeight);
if (preview.scrollHeight <= maxH) {
btn.style.display = 'none';
preview.style.setProperty('--after-display', 'none');
preview.classList.add('expanded'); // bỏ gradient
} else {
btn.style.display = '';
}
}
checkHeight();
btn.addEventListener('click', function() {
preview.classList.toggle('expanded');
btn.textContent = preview.classList.contains('expanded') ? 'Show less' : 'Read more';
});
});
})();
</script>
{% schema %}
{
"name": "Product tabs",
"settings": [
{"type": "range", "id": "desktop_width_percent", "label": "Desktop width (%)", "min": 50, "max": 100, "step": 5, "default": 65},
{"type": "range", "id": "section_padding", "label": "Section padding", "min": 0, "max": 80, "step": 5, "default": 30},
{"type": "range", "id": "content_top_margin", "label": "Content top margin", "min": 0, "max": 60, "step": 2, "default": 30},
{"type": "text", "id": "tab_features_label", "label": "Features tab label", "default": "Features"},
{"type": "text", "id": "tab_details_label", "label": "Details tab label", "default": "Details"},
{"type": "text", "id": "tab_materials_label", "label": "Shipping & Returns tab label", "default": "Shipping & Returns"},
{"type": "text", "id": "tab_story_label", "label": "FAQs tab label", "default": "FAQs"},
{"type": "color", "id": "tab_bar_background", "label": "Tab bar background", "default": "#1b2a5e"},
{"type": "range", "id": "tab_bar_padding", "label": "Tab bar padding", "min": 4, "max": 20, "step": 2, "default": 8},
{"type": "range", "id": "tab_bar_border_radius", "label": "Tab bar border radius", "min": 0, "max": 50, "step": 5, "default": 25},
{"type": "range", "id": "tab_spacing", "label": "Tab spacing", "min": 0, "max": 20, "step": 2, "default": 8},
{"type": "range", "id": "tab_padding_vertical", "label": "Tab padding vertical", "min": 4, "max": 20, "step": 2, "default": 10},
{"type": "range", "id": "tab_padding_horizontal", "label": "Tab padding horizontal", "min": 8, "max": 40, "step": 4, "default": 20},
{"type": "range", "id": "tab_border_radius", "label": "Tab border radius", "min": 0, "max": 30, "step": 2, "default": 20},
{"type": "range", "id": "tab_font_size", "label": "Tab font size", "min": 10, "max": 20, "step": 1, "default": 14},
{"type": "range", "id": "tab_font_weight", "label": "Tab font weight", "min": 400, "max": 800, "step": 100, "default": 600},
{"type": "color", "id": "tab_text_color", "label": "Tab text color", "default": "#ffffff"},
{"type": "color", "id": "tab_hover_background", "label": "Tab hover background", "default": "#2d3e6e"},
{"type": "color", "id": "tab_hover_text_color", "label": "Tab hover text color", "default": "#ffffff"},
{"type": "color", "id": "tab_active_background", "label": "Active tab background", "default": "#ffffff"},
{"type": "color", "id": "tab_active_text_color", "label": "Active tab text color", "default": "#1b2a5e"},
{"type": "color", "id": "section_background_color", "label": "Content background", "default": "#ffffff"},
{"type": "color", "id": "content_text_color", "label": "Content text color", "default": "#1b2a5e"},
{"type": "range", "id": "preview_max_height", "label": "Preview height (px)", "min": 80, "max": 800, "step": 10, "default": 450},
]
}
{% endschema %}
{% assign details_content = product.description %}
{% assign features_content = product.metafields.custom.features %}
{% assign shipping_content = product.metafields.custom.shipping_returns %}
{% assign faqs_content = product.metafields.custom.faqs %}
{% assign first_active = '' %}
{% if features_content != blank and first_active == '' %}{% assign first_active = 'features' %}{% endif %}
{% if details_content != blank and first_active == '' %}{% assign first_active = 'details' %}{% endif %}
{% if shipping_content != blank and first_active == '' %}{% assign first_active = 'shipping' %}{% endif %}
{% if faqs_content != blank and first_active == '' %}{% assign first_active = 'faqs' %}{% endif %}
<div class="product-tabs-{{ block.id }}" {{ block.shopify_attributes }}>
<div class="pt-tab-bar">
{% if features_content != blank %}
<button class="pt-tab {% if first_active == 'features' %}active{% endif %}" data-tab="features">{{ block.settings.tab_features_label }}</button>
{% endif %}
{% if details_content != blank %}
<button class="pt-tab {% if first_active == 'details' %}active{% endif %}" data-tab="details">{{ block.settings.tab_details_label }}</button>
{% endif %}
{% if shipping_content != blank %}
<button class="pt-tab {% if first_active == 'shipping' %}active{% endif %}" data-tab="shipping">{{ block.settings.tab_materials_label }}</button>
{% endif %}
{% if faqs_content != blank %}
<button class="pt-tab {% if first_active == 'faqs' %}active{% endif %}" data-tab="faqs">{{ block.settings.tab_story_label }}</button>
{% endif %}
</div>
<div class="pt-content">
{% if features_content != blank %}
<div class="pt-panel {% if first_active == 'features' %}active{% endif %}" data-panel="features">
<div class="pt-preview">{{ features_content | metafield_tag }}</div>
<button class="pt-readmore-btn">Read more</button>
</div>
{% endif %}
{% if details_content != blank %}
<div class="pt-panel {% if first_active == 'details' %}active{% endif %}" data-panel="details">
<div class="pt-preview">{{ details_content }}</div>
<button class="pt-readmore-btn">Read more</button>
</div>
{% endif %}
<style>
.pt-panel[data-panel="details"] img {
max-width: 100% !important;
height: auto !important;
display: block !important;
}
.pt-panel[data-panel="details"] {
overflow: hidden !important;
}
.pt-panel[data-panel="details"] img {
border-radius: 8px !important;
}
<style>
.pt-faq-item {
background: #F0F4F8;
border-radius: 8px;
margin-bottom: 8px;
overflow: hidden;
}
.pt-faq-question {
font-weight: 600;
color: #1B2A5E;
cursor: pointer;
list-style: none;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 15px;
gap: 16px;
padding: 16px 20px;
user-select: none;
}
.pt-faq-question::-webkit-details-marker { display: none; }
.pt-faq-question::after {
content: "+";
font-size: 20px;
font-weight: 400;
color: #1B2A5E;
flex-shrink: 0;
}
details[open] .pt-faq-question {
border-bottom: 1px solid #D0D8E8;
}
details[open] .pt-faq-question::after {
content: "−";
}
.pt-faq-answer {
color: #444;
font-size: 14px;
line-height: 1.7;
padding: 12px 20px 16px;
}
.pt-faq-answer p { margin: 0; }
</style>
<style>
.pt-faq-item {
background: #F0F4F8 !important;
border-radius: 8px !important;
margin-bottom: 8px !important;
border-bottom: none !important;
overflow: hidden !important;
}
.pt-faq-question {
color: #1B2A5E !important;
padding: 16px 20px !important;
}
details[open] .pt-faq-question {
border-bottom: 1px solid #D0D8E8 !important;
}
.pt-faq-answer {
padding: 12px 20px 16px !important;
color: #444 !important;
}
</style>
</style>
{% if shipping_content != blank %}
<div class="pt-panel {% if first_active == 'shipping' %}active{% endif %}" data-panel="shipping">
<div class="pt-preview">{{ shipping_content | metafield_tag }}</div>
<button class="pt-readmore-btn">Read more</button>
</div>
{% endif %}
{% if faqs_content != blank %}
<div class="pt-panel {% if first_active == 'faqs' %}active{% endif %}" data-panel="faqs">
<div class="pt-preview">
{% for faq in faqs_content.value %}
<details class="pt-faq-item">
<summary class="pt-faq-question">{{ faq.question }}</summary>
<div class="pt-faq-answer">{{ faq.answer | metafield_tag }}</div>
</details>
{% endfor %}
</div>
<button class="pt-readmore-btn">Read more</button>
</div>
{% endif %}
</div>
</div>
<style>
.product-tabs-{{ block.id }} {
max-width: {{ block.settings.desktop_width_percent }}%;
margin: 0 auto;
padding: {{ block.settings.section_padding }}px 0;
display: flex;
flex-direction: column;
align-items: center;
}
.product-tabs-{{ block.id }} .pt-tab-bar {
display: flex;
flex-wrap: wrap;
gap: {{ block.settings.tab_spacing }}px;
background: {{ block.settings.tab_bar_background }};
padding: {{ block.settings.tab_bar_padding }}px;
border-radius: {{ block.settings.tab_bar_border_radius }}px;
justify-content: center;
position: sticky;
top: 0;
z-index: 10;
}
.product-tabs-{{ block.id }} .pt-tab {
background: transparent;
color: {{ block.settings.tab_text_color }};
border: none;
cursor: pointer;
padding: {{ block.settings.tab_padding_vertical }}px {{ block.settings.tab_padding_horizontal }}px;
border-radius: {{ block.settings.tab_border_radius }}px;
font-size: {{ block.settings.tab_font_size }}px;
font-weight: {{ block.settings.tab_font_weight }};
transition: all 0.2s ease;
}
.product-tabs-{{ block.id }} .pt-tab:hover {
background: {{ block.settings.tab_hover_background }};
color: {{ block.settings.tab_hover_text_color }};
}
.product-tabs-{{ block.id }} .pt-tab.active {
background: {{ block.settings.tab_active_background }};
color: {{ block.settings.tab_active_text_color }};
}
.product-tabs-{{ block.id }} .pt-content {
margin-top: {{ block.settings.content_top_margin }}px;
background: {{ block.settings.section_background_color }};
color: {{ block.settings.content_text_color }};
border-radius: 12px;
padding: 32px;
box-shadow: 0 2px 12px rgba(27, 42, 94, 0.08);
width: 100%;
}
.product-tabs-{{ block.id }} .pt-panel {
display: none;
}
.product-tabs-{{ block.id }} .pt-panel.active {
display: block;
}
.product-tabs-{{ block.id }} .pt-preview {
max-height: {{ block.settings.preview_max_height }}px;
overflow: hidden;
position: relative;
transition: max-height 0.4s ease;
}
.product-tabs-{{ block.id }} .pt-preview::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 50px;
background: linear-gradient(transparent, white);
pointer-events: none;
}
.product-tabs-{{ block.id }} .pt-preview.expanded {
max-height: 3000px;
}
.product-tabs-{{ block.id }} .pt-preview.expanded::after {
display: none;
}
.product-tabs-{{ block.id }} .pt-readmore-btn {
background: none;
border: 1px solid {{ block.settings.tab_bar_background }};
color: {{ block.settings.tab_bar_background }};
padding: 6px 20px;
border-radius: 20px;
cursor: pointer;
margin-top: 12px;
font-size: 14px;
font-weight: 600;
display: block;
margin-left: auto;
margin-right: auto;
transition: all 0.2s ease;
}
.product-tabs-{{ block.id }} .pt-readmore-btn:hover {
background: {{ block.settings.tab_bar_background }};
color: white;
}
@media (max-width: 768px) {
.product-tabs-{{ block.id }} {
max-width: 100% !important;
padding-left: 16px;
padding-right: 16px;
}
}
@media (max-width: 768px) {
.product-tabs-{{ block.id }} .pt-tab-bar {
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: hidden;
width: 100%;
justify-content: flex-start;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.product-tabs-{{ block.id }} .pt-tab-bar::-webkit-scrollbar {
display: none;
}
.product-tabs-{{ block.id }} .pt-tab {
white-space: nowrap;
flex-shrink: 0;
}
}
</style>
<script>
(function() {
var container = document.querySelector('.product-tabs-{{ block.id }}');
if (!container) return;
var tabs = container.querySelectorAll('.pt-tab');
var panels = container.querySelectorAll('.pt-panel');
tabs.forEach(function(tab) {
tab.addEventListener('click', function() {
tabs.forEach(function(t) { t.classList.remove('active'); });
panels.forEach(function(p) { p.classList.remove('active'); });
tab.classList.add('active');
var panel = container.querySelector('.pt-panel[data-panel="' + tab.getAttribute('data-tab') + '"]');
if (panel) panel.classList.add('active');
// Scroll lên đầu tab bar khi chuyển tab
var tabBar = container.querySelector('.pt-tab-bar');
if (tabBar) {
var tabBarHeight = tabBar.offsetHeight;
var offset = container.getBoundingClientRect().top + window.scrollY - tabBarHeight - 20;
window.scrollTo({ top: offset, behavior: 'smooth' });
}
});
});
container.querySelectorAll('.pt-readmore-btn').forEach(function(btn) {
var preview = btn.previousElementSibling;
// Ẩn nút nếu nội dung không vượt quá max-height
function checkHeight() {
var maxH = parseInt(window.getComputedStyle(preview).maxHeight);
if (preview.scrollHeight <= maxH) {
btn.style.display = 'none';
preview.style.setProperty('--after-display', 'none');
preview.classList.add('expanded'); // bỏ gradient
} else {
btn.style.display = '';
}
}
checkHeight();
btn.addEventListener('click', function() {
preview.classList.toggle('expanded');
btn.textContent = preview.classList.contains('expanded') ? 'Show less' : 'Read more';
});
});
})();
</script>
{% schema %}
{
"name": "Product tabs",
"settings": [
{"type": "range", "id": "desktop_width_percent", "label": "Desktop width (%)", "min": 50, "max": 100, "step": 5, "default": 65},
{"type": "range", "id": "section_padding", "label": "Section padding", "min": 0, "max": 80, "step": 5, "default": 30},
{"type": "range", "id": "content_top_margin", "label": "Content top margin", "min": 0, "max": 60, "step": 2, "default": 30},
{"type": "text", "id": "tab_features_label", "label": "Features tab label", "default": "Features"},
{"type": "text", "id": "tab_details_label", "label": "Details tab label", "default": "Details"},
{"type": "text", "id": "tab_materials_label", "label": "Shipping & Returns tab label", "default": "Shipping & Returns"},
{"type": "text", "id": "tab_story_label", "label": "FAQs tab label", "default": "FAQs"},
{"type": "color", "id": "tab_bar_background", "label": "Tab bar background", "default": "#1b2a5e"},
{"type": "range", "id": "tab_bar_padding", "label": "Tab bar padding", "min": 4, "max": 20, "step": 2, "default": 8},
{"type": "range", "id": "tab_bar_border_radius", "label": "Tab bar border radius", "min": 0, "max": 50, "step": 5, "default": 25},
{"type": "range", "id": "tab_spacing", "label": "Tab spacing", "min": 0, "max": 20, "step": 2, "default": 8},
{"type": "range", "id": "tab_padding_vertical", "label": "Tab padding vertical", "min": 4, "max": 20, "step": 2, "default": 10},
{"type": "range", "id": "tab_padding_horizontal", "label": "Tab padding horizontal", "min": 8, "max": 40, "step": 4, "default": 20},
{"type": "range", "id": "tab_border_radius", "label": "Tab border radius", "min": 0, "max": 30, "step": 2, "default": 20},
{"type": "range", "id": "tab_font_size", "label": "Tab font size", "min": 10, "max": 20, "step": 1, "default": 14},
{"type": "range", "id": "tab_font_weight", "label": "Tab font weight", "min": 400, "max": 800, "step": 100, "default": 600},
{"type": "color", "id": "tab_text_color", "label": "Tab text color", "default": "#ffffff"},
{"type": "color", "id": "tab_hover_background", "label": "Tab hover background", "default": "#2d3e6e"},
{"type": "color", "id": "tab_hover_text_color", "label": "Tab hover text color", "default": "#ffffff"},
{"type": "color", "id": "tab_active_background", "label": "Active tab background", "default": "#ffffff"},
{"type": "color", "id": "tab_active_text_color", "label": "Active tab text color", "default": "#1b2a5e"},
{"type": "color", "id": "section_background_color", "label": "Content background", "default": "#ffffff"},
{"type": "color", "id": "content_text_color", "label": "Content text color", "default": "#1b2a5e"},
{"type": "range", "id": "preview_max_height", "label": "Preview height (px)", "min": 80, "max": 800, "step": 10, "default": 450},
]
}
{% endschema %}
90% of reviewers would recommend this product to a friend.