diff --git a/assets/fonts/OpenSans-Bold.ttf b/assets/fonts/OpenSans-Bold.ttf new file mode 100644 index 0000000..a1398b3 Binary files /dev/null and b/assets/fonts/OpenSans-Bold.ttf differ diff --git a/assets/fonts/OpenSans-ExtraBold.ttf b/assets/fonts/OpenSans-ExtraBold.ttf new file mode 100644 index 0000000..08d7185 Binary files /dev/null and b/assets/fonts/OpenSans-ExtraBold.ttf differ diff --git a/assets/fonts/OpenSans-Light.ttf b/assets/fonts/OpenSans-Light.ttf new file mode 100644 index 0000000..d9a9e27 Binary files /dev/null and b/assets/fonts/OpenSans-Light.ttf differ diff --git a/assets/fonts/OpenSans-Medium.ttf b/assets/fonts/OpenSans-Medium.ttf new file mode 100644 index 0000000..ba6db9b Binary files /dev/null and b/assets/fonts/OpenSans-Medium.ttf differ diff --git a/assets/fonts/OpenSans-Regular.ttf b/assets/fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000..1dc226d Binary files /dev/null and b/assets/fonts/OpenSans-Regular.ttf differ diff --git a/assets/fonts/OpenSans-SemiBold.ttf b/assets/fonts/OpenSans-SemiBold.ttf new file mode 100644 index 0000000..66acb20 Binary files /dev/null and b/assets/fonts/OpenSans-SemiBold.ttf differ diff --git a/manifest.json b/manifest.json index 9ee3cc5..42cb234 100644 --- a/manifest.json +++ b/manifest.json @@ -15,7 +15,6 @@ "postreleasy": "vtex publish --verbose" }, "dependencies": { - "agenciamagma.store-theme": "5.x", "vtex.store": "2.x", "vtex.store-header": "2.x", "vtex.product-summary": "2.x", @@ -34,10 +33,10 @@ "vtex.my-account": "1.x", "vtex.flex-layout": "0.x", "vtex.rich-text": "0.x", + "vtex.product-identifier": "0.x", "vtex.store-drawer": "0.x", "vtex.locale-switcher": "0.x", "vtex.product-quantity": "1.x", - "vtex.product-identifier": "0.x", "vtex.breadcrumb": "1.x", "vtex.sticky-layout": "0.x", "vtex.product-customizer": "2.x", diff --git a/react/Pix.tsx b/react/Pix.tsx new file mode 100644 index 0000000..22c3905 --- /dev/null +++ b/react/Pix.tsx @@ -0,0 +1,3 @@ +import Pix from "./components/Pix/Pix"; + +export default Pix; \ No newline at end of file diff --git a/react/components/Html/index.tsx b/react/components/Html/index.tsx index d60d7f5..0a215b6 100644 --- a/react/components/Html/index.tsx +++ b/react/components/Html/index.tsx @@ -1,5 +1,6 @@ import React, { ReactNode } from "react"; import { useCssHandles } from "vtex.css-handles"; +import "./styles.css" const CSS_HANDLES = ["html"] as const; diff --git a/react/components/Html/styles.css b/react/components/Html/styles.css new file mode 100644 index 0000000..4c0346f --- /dev/null +++ b/react/components/Html/styles.css @@ -0,0 +1,10 @@ +[class*="html--wrapperQuantity"] { + display: flex; + margin-bottom: 16px; + +} +@media screen and (max-width: 375px) { + [class*="html--wrapperQuantity"] { + flex-direction: column; + } +} \ No newline at end of file diff --git a/react/components/Pix/Pix.tsx b/react/components/Pix/Pix.tsx new file mode 100644 index 0000000..697b628 --- /dev/null +++ b/react/components/Pix/Pix.tsx @@ -0,0 +1,42 @@ +import React from 'react' +import { useProduct } from 'vtex.product-context' +// import { useCssHandles } from 'vtex.css-handles' +import styles from "./styles.css" + + +const Pix = () => { + const product = useProduct() + let pixValueTotal:any = product?.product?.priceRange?.sellingPrice?.lowPrice; + let pixValueTotalNumber = parseFloat(pixValueTotal); + let porcentagemDesconto = 10; + let desconto = (pixValueTotalNumber / 100)* porcentagemDesconto; + let pixValueDesconto = (pixValueTotal - desconto).toFixed(2); + let pixValueDescontoVirgula = pixValueDesconto.replace(".", ",") + + // const CSS_HANDLES = [ + // "wrapperComponentPix", + // "imagePix", + // "wrapperTexts", + // "wrapperTexts__value", + // "wrapperTexts__descontoPorcentagem", + // ] + + // const handles = useCssHandles(CSS_HANDLES) + + if (typeof document !== "undefined") { + const input = document.querySelector(".vtex-address-form-4-x-input"); + input?.setAttribute("placeholder", "Digite seu CEP"); + } + + return ( +
+ PixIcon +
+

R$ {pixValueDescontoVirgula}

+

10% de desconto

+
+
+ ) +} + +export default Pix \ No newline at end of file diff --git a/react/components/Pix/styles.css b/react/components/Pix/styles.css new file mode 100644 index 0000000..cba0fbd --- /dev/null +++ b/react/components/Pix/styles.css @@ -0,0 +1,29 @@ +.wrapperComponentPix{ + display: flex; + margin: 8px 0 16px 0; + align-items: center; +} +.wrapperTexts__value{ + margin: 0; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-size: 18px; + line-height: 25px; + color: rgba(0, 0, 0, 0.58); +} +.wrapperTexts__descontoPorcentagem{ + margin: 0; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-size: 13px; + line-height: 18px; + color: #929292; +} +.imagePix{ + height: 24px; +} +.wrapperTexts{ + margin-left: 26px; +} \ No newline at end of file diff --git a/react/typings/css.d.ts b/react/typings/css.d.ts new file mode 100644 index 0000000..c5862b6 --- /dev/null +++ b/react/typings/css.d.ts @@ -0,0 +1,4 @@ +declare module "*.css" { + const css: any; + export default css; +} diff --git a/react/typings/global.d.ts b/react/typings/global.d.ts new file mode 100644 index 0000000..17b4165 --- /dev/null +++ b/react/typings/global.d.ts @@ -0,0 +1,7 @@ +export interface TimeSplit { + hours: string + minutes: string + seconds: string +} + +type GenericObject = Record diff --git a/react/typings/graphql.d.ts b/react/typings/graphql.d.ts new file mode 100644 index 0000000..84017d3 --- /dev/null +++ b/react/typings/graphql.d.ts @@ -0,0 +1,6 @@ +declare module "*.graphql" { + import { DocumentNode } from "graphql"; + + const value: DocumentNode; + export default value; +} diff --git a/react/typings/storefront.d.ts b/react/typings/storefront.d.ts new file mode 100644 index 0000000..4689dc6 --- /dev/null +++ b/react/typings/storefront.d.ts @@ -0,0 +1,15 @@ +import { FunctionComponent } from "react"; + +declare global { + interface StorefrontFunctionComponent

+ extends FunctionComponent

{ + getSchema?(props: P): GenericObject + schema?: GenericObject + } + + interface StorefrontComponent

+ extends Component { + getSchema?(props: P): GenericObject + schema: GenericObject + } +} diff --git a/react/typings/vtex.css-handles.ts b/react/typings/vtex.css-handles.ts new file mode 100644 index 0000000..4f191a0 --- /dev/null +++ b/react/typings/vtex.css-handles.ts @@ -0,0 +1 @@ +declare module "vtex.css-handles" diff --git a/react/typings/vtex.order-manager.d.ts b/react/typings/vtex.order-manager.d.ts new file mode 100644 index 0000000..b563ce5 --- /dev/null +++ b/react/typings/vtex.order-manager.d.ts @@ -0,0 +1,103 @@ +/* eslint-disable no-inner-declarations */ +declare module "vtex.order-manager/OrderQueue" { + export * from "vtex.order-manager/react/OrderQueue"; + export { default } from "vtex.order-manager/react/OrderQueue"; + + export const QueueStatus = { + PENDING: "Pending", + FULFILLED: "Fulfilled", + } as const; +} + +declare module "vtex.order-manager/OrderForm" { + import { createContext, useContext } from "react"; + import type { DEFAULT_ORDER_FORM } from "@vtex/order-manager/src/constants"; + import type { Context, OrderForm } from "@vtex/order-manager/src/typings"; + + type DefaultOrderForm = typeof DEFAULT_ORDER_FORM; + type DefaultOrderFormOmited = Omit; + type DefaultOrderFormUpdated = DefaultOrderFormOmited & { + items: OrderFormItem[] | null; + }; + + export const OrderFormContext = createContext>({ + orderForm: DefaultOrderFormUpdated, + setOrderForm: noop, + error: undefined, + loading: false, + }); + + function useOrderForm() { + const context = useContext(OrderFormContext); + + if (context === undefined) { + throw new Error( + "useOrderForm must be used within a OrderFormProvider" + ); + } + return context as Context; + } + + export type OrderFormItem = { + additionalInfo: { + brandName: string; + __typename: string; + }; + attachments: Array; + attachmentOfferings: Array; + bundleItems: Array; + parentAssemblyBinding: any; + parentItemIndex: any; + sellingPriceWithAssemblies: any; + options: any; + availability: string; + detailUrl: string; + id: string; + imageUrls: Record; + listPrice: number; + manualPrice: any; + measurementUnit: string; + modalType: any; + name: string; + offerings: Array; + price: number; + priceTags: Array; + productCategories: Record; + productCategoryIds: string; + productRefId: string; + productId: string; + quantity: number; + seller: string; + sellingPrice: number; + skuName: string; + skuSpecifications: Array; + unitMultiplier: number; + uniqueId: string; + refId: string; + isGift: boolean; + priceDefinition: { + calculatedSellingPrice: number; + total: number; + sellingPrices: Array<{ + quantity: number; + value: number; + __typename: string; + }>; + __typename: string; + }; + __typename: string; + }; + + export { OrderFormProvider, useOrderForm }; + declare const _default: { + OrderFormProvider: import("react").FC>; + useOrderForm: typeof useOrderForm; + }; + export default _default; +} + +declare module "vtex.order-manager/constants" { + export * from "vtex.order-manager/react/constants"; +} + + diff --git a/react/typings/vtex.render-runtime.d.ts b/react/typings/vtex.render-runtime.d.ts new file mode 100644 index 0000000..bfb1e97 --- /dev/null +++ b/react/typings/vtex.render-runtime.d.ts @@ -0,0 +1,38 @@ +/* Typings for `render-runtime` */ +declare module "vtex.render-runtime" { + import { ComponentType, ReactElement, ReactType } from "react"; + + export interface NavigationOptions { + page: string + params?: any + } + + export interface RenderContextProps { + runtime: { + navigate: (options: NavigationOptions) => void + } + } + + interface ExtensionPointProps { + id: string + [key: string]: any + } + + export const ExtensionPoint: ComponentType; + + interface ChildBlockProps { + id: string + } + + export const ChildBlock: ComponentType; + export const useChildBlock = () => GenericObject; + + export const Helmet: ReactElement; + export const Link: ReactType; + export const NoSSR: ReactElement; + export const RenderContextConsumer: ReactElement; + export const canUseDOM: boolean; + export const withRuntimeContext: ( + Component: ComponentType + ) => ComponentType; +} diff --git a/react/typings/vtex.styleguide.d.ts b/react/typings/vtex.styleguide.d.ts new file mode 100644 index 0000000..6f1f00a --- /dev/null +++ b/react/typings/vtex.styleguide.d.ts @@ -0,0 +1,9 @@ +declare module "vtex.styleguide" { + import { ComponentType } from "react"; + + export const Input: ComponentType; + + interface InputProps { + [key: string]: any + } +} diff --git a/store/blocks/minicart.jsonc b/store/blocks/minicart.jsonc index 5c797c2..f00f846 100644 --- a/store/blocks/minicart.jsonc +++ b/store/blocks/minicart.jsonc @@ -5,6 +5,14 @@ "customPixelEventId": "add-to-cart-button" } }, + "add-to-cart-button#addSacola": { + "props": { + "addToCartFeedback": "customEvent", + "customPixelEventId": "add-to-cart-button", + "text": "Adicionar à sacola", + "blockClass": "addSacola" + } + }, "minicart.v2": { "props": { diff --git a/store/blocks/pdp/product.jsonc b/store/blocks/pdp/product.jsonc index 6a916dc..f12a575 100644 --- a/store/blocks/pdp/product.jsonc +++ b/store/blocks/pdp/product.jsonc @@ -3,21 +3,31 @@ "children": [ "html#breadcrumb", "condition-layout.product#availability", - "flex-layout.row#description", - "flex-layout.row#specifications-title", - "product-specification-group#table", - "shelf.relatedProducts", + "html#productDescription", + // "flex-layout.row#specifications-title", + // "product-specification-group#table", + "rich-text#otherProductTitle", + "list-context.product-list#prateleira", "product-questions-and-answers" ] }, + "html#breadcrumb": { "props": { "tag": "section", "testId": "breadcrumbs", "blockClass": "pdp-breadcrumb" }, - "children": ["breadcrumb"] + "children": ["breadcrumb#Pdp"] }, + + "breadcrumb#Pdp": { + "props": { + "blockClass": "Pdp", + "showOnMobile": true + } + }, + "flex-layout.row#specifications-title": { "children": ["rich-text#specifications"] }, @@ -26,12 +36,86 @@ "text": "##### Product Specifications" } }, - "flex-layout.row#description": { + + "rich-text#otherProductTitle": { "props": { - "marginBottom": 7 - }, - "children": ["product-description"] + "text": "### Você também pode gostar:", + "textAlignment": "CENTER", + "textPosition": "CENTER", + "blockClass": "otherProdcutTitle" + } }, + + "product-summary.shelf#prateleira": { + "props": { + "blockClass": "prateleiraShelf", + "testId": "vtex-product-summary" + }, + "children": [ + "html#productSummary" + ] + }, + + "product-summary-image#prateleiraImg": { + "props": { + "blockClass": "prateleiraImg" + } + }, + + "product-summary-name#prateleira": { + "props": { + "blockClass": "prateleiraProductName" + } + }, + + "product-list-price#prateleira": { + "props": { + "blockClass": "prateleira" + } + }, + + "product-selling-price#prateleira": { + "props": { + "blockClass": "prateleira" + } + }, + + "slider-layout#prateleiraSlider": { + "props": { + "itemsPerPage": { + "desktop": 4, + "tablet": 3, + "phone": 2 + }, + "infinite": true, + "blockClass": "prateleiraSlider" + } + }, + + "list-context.product-list#prateleira": { + "blocks": ["product-summary.shelf#prateleira"], + "children": ["html#productSummaryList"] + }, + + "flex-layout.col#description": { + "props": { + "preventVerticalStretch": true + }, + "children": ["product-description#1", "product-description#2"] + }, + + "product-description#1": { + "props": { + "blockClass": "descriptioncontent1" + } + }, + "product-description#2": { + "props": { + "blockClass": "descriptioncontent2", + "showTitle": false + } + }, + "condition-layout.product#availability": { "props": { "conditions": [ @@ -50,10 +134,18 @@ "marginTop": 4, "marginBottom": 7, "paddingTop": 7, - "paddingBottom": 7 + "paddingBottom": 7, + "blockClass": "productMainWrapper" }, "children": ["flex-layout.col#stack", "flex-layout.col#right-col"] }, + "flex-layout.row#descriptionRow": { + "props": { + "blockClass": "descriptionRow", + "colGap": 7 + }, + "children": ["product-images#descriptionImg", "flex-layout.col#description"] + }, "stack-layout": { "props": { @@ -66,6 +158,148 @@ ] }, + "html#wrapperQuantity": { + "props": { + "blockClass": "wrapperQuantity" + }, + "children": ["html#productQuantity", "flex-layout.row#buy-button"] + }, + + "product-quantity#quantityPdpItens": { + "props": { + "blockClass": "quantityPdpItens", + "showLabel": false, + "size": "large" + } + }, + + "tab-layout#descriptionLayout": { + "props": { + "blockClass": "descriptionLayout" + }, + "children": [ + "tab-list#descriptionButtonWrapper", + "tab-content#descriptionContentWrapper" + ] + }, + + "tab-list#descriptionButtonWrapper": { + "props": { + "blockClass": "descriptionButtonWrapper" + }, + "children": [ + "tab-list.item#1", + "tab-list.item#2", + "tab-list.item#3", + "tab-list.item#4", + "tab-list.item#5" + ] + }, + + "tab-content#descriptionContentWrapper": { + "props": { + "blockClass": "descriptionContentWrapper" + }, + "children": [ + "tab-content.item#1", + "tab-content.item#2", + "tab-content.item#3", + "tab-content.item#4", + "tab-content.item#5" + ] + }, + + "tab-list.item#1": { + "props": { + "tabId": "description1", + "label": "Descrição", + "blockClass": "descriptionButton", + "defaultActiveTab": true + } + }, + "tab-list.item#2": { + "props": { + "tabId": "description2", + "blockClass": "descriptionButton", + "label": "Descrição" + } + }, + "tab-list.item#3": { + "props": { + "tabId": "description3", + "blockClass": "descriptionButton", + "label": "Descrição" + } + }, + "tab-list.item#4": { + "props": { + "tabId": "description4", + "blockClass": "descriptionButton", + "label": "Descrição" + } + }, + "tab-list.item#5": { + "props": { + "tabId": "description5", + "blockClass": "descriptionButton", + "label": "Descrição" + } + }, + + "tab-content.item#1": { + "children": [ + "flex-layout.row#descriptionRow" + ], + "props": { + "tabId": "description1", + "blockClass": "descriptionContent" + } + }, + "tab-content.item#2": { + "children": [ + "flex-layout.row#descriptionRow" + ], + "props": { + "tabId": "description2", + "blockClass": "descriptionContent" + } + }, + "tab-content.item#3": { + "children": [ + "flex-layout.row#descriptionRow" + ], + "props": { + "tabId": "description3", + "blockClass": "descriptionContent" + } + }, + "tab-content.item#4": { + "children": [ + "flex-layout.row#descriptionRow" + ], + "props": { + "tabId": "description4", + "blockClass": "descriptionContent" + } + }, + "tab-content.item#5": { + "children": [ + "flex-layout.row#descriptionRow" + ], + "props": { + "tabId": "description5", + "blockClass": "descriptionContent" + } + }, + "product-images#descriptionImg": { + "props": { + "displayMode": "first-image", + "maxHeight": 632, + "blockClass": "descriptionImg", + "width": "49%" + } + }, + "product-specification-badges": { "props": { "specificationGroupName": "Group", @@ -78,20 +312,25 @@ "flex-layout.col#stack": { "children": ["stack-layout"], "props": { - "width": "60%", + "width": "51%", "rowGap": 0 } }, "flex-layout.row#product-image": { - "children": ["product-images"] + "children": ["html#productImages"] }, - "product-images": { + "product-images#imgsMain": { "props": { "aspectRatio": { "desktop": "auto", - "phone": "16:9" + "phone": "auto" }, - "displayThumbnailsArrows": true + "showNavigationArrows": false, + "showPaginationDots": false, + "thumbnailsOrientation": "horizontal", + "thumbnailMaxHeight": 90, + "blockClass": "ImgsMain", + "maxHeight": 664 } }, "flex-layout.col#right-col": { @@ -102,50 +341,148 @@ "children": [ "flex-layout.row#product-name", "product-rating-summary", - "flex-layout.row#list-price-savings", - "flex-layout.row#selling-price", - "product-installments", + "html#productCode", + "html#productPrice", + "html#productInstallments", + "html#pixPrice", "product-separator", - "product-identifier.product", - "sku-selector", - "product-quantity", - "product-assembly-options", - "product-gifts", - "flex-layout.row#buy-button", + "html#skuSelector", + "html#wrapperQuantity", "availability-subscriber", - "shipping-simulator", - "share#default" + "html#shippingSimulator" ] }, + "html#productInstallments": { + "props": { + "testId": "product-installments" + }, + "children": ["product-installments#InstallmentsMainPdp"] + }, + + "html#pixPrice": { + "props": { + "testId": "pix-price" + }, + "children": ["pix"] + }, + "html#productPrice": { + "props": { + "testId": "product-price" + }, + "children": ["flex-layout.row#selling-price"] + }, + "html#productQuantity": { + "props": { + "testId": "product-quantity" + }, + "children": ["product-quantity#quantityPdpItens"] + }, + "html#addToCartButton": { + "props": { + "testId": "add-to-cart-button" + }, + "children": ["add-to-cart-button#addSacola"] + }, + "html#productCode": { + "props": { + "testId": "product-code" + }, + "children": ["product-identifier.product#identifierMain"] + }, + "html#productImages": { + "props": { + "testId": "product-images" + }, + "children": ["product-images#imgsMain"] + }, + "html#productName": { + "props": { + "testId": "product-name" + }, + "children": ["vtex.store-components:product-name"] + }, + "html#shippingSimulator": { + "props": { + "testId": "shipping-simulator" + }, + "children": ["shipping-simulator"] + }, + "html#skuSelector": { + "props": { + "testId": "sku-selector" + }, + "children": ["sku-selector#inverseOrder"] + }, + "html#productDescription": { + "props": { + "testId": "product-description" + }, + "children": ["tab-layout#descriptionLayout"] + }, + "html#productSummary": { + "props": { + "testId": "vtex-product-summary" + }, + "children": [ + "product-summary-image#prateleiraImg", + "product-summary-name#prateleira", + "product-list-price#prateleira", + "product-selling-price#prateleira" + ] + }, + "html#productSummaryList": { + "props": { + "testId": "product-summary-list" + }, + "children": [ + "slider-layout#prateleiraSlider" + ] + }, + + "product-installments#InstallmentsMainPdp": { + "props": { + "blockClass": "InstallmentsMainPdp", + "installmentsCriteria": "max-quantity-without-interest" + } + }, + "flex-layout.row#product-name": { "props": { "marginBottom": 3 }, - "children": ["vtex.store-components:product-name"] + "children": ["html#productName"] }, + "sku-selector": { "props": { "variationsSpacing": 3, "showValueNameForImageVariation": true } }, + + "sku-selector#inverseOrder": { + "props": { + "variationsSpacing": 3, + "showValueNameForImageVariation": true, + "blockClass": "inverseOrder" + } + }, "flex-layout.row#buy-button": { "props": { "marginTop": 4, - "marginBottom": 7 + "marginBottom": 7, + "blockClass": "buyButton" }, - "children": ["add-to-cart-button"] + "children": ["html#addToCartButton"] }, "flex-layout.row#product-availability": { "props": { "colGap": 7, - "marginTop": 4, - "marginBottom": 7, - "paddingTop": 7 + "blockClass": "indisponivelWrapper" }, "children": [ "flex-layout.col#stack", @@ -160,9 +497,9 @@ }, "children": [ "flex-layout.row#product-name", - "product-identifier.product", - "sku-selector", - "flex-layout.row#availability" + "product-identifier.product#identifierMain", + "flex-layout.row#availability", + "sku-selector#inverseOrder" ] }, "flex-layout.row#availability": { @@ -172,6 +509,13 @@ "children": ["availability-subscriber"] }, + "product-identifier.product#identifierMain": { + "props": { + "label": "hide", + "idField": "productReference" + } + }, + "share#default": { "props": { "social": { diff --git a/store/blocks/product-price.jsonc b/store/blocks/product-price.jsonc index 3035106..50a7efd 100644 --- a/store/blocks/product-price.jsonc +++ b/store/blocks/product-price.jsonc @@ -4,7 +4,8 @@ "colGap": 2, "preserveLayoutOnMobile": true, "preventHorizontalStretch": true, - "marginBottom": 4 + "marginBottom": 4, + "blockClass": "sellPrice" }, "children": [ "product-selling-price" diff --git a/store/interfaces.json b/store/interfaces.json index c4b2ac4..cc2c7a7 100644 --- a/store/interfaces.json +++ b/store/interfaces.json @@ -2,6 +2,11 @@ "example-component": { "component": "Example" }, + + "pix": { + "component": "Pix" + }, + "html": { "component": "html", "composition": "children" diff --git a/styles/configs/font-faces.css b/styles/configs/font-faces.css new file mode 100644 index 0000000..b383384 --- /dev/null +++ b/styles/configs/font-faces.css @@ -0,0 +1,31 @@ +@font-face { + font-family: "Open Sans"; + src: url(assets/fonts/OpenSans-Light.ttf); + font-weight: 300; +} +@font-face { + font-family: "Open Sans"; + src: url(assets/fonts/OpenSans-Regular.ttf); + font-weight: 400; +} +@font-face { + font-family: "Open Sans"; + src: url(assets/fonts/OpenSans-Medium.ttf); + font-weight: 500; +} + +@font-face { + font-family: "Open Sans"; + src: url(assets/fonts/OpenSans-SemiBold.ttf); + font-weight: 600; +} +@font-face { + font-family: "Open Sans"; + src: url(assets/fonts/OpenSans-Bold.ttf); + font-weight: 700; +} +@font-face { + font-family: "Open Sans"; + src: url(assets/fonts/OpenSans-ExtraBold.ttf); + font-weight: 800; +} \ No newline at end of file diff --git a/styles/configs/style.json b/styles/configs/style.json index 7b90b6b..ee3264d 100644 --- a/styles/configs/style.json +++ b/styles/configs/style.json @@ -253,84 +253,84 @@ "measure": [30, 34, 20], "styles": { "heading-1": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "700", "fontSize": "3rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-2": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "700", "fontSize": "2.25rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-3": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "700", "fontSize": "1.75rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-4": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "normal", "fontSize": "1.5rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-5": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "normal", "fontSize": "1.25rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-6": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "normal", "fontSize": "1.25rem", "textTransform": "initial", "letterSpacing": "0" }, "body": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "normal", "fontSize": "1rem", "textTransform": "initial", "letterSpacing": "0" }, "small": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "normal", "fontSize": "0.875rem", "textTransform": "initial", "letterSpacing": "0" }, "mini": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "normal", "fontSize": "0.75rem", "textTransform": "initial", "letterSpacing": "0" }, "action": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "500", "fontSize": "1rem", "textTransform": "uppercase", "letterSpacing": "0" }, "action--small": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "500", "fontSize": "0.875rem", "textTransform": "uppercase", "letterSpacing": "0" }, "action--large": { - "fontFamily": "San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", "fontWeight": "500", "fontSize": "1.25rem", "textTransform": "uppercase", diff --git a/styles/css/vtex-product-identifier.css b/styles/css/vtex-product-identifier.css new file mode 100644 index 0000000..28cdba5 --- /dev/null +++ b/styles/css/vtex-product-identifier.css @@ -0,0 +1,13 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.product-identifier--productReference { + display: flex; + justify-content: end; +} \ No newline at end of file diff --git a/styles/css/vtex.breadcrumb.css b/styles/css/vtex.breadcrumb.css new file mode 100644 index 0000000..1c7a710 --- /dev/null +++ b/styles/css/vtex.breadcrumb.css @@ -0,0 +1,47 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.homeLink--Pdp { + padding: 0 2px 4px 2px; +} +.homeLink--Pdp::before { + content: "Home"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} +.homeLink--Pdp .homeIcon--Pdp { + display: none; +} + +.link--Pdp, +.term--Pdp { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} + +.container--Pdp { + padding: 0; + width: 94.44%; + margin: 0 auto; + max-width: 94rem; +} +@media screen and (max-width: 1024px) { + .container--Pdp { + width: 100%; + padding: 0 40px; + } +} \ No newline at end of file diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index a7c5732..3cecc56 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -1,98 +1,210 @@ -.flexRowContent--menu-link, -.flexRowContent--main-header { - padding: 0 0.5rem; +@charset "UTF-8"; +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.flexRow--productMainWrapper { + width: 95%; + margin: 0 auto; } - -@media screen and (min-width: 40em) { - .flexRowContent--menu-link, - .flexRowContent--main-header { - padding: 0 1rem; +@media screen and (max-width: 1024px) { + .flexRow--productMainWrapper { + width: 100%; + margin: 0; + padding: 0 40px; + } +} +@media screen and (max-width: 1024px) { + .flexRow--productMainWrapper :global(.vtex-store-components-3-x-container) { + padding: 0; } } -@media screen and (min-width: 80rem) { - .flexRowContent--menu-link, - .flexRowContent--main-header { - padding: 0 0.25rem; +.flexRow--indisponivelWrapper { + width: 95%; + margin: 0 auto; +} +@media screen and (max-width: 1024px) { + .flexRow--indisponivelWrapper { + width: 100%; + margin: 0; + padding: 0 40px; + } +} +@media screen and (max-width: 1024px) { + .flexRow--indisponivelWrapper :global(.vtex-store-components-3-x-container) { + padding: 0; } } -.flexRowContent--menu-link { - background-color: #03044e; - color: #fff; -} - -.flexRowContent--main-header { - background-color: #f0f0f0; -} - -.flexRowContent--main-header-mobile { - align-items: center; - padding: 0.625rem 0.5rem; - background-color: #f0f0f0; -} - -.flexRowContent--menu-link :global(.vtex-menu-2-x-styledLink) { - color: #ffffff; - font-size: 14px; -} - -.flexRowContent--main-header :global(.vtex-menu-2-x-styledLink) { - color: #727273; - font-size: 14px; -} - -.flexRow--deals { - background-color: #0F3E99; - padding: 14px 0px; -} - -.flexRow--deals .stretchChildrenWidth { - align-items: center; -} - -.flexRow--deals .flexCol { - align-items: center; - margin-bottom: 5px; - padding-top: 5px; -} - -.flexCol--filterCol { - max-width: 500px; - min-width: 230px; -} - -.flexCol--productCountCol { - align-items: flex-start; -} - -.flexCol--orderByCol { - align-items: flex-end; -} - -.flexCol--orderByMobileCol { - width: 42%; -} - -.flexCol--filterMobileCol { - width: 38%; -} - -.flexRow--quickviewMainRow { +.flexRow--buyButton { display: flex; - max-height: 100%; + align-items: center; + width: 100%; + margin-left: 10px; +} +@media screen and (max-width: 375px) { + .flexRow--buyButton { + margin-left: 0; + padding-top: 10px; + } +} +.flexRow--buyButton .flexRowContent--buyButton { + margin: 0; + height: 49px; +} +.flexRow--buyButton .flexRowContent--buyButton :global(.vtex-button) { + background-color: #000000; + color: #fff; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + border: none; + border-radius: 0; + height: 48px; } -.flexColChild--quickviewDetails:first-child { - overflow-y: auto; - height: 66% !important; - overflow-x: hidden; +.flexRowContent--sellPrice { + font-family: "Open Sans"; + font-style: normal; + font-weight: 700; + font-size: 25px; + line-height: 38px; + color: #000000; + margin: 0; } -.flexColChild--quickviewDetails:last-child { - height: 34% !important; +@media screen and (max-width: 1024px) { + .flexRow--descriptionRow :global(.vtex-store-components-3-x-container) { + padding: 0 !important; + } } -.flexRow--addToCartRow { - padding-bottom: 1rem; +.flexRowContent--productMainWrapper { + margin: 16px 0; + padding: 0; } +@media screen and (max-width: 1024px) { + .flexRowContent--productMainWrapper { + flex-direction: column; + } +} +@media screen and (max-width: 1024px) { + .flexRowContent--productMainWrapper .stretchChildrenWidth { + width: 100% !important; + padding: 0; + } +} + +.flexRowContent--indisponivelWrapper { + margin: 16px 0; + padding: 0; +} +@media screen and (max-width: 1024px) { + .flexRowContent--indisponivelWrapper { + flex-direction: column; + } +} +@media screen and (max-width: 1024px) { + .flexRowContent--indisponivelWrapper .stretchChildrenWidth { + width: 100% !important; + padding: 0; + } +} + +@media screen and (max-width: 1024px) { + .flexRowContent--descriptionRow { + flex-direction: column; + } +} +@media screen and (max-width: 1024px) { + .flexRowContent--descriptionRow .stretchChildrenWidth { + width: 100% !important; + padding: 0; + } +} +.flexRowContent--descriptionRow .stretchChildrenWidth :global(.vtex-store-components-3-x-productImageTag--descriptionImg--main) { + object-fit: unset !important; + max-height: 994px !important; + margin-bottom: 16px; +} + +.flexRow--message-availability :global(.vtex-store-components-3-x-title) { + font-size: 0; + margin: 0; +} +.flexRow--message-availability :global(.vtex-store-components-3-x-title)::before { + content: "Produto indisponivel"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; + color: #868686; +} +.flexRow--message-availability :global(.vtex-store-components-3-x-subscribeLabel) { + font-size: 0; +} +.flexRow--message-availability :global(.vtex-store-components-3-x-subscribeLabel)::before { + content: "Deseja saber quando estiver disponível?"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #868686; +} +.flexRow--message-availability :global(.vtex-store-components-3-x-content) { + display: grid; + grid-auto-flow: column; + max-width: 400px; + column-gap: 8px; +} +@media screen and (max-width: 1024px) { + .flexRow--message-availability :global(.vtex-store-components-3-x-content) { + width: 100%; + } +} +.flexRow--message-availability :global(.vtex-store-components-3-x-content) :last-child { + grid-area: 2/1/2/3; +} +.flexRow--message-availability :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-inputEmail) { + margin: 0; +} +.flexRow--message-availability :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-inputName) { + margin: 0; + margin-bottom: 15px; +} +.flexRow--message-availability :global(.vtex-button) { + width: 100%; + background-color: #000000; + font-size: 0; + height: 49px; + border-radius: 0; + align-items: center; + justify-content: center; + display: flex; +} +.flexRow--message-availability :global(.vtex-button)::before { + content: "Avise-me"; + color: #fff; + font-family: "Open Sans"; + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 25px; + text-transform: uppercase; +} +.flexRow--message-availability :global(.vtex-button__label) { + display: none; +} +.flexRow--message-availability :global(.vtex-input-prefix__group) { + border-radius: 0; + border-color: #989898; +} \ No newline at end of file diff --git a/styles/css/vtex.product-identifier.css b/styles/css/vtex.product-identifier.css index e3aa6d5..34c4328 100644 --- a/styles/css/vtex.product-identifier.css +++ b/styles/css/vtex.product-identifier.css @@ -1,3 +1,9 @@ -.product-identifier--productReference { - margin-bottom: 1rem; -} +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ \ No newline at end of file diff --git a/styles/css/vtex.product-price.css b/styles/css/vtex.product-price.css index 95f4cfe..0dcb8e5 100644 --- a/styles/css/vtex.product-price.css +++ b/styles/css/vtex.product-price.css @@ -1,79 +1,37 @@ -.listPrice { - color: #727273; - margin-bottom: .25rem; - font-size: 1rem; +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.listPrice--prateleira { + padding: 0 16px 8px 16px; + margin: 0; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #bababa; } -.sellingPrice { - color: #3f3f40; - font-size: 1.25rem; -} - -.sellingPriceValue { - font-size: 2.25rem; +.sellingPrice--prateleira--hasListPrice { + padding: 0 16px; + font-family: "Open Sans"; + font-style: normal; font-weight: 700; + font-size: 24px; + line-height: 33px; } -.installments { - color: #727273; - margin-bottom: 1rem; -} - -.savings { - font-weight: 500; - color: #79B03A; -} - -.sellingPriceValue--summary { - font-size: 1.25rem; - font-weight: 600; - color: #2E2E2E; -} - -.savings--summary { - background: #8BC34A; - border-radius: 1000px; - align-items: center; - display: flex; - - padding-left: 0.5rem; - padding-right: 0.5rem; - font-size: 0.875rem; - font-weight: 600; - vertical-align: baseline; - color: #FFFFFF; -} - -.savings-discount--summary { - font-size: 0.875rem; - font-weight: 600; - vertical-align: baseline; - color: #FFFFFF; - padding-left: 0.5rem; - padding-right: 0.5rem; -} - -.listPrice--summary { - margin-bottom: 0.25rem; - font-size: .875rem; -} - -.installments--summary { - margin-bottom: 2rem; - font-size: 0.875rem; -} - -.savings--summaryPercentage { - background: #0f3e99; - border-radius: 1000px; - align-items: center; - display: flex; -} - -.savingsPercentage--summaryPercentage { - font-size: 0.875rem; - font-weight: 600; - vertical-align: baseline; - color: #FFFFFF; - padding: 0.25rem 0.5rem 0.25rem 0.5rem; -} +.installments--InstallmentsMainPdp { + font-family: "Open Sans"; + font-style: normal; + font-weight: 700; + font-size: 16px; + line-height: 22px; + color: #929292; +} \ No newline at end of file diff --git a/styles/css/vtex.product-quantity.css b/styles/css/vtex.product-quantity.css new file mode 100644 index 0000000..00f9476 --- /dev/null +++ b/styles/css/vtex.product-quantity.css @@ -0,0 +1,32 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.quantitySelectorContainer--quantityPdpItens { + margin: 0; +} +.quantitySelectorContainer--quantityPdpItens :global(.vtex-numeric-stepper__input) { + border: 1px solid #CCCCCC; + border-left: 0; + border-right: 0; + width: 3rem; +} +.quantitySelectorContainer--quantityPdpItens :global(.vtex-numeric-stepper__plus-button) { + border: 1px solid #CCCCCC; + border-left: 0; + border-radius: 0; + width: 2.5em !important; + color: #000000; +} +.quantitySelectorContainer--quantityPdpItens :global(.vtex-numeric-stepper__minus-button) { + border: 1px solid #CCCCCC; + border-right: 0; + border-radius: 0; + width: 2.5em !important; + color: #000000; +} \ No newline at end of file diff --git a/styles/css/vtex.product-summary.css b/styles/css/vtex.product-summary.css index 0a6e420..81f9e46 100644 --- a/styles/css/vtex.product-summary.css +++ b/styles/css/vtex.product-summary.css @@ -1,42 +1,42 @@ -.skuSelectorContainer--quickview .skuSelectorItemImage .frameAround, .skuSelectorContainer--quickview .skuSelectorItemImage .skuSelectorInternalBox { - border-radius: 50%; +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.containerNormal--prateleiraShelf { + max-width: 315px !important; } -.container :global(.vtex-modal-layout-0-x-triggerContainer) { - opacity: 0; - transition: opacity 200ms ease-in-out; +.element--prateleiraShelf { + outline: 0; } -.container:hover :global(.vtex-modal-layout-0-x-triggerContainer) { - opacity: 1; +.nameContainer--prateleiraProductName { + padding: 16px 16px 8px 16px; } - -@media screen and (max-width: 40em) { - .container :global(.vtex-modal-layout-0-x-triggerContainer) { - display: none; - } -} - -.nameContainer { - justify-content: start; - padding-top: 1rem; - padding-bottom: 1rem; -} - -.brandName { - font-weight: 600; +.nameContainer--prateleiraProductName .brandName--prateleiraProductName { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; font-size: 18px; - color: #2E2E2E; -} - -.container { - text-align: start; -} - -.imageContainer { + line-height: 25px; text-align: center; + color: #000000; } -.image { - border-radius: 0.25rem; +.imageWrapper--prateleiraImg, +.imageContainer--prateleiraImg, +.image--prateleiraImg { + min-height: 314px; } +@media screen and (max-width: 1280px) { + .imageWrapper--prateleiraImg, + .imageContainer--prateleiraImg, + .image--prateleiraImg { + min-height: 285px; + } +} \ No newline at end of file diff --git a/styles/css/vtex.rich-text.css b/styles/css/vtex.rich-text.css index 34c4328..c9dd8b4 100644 --- a/styles/css/vtex.rich-text.css +++ b/styles/css/vtex.rich-text.css @@ -6,4 +6,11 @@ 1800px + : Big desktop */ /* Media Query M3 */ -/* Grid breakpoints */ \ No newline at end of file +/* Grid breakpoints */ +.heading--otherProdcutTitle { + margin: 16px 0 24px 0; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 38px; +} \ No newline at end of file diff --git a/styles/css/vtex.shipping-simulator.css b/styles/css/vtex.shipping-simulator.css new file mode 100644 index 0000000..c2fe208 --- /dev/null +++ b/styles/css/vtex.shipping-simulator.css @@ -0,0 +1,12 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.shippingTableBody { + display: none; +} \ No newline at end of file diff --git a/styles/css/vtex.slider-layout.css b/styles/css/vtex.slider-layout.css index 55f431f..585e20c 100644 --- a/styles/css/vtex.slider-layout.css +++ b/styles/css/vtex.slider-layout.css @@ -1,31 +1,63 @@ -.sliderLayoutContainer { - justify-content: center; +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.sliderLayoutContainer--prateleiraSlider { + width: 90.63%; + margin: 0 auto 101px auto; +} +@media screen and (max-width: 1024px) { + .sliderLayoutContainer--prateleiraSlider { + width: 100% !important; + padding: 0 63px; + } } -.sliderLayoutContainer--carousel { - background-color: #F0F0F0; - min-height: 450px; +.sliderArrows--prateleiraSlider { + margin: 0; + padding: 0; } -.sliderTrackContainer { - max-width: 100%; +.sliderRightArrow--prateleiraSlider { + right: -2%; +} +@media screen and (max-width: 1024px) { + .sliderRightArrow--prateleiraSlider { + right: 3.91%; + } } -.paginationDotsContainer { - margin-top: .5rem; - margin-bottom: .5rem; +.sliderLeftArrow--prateleiraSlider { + left: -2%; +} +@media screen and (max-width: 1024px) { + .sliderLeftArrow--prateleiraSlider { + left: 3.91%; + } } -.layoutContainer--shelf { - margin-top: 20px; - margin-bottom: 20px; - max-width: 96rem; - min-height: 550px; +.paginationDotsContainer--prateleiraSlider { + bottom: -32px; + align-items: center; +} +.paginationDotsContainer--prateleiraSlider .paginationDot--prateleiraSlider { + height: 10px !important; + width: 10px !important; + background-color: #000000; + margin: 0 6px; +} +.paginationDotsContainer--prateleiraSlider .paginationDot--prateleiraSlider--isActive { + height: 17px !important; + width: 17px !important; + background-color: #fff !important; + border: 0.5px solid #000000; } -.slide--shelf { - margin-bottom: 25px; - padding-left: .5rem; - padding-right: .5rem; - min-height: 550px; -} +.slide--prateleiraSlider { + padding: 0 8px; +} \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index f8fa6cb..8689d51 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -9,4 +9,297 @@ /* Grid breakpoints */ .newsletter { background: red; +} + +.productImageTag--ImgsMain--main { + object-fit: unset !important; +} +@media screen and (max-width: 1024px) { + .productImageTag--ImgsMain--main { + max-height: 994px !important; + } +} + +.productImagesThumb { + width: 13.605% !important; + margin: 0 16px 0 0; + max-width: 90px; +} + +.productNameContainer--quickview { + display: flex; + justify-content: end; + font-family: "Open Sans"; + font-style: normal; + font-weight: 300; + font-size: 20px; + line-height: 34px; + color: #575757; +} +@media screen and (max-width: 1024px) { + .productNameContainer--quickview { + justify-content: flex-start; + padding-top: 32px; + } +} + +:global(.vtex-product-identifier-0-x-product-identifier--productReference) { + display: flex; + justify-content: end; + margin-bottom: 24px; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: rgba(146, 146, 146, 0.48); +} +@media screen and (max-width: 1024px) { + :global(.vtex-product-identifier-0-x-product-identifier--productReference) { + justify-content: flex-start; + } +} + +.skuSelectorContainer--inverseOrder { + display: flex; + flex-direction: column-reverse; +} +.skuSelectorContainer--inverseOrder .skuSelectorSubcontainer--cor .skuSelectorTextContainer::before { + content: "Outras cores:"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; + text-transform: uppercase; +} +.skuSelectorContainer--inverseOrder .skuSelectorSubcontainer--cor .skuSelectorName, +.skuSelectorContainer--inverseOrder .skuSelectorSubcontainer--cor .skuSelectorNameSeparator, +.skuSelectorContainer--inverseOrder .skuSelectorSubcontainer--cor .skuSelectorSelectorImageValue { + font-size: 0; +} +.skuSelectorContainer--inverseOrder .skuSelectorSubcontainer--tamanho .skuSelectorTextContainer::before { + content: "Outros Tamanhos:"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; + text-transform: uppercase; +} +.skuSelectorContainer--inverseOrder .skuSelectorSubcontainer--tamanho .skuSelectorName { + font-size: 0; +} +.skuSelectorContainer--inverseOrder .skuSelectorItem--inverseOrder { + width: 40px; + height: 40px; + border-radius: 50%; +} +.skuSelectorContainer--inverseOrder .skuSelectorItem--inverseOrder--selected .frameAround--inverseOrder { + border: 2px solid #000000; + top: -2px; + left: -2px; + right: -2px; + bottom: -2px; +} +.skuSelectorContainer--inverseOrder .skuSelectorItem--inverseOrder--selected .skuSelectorItemTextValue--inverseOrder { + color: #000000; +} +.skuSelectorContainer--inverseOrder .skuSelectorItem--inverseOrder--selected .skuSelectorInternalBox--inverseOrder { + border: none; +} +.skuSelectorContainer--inverseOrder .skuSelectorItemTextValue--inverseOrder { + padding: 0; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: rgba(185, 185, 185, 0.6); +} +.skuSelectorContainer--inverseOrder .frameAround--inverseOrder { + border-radius: 50%; +} +.skuSelectorContainer--inverseOrder .skuSelectorInternalBox--inverseOrder { + border-radius: 50%; + width: 40px; + height: 40px; + border-color: #989898; +} +.skuSelectorContainer--inverseOrder .diagonalCross--inverseOrder { + border-radius: 50%; +} + +.shippingContainer { + display: flex; +} +.shippingContainer :global(.vtex-address-form__field--small) { + display: flex; +} +.shippingContainer :global(.vtex-input-prefix__group) { + height: 49px; + border: 1px solid #CCCCCC; + border-radius: 0; +} +.shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) { + display: flex; + position: relative; + left: 150px; + align-items: center; + padding-top: 16.1px; + text-decoration: underline; +} +@media screen and (max-width: 600px) { + .shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) { + left: 55px; + } +} +@media screen and (max-width: 490px) { + .shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) { + left: -85px; + top: 50px; + } +} +@media screen and (max-width: 450px) { + .shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) { + left: -112px; + top: 50px; + } +} +@media screen and (max-width: 375px) { + .shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) { + left: -78px; + top: 50px; + } +} +.shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) :last-child { + color: black; +} +.shippingContainer :global(.vtex__icon-external-link) { + display: none; +} +.shippingContainer :global(.vtex-button) { + display: flex; + width: 49px; + height: 49px; + position: relative; + right: 129px; + margin-top: 24px; + background-color: #000000; + font-size: 0; + border: none; + border-radius: 0; +} +@media screen and (max-width: 490px) { + .shippingContainer :global(.vtex-button) { + right: 31%; + } +} +@media screen and (max-width: 425px) { + .shippingContainer :global(.vtex-button) { + right: 24%; + } +} +@media screen and (max-width: 375px) { + .shippingContainer :global(.vtex-button) { + right: 40px; + } +} +.shippingContainer :global(.vtex-button) ::before { + content: "Ok"; + font-weight: 600; + font-size: 14px; + line-height: 19px; + color: #fff; +} + +.shippingTable { + display: flex; + padding: 0; + margin: 0; + border: none; + flex-direction: column; +} +.shippingTable .shippingTableHead { + display: flex; +} +.shippingTable .shippingTableHead .shippingTableHeadDeliveryName, +.shippingTable .shippingTableHead .shippingTableHeadDeliveryEstimate, +.shippingTable .shippingTableHead .shippingTableHeadDeliveryPrice { + display: flex; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #202020; + text-transform: uppercase; +} +.shippingTable .shippingTableHead .shippingTableHeadDeliveryEstimate { + order: 1; + min-width: 145px; +} +.shippingTable .shippingTableHead .shippingTableHeadDeliveryName { + min-width: 100px; +} +.shippingTable .shippingTableHead .shippingTableHeadDeliveryPrice { + min-width: 70px; +} +.shippingTable .shippingTableRow { + display: flex; + gap: 32px; + margin-bottom: 15px; +} +.shippingTable .shippingTableRow .shippingTableCellDeliveryName, +.shippingTable .shippingTableRow .shippingTableCellDeliveryEstimate, +.shippingTable .shippingTableRow .shippingTableCellDeliveryPrice { + display: flex; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + color: #afafaf; + padding: 0; +} +.shippingTable .shippingTableRow .shippingTableCellDeliveryEstimate { + order: 1; + min-width: 145px; +} +.shippingTable .shippingTableRow .shippingTableCellDeliveryName { + min-width: 100px; +} +.shippingTable .shippingTableRow .shippingTableCellDeliveryPrice { + min-width: 70px; +} +.shippingTable .shippingTableRadioBtn { + display: none; +} + +.productDescriptionContainer--descriptioncontent1 { + margin-bottom: 16px; +} + +.productDescriptionTitle--descriptioncontent1 { + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 32px; + margin-bottom: 8px; +} + +.content--descriptioncontent1, +.content--descriptioncontent2 { + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; +} + +@media screen and (max-width: 1024px) { + .productImagesGallerySlide--ImgsMain { + width: 100% !important; + } } \ No newline at end of file diff --git a/styles/css/vtex.tab-layout.css b/styles/css/vtex.tab-layout.css new file mode 100644 index 0000000..cdcf0a4 --- /dev/null +++ b/styles/css/vtex.tab-layout.css @@ -0,0 +1,87 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.container--descriptionLayout { + width: 94.44%; + margin: 0 auto; +} +@media screen and (max-width: 1024px) { + .container--descriptionLayout { + width: 100%; + padding: 0 40px; + } +} +.container--descriptionLayout .listContainer--descriptionButtonWrapper { + justify-content: space-between; + border-bottom: 1px solid #B9B9B9; + padding: 0 64px; + margin-bottom: 32px; + max-width: 94rem; + margin: 0 auto 32px auto; +} +@media screen and (max-width: 1024px) { + .container--descriptionLayout .listContainer--descriptionButtonWrapper { + padding: 16px 0 0 0; + flex-direction: column; + margin-bottom: 16px; + border-top: 1px solid #B9B9B9; + } +} +.container--descriptionLayout .listContainer--descriptionButtonWrapper .listItem--descriptionButton { + margin: 0; + padding: 0; +} +.container--descriptionLayout .listContainer--descriptionButtonWrapper .listItem--descriptionButton :global(.vtex-button) { + color: #bfbfbf; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 38px; +} +.container--descriptionLayout .listContainer--descriptionButtonWrapper .listItem--descriptionButton :global(.vtex-button):hover { + background-color: #fff; +} +.container--descriptionLayout .listContainer--descriptionButtonWrapper .listItem--descriptionButton :global(.vtex-button__label) { + padding: 0 16px !important; + text-transform: capitalize; +} +@media screen and (max-width: 1024px) { + .container--descriptionLayout .listContainer--descriptionButtonWrapper .listItem--descriptionButton :global(.vtex-button__label) { + margin-bottom: 16px; + padding: 0 !important; + } +} +.container--descriptionLayout .listContainer--descriptionButtonWrapper .listItemActive--descriptionButton { + margin-top: 2px; +} +.container--descriptionLayout .listContainer--descriptionButtonWrapper .listItemActive--descriptionButton :global(.vtex-button) { + background-color: #fff; + color: #000000; + border: 0; + border-bottom: 2px solid #000000; + border-radius: 0; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 38px; +} +@media screen and (max-width: 1024px) { + .container--descriptionLayout .listContainer--descriptionButtonWrapper .listItemActive--descriptionButton :global(.vtex-button) { + border: none; + } +} +.container--descriptionLayout .listContainer--descriptionButtonWrapper .listItemActive--descriptionButton :global(.vtex-button__label) { + padding: 0 16px !important; + text-transform: capitalize; +} +@media screen and (max-width: 1024px) { + .container--descriptionLayout .listContainer--descriptionButtonWrapper .listItemActive--descriptionButton :global(.vtex-button__label) { + padding: 0 !important; + } +} \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.breadcrumb.scss b/styles/sass/pages/product/vtex.breadcrumb.scss new file mode 100644 index 0000000..f2ebd5b --- /dev/null +++ b/styles/sass/pages/product/vtex.breadcrumb.scss @@ -0,0 +1,37 @@ +.homeLink--Pdp{ + padding: 0 2px 4px 2px; + + &::before { + content: "Home"; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray15; + } + + .homeIcon--Pdp{ + display: none; + } +} +.link--Pdp, +.term--Pdp{ + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray15; +} +.container--Pdp{ + padding: 0; + width: 94.44%; + margin: 0 auto; + max-width: 94rem; + + @media screen and (max-width: 1024px) { + width: 100%; + padding: 0 40px; + } +} \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.flex-layout.scss b/styles/sass/pages/product/vtex.flex-layout.scss new file mode 100644 index 0000000..8f7fd7c --- /dev/null +++ b/styles/sass/pages/product/vtex.flex-layout.scss @@ -0,0 +1,203 @@ +.flexRow--productMainWrapper{ + width: 95%; + margin: 0 auto; + + @media screen and (max-width: 1024px) { + width: 100%; + margin: 0; + padding: 0 40px; + } + :global(.vtex-store-components-3-x-container){ + + @media screen and (max-width: 1024px) { + padding: 0; + } + } +} +.flexRow--indisponivelWrapper{ + width: 95%; + margin: 0 auto; + + @media screen and (max-width: 1024px) { + width: 100%; + margin: 0; + padding: 0 40px; + } + :global(.vtex-store-components-3-x-container){ + + @media screen and (max-width: 1024px) { + padding: 0; + } + } +} +.flexRow--buyButton{ + display: flex; + align-items: center; + width: 100%; + margin-left: 10px; + + @media screen and (max-width: 375px) { + margin-left: 0; + padding-top: 10px; + } + + .flexRowContent--buyButton{ + margin: 0; + height: 49px; + + :global(.vtex-button){ + background-color: $color-black2; + color: $color-white; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + border: none; + border-radius: 0; + height: 48px; + } + } + +} +.flexRowContent--sellPrice{ + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-size: 25px; + line-height: 38px; + color: $color-black2; + margin: 0; +} +.flexRow--descriptionRow{ + :global(.vtex-store-components-3-x-container) { + + @media screen and (max-width: 1024px) { + padding: 0 !important; + } + } +} + +.flexRowContent--productMainWrapper{ + margin: 16px 0; + padding: 0; + + @media screen and (max-width: 1024px) { + flex-direction: column; + } + + .stretchChildrenWidth{ + @media screen and (max-width: 1024px) { + width: 100% !important; + padding: 0; + } + } +} +.flexRowContent--indisponivelWrapper{ + margin: 16px 0; + padding: 0; + + @media screen and (max-width: 1024px) { + flex-direction: column; + } + + .stretchChildrenWidth{ + @media screen and (max-width: 1024px) { + width: 100% !important; + padding: 0; + } + } +} +.flexRowContent--descriptionRow{ + @media screen and (max-width: 1024px) { + flex-direction: column; + } + + .stretchChildrenWidth { + @media screen and (max-width: 1024px) { + width: 100% !important; + padding: 0; + } + + :global(.vtex-store-components-3-x-productImageTag--descriptionImg--main){ + object-fit: unset !important; + max-height: 994px !important; + margin-bottom: 16px; + } + } +} + +.flexRow--message-availability{ + :global(.vtex-store-components-3-x-title){ + font-size: 0; + margin: 0; + &::before { + content: "Produto indisponivel"; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; + color: $color-gray17; + } + } + :global(.vtex-store-components-3-x-subscribeLabel){ + font-size: 0; + &::before { + content: "Deseja saber quando estiver disponível?"; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray17; + } + } + :global(.vtex-store-components-3-x-content){ + display: grid; + grid-auto-flow: column; + max-width: 400px; + column-gap: 8px; + + @media screen and (max-width: 1024px) { + width: 100%; + } + + :last-child{ + grid-area: 2/1/2/3; + } + :global(.vtex-store-components-3-x-inputEmail){ + margin: 0; + } + :global(.vtex-store-components-3-x-inputName){ + margin: 0; + margin-bottom: 15px; + } + } + :global(.vtex-button){ + width: 100%; + background-color: $color-black2; + font-size: 0; + height: 49px; + border-radius: 0; + align-items: center; + justify-content: center; + display: flex; + &::before { + content: "Avise-me"; + color: $color-white; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 25px; + text-transform: uppercase; + } + } + :global(.vtex-button__label){ + display: none; + } + :global(.vtex-input-prefix__group){ + border-radius: 0; + border-color: $color-gray12; + } +} \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.product-price.scss b/styles/sass/pages/product/vtex.product-price.scss new file mode 100644 index 0000000..7a4b54f --- /dev/null +++ b/styles/sass/pages/product/vtex.product-price.scss @@ -0,0 +1,26 @@ +.listPrice--prateleira{ + padding: 0 16px 8px 16px; + margin: 0; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray9; +} +.sellingPrice--prateleira--hasListPrice{ + padding: 0 16px; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-size: 24px; + line-height: 33px; +} +.installments--InstallmentsMainPdp{ + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-size: 16px; + line-height: 22px; + color: $color-gray15; +} \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.product-quantity.scss b/styles/sass/pages/product/vtex.product-quantity.scss new file mode 100644 index 0000000..10eae7e --- /dev/null +++ b/styles/sass/pages/product/vtex.product-quantity.scss @@ -0,0 +1,24 @@ +.quantitySelectorContainer--quantityPdpItens{ + margin: 0; + + :global(.vtex-numeric-stepper__input ){ + border: 1px solid #CCCCCC; + border-left: 0; + border-right: 0; + width: 3rem; + } + :global(.vtex-numeric-stepper__plus-button){ + border: 1px solid #CCCCCC; + border-left: 0; + border-radius: 0; + width: 2.5em !important; + color: $color-black2; + } + :global(.vtex-numeric-stepper__minus-button){ + border: 1px solid #CCCCCC; + border-right: 0; + border-radius: 0; + width: 2.5em !important; + color: $color-black2; + } +} \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.product-summary.scss b/styles/sass/pages/product/vtex.product-summary.scss new file mode 100644 index 0000000..1f78771 --- /dev/null +++ b/styles/sass/pages/product/vtex.product-summary.scss @@ -0,0 +1,31 @@ +.containerNormal--prateleiraShelf{ + max-width: 315px !important; +} +.element--prateleiraShelf{ + outline: 0; +} +.nameContainer--prateleiraProductName{ + padding: 16px 16px 8px 16px; + + .brandName--prateleiraProductName{ + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + text-align: center; + color: $color-black2; + } + // .nameWrapper--prateleiraProductName{ + // min-height: 50px; + // } +} +.imageWrapper--prateleiraImg, +.imageContainer--prateleiraImg, +.image--prateleiraImg{ + min-height: 314px; + + @media screen and (max-width: 1280px) { + min-height: 285px; + } +} \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.rich-text.scss b/styles/sass/pages/product/vtex.rich-text.scss index e69de29..1d9d9d5 100644 --- a/styles/sass/pages/product/vtex.rich-text.scss +++ b/styles/sass/pages/product/vtex.rich-text.scss @@ -0,0 +1,7 @@ +.heading--otherProdcutTitle{ + margin: 16px 0 24px 0; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 38px; +} \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.slider-layout.scss b/styles/sass/pages/product/vtex.slider-layout.scss new file mode 100644 index 0000000..c8aadb7 --- /dev/null +++ b/styles/sass/pages/product/vtex.slider-layout.scss @@ -0,0 +1,48 @@ +.sliderLayoutContainer--prateleiraSlider{ + width: 90.63%; + margin: 0 auto 101px auto; + + @media screen and (max-width: 1024px) { + width: 100% !important; + padding: 0 63px; + } +} +.sliderArrows--prateleiraSlider{ + margin: 0; + padding: 0; +} +.sliderRightArrow--prateleiraSlider{ + right: -2.53%; + + @media screen and (max-width: 1024px) { + right: 3.91%; + } +} +.sliderLeftArrow--prateleiraSlider{ + left: -2.53%; + + @media screen and (max-width: 1024px) { + left: 3.91%; + } +} +.paginationDotsContainer--prateleiraSlider{ + bottom: -32px; + align-items: center; + + .paginationDot--prateleiraSlider{ + height: 10px !important; + width: 10px !important; + background-color: $color-black2; + margin: 0 6px; + + &--isActive{ + height: 17px !important; + width: 17px !important; + background-color: $color-white !important; + border: 0.5px solid $color-black2; + } + } +} +.slide--prateleiraSlider{ + padding: 0 8px; +} \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.store-components.scss b/styles/sass/pages/product/vtex.store-components.scss index 36d0f22..e52dc66 100644 --- a/styles/sass/pages/product/vtex.store-components.scss +++ b/styles/sass/pages/product/vtex.store-components.scss @@ -1,3 +1,307 @@ .newsletter{ background: red; +} + +.productImageTag--ImgsMain--main{ + object-fit: unset !important; + + @media screen and (max-width: 1024px) { + max-height: 994px !important; + } +} + +.productImagesThumb{ + width: 13.605% !important; + margin: 0 16px 0 0; + max-width: 90px; +} + +.productNameContainer--quickview{ + display: flex; + justify-content: end; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-size: 20px; + line-height: 34px; + color: $color-gray14; + + @media screen and (max-width: 1024px) { + justify-content: flex-start; + padding-top: 32px; + } +} + +:global(.vtex-product-identifier-0-x-product-identifier--productReference){ + display: flex; + justify-content: end; + margin-bottom: 24px; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray13; + + @media screen and (max-width: 1024px) { + justify-content: flex-start; + } +} + +.skuSelectorContainer--inverseOrder{ + display: flex; + flex-direction: column-reverse; + + .skuSelectorSubcontainer--cor{ + + .skuSelectorTextContainer{ + &::before { + content: "Outras cores:"; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray15; + text-transform: uppercase; + } + } + + .skuSelectorName, + .skuSelectorNameSeparator, + .skuSelectorSelectorImageValue{ + font-size: 0; + } + } + .skuSelectorSubcontainer--tamanho{ + + .skuSelectorTextContainer{ + &::before { + content: "Outros Tamanhos:"; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray15; + text-transform: uppercase; + } + } + + .skuSelectorName{ + font-size: 0; + } + } + + .skuSelectorItem--inverseOrder{ + width: 40px; + height: 40px; + border-radius: 50%; + } + .skuSelectorItem--inverseOrder--selected{ + + .frameAround--inverseOrder{ + border: 2px solid $color-black2; + top: -2px; + left: -2px; + right: -2px; + bottom: -2px; + } + .skuSelectorItemTextValue--inverseOrder{ + color: $color-black2; + } + .skuSelectorInternalBox--inverseOrder{ + border: none; + } + } + + .skuSelectorItemTextValue--inverseOrder{ + padding: 0; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray11; + } + .frameAround--inverseOrder{ + border-radius: 50%; + } + .skuSelectorInternalBox--inverseOrder{ + border-radius: 50%; + width: 40px; + height: 40px; + border-color: $color-gray12; + } + .diagonalCross--inverseOrder{ + border-radius: 50%; + // transform: rotate(-45deg); + } +} + +.shippingContainer{ + display: flex; + + :global(.vtex-address-form__field--small){ + display: flex; + } + :global(.vtex-input-prefix__group){ + height: 49px; + border: 1px solid $color-gray7; + border-radius: 0; + } + :global(.vtex-address-form__postalCode-forgottenURL){ + display: flex; + position: relative; + left: 150px; + align-items: center; + padding-top: 16.1px; + text-decoration: underline; + + @media screen and (max-width: 600px) { + left: 55px; + } + @media screen and (max-width: 490px) { + left: -85px; + top: 50px; + } + @media screen and (max-width: 450px) { + left: -112px; + top: 50px; + } + @media screen and (max-width: 375px) { + left: -78px; + top: 50px; + } + + :last-child{ + color: black; + } + + } + :global(.vtex__icon-external-link){ + display: none; + + } + :global(.vtex-button){ + display: flex; + width: 49px; + height: 49px; + position: relative; + right: 129px; + margin-top: 24px; + background-color: $color-black2; + font-size: 0; + border: none; + border-radius: 0; + + @media screen and (max-width: 490px) { + right: 31%; + } + @media screen and (max-width: 425px) { + right: 24%; + } + @media screen and (max-width: 375px) { + right: 40px; + } + + ::before{ + content: "Ok"; + font-weight: 600; + font-size: 14px; + line-height: 19px; + color: $color-white; + } + } +} +.shippingTable{ + display: flex; + padding: 0; + margin: 0; + border: none; + flex-direction: column; + + .shippingTableHead{ + display: flex; + + .shippingTableHeadDeliveryName, + .shippingTableHeadDeliveryEstimate, + .shippingTableHeadDeliveryPrice { + display: flex; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-black3; + text-transform: uppercase; + } + .shippingTableHeadDeliveryEstimate{ + order: 1; + min-width: 145px; + } + .shippingTableHeadDeliveryName{ + min-width: 100px; + } + .shippingTableHeadDeliveryPrice{ + min-width: 70px; + } + } + + .shippingTableRow{ + display: flex; + gap: 32px; + margin-bottom: 15px; + + .shippingTableCellDeliveryName, + .shippingTableCellDeliveryEstimate, + .shippingTableCellDeliveryPrice { + display: flex; + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + color: $color-gray16; + padding: 0; + } + .shippingTableCellDeliveryEstimate{ + order: 1; + min-width: 145px; + } + .shippingTableCellDeliveryName{ + min-width: 100px; + } + .shippingTableCellDeliveryPrice{ + min-width: 70px; + } + } + .shippingTableRadioBtn{ + display: none; + } +} + +.productDescriptionContainer--descriptioncontent1{ + margin-bottom: 16px; +} +.productDescriptionTitle--descriptioncontent1{ + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 32px; + margin-bottom: 8px; +} + +.content--descriptioncontent1, +.content--descriptioncontent2{ + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; +} + +.productImagesGallerySlide--ImgsMain{ + @media screen and (max-width: 1024px) { + width: 100% !important; + } } \ No newline at end of file diff --git a/styles/sass/pages/product/vtex.tab-layout.scss b/styles/sass/pages/product/vtex.tab-layout.scss new file mode 100644 index 0000000..d6f4ecd --- /dev/null +++ b/styles/sass/pages/product/vtex.tab-layout.scss @@ -0,0 +1,76 @@ +.container--descriptionLayout{ + width: 94.44%; + margin: 0 auto; + + @media screen and (max-width: 1024px) { + width: 100%; + padding: 0 40px; + } + + .listContainer--descriptionButtonWrapper{ + justify-content: space-between; + border-bottom: 1px solid $color-gray6; + padding: 0 64px; + margin-bottom: 32px; + max-width: 94rem; + margin: 0 auto 32px auto; + + @media screen and (max-width: 1024px) { + padding: 16px 0 0 0; + flex-direction: column; + margin-bottom: 16px; + border-top: 1px solid $color-gray6; + } + + .listItem--descriptionButton{ + margin: 0; + padding: 0; + :global(.vtex-button){ + color: $color-gray8; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 38px; + } + :global(.vtex-button):hover{ + background-color: $color-white; + } + + :global(.vtex-button__label){ + padding: 0 16px !important; + text-transform: capitalize; + + @media screen and (max-width: 1024px) { + margin-bottom: 16px; + padding: 0 !important; + } + } + } + .listItemActive--descriptionButton{ + margin-top: 2px; + :global(.vtex-button){ + background-color: $color-white; + color: $color-black2; + border: 0; + border-bottom: 2px solid $color-black2; + border-radius: 0; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 38px; + + @media screen and (max-width: 1024px) { + border: none; + } + } + :global(.vtex-button__label){ + padding: 0 16px !important; + text-transform: capitalize; + + @media screen and (max-width: 1024px) { + padding: 0 !important; + } + } + } + } +} \ No newline at end of file diff --git a/styles/sass/utils/_vars.scss b/styles/sass/utils/_vars.scss index daf3adb..2e4b5ac 100644 --- a/styles/sass/utils/_vars.scss +++ b/styles/sass/utils/_vars.scss @@ -1,4 +1,6 @@ $color-black: #292929; +$color-black2: #000000; +$color-black3: #202020; $color-white: #fff; @@ -7,6 +9,18 @@ $color-gray2: #7d7d7d; $color-gray3: #f0f0f0; $color-gray4: #c4c4c4; $color-gray5: #e5e5e5; +$color-gray6: #B9B9B9; +$color-gray7: #CCCCCC; +$color-gray8: #bfbfbf; +$color-gray9: #bababa; +$color-gray10: #D5D5D5; +$color-gray11: rgba(185, 185, 185, 0.6); +$color-gray12: #989898; +$color-gray13: rgba(146, 146, 146, 0.48); +$color-gray14: #575757; +$color-gray15: #929292; +$color-gray16: #afafaf; +$color-gray17: #868686; $color-blue: #4267b2;