{{#each product.reviews.messages}} {{#if error}} {{> components/alerts/alert-error this.error}} {{/if}} {{#if success}} {{> components/alerts/alert-success this.success}} {{/if}} {{/each}} {{#if product.out_of_stock}} {{#if product.out_of_stock_message}} {{> components/alerts/alert-error product.out_of_stock_message}} {{else}} {{> components/alerts/alert-error (lang 'products.sold_out')}} {{/if}} {{/if}}
{{#if product.call_for_price}}
{{product.call_for_price}}
{{else}} {{> components/products/price context="product" price=product.price show_savings=true}} {{/if}}

{{product.title}}

{{#if settings.show_product_rating}}
{{> components/products/ratings rating=product.rating size="medium"}}
{{{snippet 'product_rating'}}} {{/if}} {{#if settings.show_wishlist}}
{{/if}} {{#if theme_settings.product_sharing_buttons}}
{{> components/snippets/sharing-buttons sharing_url=product.url sharing_title=product.title sharing_source=settings.add_this.buttons}}
{{/if}} {{#if product.brand}}
{{lang 'product.brand'}}: {{#if product.brand.url}} {{product.brand.name}} {{else}} {{product.brand.name}} {{/if}}
{{/if}} {{> components/products/product/additional-details}}
{{#if product.can_purchase}} {{#if product.show_quantity_input}}
{{else}} {{/if}} {{/if}}
{{#if product.options}}
{{#each product.options}} {{{dynamicComponent 'components/products/options'}}} {{/each}}
{{/if}} {{#if product.customizations}}
{{#each product.customizations}} {{{dynamicComponent 'components/products/customizations'}}} {{/each}}
{{/if}}
{{#if product.event_date}}
{{product.event_date.name}} {{lang 'common.required'}} {{#if product.event_date.date_start}} {{lang 'product.event_bounds' start_date=product.event_date.date_start end_date=product.event_date.date_end}} {{/if}}
{{/if}}
{{#if product.can_purchase}}
{{> components/common/spinner}} {{#if product.can_purchase}} {{#if quickshop}} View Product {{/if}} {{/if}}
{{else}}
{{/if}}
{{#unless quickshop}}
{{#if product.description}}
{{{product.description}}} {{{snippet 'product_description'}}}
{{/if}} {{#if settings.show_product_reviews}}
{{#if product.reviews.list.length}}
{{#if settings.show_product_rating}} {{> components/products/ratings rating=product.rating size="large"}} {{/if}}
{{{lang 'product.reviews.total_based_on' score=product.rating numReviews=product.num_reviews}}} {{ lang 'product.reviews.leave_review' }}.
{{#each product.reviews.list}} {{> components/products/review-item}} {{/each}} {{ lang 'product.reviews.leave_review' }} {{{snippet 'reviews'}}} {{else}}

{{lang 'product.reviews.no_reviews'}}

{{ lang 'product.reviews.leave_review' }} {{/if}}
{{/if}} {{#if product.videos.list.length}}
{{#each product.videos.list}}
{{/each}}
{{/if}}
{{/unless}} {{{snippet 'product_details'}}}
{{> components/products/review-modal}}