Full customization of website and online store design: how to create a unique design yourself
Many website builders put you in a box: a set of ready-made templates, a limited editor and “don’t touch the code”. BooStore works the other way around — a site here is a flexible structure (a grid) into which everything you need is inserted as blocks, and the look is fully controlled by CSS. You can take a ready-made template as a base and change every detail in it, or build a completely unique design from scratch — with your own blocks, menus, files and scripts. And all of it is done right in the admin panel: no FTP, no core edits and no developer.
📄 Contents
- Site structure: wrapper, grid and blocks
- Site header: a block/menu with HTML code
- Template as a base and its demo
- Design editor and base styles
- My files: logo, background, custom elements
- Blocks/Menus: positions, menus, custom scripts
- Page styling and product grid by ID
- Widgets and shortcodes
- Mobile menu “like an app”
- Your unique style with AI
- Library of ready-made blocks to insert on a page
- Service menu blocks (filter, products, forms)
- Speed: customization without losing PageSpeed
- Real example: your own stylish responsive header
- FAQ
Site structure: wrapper, grid and blocks
The main idea of BooStore — a site is a ready-made structure, not a rigid template. The structure consists of several main wrapper blocks, and all other blocks and functions are inserted inside. Understanding this scheme is the first step to full customization.
site header
#hotengine-content-container — grid
center · left · right columns
site footer
The columns are built with CSS Grid and controlled by the data-hasside attribute. No tables — block layout only:
| data-hasside | What it means |
|---|---|
| (none) | Center only, side columns hidden |
| left | A left block/menu is present |
| right | A right block/menu is present |
| both | Both left and right blocks/menus are present |
Inside #hotengine-content the content is output in a block that depends on the page type. Each type has its own ID, which is convenient for applying separate styles:
- Pages —
#hotengine-content-page - Article catalog —
#hotengine-content-blog - Product catalog —
#hotengine-content-shop - Producer/collection catalog —
#hotengine-content-shop
On category pages with a child list a class is added: .hotengine-content-shop-category, .hotengine-content-shop-collection, .hotengine-content-shop-producer, .hotengine-content-blog-category. This is the very service wrapper that lets you style a separate section, category or page type independently of the rest.
🧱 Site header: a block/menu with HTML code
The most illustrative example of how everything works is the site header. Technically it is an ordinary Block/Menu with the Header position (in the header), which contains HTML code. No magic: you open the block, see the header code, edit it like ordinary HTML, and set the look via CSS.
The header of the Universal MobiFive Flex template is split into three sections (header_section1, header_section2, header_section3), each with its own markup. Here is the header code (an example from the demo template):
What is what
Let’s go through it section by section. Each section is a header row, and inside it the h_inside block is divided into three parts: h_inside_l (left), h_inside_c (center), h_inside_r (right). This very division provides responsiveness.
| Section | Left part (l) | Center (c) | Right part (r) |
|---|---|---|---|
header_section1top row |
Top menu: About us, Delivery and payment, Promotions, Contacts | Free (reserve) | Language switcher {HOTENGINE-SC:langmenu} and the authorization block (account, orders, logout) |
header_section2main row |
Logo | Search with Schema.org markup (SearchAction) | Phones, callback button, comparison {HOTENGINE-SC:shop_compare_menu}, favorites {HOTENGINE-SC:favorites}, cart {HOTENGINE-SC:shop_cart_menu} |
header_section3navigation |
Main menu — {HOTENGINE-SC:main_menu_widget} (dropdown, with categories) | ||
Note: the cart, comparison, favorites, language and main menu are not “drawn” buttons but shortcodes ({HOTENGINE-SC:...}). The system substitutes ready functionality into them. So you don’t need to program the cart — just put the shortcode in the right place in the markup.
{<i>HOTENGINE-SC:...</i>} — with an italic wrapper inside. This is done specifically so that in the article text they display as code and do not fire as real shortcodes. In a real block write them as plain text: {HOTENGINE-SC:shop_cart_menu}.
Header: 3 rows of 3 responsive blocks
Schematically the header looks like this. Each row is a section, each rectangle is a block h_inside_l/c/r. On narrow screens the blocks in a row wrap one under another (flex-wrap), so the header stays convenient on mobile:
How to change the header design
There are two ways — both without editing the platform core:
- Via CSS (fast). Open the site, press F12 and find the needed element with the inspector — for example
.header_section2or.h_inside_r. Copy the class into Design editor → “CSS styles” tab and set your properties: background, paddings, sizes, block order. - Via HTML editing (flexible). Open the header Block/Menu and change the code itself: swap
h_inside_landh_inside_r, remove an extra section, add your own markup or icon. All classes are preserved — the layout won’t break.
📦 Template as a base and its demo
The fastest path to a unique design is to start from a ready-made template and refine it. Let’s take the universal template Universal MobiFive Flex (templates_universal_mobifive_flex) as an example. It is recommended as a base precisely because it shows all the main header layout types and adapts easily to any style.
On installation the template automatically:
- Creates a CSS style that includes the styling file via
@import:
- Creates menu blocks: header (
header), footer (footer), home slider, product sorting. - Enables the needed functions: favorites, comparison, search with autocomplete, cart in the header.
style.css). Downloaded, edited locally, pasted back into the field — the site already looks new.
🎨 Design editor and base styles
All visual configuration is gathered in the Design editor. It consists of tabs — from colors and the header to pure CSS:
| Tab | What is configured |
|---|---|
| Site header | Logo, site icon (favicon), tagline, background, search form, top offset, image upload |
| Main menu | Mobile button, menu style (line or separate buttons), link and active item colors, appearance of the category dropdown |
| Blocks/Menus | Side menu styling, widgets “Show other products” and “Bought with product” (list, swipe, append, scroll, pagination) |
| Content | Content styling, background, site size, links, cart, products, tabs, category tree, reset base style |
| Style catalog | Color scheme, product card style (1–4), form style (1–25) |
| CSS styles | Custom CSS input field, live editing, email style backup |
| Site bottom | Footer and footer widget colors |
Which base styles load and how to replace them
The platform first includes base (system) styles, and then the template style is layered on top of them. The order is:
- css_hotengine_require_system.css — the main base style of the platform: pages, products, blocks and menus. This is what all your styles and the template style are “hung” on.
css_hotengine_require_language_XX.css— text value styles for each language (ru, ua, en, pl, etc.).css_hotengine_cart_table_mobile.css— the cart table for mobile.templates/styles/css_hotengine_reset_base_style.css— reset of the main styling of windows and menu blocks (enabled in the “Content” tab).- Product card styles —
templates_base_styles/products/products_list1…4.css. Another ready-made product card style for the list is chosen in the “Style catalog”, and you can also style the card entirely your own way (see below). - Form styles —
templates_base_styles/forms/form1…25.css(25 variants). - Template style — what is added when the template is installed (via
@importof thestyle.cssfile).
All of this is collected into one cached CSS file. You can change any of these styles in two ways:
✍️ Add your own rules
In the “CSS styles” tab add your own selectors. They come last, so they override the base and template ones. This is the safest way.
📥 Insert the template style and edit it
Download the template style.css, paste its contents into the “CSS styles” field and edit directly — this way you change the source style itself.
Product card and list settings
Besides choosing a ready-made style, the product card can be configured via Store settings (Admin panel → Settings → Store, page set_p_store). There you set the position of the main blocks and the card behavior — this is already full unique customization without code:
| Setting | What it does |
|---|---|
| Position of the title, image, description, offer/promotion, auto description | Changes the place of each main block in the product card (at the top, after the info block, etc.) |
| Split image and offer | Splits the product card block into two separate blocks — the image and the offer can be placed independently |
| Position of the tabs block | Where to show the tabs (description, specs, reviews): in the product info block, after offerdetails or after desc-block |
| Tabs as accordion | Turns tabs into a dropdown list (Accordion) — convenient on mobile |
| Style of the category and product list | Category output appearance, mosaic display of products in the list |
| Show SKU, availability, comparison, favorites, variants in the list | Enables/disables individual elements of the card and list |
| Position of images in the list, Lazy Loading, image upload size | Controls photos in the product list and load optimization |
📁 My files: your own logo, background and any style elements
Full customization is not only code but also your own files. For this there is a section “My files” (Admin panel → My files): here you can add, view and delete files as well as create folders. Upload your own images (logo, background, icons, block images) and connect them in CSS or HTML. Opens here: My files.
🗂️ My files
List of uploaded files and folders. Viewing, copying the path (by clicking a file) and deleting.
⬆️ Upload file
Uploading several files at once, choosing a folder, replacing an old file and image processing.
➕ Create folder
Your own folder structure: images, files, photogallery or your own categories for images and styles.
❓ Help
A built-in hint on working with files and images right in the section.
What you can upload and insert
- Your own logo and site icon (favicon) — instead of the standard ones.
- Your own background for the header, footer or the whole page.
- Images for blocks, banners and the slider.
- Your own icons (including SVG) for menus and buttons.
- Your own CSS and JS files (connected via “Blocks/Menus”).
Image processing on upload
| Parameter | What it does |
|---|---|
| Folder | Where to save: auto (images / files / photogallery) or your own folder |
| Replace | Replace the old file with the same name — convenient for updating the logo |
| Width | Resize by width (e.g. 1600px) |
| Format | WebP (default), JPG, PNG or original |
| Quality | Compression level (10–100%) |
Files are stored in upload/catalog/{site_ID}/files/. After upload, copy the path (click the file) and use it in CSS or in the src attribute:
src. No FTP and no core edits — everything in the admin panel, in a couple of clicks.
🗂️ Blocks/Menus: positions, menus, custom scripts
“Blocks/Menus” is the main customization tool (the header and footer are also such blocks). Any content and navigation areas are created here. For each block the following are available:
📍 Position
Header (header), site bottom (footer), left, right, top/bottom of content, under the category tree, in service tags (Header Meta).
👁️ Display by pages
Everywhere, home only, shop only, blog only, news only, except home, search — a precise service wrapper for specific sections and categories.
👤 Whom to show
Everyone, users only, guests only, admins, owner, managers. Plus rules by query string.
📱 Device and language
Display on desktops or mobile, and also for a specific site language — separate blocks for each language.
🧩 HTML content
A full HTML editor: text, images, layout, shortcodes and bbcode. Your own blocks are assembled here too.
⚡ JavaScript / CSS style
The checkbox switches the block into JS or CSS mode. The script is connected as a file with a load mode: normal, async or defer.
Main menu
The main menu can be assembled in two ways:
- Via the main menu widget — the fastest way. You add items, subitems, catalog category items and producer items, set icons (PNG, JPG, WEBP, SVG), order (drag&drop), language binding. The menu is exported and imported as JSON.
- Your own menu manually — if special logic or layout is needed, the block is assembled as an ordinary HTML block.
Via the widget you immediately get a dropdown menu with categories — the most convenient option for a catalog. In the design editor you choose the category list appearance: standard, popup window, list with columns or full script disable.
Your own scripts with optimized loading
If you enable the “JavaScript / CSS style” mode for a block, the engine saves your code to a separate file and connects it with the right load mode:
This way you add any of your own scripts without slowing the load. For a CSS style the block is saved to a .css file and connected as a style. This is exactly “your own menu blocks with scripts” — full control without editing the platform core.
🖼️ Page styling and product grid by ID
Blocks/Menus provide the general framework, but BooStore lets you go further and style each page individually. The secret is that the root block #hotengine-wrapper receives dynamic classes with the ID of the current page or category. This means you can write CSS that applies only to one page, only to one category, or to all pages of a certain type at once.
| Class on #hotengine-wrapper | What it applies to |
|---|---|
.hotengine-wrapper-pageid-{ID} | A specific page, product or article by its ID |
.hotengine-wrapper-shop-page | All product pages (product card) |
.hotengine-wrapper-shop-category + .hotengine-wrapper-catid-{ID} | Store category, producer or collection |
.hotengine-wrapper-blog-page | All blog articles |
.hotengine-wrapper-blog-category + .hotengine-wrapper-catid-{ID} | Blog category |
.hotengine-wrapper-catid-{ID} | Any page bound to this category (ID) |
Examples: style one specific page by its ID, set your own background for a specific store category, or change the look of all products at once.
#hotengine-wrapper in the inspector (F12) — there will be hotengine-wrapper-pageid-… or hotengine-wrapper-catid-…. Or take the ID from the admin panel. This lets you change the design pointwise without touching the rest of the site.
Product grid: how the list is rendered
The product list has its own nested structure. Understanding it makes it easy to change the number of cards per row, paddings and tile appearance. Simplified, it looks like this:
The cards are blocks .hotengine-shop-product-list-block (by default inline-block), and the container .hotengine-shop-products-list-content lines them up in a row. By changing the card width and wrapping you define the grid for your design:
The product card, its price, the “Buy” button and icons are configured the same way — they all have permanent classes that do not change with platform updates.
🧰 Widgets and shortcodes
Besides blocks, BooStore has widgets — ready functional elements that are more convenient to keep in one place and edit via their editor. These include: popups, mobile menu, sliders, footer, contacts widget, Slide Menu, generators of category/product/producer/article menus.
Shortcodes — data auto-replacement
A shortcode is a short code that the system replaces with real page data. They can be inserted into any HTML block (like in the header), a page, an email. The main ones:
| Shortcode | What it outputs |
|---|---|
| {HOTENGINE-SC:current_page_id} | ID of the current page (article, product, news) |
| {HOTENGINE-SC:site_url} | Your site address |
| {HOTENGINE-SC:lang} | Language of the open page |
| {HOTENGINE-SC:site_tagline} | Site tagline |
| {HOTENGINE-SC:shop_cart_menu} | Ready cart block |
| {HOTENGINE-SC:main_menu_widget} | Main menu |
| {HOTENGINE-SC:langmenu} | Language switcher |
| {HOTENGINE-SC:currencymenu} | Currency switcher |
| {HOTENGINE-SC:favorites} | Favorite products |
| {HOTENGINE-SC:shop_compare_menu} | Product comparison button |
| {HOTENGINE-SC:contacts} | Contacts block |
| {HOTENGINE-SC:shop_cat_page_title} | Product name (on the product page) |
| {HOTENGINE-SC:shop_cat_page_price} | Product price |
| {HOTENGINE-SC:shop_cat_page_image} | Product image link |
| {HOTENGINE-SC:shop_cat_page_sku} | Product SKU |
| {HOTENGINE-SC:user_nickname} | Name of the logged-in user |
| {HOTENGINE-SC:user_cashback} | Client Cashback balance |
| {HOTENGINE-SC:pers_shop_cat_val_name} | Store category name |
| {HOTENGINE-SC:blog_cat_page_title} | Article title |
| {HOTENGINE-SC:slide_menu_widget:XX} | Slide Menu widget by ID |
| {HOTENGINE-SC:slider_widget:XX} | Slider by ID |
| {HOTENGINE-SC:smart_search_widget:PARAM} | Search filter with parameters |
| {HOTENGINE-SC:feedback_form:ID} | Feedback form |
In addition, bbcode works: [FORM:12] inserts a form by ID, and [MENU:...] — a generated menu or selection.
Products widget: any selection anywhere
The products widget deserves a separate mention. The generator builds code like [MENU:shop_products_slider:...] that outputs a selection of products: slider, grid, mosaic, scroll with auto-load. Dozens of parameters are available:
- What to show: category and subcategories, producer, collection, product type, availability, bestsellers, discounts, promotions, new arrivals, “reduced price”, recently viewed, favorites, search, specific IDs, price range, output language.
- Sorting: by ID, date, price, name, priority; ascending/descending; random.
- Display: “add to cart” button, comparison, description, star rating, favorites icon, variants (size/color), lazy loading.
- Scroll modes:
:scroll(auto-load),:carousel(carousel),:swipe(swipe),:append(“Show more”),:mosaic-sides(mosaic),:auto_width.
Examples of all variants with live demos — on the “Products widget” page.
HTML widgets: ready interactive blocks
In the HTML widgets section there are ready blocks with code that you just copy into a block or a page:
Accordion and Tabs
Accordion and tabs without heavy libraries — with pure CSS and lightweight JS.
Callback and forms
A “Call us back” block with phones and a popup callback form.
Reviews and comments
A review carousel via AJAX/JSON, an “Add review” button, Google Reviews integration.
Spoiler and Price range
A pure-CSS spoiler and a price range slider for the search filter.
📱 Mobile menu “like an app”
The mobile menu is a separate widget that deserves attention. It works like a full-fledged app: it slides out to full screen, with icons, categories and a filter. All parameters are configured in its editor, and there are a great many of them — the look can be tailored to any brand.
What you can configure:
- Activation: the screen width threshold at which the menu turns on; always show; replace the main button or output as a separate panel.
- Top icon block: search, language, favorites, comparison, cart, phone, contacts, e-mail, callback, up to 5 custom icons. Each has its own form and popup size.
- Colors: menu and active item background, link and icon color, button and its hover, borders, filter background, dimming mask, authorization — dozens of color parameters.
- Menu items: your own links and subitems, plus special ones:
close(close), an empty value (separator),#filter(filter window),#form-XX(form by ID),#ajax_page(loading HTML content). - Search filter right in the menu: you choose the filter block — and it opens on click.
- Hiding template elements: logo, header, cart, comparison, top row — to keep the interface clean.
contacts and specify the link /en/contacts.htm#ajax_page (for the needed language). The content loads right into the menu.
🤖 Your unique style with AI and the inspector
Even if you don’t write CSS by hand, a unique design can be obtained with AI. The scheme is simple and works in practice:
Install a template as a base
Choose a ready-made template in the template catalog and install it. It creates a CSS style, header, footer and the needed blocks. As an example you can use the Universal MobiFive Flex demo.
Gather the “input data” for AI
Open the site in a browser and use the style inspector (F12) to look at the needed elements. Prepare three things: a CSS style fragment you want to change, the HTML code of the header (or another block) and a description of the desired result.
Use llms.txt as a prompt hint
Send AI the link boostore.pro/llms.txt — it is a ready-made instruction for the platform: base blocks, shortcodes (e.g. the cart code {HOTENGINE-SC:shop_cart_menu}), structure, widgets. The AI will understand the context and generate correct CSS/HTML specifically for BooStore, not “abstract” code.
Write the brief and get the style
Formulate the task: “here is a CSS fragment and the header code, here is the structure (3 sections of 3 blocks), make a style in such-and-such palette, keep responsiveness”. The AI returns ready CSS. Paste it into Design editor → CSS styles — and save.
Iterate and save the style
Refine the details, again sending the AI screenshots or fragments. When the result suits you — save the style. From then on you manage it yourself and don’t depend on a developer.
🧩 Library of ready-made blocks to insert on a page
If you don’t want to lay out from scratch, there is a library of ready-made blocks — templates_visual_blocks.html. These are dozens of responsive sections that you can insert right onto a page or into a Block/Menu and use immediately.
🎯 Headlines
22 styles: hero sections, promo banners, calls to action, premium variants, with reviews, badges and timers.
🔀 Split sections
Image + text, icons, statistics, navigation cards, bento grids, sale + new arrivals.
📞 Contacts and social media
Feedback blocks and social media icons with animation.
✅ Advantages and icons
Lists of advantages in different styles and SVG icon sets for any block.
Each block has the buttons “Show example”, “Show code” and “Open in a new window” — you can copy the entire code. The blocks are responsive, and the color is controlled by CSS variables: just change one variable to recolor the block for your brand. Here is a ready-made “Advantages” block (4 cards with icons) in a dark theme — exactly as you insert it onto a page:
And this is how the same block looks on the page — it is real HTML inserted right into the article:
This code is inserted right onto a page (in the HTML editor) or into a Block/Menu. The look is set by the style.css file connected via @import, and the colors — by the variables --ve-8-accent and --ve-8-accent-soft: changed the values — the block recolored for your brand. The class hotengine-ve-darkmode switches the block to a dark theme. The icons are ordinary SVG from the platform set, and can be replaced with your own.
Workflow: chose a block → “Show code” → copied → inserted onto the needed page or into a Block/Menu → changed colors, text and icons. Ready-made blocks + icons are the fastest way to assemble a beautiful unique design, even without being a designer.
🧰 Service menu blocks: filter, products, forms
Besides the blocks you create yourself, the platform has service (functional) blocks — ready modules that are also inserted as a Block/Menu or via a shortcode and fully lend themselves to styling. The main ones:
| Service block | What it does |
|---|---|
| Search filter | Outputs filters by specs, price, producer, availability for the selected category or product type. Inserted into the sidebar, a page or the mobile menu |
| Products widget | Product selections: category, discounts, new arrivals, bestsellers, specific IDs, price range. Slider, grid, mosaic, auto-load |
| Store categories | Menu or category grid: vertical, horizontal, dropdown, mega menu, carousel |
| Producers and collections | Logos and brand lists, collection output |
| Articles and news | A widget with a list of blog articles or news |
| Forms and popups | Callback, quick order, constructor forms, popups by time/scroll |
| Cart, comparison, favorites | Ready interactive elements with counters |
| Slider, contacts, footer, Slide Menu | Ready widgets for the header, footer and side panels |
Example: search filter + products
The classic pairing for a category — on the left a search filter, in the center a product list. Both elements are service blocks and both are styled via CSS. It is best to create the filter via functional menu blocks (Blocks/Menus → Functional menu → Search filter): then it automatically binds to the right category and product type, and the display is configured by pages. But if needed the filter can be inserted on any page too — via a shortcode or a separate block.
And the product selection is output by a widget (product list generator):
The product list loads via AJAX (/ajax_get_list_shop.php), so the filter and selections work fast and without reloading the page. All of these are ordinary blocks that can be placed in any position and recolored for your style.
⚡ Speed: customization without losing PageSpeed
Customization must not mean a slow site. BooStore is designed to squeeze the most out of speed metrics even with a fully unique design:
🚀 Vanilla JS
No jQuery and heavy frameworks. Only native JavaScript — less code, higher speed.
🖼️ WebP and Lazy Loading
Images are automatically converted to WebP, previews of the needed size are created and load as they appear in the viewport.
📦 Dynamic loading
Scripts are connected only when needed: popups, cart, variants, mobile menu — all on demand.
🗄️ Multi-level cache
CSS is collected into one file, menus and widgets are cached, page generation time — 0.1–0.3 sec.
Details about the mobile version, responsiveness and optimization — in the article “Responsive layout and mobile menu for an online store”. It also shows how dynamic script loading and proper image handling give PageSpeed 99–100.
⚠️ Common mistakes in customization
Useful links
- Template catalog and how to connect a template
- Library of ready-made blocks and styles
- The platform’s main base CSS (css_hotengine_require_system.css)
- Knowledge base: main site blocks and the design editor
- ShortCode reference
- Instruction: Blocks/Menus
- Instruction: creating a mobile menu
- Products widget: examples and code
🛠️ Real example: your own stylish responsive header
To show how simple it is, let’s build a real header from scratch: three levels (top row, main row with search and icons, menu), a modern look and full responsiveness. Below is it live, then the CSS that does it, and the HTML code to insert into a Block/Menu. The example uses only two shortcodes — favorites and cart — so the icons work for real.
How it looks live
The CSS that does it
The whole style is pure CSS. It sets colors, paddings, radii, the search and responsiveness. Copy it into the Design editor → CSS styles:
Header HTML — code to insert
Insert this code into a Block/Menu with the Header position. The favorites and cart icons will work, as in the live example above.
flex, a light top row with an animated link underline, a logo badge with a hover effect, search with a focus glow, a gradient button with a shine on hover, icons that lift and glow, a cart “pill” with the icon on the left, a menu with a gradient backing and an animated line. On mobile (≤760px) the blocks rebuild into a column — one media query does it. The palette is strict, cold blue-gray (slate); the colors are easy to change: replace #334155 and #475569 with your own accents.
❓ FAQ about design customization
Answers to popular questions about creating a unique website and online store design on BooStore.
Can you create a completely unique design on BooStore instead of choosing a ready-made template?
Yes. A site on BooStore is a flexible structure into which content and functions are inserted as blocks. The look is fully controlled by CSS, and you can add your own HTML, CSS and JavaScript to the blocks. A ready-made template is just a convenient starting point that you can change beyond recognition or not use at all.
What is a site header from the platform’s point of view?
The header is an ordinary Block/Menu with the Header position. Inside it is the header HTML code, split into sections (in the Universal MobiFive Flex template — three sections, each of three blocks). You can edit both the markup and the styles. Demo of such a template: templatedemo437544.boostore.pro/en/.
How to replace the template style file with your own?
Open the Design editor → “CSS styles” tab. There is a field for CSS and the option to email a style backup (an archive with style.css). Download the file, edit it locally and paste the result back into the field — the site applies the new style immediately.
Which styles load by default and how to override them?
First the base styles are connected: css_hotengine_require_system.css (core), css_hotengine_require_language_XX.css (translations), css_hotengine_cart_table_mobile.css (cart on mobile), as well as product card and form styles. The template style is layered on top. You can override them in two ways: add your own selectors in the “CSS styles” tab or insert the template style there and edit it directly.
Can you add your own scripts and styles to the site?
Yes. In the block editor there is a “JavaScript / CSS style” checkbox. In JavaScript mode your code is saved to a separate JS file and connected with normal loading, async or defer. In CSS mode — to a separate CSS file. This way you add your own scripts and styles without core edits and with optimized loading.
How to upload your own logo, background or image?
Via the “My files” section (Admin panel → My files). Upload a file (several at once is possible), if needed specify the folder, width, format (WebP/JPG/PNG) and quality. Then copy the file path by clicking and use it in CSS or in the src attribute. Files are stored in upload/catalog/{site_ID}/files/.
What are shortcodes and where to use them?
A shortcode is a short code like {HOTENGINE-SC:shop_cart_menu} that the system replaces with real data: page ID, product price, cart, menu, contacts, user data, etc. They can be inserted into HTML blocks, pages and emails. In the examples of this article they are written with an italic wrapper inside so they display as text. The full reference is in the knowledge base, the ShortCode section.
How to output a product selection anywhere on the page?
Use the products widget generator. It builds code like [MENU:shop_products_slider:...] with dozens of parameters: category, producer, discounts, new arrivals, specific IDs, price range, sorting, “add to cart” button, comparison, rating, carousel, scroll with auto-load and mosaic. Examples of all variants — on the “Products widget” page.
Are there ready-made blocks and styles so you don’t lay out from scratch?
Yes. The block library contains dozens of ready responsive sections: headlines, split sections, contacts, social media, advantages and SVG icons. The color is controlled by CSS variables, so the block is easy to recolor for your brand. Plus there are HTML widgets (accordion, tabs, reviews, callback, spoiler).
Can the design be generated with AI?
Yes. Install a template as a base, use the style inspector to take a CSS fragment and the code of the needed block, add a link to boostore.pro/llms.txt (a ready instruction for the platform with base blocks and shortcodes) to the task and send the brief to the AI. Paste the resulting CSS into the Design editor → “CSS styles” and save.
Will the site speed suffer from customization?
No, if you use the built-in tools. CSS is collected into one cached file, scripts are connected with async/defer or only when needed, images are automatically converted to WebP and load lazily. Stores on BooStore consistently get PageSpeed 99–100.
Can you set a different design for different sections or categories?
Yes. Blocks and menus have display rules by page type (home, shop, blog, news, search), by specific page, language, device and query string. This is a service wrapper that lets you output your own blocks and styling for a separate section or even category.
Is programming needed for a unique design?
No. Most tasks are solved via the design editor, ready-made templates, the block library and widgets. If non-standard code is needed, you can insert your own CSS or JavaScript, or generate a style with AI. Programming is required only for truly complex scenarios.
How does BooStore differ from Tilda, Wix and WordPress in design customization?
BooStore is an e-commerce SaaS: a site is built from blocks, the look is fully controlled by CSS, and you can insert your own HTML, CSS and JavaScript into blocks. Unlike Tilda and Wix, there are no builder restrictions on code, and unlike WordPress, no plugins, hosting and constant updates are needed. At the same time speed and SEO are optimized out of the box.
Can you create and save your own unique template?
Yes. You refine the header, footer, blocks and CSS, then save the result. The style can be exported (a style.css backup by email) and used as a base. Ready-made templates are in the templates.boostore.pro catalog, and you fully control your design in the editor.
Can you connect your own font?
Yes. It is recommended to connect the font via @import in CSS — for example, from Google Fonts. If the needed font is not on Google Fonts, upload the font files via “My files”, connect them with the @font-face rule in “CSS styles” and apply to the needed elements. This way you set a unique typography.
How to insert a ready-made block from the library onto the home page?
Open templates_visual_blocks.html, choose a block, click “Show code”, copy and paste into the HTML editor of the needed page (e.g. the home page) or into a Block/Menu. Then change the CSS variables, text and icons. The style is connected via @import right in the block code.
Can you style the product card entirely your own way?
Yes. In the store settings you set the position of the main card blocks (title, image, description, offer/promotion), you can split the card into two blocks, specify the tabs position and enable an accordion. And the look is finalized with your own CSS rules on permanent classes, e.g. .hotengine-shop-product-list-block.
Will my design edits survive platform updates?
Yes. Customization is done via blocks, menus, CSS styles, widgets and “My files”, not via core edits. The built-in classes and IDs do not change with updates, so your design stays untouched.
How to find the class or ID of the element you need to change?
Open the site, press F12 and right-click the element, choose “Inspect”. Copy its class or ID and use it in “CSS styles”. #hotengine-wrapper also has dynamic classes with the page or category ID (hotengine-wrapper-pageid-…, hotengine-wrapper-catid-…).