diff --git a/manifest.json b/manifest.json index 9ee3cc5..a2cde0d 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", diff --git a/react/Installment.tsx b/react/Installment.tsx new file mode 100644 index 0000000..76cde17 --- /dev/null +++ b/react/Installment.tsx @@ -0,0 +1,2 @@ +import Installment from "./components/Installment/index"; +export default Installment; diff --git a/react/PixDiscount.tsx b/react/PixDiscount.tsx new file mode 100644 index 0000000..f4e902f --- /dev/null +++ b/react/PixDiscount.tsx @@ -0,0 +1,2 @@ +import PixDiscount from "./components/PixDiscount/index"; +export default PixDiscount; diff --git a/react/Placeholder.tsx b/react/Placeholder.tsx new file mode 100644 index 0000000..53ea3ff --- /dev/null +++ b/react/Placeholder.tsx @@ -0,0 +1,3 @@ +import Placeholder from "./components/Placeholder/index"; + +export default Placeholder; diff --git a/react/components/Html/index.tsx b/react/components/Html/index.tsx index d60d7f5..7319e12 100644 --- a/react/components/Html/index.tsx +++ b/react/components/Html/index.tsx @@ -1,41 +1,53 @@ import React, { ReactNode } from "react"; import { useCssHandles } from "vtex.css-handles"; +import "./style.css"; const CSS_HANDLES = ["html"] as const; type HtmlProps = { - children?: ReactNode, - /** - * Qual tag Html que deseja que seja usar - * - * @default div - */ - tag?: keyof React.ReactHTML - /** - * Classes CSS extras que deseja adicionar. - * Feito para uso de [classes do tachyons](https://tachyons.io/) - */ - tachyonsClasses?: string - /** - * Se caso quiser usar esse componente - * para adicinar um texto simples - */ - text?: string - /** - * Tag ID para - */ - testId?: string -} - -export const Html = ({ children = null, tag = "div", text = "", tachyonsClasses: classes = "", testId }: HtmlProps) => { - const { handles } = useCssHandles(CSS_HANDLES); - - const props = { - className: `${handles.html} ${classes}`, - "data-testid": testId - }; - const Children = <>{children}{text}; - const Element = React.createElement(tag, props, Children); - - return <>{Element}; + children?: ReactNode; + /** + * Qual tag Html que deseja que seja usar + * + * @default div + */ + tag?: keyof React.ReactHTML; + /** + * Classes CSS extras que deseja adicionar. + * Feito para uso de [classes do tachyons](https://tachyons.io/) + */ + tachyonsClasses?: string; + /** + * Se caso quiser usar esse componente + * para adicinar um texto simples + */ + text?: string; + /** + * Tag ID para + */ + testId?: string; +}; + +export const Html = ({ + children = null, + tag = "div", + text = "", + tachyonsClasses: classes = "", + testId, +}: HtmlProps) => { + const { handles } = useCssHandles(CSS_HANDLES); + + const props = { + className: `${handles.html} ${classes}`, + "data-testid": testId, + }; + const Children = ( + <> + {children} + {text} + + ); + const Element = React.createElement(tag, props, Children); + + return <>{Element}; }; diff --git a/react/components/Html/style.css b/react/components/Html/style.css new file mode 100644 index 0000000..6a029ae --- /dev/null +++ b/react/components/Html/style.css @@ -0,0 +1,12 @@ + +[class*="html--product-quantity"] { + height: 100%; +} +[class*="html--buy-button "] { + height: 100%; + width: 100%; +} + +[class*="html--cep"] { + margin: 16px 0; +} diff --git a/react/components/Installment/Installment.module.css b/react/components/Installment/Installment.module.css new file mode 100644 index 0000000..4c896d1 --- /dev/null +++ b/react/components/Installment/Installment.module.css @@ -0,0 +1,15 @@ +.installment-product { + font-family: 'Open Sans', sans-serif; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + margin: 0; + padding: 0; + height: 22px; + color: #929292; +} + +.installment-product__strong { + font-weight: 700; +} diff --git a/react/components/Installment/index.tsx b/react/components/Installment/index.tsx new file mode 100644 index 0000000..9e7f39a --- /dev/null +++ b/react/components/Installment/index.tsx @@ -0,0 +1,33 @@ +import React from "react"; +import { useProduct } from "vtex.product-context"; +import styles from "./Installment.module.css"; + +const Installment = () => { + const skuProduct = useProduct(); + console.log(skuProduct); + + const productInstallment: any = { + numberOfInstallment: + skuProduct?.selectedItem?.sellers[0].commertialOffer.Installments[3] + .NumberOfInstallments, + value: + skuProduct?.selectedItem?.sellers[0].commertialOffer.Installments[3] + .Value, + }; + + return ( +

+ + {productInstallment.numberOfInstallment}x{" "} + + de + + {""} R${" "} + {productInstallment.value?.toFixed(2).toString().replace(".", ",")}{" "} + + sem juros +

+ ); +}; + +export default Installment; diff --git a/react/components/PixDiscount/PixDiscount.module.css b/react/components/PixDiscount/PixDiscount.module.css new file mode 100644 index 0000000..a739a1d --- /dev/null +++ b/react/components/PixDiscount/PixDiscount.module.css @@ -0,0 +1,38 @@ +.pixContainer { + display: flex; + justify-content: flex-start; + align-items: center; + height: 39px; + column-gap: 26px; + margin: 8px 0 16px 0; +} + +.pixContainer__img { + width: 66px; + height: 24px; +} + +.pixContainer__discount { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; +} + +.pixContainer__priceFinal { + font-family: 'Open Sans', sans-serif; + font-style: normal; + font-weight: 700; + font-size: 18px; + line-height: 25px; + color: rgba(0, 0, 0, 0.58); +} + +.pixContainer__discount__value { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-size: 13px; + line-height: 18px; + color: #929292; +} diff --git a/react/components/PixDiscount/index.tsx b/react/components/PixDiscount/index.tsx new file mode 100644 index 0000000..4da239f --- /dev/null +++ b/react/components/PixDiscount/index.tsx @@ -0,0 +1,37 @@ +import React from "react"; +import { useProduct } from "vtex.product-context"; +import styles from "./PixDiscount.module.css"; + +const PixDiscount = () => { + const skuProduct = useProduct(); + const productPrice = { + price: Number( + skuProduct?.selectedItem?.sellers[0]?.commertialOffer?.Price.toFixed(2) + ), + }; + + const discount = productPrice.price * 0.1; + const pixPrice = productPrice.price - discount; + + console.log(pixPrice); + + return ( +
+ Pix +
+ + R$ {pixPrice?.toFixed(2).toString().replace(".", ",")} + + + 10% de desconto + +
+
+ ); +}; + +export default PixDiscount; diff --git a/react/components/Placeholder/index.tsx b/react/components/Placeholder/index.tsx new file mode 100644 index 0000000..fde05cf --- /dev/null +++ b/react/components/Placeholder/index.tsx @@ -0,0 +1,18 @@ +const Placeholder = () => { + if (typeof document !== "undefined") { + const postalCode = document.querySelector(".vtex-address-form-4-x-input"); + + const postalCodeValue = document.querySelector(".postalCode"); + + if (postalCode) { + postalCode.classList.add("postalCode"); + } + if (postalCodeValue) { + postalCodeValue.setAttribute("placeholder", "Digite seu CEP"); + } + } + + return null; +}; + +export default Placeholder; diff --git a/react/index.d.ts b/react/index.d.ts new file mode 100644 index 0000000..c2a312a --- /dev/null +++ b/react/index.d.ts @@ -0,0 +1,2 @@ +declare module "*.module.css"; +declare module "*.svg"; diff --git a/store/blocks/footer/footer.json b/store/blocks/footer/footer.json index c05ac0f..d657b98 100644 --- a/store/blocks/footer/footer.json +++ b/store/blocks/footer/footer.json @@ -7,6 +7,7 @@ }, "footer-layout.desktop": { "children": [ + "flex-layout.row#newsletter", "flex-layout.row#footer-1-desktop", "flex-layout.row#footer-2-desktop", "flex-layout.row#footer-3-desktop" @@ -27,6 +28,21 @@ "paddingBottom": 3 } }, + + "flex-layout.row#newsletter":{ + "children": ["newsletter"], + "props": { + "blockClass": "newsletter__footer" + } + }, + + "newsletter": { + "props": { + "label": "Asssine nossa newsletter", + "placeholder": "Digite seu e-mail" + } + }, + "social-networks": { "props": { "socialNetworks": [ @@ -82,6 +98,7 @@ }, "footer-layout.mobile": { "children": [ + "flex-layout.row#newsletter", "flex-layout.row#1-footer-mobile", "flex-layout.row#2-footer-mobile" ] diff --git a/store/blocks/pdp/product.jsonc b/store/blocks/pdp/product.jsonc index 6a916dc..03d37e3 100644 --- a/store/blocks/pdp/product.jsonc +++ b/store/blocks/pdp/product.jsonc @@ -2,12 +2,14 @@ "store.product": { "children": [ "html#breadcrumb", + "placeholder-component", "condition-layout.product#availability", - "flex-layout.row#description", - "flex-layout.row#specifications-title", - "product-specification-group#table", - "shelf.relatedProducts", - "product-questions-and-answers" + "tab-layout#description", + // "flex-layout.row#specifications-title", + // "product-specification-group#table", + // "shelf.relatedProducts", + "html#slider-block-container" + // "product-questions-and-answers" ] }, "html#breadcrumb": { @@ -18,6 +20,7 @@ }, "children": ["breadcrumb"] }, + "flex-layout.row#specifications-title": { "children": ["rich-text#specifications"] }, @@ -26,12 +29,6 @@ "text": "##### Product Specifications" } }, - "flex-layout.row#description": { - "props": { - "marginBottom": 7 - }, - "children": ["product-description"] - }, "condition-layout.product#availability": { "props": { "conditions": [ @@ -50,7 +47,8 @@ "marginTop": 4, "marginBottom": 7, "paddingTop": 7, - "paddingBottom": 7 + "paddingBottom": 7, + "blockClass": "product__image" }, "children": ["flex-layout.col#stack", "flex-layout.col#right-col"] }, @@ -60,7 +58,7 @@ "blockClass": "product" }, "children": [ - "flex-layout.row#product-image", + "html#flex-layout.row#product-image", "product-bookmark", "product-specification-badges" ] @@ -78,68 +76,108 @@ "flex-layout.col#stack": { "children": ["stack-layout"], "props": { - "width": "60%", + "width": "50%", "rowGap": 0 } }, - "flex-layout.row#product-image": { - "children": ["product-images"] - }, - "product-images": { - "props": { - "aspectRatio": { - "desktop": "auto", - "phone": "16:9" - }, - "displayThumbnailsArrows": true - } - }, "flex-layout.col#right-col": { "props": { "preventVerticalStretch": true, - "rowGap": 0 + "rowGap": 0, + "blockClass": "product-skus" }, "children": [ "flex-layout.row#product-name", - "product-rating-summary", - "flex-layout.row#list-price-savings", - "flex-layout.row#selling-price", - "product-installments", - "product-separator", "product-identifier.product", - "sku-selector", - "product-quantity", - "product-assembly-options", - "product-gifts", - "flex-layout.row#buy-button", + // "product-rating-summary", // avaliações + // "flex-layout.row#list-price-savings", preço com promoção vindo vtex + "flex-layout.row#selling-price", + "installment-component", + "html#pix-component", + // "product-separator", //linha que separa preço de skus + "html#sku-selector", + "flex-layout.row#quantity-and-button", + // "product-assembly-options", + // "product-gifts", + // "flex-layout.row#buy-button", "availability-subscriber", - "shipping-simulator", - "share#default" + "html#shipping-simulator" + // "share#default" //reder social ] }, "flex-layout.row#product-name": { "props": { - "marginBottom": 3 + "blockClass": "product__name" }, "children": ["vtex.store-components:product-name"] }, + "html#sku-selector": { + "props": { + "testId": "sku-selector" + }, + "children": ["sku-selector"] + }, + "sku-selector": { "props": { "variationsSpacing": 3, - "showValueNameForImageVariation": true + "showValueNameForImageVariation": true, + "blockClass": "sku-product" } }, + "html#pix-component": { + "props": { + "tag": "section", + "testId": "pix-price" + }, + "children": ["pix-component"] + }, + + "html#product-quantity": { + "props": { + "blockClass": "product-quantity", + "tag": "section", + "testId": "product-quantity" + }, + "children": ["product-quantity"] + }, + + "html#button-addCart": { + "props": { + "tag": "section", + "testId": "add-to-cart-button", + "blockClass": "buy-button" + }, + "children": ["flex-layout.row#buy-button"] + }, + "flex-layout.row#buy-button": { "props": { - "marginTop": 4, - "marginBottom": 7 + "blockClass": "buy-button", + "width": "100%" }, "children": ["add-to-cart-button"] }, + "flex-layout.row#quantity-and-button": { + "props":{ + "tag": "section", + "blockClass": "quantityButton" + }, + "children": ["html#product-quantity","html#button-addCart"] + }, + + "html#shipping-simulator": { + "props":{ + "blockClass": "cep", + "testId": "shipping-simulator" + }, + "children": ["shipping-simulator"] + }, + "flex-layout.row#product-availability": { "props": { "colGap": 7, @@ -161,8 +199,8 @@ "children": [ "flex-layout.row#product-name", "product-identifier.product", - "sku-selector", - "flex-layout.row#availability" + "flex-layout.row#availability", + "sku-selector" ] }, "flex-layout.row#availability": { diff --git a/store/blocks/pdp/product__carousel.jsonc b/store/blocks/pdp/product__carousel.jsonc new file mode 100644 index 0000000..4b0fae9 --- /dev/null +++ b/store/blocks/pdp/product__carousel.jsonc @@ -0,0 +1,72 @@ +{ + + "html#slider-block-container": { + "children": ["rich-text#slider-block-title", "html#list-context.product-list#slider-block"], + "props": { + "blockClass": "slider-container" + } + }, + + "rich-text#slider-block-title": { + "props": { + "text": "#### Você também pode gostar:", + "blockClass": "slider-title" + } + }, + + "product-summary.shelf#slider-block": { + "children": ["html#product-summary.shelf#slider-block"] + }, + + "html#product-summary.shelf#slider-block": { + "props": { + "testId": "vtex-product-summary", + "blockClass": "slider-product" + }, + "children": [ + "product-summary-image#slider-images", + "product-summary-name", + // "product-summary-space", + "product-summary-price" + ] + }, + + "product-summary-image#slider-images": { + "props": { + "blockClass": "product-summary-image", + "showBadge": false, + "aspectRatio": "1:1" + } + }, + + "list-context.product-list#slider-block": { + "blocks": ["product-summary.shelf#slider-block"], + "children": ["html#slider-layout#products-carousel"] + }, + + "html#list-context.product-list#slider-block": { + "props": { + "testId": "product-summary-list" + }, + "children": ["list-context.product-list#slider-block"] + }, + + "html#slider-layout#products-carousel": { + "props": { + "testId": "product-summary-list" + }, + "children": ["slider-layout#products-carousel"] + }, + + "slider-layout#products-carousel": { + "props":{ + "itemsPerPage": { + "desktop": 4, + "tablet": 3, + "phone": 2 + }, + "infinite": true, + "blockClass": "carousel" + } + } +} diff --git a/store/blocks/pdp/product__description.jsonc b/store/blocks/pdp/product__description.jsonc new file mode 100644 index 0000000..da8141a --- /dev/null +++ b/store/blocks/pdp/product__description.jsonc @@ -0,0 +1,104 @@ +{ + "flex-layout.row#description": { + "props": { + "marginBottom": 7 + }, + "children": ["product-description"] + }, + "product-images#description-content": { + "props": { + "displayMode": "first-image", + "zoomMode": "disabled", + "blockClass": "image-description" + } + }, + "tab-layout#description": { + "children": ["tab-list#description", "tab-content#description"], + "props": { + "blockClass": "description-block", + "defaultActiveTabId": "firstTab" + } + }, + "tab-list#description": { + "children": [ + "tab-list.item#firstTab", + "tab-list.item#secondTab", + "tab-list.item#thirdTab", + "tab-list.item#fourthTab", + "tab-list.item#fifthTab" + ] + }, + "tab-list.item#firstTab": { + "props": { + "tabId": "firstTab", + "label": "Descrição", + "defaultActiveTab": true + } + }, + "tab-list.item#secondTab": { + "props": { + "tabId": "secondTab", + "label": "Descrição" + } + }, + "tab-list.item#thirdTab": { + "props": { + "tabId": "thirdTab", + "label": "Descrição" + } + }, + "tab-list.item#fourthTab": { + "props": { + "tabId": "fourthTab", + "label": "Descrição" + } + }, + "tab-list.item#fifthTab": { + "props": { + "tabId": "fifthTab", + "label": "Descrição" + } + }, + "tab-content#description": { + "children": [ + "tab-content.item#firstTab", + "tab-content.item#secondTab", + "tab-content.item#thirdTab", + "tab-content.item#fourthTab", + "tab-content.item#fifthTab" + ], + "props": { + "blockClass": "description-content" + } + }, + "tab-content.item#firstTab": { + "children": ["product-images#description-content", "product-description"], + "props": { + "tabId": "firstTab" + } + }, + "tab-content.item#secondTab": { + "children": ["product-images#description-content", "product-description"], + "props": { + "tabId": "secondTab" + } + }, + "tab-content.item#thirdTab": { + "children": ["product-images#description-content", "product-description"], + "props": { + "tabId": "thirdTab" + } + }, + "tab-content.item#fourthTab": { + "children": ["product-images#description-content", "product-description"], + "props": { + "tabId": "fourthTab" + } + }, + "tab-content.item#fifthTab": { + "children": ["product-images#description-content", "product-description"], + "props": { + "tabId": "fifthTab" + } + } +} diff --git a/store/blocks/pdp/product__image.jsonc b/store/blocks/pdp/product__image.jsonc new file mode 100644 index 0000000..130c82b --- /dev/null +++ b/store/blocks/pdp/product__image.jsonc @@ -0,0 +1,19 @@ +{ + "html#flex-layout.row#product-image": { + "props":{ + "testId": "product-images" + }, + "children": ["product-images"] + }, + "product-images": { + "props": { + "aspectRatio": { + "desktop": "auto", + "phone": "auto" + }, + "showPaginationDots": false, + "thumbnailsOrientation": "horizontal", + "children": ["product-images"] + } + } +} diff --git a/store/interfaces.json b/store/interfaces.json index c4b2ac4..542ea1e 100644 --- a/store/interfaces.json +++ b/store/interfaces.json @@ -5,5 +5,14 @@ "html": { "component": "html", "composition": "children" + }, + "installment-component": { + "component": "Installment" + }, + "pix-component": { + "component": "PixDiscount" + }, + "placeholder-component":{ + "component": "Placeholder" } } diff --git a/styles/configs/font-faces.css b/styles/configs/font-faces.css new file mode 100644 index 0000000..c5c00b9 --- /dev/null +++ b/styles/configs/font-faces.css @@ -0,0 +1,35 @@ +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 300; + src: local("Open Sans Light"), local("OpenSans-Light"), + url(https://fonts.gstatic.com/s/opensans/v13/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) + format("woff"); +} + +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + src: local("Open Sans"), local("OpenSans"), + url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) + format("woff"); +} + +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 600; + src: local("Open Sans Semibold"), local("OpenSans-Semibold"), + url(https://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) + format("woff"); +} + +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 700; + src: local("Open Sans Bold"), local("OpenSans-Bold"), + url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff) + format("woff"); +} diff --git a/styles/configs/style.json b/styles/configs/style.json index 7b90b6b..f486303 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, sans-serif", "fontWeight": "500", "fontSize": "1.25rem", "textTransform": "uppercase", diff --git a/styles/css/agenciamagma.store-theme.css b/styles/css/agenciamagma.store-theme.css index 5e37ba5..8462e1a 100644 --- a/styles/css/agenciamagma.store-theme.css +++ b/styles/css/agenciamagma.store-theme.css @@ -6,11 +6,12 @@ 1800px + : Big desktop */ /* Media Query M3 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); /* Grid breakpoints */ .html { background-color: red; } .html--pdp-breadcrumb { - background-color: green; + background-color: transparent; } \ 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..ec3c09c --- /dev/null +++ b/styles/css/vtex.breadcrumb.css @@ -0,0 +1,53 @@ +/* +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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ +.container { + padding: 16px 360px; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} +@media (min-width: 1025px) and (max-width: 1920px), (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .container { + padding: 16px 40px; + } +} +.container .link:hover { + color: #929292; +} +.container .homeLink { + vertical-align: baseline; + text-decoration: none; +} +.container .homeLink::after { + content: "Home"; + display: block; +} +.container .homeLink .homeIcon { + display: none; +} +.container .link--1 { + font-size: 0; +} +.container .link--1::after { + content: "Sapatos"; + display: block; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; +} +.container .term { + color: #929292; +} \ No newline at end of file diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index a7c5732..31c1432 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -1,3 +1,14 @@ +@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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ .flexRowContent--menu-link, .flexRowContent--main-header { padding: 0 0.5rem; @@ -9,14 +20,12 @@ padding: 0 1rem; } } - @media screen and (min-width: 80rem) { .flexRowContent--menu-link, .flexRowContent--main-header { padding: 0 0.25rem; } } - .flexRowContent--menu-link { background-color: #03044e; color: #fff; @@ -96,3 +105,370 @@ .flexRow--addToCartRow { padding-bottom: 1rem; } + +.flexRowContent--product__image { + padding: 0; + margin: 0; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRowContent--product__image { + flex-direction: column; + } +} +.flexRowContent--product__image .stretchChildrenWidth:first-child { + padding-right: 16px; + margin-right: 16px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRowContent--product__image .stretchChildrenWidth:first-child { + padding: 0; + margin: 0; + } +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRowContent--product__image .stretchChildrenWidth { + width: 100% !important; + padding-right: 0; + } +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRowContent--product__image .stretchChildrenWidth .flexCol--product-skus { + margin-top: 32px; + } +} +.flexRowContent--product__image .stretchChildrenWidth .flexColChild--product-skus .flexRow .flexRowContent { + margin: 0; +} + +.flexRow--product__name, .flexRowContent--product__name { + height: 34px; +} + +.flexRowContent--product__name .stretchChildrenWidth { + width: 100% !important; + height: 34px; + padding: 0 !important; + margin: 0 0 8px 0 !important; +} + +.flexRow--quantityButton { + display: flex; + align-items: center; + column-gap: 10px; + height: 49px; +} +@media (min-width: 280px) and (max-width: 768px) { + .flexRow--quantityButton { + flex-direction: column !important; + align-items: flex-start !important; + row-gap: 10px; + height: auto; + } +} +.flexRow--quantityButton .flexRowContent--quantityButton .stretchChildrenWidth { + width: 100% !important; +} +.flexRow--quantityButton .flexRowContent--quantityButton .stretchChildrenWidth:first-child { + width: 128px !important; + padding: 0; + margin: 0 10px 0 0; +} +.flexRow--quantityButton .flexRow--buy-button .flexRowContent--buy-button .stretchChildrenWidth { + width: 100% !important; + padding: 0; + margin: 0; + height: 49px; +} +.flexRow--quantityButton .flexRow--buy-button .flexRowContent--buy-button .stretchChildrenWidth :global(.vtex-button) { + background: #000; + border-radius: 0; + border: none; +} +.flexRow--quantityButton .flexRow--buy-button .flexRowContent--buy-button .stretchChildrenWidth :global(.vtex-add-to-cart-button-0-x-buttonText) { + font-size: 0; +} +.flexRow--quantityButton .flexRow--buy-button .flexRowContent--buy-button .stretchChildrenWidth :global(.vtex-add-to-cart-button-0-x-buttonText)::after { + content: "ADICIONAR À SACOLA"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #fff; +} + +.flexRow--cep { + margin: 16px 0; + width: 409px; +} +@media (min-width: 280px) and (max-width: 768px) { + .flexRow--cep { + width: 100%; + } +} +.flexRow--cep .flexRowContent--cep .stretchChildrenWidth { + padding: 0; + margin: 0; +} + +.flexColChild--info-availability .flexRow--message-availability { + width: 57.74%; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexColChild--info-availability .flexRow--message-availability { + width: 100%; + } +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-title) { + font-size: 0; + margin: 0; + padding: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-title)::after { + content: "Produto indisponível"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; + color: #868686; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-subscribeLabel) { + margin: 0; + padding: 0; + font-size: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-subscribeLabel)::after { + content: "Deseja saber quando estiver disponível?"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #868686; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) { + margin: 16px 0 0 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) { + width: 100%; + margin: 0; + display: grid; + grid-template-areas: "A B" "C C"; + max-width: unset !important; + grid-template-columns: 49% 49%; + column-gap: 8px; + row-gap: 16px; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-input__error) { + position: absolute; + margin: 0; + padding: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-input-prefix__group) { + border-radius: 0; + border: none; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-inputName) { + grid-area: A; + margin: 0; + padding: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-inputEmail) { + grid-area: B; + margin: 0; + padding: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-styleguide-9-x-input) { + height: 40px; + display: flex; + align-items: flex-start; + justify-content: flex-start; + padding: 0 0 0 14px; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + color: #292929; + border: 1px solid #989898; + border-radius: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-styleguide-9-x-input)::placeholder { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + color: #989898; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-submit) { + grid-area: C; + margin: 0; + padding: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-button) { + width: 100%; + height: 49px; + display: flex; + justify-content: center; + align-items: center; + background: #000; + cursor: pointer; + font-size: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-button) :global(.vtex-button__label) { + padding: 0; +} +.flexColChild--info-availability .flexRow--message-availability :global(.vtex-store-components-3-x-form) :global(.vtex-button) :global(.vtex-button__label)::after { + content: "AVISE-ME"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 25px; + color: #fff; +} + +.flexRow--newsletter__footer { + height: 175px; +} +.flexRow--newsletter__footer :global(.vtex-store-components-3-x-container) { + padding: 0; + margin: 0; +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer { + padding: 32px 0 16px 0; + width: 100%; + background: #000; + display: flex; + align-items: center; + justify-content: center; + border-bottom: 1px solid #fff; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRow--newsletter__footer .flexRowContent--newsletter__footer { + border-bottom: none; + } +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth { + width: 774px !important; + height: 127px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth { + width: 100% !important; + height: auto; + } +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-store-components-3-x-label) { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 38px; + color: #fff; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + gap: 16px; + margin-bottom: 16px; +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-store-components-3-x-label)::after { + content: "Receba ofertas e novidades por e-mail"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #929292; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-store-components-3-x-label)::after { + font-size: 16px; + line-height: 22px; + } +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-store-components-3-x-form) { + max-width: 774px; +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-store-components-3-x-inputGroup) { + padding: 0; + margin: 0; + display: flex; + align-items: center; +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-input) { + width: 690px; + height: 32px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-input) { + width: calc(100% - 84px); + } +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-input) :global(.vtex-input-prefix__group) { + border: none; + height: 32px; +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-input) :global(.vtex-styleguide-9-x-input) { + background: transparent; + border: none; + border-bottom: 1px solid #929292; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #929292; + padding: 0; + height: 32px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-input) :global(.vtex-styleguide-9-x-input) { + padding-left: 20px; + font-size: 12px; + line-height: 16px; + } +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-input) :global(.vtex-styleguide-9-x-input)::placeholder { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #929292; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-input) :global(.vtex-styleguide-9-x-input)::placeholder { + padding-left: 20px; + font-size: 12px; + line-height: 16px; + } +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-store-components-3-x-buttonContainer) { + padding: 0; + margin: 0; + width: 84px; +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-store-components-3-x-buttonContainer) :global(.vtex-button) { + padding: 0; + border: none; + background: transparent; + height: 32px; + width: 100%; +} +.flexRow--newsletter__footer .flexRowContent--newsletter__footer .stretchChildrenWidth :global(.vtex-store-components-3-x-buttonContainer) :global(.vtex-button) :global(.vtex-button__label) { + background: transparent; + border: none; + border-bottom: 3px solid #BFBFBF; + cursor: pointer; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; + color: #fff; + height: 32px; +} \ No newline at end of file diff --git a/styles/css/vtex.product-identifier.css b/styles/css/vtex.product-identifier.css index e3aa6d5..ea97e52 100644 --- a/styles/css/vtex.product-identifier.css +++ b/styles/css/vtex.product-identifier.css @@ -1,3 +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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ .product-identifier--productReference { - margin-bottom: 1rem; + display: flex; + align-items: center; + justify-content: end; + margin-bottom: 16px; } +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .product-identifier--productReference { + justify-content: flex-start; + } +} +.product-identifier--productReference .product-identifier__label, .product-identifier--productReference .product-identifier__separator { + display: none; +} +.product-identifier--productReference .product-identifier__value { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: rgba(146, 146, 146, 0.48); +} \ No newline at end of file diff --git a/styles/css/vtex.product-price.css b/styles/css/vtex.product-price.css index 95f4cfe..45edad4 100644 --- a/styles/css/vtex.product-price.css +++ b/styles/css/vtex.product-price.css @@ -1,79 +1,17 @@ -.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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ .sellingPrice { - color: #3f3f40; - font-size: 1.25rem; -} - -.sellingPriceValue { - font-size: 2.25rem; + font-family: "Open Sans", sans-serif; font-weight: 700; -} - -.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; -} + font-size: 25px; + line-height: 38px; + color: #000; +} \ 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..2db1ba7 --- /dev/null +++ b/styles/css/vtex.product-quantity.css @@ -0,0 +1,59 @@ +/* +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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ +.quantitySelectorContainer { + margin: 0; + padding: 0; +} +.quantitySelectorContainer .quantitySelectorTitle { + display: none; +} +.quantitySelectorContainer .quantitySelectorStepper { + height: 49px; + width: 128px; +} +@media (min-width: 280px) and (max-width: 768px) { + .quantitySelectorContainer .quantitySelectorStepper { + margin-bottom: 10px; + } +} +.quantitySelectorContainer .quantitySelectorStepper :global(.vtex-numeric-stepper-container) { + border: 1px solid #CCCCCC; + height: 49px; + width: 100%; + padding: 13.5px 16px; + display: flex; + justify-content: space-between; + align-items: center; +} +.quantitySelectorContainer .quantitySelectorStepper :global(.vtex-numeric-stepper__input) { + height: 100%; + border: none; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + text-align: center; + color: #929292; +} +.quantitySelectorContainer .quantitySelectorStepper :global(.vtex-numeric-stepper__plus-button), .quantitySelectorContainer .quantitySelectorStepper :global(.vtex-numeric-stepper__minus-button) { + border: none; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + text-align: center; + color: #000; + height: 100%; + background: transparent; + width: auto !important; +} \ No newline at end of file diff --git a/styles/css/vtex.product-summary.css b/styles/css/vtex.product-summary.css index 0a6e420..d3abedc 100644 --- a/styles/css/vtex.product-summary.css +++ b/styles/css/vtex.product-summary.css @@ -1,42 +1,144 @@ -.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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ +.containerNormal { + max-width: 100% !important; + border-radius: 0; } - -.container :global(.vtex-modal-layout-0-x-triggerContainer) { - opacity: 0; - transition: opacity 200ms ease-in-out; +.containerNormal .clearLink .element { + height: 100%; + padding: 0; } - -.container:hover :global(.vtex-modal-layout-0-x-triggerContainer) { - opacity: 1; +.containerNormal .clearLink .element .imageContainer { + width: 100%; + padding: 0; + margin: 0; } - -@media screen and (max-width: 40em) { - .container :global(.vtex-modal-layout-0-x-triggerContainer) { - display: none; +.containerNormal .clearLink .element .nameContainer { + margin: 16px 0 8px 0; + padding: 0; +} +.containerNormal .clearLink .element .nameContainer .brandName { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + text-align: center; + color: #000; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .containerNormal .clearLink .element .nameContainer .brandName { + font-size: 14px; + line-height: 19px; } } - -.nameContainer { - justify-content: start; - padding-top: 1rem; - padding-bottom: 1rem; +.containerNormal .clearLink .element .priceContainer { + padding: 0; + margin: 0; } - -.brandName { - font-weight: 600; - font-size: 18px; - color: #2E2E2E; +.containerNormal .clearLink .element .priceContainer .listPriceContainer { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + text-align: center; + text-decoration-line: line-through; + color: #BABABA; + padding: 0; + margin-bottom: 8px; } - -.container { - text-align: start; +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .containerNormal .clearLink .element .priceContainer .listPriceContainer { + font-size: 12px; + line-height: 15px; + } } - -.imageContainer { +.containerNormal .clearLink .element .priceContainer .listPriceContainer .listPriceLabel { + display: none; +} +.containerNormal .clearLink .element .priceContainer .listPriceContainer .currencyContainer { + font-size: 14px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .containerNormal .clearLink .element .priceContainer .listPriceContainer .currencyContainer { + font-size: 12px; + line-height: 16px; + } +} +.containerNormal .clearLink .element .priceContainer .listPriceContainer .currencyContainer::before { + content: "de "; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; text-align: center; } - -.image { - border-radius: 0.25rem; +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .containerNormal .clearLink .element .priceContainer .listPriceContainer .currencyContainer::before { + font-size: 12px; + line-height: 15px; + } } +.containerNormal .clearLink .element .priceContainer .listPriceContainer .currencyContainer::after { + content: " por"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + text-align: center; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .containerNormal .clearLink .element .priceContainer .listPriceContainer .currencyContainer::after { + font-size: 12px; + line-height: 15px; + } +} +.containerNormal .clearLink .element .priceContainer .sellingPriceContainer { + padding: 0; + margin: 0; + height: 33px; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 700; + font-size: 24px; + line-height: 33px; + text-align: center; + color: #000; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .containerNormal .clearLink .element .priceContainer .sellingPriceContainer { + font-size: 18px; + line-height: 25px; + } +} +.containerNormal .clearLink .element .priceContainer .sellingPriceContainer .currencyContainer { + font-size: 24px; + line-height: 33px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .containerNormal .clearLink .element .priceContainer .sellingPriceContainer .currencyContainer { + font-size: 18px; + line-height: 25px; + } +} +.containerNormal .clearLink .element .priceContainer .sellingPriceContainer .sellingPriceLabel { + display: none; +} +.containerNormal .clearLink .element .priceContainer .sellingPriceContainer .sellingPriceValue { + padding: 0; + margin: 0; +} +.containerNormal .clearLink .element .priceContainer .installmentContainer { + display: none; +} \ No newline at end of file diff --git a/styles/css/vtex.rich-text.css b/styles/css/vtex.rich-text.css index 34c4328..0328d84 100644 --- a/styles/css/vtex.rich-text.css +++ b/styles/css/vtex.rich-text.css @@ -6,4 +6,39 @@ 1800px + : Big desktop */ /* Media Query M3 */ -/* Grid breakpoints */ \ No newline at end of file +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ +.container--slider-title { + height: 38px; +} + +.wrapper--slider-title { + width: 100%; + height: 38px; + padding: 16px 360px; + margin: 0; + max-width: 100%; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 32px; +} +@media (min-width: 1025px) and (max-width: 1920px), (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .wrapper--slider-title { + padding: 16px 40px; + } +} +.wrapper--slider-title .headingLevel4--slider-title { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 38px; + text-align: center; + color: #575757; +} +@media (min-width: 280px) and (max-width: 768px) { + .wrapper--slider-title .headingLevel4--slider-title { + font-size: 20px; + } +} \ No newline at end of file diff --git a/styles/css/vtex.slider-layout.css b/styles/css/vtex.slider-layout.css index 55f431f..ff11d17 100644 --- a/styles/css/vtex.slider-layout.css +++ b/styles/css/vtex.slider-layout.css @@ -1,31 +1,116 @@ -.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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ .sliderLayoutContainer--carousel { - background-color: #F0F0F0; - min-height: 450px; + background: unset; + width: 71.87%; + margin: 0 auto 64px; + padding-top: 16px; } - -.sliderTrackContainer { - max-width: 100%; +@media (min-width: 769px) and (max-width: 1024px) { + .sliderLayoutContainer--carousel { + min-height: 306px; + width: 92.18%; + } } - -.paginationDotsContainer { - margin-top: .5rem; - margin-bottom: .5rem; +@media (min-width: 280px) and (max-width: 768px) { + .sliderLayoutContainer--carousel { + width: 78.93%; + min-height: 306px; + } } - -.layoutContainer--shelf { - margin-top: 20px; - margin-bottom: 20px; - max-width: 96rem; - min-height: 550px; +.sliderLayoutContainer--carousel .sliderTrackContainer--carousel { + width: 96%; + margin: 0 auto; } - -.slide--shelf { - margin-bottom: 25px; - padding-left: .5rem; - padding-right: .5rem; - min-height: 550px; +@media (min-width: 769px) and (max-width: 1024px) { + .sliderLayoutContainer--carousel .sliderTrackContainer--carousel { + width: 95%; + } } +@media (min-width: 280px) and (max-width: 768px) { + .sliderLayoutContainer--carousel .sliderTrackContainer--carousel { + width: 87.03%; + } +} +.sliderLayoutContainer--carousel .sliderTrackContainer--carousel .sliderTrack { + column-gap: 16px; +} +@media (min-width: 769px) and (max-width: 1024px) { + .sliderLayoutContainer--carousel .sliderTrackContainer--carousel .sliderTrack { + column-gap: 12px; + } +} +@media (min-width: 280px) and (max-width: 768px) { + .sliderLayoutContainer--carousel .sliderTrackContainer--carousel .sliderTrack { + column-gap: 8px; + } +} +.sliderLayoutContainer--carousel .sliderTrackContainer--carousel .sliderTrack .slide--carousel { + min-height: 543.4px; +} +@media (min-width: 1025px) and (max-width: 1920px) { + .sliderLayoutContainer--carousel .sliderTrackContainer--carousel .sliderTrack .slide--carousel { + min-height: 448px; + } +} +@media (min-width: 769px) and (max-width: 1024px) { + .sliderLayoutContainer--carousel .sliderTrackContainer--carousel .sliderTrack .slide--carousel { + min-height: 402.2px; + } +} +@media (min-width: 280px) and (max-width: 768px) { + .sliderLayoutContainer--carousel .sliderTrackContainer--carousel .sliderTrack .slide--carousel { + min-height: 254.8px; + } +} +.sliderLayoutContainer--carousel .sliderLeftArrow--carousel { + background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-left-nicolly.svg") !important; + background-repeat: no-repeat; + width: 11.2px; + height: 29.6px; +} +.sliderLayoutContainer--carousel .sliderLeftArrow--carousel .caretIcon--carousel { + display: none; +} +.sliderLayoutContainer--carousel .sliderRightArrow--carousel { + background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-right-nicolly.svg") !important; + width: 11.2px; + height: 29.6px; +} +.sliderLayoutContainer--carousel .sliderRightArrow--carousel .caretIcon--carousel { + display: none; +} +.sliderLayoutContainer--carousel .paginationDotsContainer--carousel { + display: flex; + align-items: center; + justify-content: center; + top: 100%; + column-gap: 12px; + margin-top: 32px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .sliderLayoutContainer--carousel .paginationDotsContainer--carousel { + margin-top: 16px; + } +} +.sliderLayoutContainer--carousel .paginationDotsContainer--carousel .paginationDot--carousel { + background-color: #000; + width: 10px; + height: 10px; + margin: 0; + padding: 0; +} +.sliderLayoutContainer--carousel .paginationDotsContainer--carousel .paginationDot--carousel--isActive { + width: 17px !important; + height: 17px !important; + background-color: #fff; + border: 0.5px solid #000; +} \ No newline at end of file diff --git a/styles/css/vtex.stack-layout.css b/styles/css/vtex.stack-layout.css index 7149eb7..53dadfd 100644 --- a/styles/css/vtex.stack-layout.css +++ b/styles/css/vtex.stack-layout.css @@ -1,10 +1,20 @@ +/* +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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ .stackItem--product { width: 100%; - min-height: 257px + min-height: none; } .stackItem--quickview { right: 0; top: 0; left: auto; -} +} \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index f8fa6cb..d7a4321 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -6,7 +6,442 @@ 1800px + : Big desktop */ /* Media Query M3 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); /* Grid breakpoints */ -.newsletter { - background: red; +.container { + padding: 16px 360px; + margin: 0; + max-width: 100%; +} +@media (min-width: 1025px) and (max-width: 1920px), (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .container { + padding: 16px 40px; + } +} + +.swiperCaretNext, .swiperCaretPrev { + display: none; +} + +.carouselGaleryCursor { + cursor: initial; +} + +.productImageTag--main, .videoContainer { + object-fit: unset !important; + max-height: 904px !important; + cursor: url(https://agenciamagma.vtexassets.com/_v/public/assets/v1/published/vtex.store-components@3.164.0/public/react/91618bbaeb77d5f5b0173112a38a893e.svg) 8 8, default; +} +@media (min-width: 1025px) and (max-width: 1920px) { + .productImageTag--main, .videoContainer { + max-height: 664px !important; + } +} +@media (min-width: 769px) and (max-width: 1024px) { + .productImageTag--main, .videoContainer { + max-height: 944px !important; + } +} +@media (min-width: 280px) and (max-width: 768px) { + .productImageTag--main, .videoContainer { + max-height: 296px !important; + } +} + +.carouselGaleryThumbs { + margin-top: 0; +} +@media (min-width: 280px) and (max-width: 768px), (min-width: 769px) and (max-width: 1024px) { + .carouselGaleryThumbs { + display: block !important; + } +} +.carouselGaleryThumbs .productImagesThumb { + width: 90px !important; + height: 90px !important; + margin: 16px 16px 0 0; + border-radius: 8px; + max-width: calc(100% - 16px); +} +.carouselGaleryThumbs .productImagesThumb .figure, .carouselGaleryThumbs .productImagesThumb .thumbImg { + width: 100%; + height: 100%; + border-radius: 8px; +} + +.productNameContainer--quickview { + display: flex; + justify-content: end; + align-items: center; + font-family: "Open Sans", sans-serif; + padding: 0; + font-style: normal; + font-weight: 300; + font-size: 20px; + line-height: 34px; + color: #575757; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .productNameContainer--quickview { + justify-content: flex-start; + } +} + +.skuSelectorContainer--sku-product { + display: flex; + flex-direction: column-reverse; + margin-bottom: 16px; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer { + margin: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorTextContainer { + margin-bottom: 8px; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorName { + font-size: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorName::after { + content: "OUTROS TAMANHOS"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList { + column-gap: 16px; + margin: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem { + display: flex; + align-items: center; + justify-content: center; + border: 1px solid #989898; + box-sizing: border-box; + border-radius: 50%; + width: 40px; + height: 40px; + margin: 0; + padding: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .frameAround--sku-product { + border-color: #000; + border-width: 2px; + border-radius: 24px; + top: 0; + bottom: 0; + right: 0; + left: 0; + z-index: 5; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox { + border: none; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox .diagonalCross--sku-product { + transform: rotate(45deg); + border-radius: 24px; + background: #D5D5D5; + width: 1px; + height: 100%; + margin: 0 auto; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorItemTextValue { + padding: 0; + margin: 0 auto; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: rgba(185, 185, 185, 0.6); +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem--selected .skuSelectorItemTextValue { + color: #000; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer { + margin: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorSelectorImageValue { + display: none; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorTextContainer { + margin-bottom: 8px; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorName { + font-size: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorName::after { + content: "OUTRAS CORES"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList { + column-gap: 16px; + margin: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem { + display: flex; + align-items: center; + justify-content: center; + border: 1px solid #989898; + border-radius: 24px; + width: 48px; + height: 48px; + margin: 0; + padding: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .frameAround--sku-product { + border-color: #000; + border-width: 2px; + border-radius: 24px; + width: 48px; + height: 48px; + top: 0; + bottom: 0; + right: 0; + left: 0; + z-index: 5; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox { + border: none; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox .diagonalCross--sku-product { + transform: rotate(45deg); + border-radius: 24px; + background: #D5D5D5; + width: 1px; + height: 100%; + margin: 0 auto; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox .valueWrapper--unavailable { + border: 1px solid #989898; + border-radius: 24px; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox .valueWrapper--unavailable .skuSelectorItemImageValue { + height: 48px; + width: 48px; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .valueWrapper--sku-product { + height: 48px; + width: 48px; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .valueWrapper--sku-product .skuSelectorItemImageValue { + border-radius: 24px; + padding: 0; +} +.skuSelectorContainer--sku-product .skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem--selected .skuSelectorItemTextValue { + color: #000; +} + +.shippingContainer { + display: flex; + align-items: flex-end; + width: 409px; + position: relative; +} +@media (min-width: 280px) and (max-width: 768px) { + .shippingContainer { + width: 296px; + } +} +.shippingContainer :global(.vtex-input__label) { + font-size: 0; + margin-bottom: 8px; +} +.shippingContainer :global(.vtex-input__label)::after { + content: "CALCULAR FRETE:"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} +.shippingContainer :global(.vtex-address-form__postalCode) { + padding: 0; +} +.shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-input__error) { + position: absolute; +} +.shippingContainer :global(.vtex-input-prefix__group) { + width: 250px; + height: 49px; + border: none; + border-radius: 0; +} +.shippingContainer :global(.vtex-address-form-4-x-input) { + width: 250px; + height: 49px; + padding: 16px; + border: 1px solid #CCC; + border-radius: 0; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + display: flex; + align-items: center; + color: #AFAFAF; +} +@media (max-width: 360) and (min-width: 280px) { + .shippingContainer :global(.vtex-address-form-4-x-input) { + width: 100px; + } +} +.shippingContainer :global(.vtex-input__suffix) { + display: none; +} +.shippingContainer :global(.vtex-button) { + background-color: #000; + border: none; + border-radius: 0; + width: 49px; + height: 49px; +} +.shippingContainer :global(.vtex-button__label) { + font-size: 0; +} +.shippingContainer :global(.vtex-button__label)::after { + content: "OK"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 600; + font-size: 14px; + line-height: 19px; + color: #fff; +} +.shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) { + position: absolute; + left: 312px; + bottom: 18px; + padding: 0; +} +@media (min-width: 280px) and (max-width: 768px) { + .shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) { + left: 200px; + bottom: -24px; + } +} +.shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) :last-child { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + display: flex; + align-items: center; + text-decoration-line: underline; + color: #000; + padding: 0; + margin: 0; +} +.shippingContainer :global(.vtex-address-form__postalCode-forgottenURL) :global(.vtex__icon-external-link) { + display: none; +} + +.shippingTable { + border: none; + padding: 0; + margin: 16px 0 0; + width: 326px; +} +@media (min-width: 280px) and (max-width: 768px) { + .shippingTable { + width: 100%; + margin: 32px 0 0; + } +} +.shippingTable .shippingTableHead { + display: block; +} +.shippingTable .shippingTableHead .shippingTableRow { + display: grid; + grid-template-columns: repeat(3, 33.3%); + grid-template-areas: "entrega frete prazo"; +} +@media (min-width: 280px) and (max-width: 768px) { + .shippingTable .shippingTableHead .shippingTableRow { + grid-template-columns: 30% 18% 39%; + } +} +.shippingTable .shippingTableHead .shippingTableRow .shippingTableHeadDeliveryName, +.shippingTable .shippingTableHead .shippingTableRow .shippingTableHeadDeliveryEstimate, +.shippingTable .shippingTableHead .shippingTableRow .shippingTableHeadDeliveryPrice { + padding: 0; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #202020; + text-transform: uppercase; +} +.shippingTable .shippingTableHead .shippingTableRow .shippingTableHeadDeliveryName { + text-align: left; + grid-area: entrega; +} +.shippingTable .shippingTableHead .shippingTableRow .shippingTableHeadDeliveryPrice { + text-align: center; + grid-area: frete; + font-size: 0; +} +.shippingTable .shippingTableHead .shippingTableRow .shippingTableHeadDeliveryPrice::after { + content: "FRETE"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #202020; +} +.shippingTable .shippingTableHead .shippingTableRow .shippingTableHeadDeliveryEstimate { + text-align: right; + grid-area: prazo; +} +.shippingTable .shippingTableBody .shippingTableRow { + display: grid; + grid-template-columns: repeat(3, 33.3%); + grid-template-areas: "entrega valor prazo"; + column-gap: 32px; + margin-top: 15px; +} +@media (min-width: 280px) and (max-width: 768px) { + .shippingTable .shippingTableBody .shippingTableRow { + grid-template-columns: 30% 18% 39%; + column-gap: 16px; + } +} +.shippingTable .shippingTableBody .shippingTableRow .shippingTableCellDeliveryName { + grid-area: entrega; +} +.shippingTable .shippingTableBody .shippingTableRow .shippingTableCellDeliveryEstimate { + white-space: nowrap; + grid-area: prazo; +} +.shippingTable .shippingTableBody .shippingTableRow .shippingTableCellDeliveryPrice { + grid-area: valor; +} +.shippingTable .shippingTableBody .shippingTableRow .shippingTableCell { + padding: 0; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + display: flex; + align-items: center; + color: #AFAFAF; +} +.shippingTable .shippingTableBody .shippingTableRow .shippingTableLabel .shippingTableRadioBtn { + display: none; } \ No newline at end of file diff --git a/styles/css/vtex.store-footer.css b/styles/css/vtex.store-footer.css index 1fd6bb3..a3616bc 100644 --- a/styles/css/vtex.store-footer.css +++ b/styles/css/vtex.store-footer.css @@ -1,11 +1,13 @@ -.row--menu-row { - padding-right: 24px; -} - -.row--menu-row .rowContainer { - align-items: flex-start; -} - -.row--payment-methods { - padding-top: 16px; -} +/* +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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ +.footerLayout { + background: #000; +} \ 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..22f737d --- /dev/null +++ b/styles/css/vtex.tab-layout.css @@ -0,0 +1,193 @@ +/* +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 */ +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap"); +/* Grid breakpoints */ +.container--description-block { + padding: 0 360px 16px 360px; + margin: 0; + max-width: 100%; +} +@media (min-width: 1025px) and (max-width: 1920px), (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .container--description-block { + padding: 0 40px 16px 40px; + } +} +.container--description-block .listContainer { + display: flex; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid #B9B9B9; + height: 38px; + margin-bottom: 32px; + padding: 0 64px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .container--description-block .listContainer { + flex-direction: column; + row-gap: 16px; + border-top: 1px solid #B9B9B9; + border-bottom: 1px solid #B9B9B9; + height: auto; + padding: 16px 0; + align-items: flex-start; + margin-bottom: 16px; + } +} +.container--description-block .listContainer .listItem { + height: 38px; + display: flex; + align-items: center; + justify-content: center; + padding: 0; + margin: 0; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .container--description-block .listContainer .listItem { + width: 100%; + } +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .container--description-block .listContainer .listItem :global(.vtex-button) { + width: 100%; + } +} +.container--description-block .listContainer .listItem :global(.vtex-button__label) { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 38px; + color: #BFBFBF; + padding: 0 16px !important; +} +@media (min-width: 1025px) and (max-width: 1920px) { + .container--description-block .listContainer .listItem :global(.vtex-button__label) { + font-size: 18px; + } +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .container--description-block .listContainer .listItem :global(.vtex-button__label) { + font-size: 18px; + padding: 0 !important; + justify-content: flex-start; + } +} +.container--description-block .listContainer .listItem :global(.vtex-button) { + background: transparent; + border: none; +} +.container--description-block .listContainer .listItemActive { + border-bottom: 2px solid #000; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .container--description-block .listContainer .listItemActive { + border: none; + } +} +.container--description-block .listContainer .listItemActive :global(.vtex-button__label) { + color: #000; +} +.container--description-block .contentContainer--description { + display: flex; + align-items: flex-start; + justify-content: space-evenly; + gap: 32px; +} + +.contentContainer--description-content { + padding: 0 32px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .contentContainer--description-content { + padding: 0 0 16px; + border-bottom: 1px solid #BFBFBF; + } +} +.contentContainer--description-content .contentItem { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 32px; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .contentContainer--description-content .contentItem { + flex-direction: column; + gap: 16px; + } +} +.contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productImagesContainer--image-description) { + width: 50%; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productImagesContainer--image-description) { + width: 100%; + } +} +.contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) { + width: 50%; +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) { + width: 100%; + } +} +.contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-productDescriptionTitle) { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 32px; + line-height: 32px; + color: #575757; + margin-bottom: 16px; +} +@media (min-width: 1025px) and (max-width: 1920px) { + .contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-productDescriptionTitle) { + font-size: 24px; + } +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-productDescriptionTitle) { + font-size: 20px; + } +} +.contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-container) { + display: flex; + align-items: flex-start; + flex-direction: column; + gap: 16px; + padding: 0; +} +.contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-container) :global(.vtex-store-components-3-x-content) { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #929292; +} +@media (min-width: 1025px) and (max-width: 1920px) { + .contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-container) :global(.vtex-store-components-3-x-content) { + font-size: 16px; + line-height: 22px; + } +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-container) :global(.vtex-store-components-3-x-content) { + font-size: 14px; + line-height: 19px; + } +} +@media (min-width: 769px) and (max-width: 1024px), (min-width: 280px) and (max-width: 768px) { + .contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-container) :global(.vtex-store-components-3-x-fadeBottom) { + background-image: none; + } +} +.contentContainer--description-content .contentItem :global(.vtex-store-components-3-x-productDescriptionContainer) :global(.vtex-store-components-3-x-container) :global(.vtex-store-components-3-x-showMoreButton) { + display: none; +} \ No newline at end of file diff --git a/styles/sass/pages/product/BreadCrumb/vtex.breadcrumb.scss b/styles/sass/pages/product/BreadCrumb/vtex.breadcrumb.scss new file mode 100644 index 0000000..6bd6f7b --- /dev/null +++ b/styles/sass/pages/product/BreadCrumb/vtex.breadcrumb.scss @@ -0,0 +1,50 @@ +.container { + padding:16px 360px; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray6; + + + @media #{$mq-desktop}, #{$mq-tablet}, #{$mq-mobile} { + padding: 16px 40px; + } + + .link:hover { + color: $color-gray6; + } + .homeLink { + vertical-align: baseline; + text-decoration: none; + + + &::after { + content: 'Home'; + display: block; + } + + .homeIcon { + display: none; + } + } + + .link--1 { + font-size: 0; + + &::after { + content: 'Sapatos'; + display: block; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + } + } + + .term { + color: $color-gray6; + } +} diff --git a/styles/sass/pages/product/agenciamagma.store-theme.scss b/styles/sass/pages/product/agenciamagma.store-theme.scss index ea7d5b9..463614b 100644 --- a/styles/sass/pages/product/agenciamagma.store-theme.scss +++ b/styles/sass/pages/product/agenciamagma.store-theme.scss @@ -3,6 +3,8 @@ } .html--pdp-breadcrumb { - background-color: green; + background-color: transparent; } + + diff --git a/styles/sass/pages/product/vtex.rich-text.scss b/styles/sass/pages/product/vtex.rich-text.scss deleted file mode 100644 index e69de29..0000000 diff --git a/styles/sass/pages/product/vtex.store-components.scss b/styles/sass/pages/product/vtex.store-components.scss deleted file mode 100644 index 36d0f22..0000000 --- a/styles/sass/pages/product/vtex.store-components.scss +++ /dev/null @@ -1,3 +0,0 @@ -.newsletter{ - background: red; -} \ No newline at end of file diff --git a/styles/sass/pages/product/vtexComponents/vtex.store-components.scss b/styles/sass/pages/product/vtexComponents/vtex.store-components.scss new file mode 100644 index 0000000..0991708 --- /dev/null +++ b/styles/sass/pages/product/vtexComponents/vtex.store-components.scss @@ -0,0 +1,489 @@ + +.container { + padding:16px 360px; + margin: 0; + max-width: 100%; + + @media #{$mq-desktop}, #{$mq-tablet}, #{$mq-mobile} { + padding: 16px 40px; + } +} + +.swiperCaretNext, .swiperCaretPrev { + display: none; +} +.carouselGaleryCursor { + cursor: initial; +} + +.productImageTag--main, .videoContainer { + object-fit: unset !important; + max-height: 904px !important; + cursor: url(https://agenciamagma.vtexassets.com/_v/public/assets/v1/published/vtex.store-components@3.164.0/public/react/91618bbaeb77d5f5b0173112a38a893e.svg) 8 8, default; + + @media #{$mq-desktop} { + max-height: 664px !important; + } + + @media #{$mq-tablet} { + max-height: 944px !important; + } + + @media #{$mq-mobile} { + max-height: 296px !important; + } + +} +.carouselGaleryThumbs { + margin-top: 0; + + @media #{$mq-mobile}, #{$mq-tablet} { + display: block !important; + } + + .productImagesThumb { + width: 90px !important; + height: 90px !important; + margin: 16px 16px 0 0; + border-radius: 8px; + max-width: calc(100% - 16px); + + .figure, .thumbImg{ + width: 100%; + height: 100%; + border-radius: 8px; + } + } +} + +.productNameContainer--quickview { + display: flex; + justify-content: end; + align-items: center; + font-family: $font-family; + padding: 0; + // margin: 0 0 8px 0; + font-style: normal; + font-weight: 300; + font-size: 20px; + line-height: 34px; + color: $color-gray7; + + @media #{$mq-tablet}, #{$mq-mobile} { + justify-content: flex-start; + // margin-top: 32px; + } +} + +.skuSelectorContainer--sku-product { + display: flex; + flex-direction: column-reverse; + margin-bottom: 16px; + + .skuSelectorSubcontainer--tamanho { + + .skuSelectorNameContainer { + margin: 0; + + .skuSelectorTextContainer { + margin-bottom: 8px; + + .skuSelectorName { + font-size: 0; + + &::after { + content: "OUTROS TAMANHOS"; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray6; + } + } + } + + .skuSelectorOptionsList { + column-gap: 16px; + margin: 0; + + .skuSelectorItem { + display: flex; + align-items: center; + justify-content: center; + + border: 1px solid #989898; + box-sizing: border-box; + border-radius: 50%; + width: 40px; + height: 40px; + + margin: 0; + padding: 0; + + .frameAround--sku-product { + border-color: $color-black0; + border-width: 2px; + border-radius: 24px; + top: 0; + bottom: 0; + right: 0; + left: 0; + z-index: 5; + + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + } + + .skuSelectorInternalBox { + border: none; + + .diagonalCross--sku-product { + transform: rotate(45deg); + border-radius: 24px; + background: #D5D5D5; + width: 1px; + height: 100%; + margin: 0 auto; + } + } + + .skuSelectorItemTextValue { + padding: 0; + margin: 0 auto; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray8; + } + } + .skuSelectorItem--selected { + .skuSelectorItemTextValue { + color: $color-black0; + } + } + } + + } + + } + .skuSelectorSubcontainer--cor { + .skuSelectorNameContainer { + margin: 0; + + .skuSelectorSelectorImageValue { + display: none; + } + + .skuSelectorTextContainer { + margin-bottom: 8px; + + .skuSelectorName { + font-size: 0; + + &::after { + content: "OUTRAS CORES"; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray6; + } + } + } + + .skuSelectorOptionsList { + column-gap: 16px; + margin: 0; + + .skuSelectorItem { + display: flex; + align-items: center; + justify-content: center; + + border: 1px solid #989898; + border-radius: 24px; + width: 48px; + height: 48px; + + margin: 0; + padding: 0; + + .frameAround--sku-product { + border-color: $color-black0; + border-width: 2px; + border-radius: 24px; + width: 48px; + height: 48px; + top: 0; + bottom: 0; + right: 0; + left: 0; + z-index: 5; + } + + .skuSelectorInternalBox { + border: none; + + .diagonalCross--sku-product { + transform: rotate(45deg); + border-radius: 24px; + background: #D5D5D5; + width: 1px; + height: 100%; + margin: 0 auto; + + } + .valueWrapper--unavailable { + border: 1px solid #989898; + border-radius: 24px; + + .skuSelectorItemImageValue { + height: 48px; + width: 48px; + } + } + } + } + .valueWrapper--sku-product { + height: 48px; + width: 48px; + .skuSelectorItemImageValue { + border-radius: 24px; + padding: 0; + } + } + .skuSelectorItem--selected { + .skuSelectorItemTextValue { + color: $color-black0; + } + } + } + } + } +} + +.shippingContainer { + display: flex; + align-items: flex-end; + width: 409px; + position: relative; + + @media #{$mq-mobile}{ + width: 296px; + } + + :global(.vtex-input__label) { + font-size: 0; + margin-bottom: 8px; + + &::after { + content: "CALCULAR FRETE:"; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray6; + } + + } + + :global(.vtex-address-form__postalCode){ + padding: 0; + + :global(.vtex-input__error){ + position: absolute; + } + } + + :global(.vtex-input-prefix__group) { + width: 250px; + height: 49px; + border: none; + border-radius: 0; + } + + :global(.vtex-address-form-4-x-input){ + width: 250px; + height: 49px; + padding: 16px; + border: 1px solid #CCC; + border-radius: 0; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + display: flex; + align-items: center; + color: #AFAFAF; + + @media (max-width:360) and (min-width: 280px) { + width: 100px; + } + } + + :global(.vtex-input__suffix) { + display: none; + } + + :global(.vtex-button) { + background-color: $color-black0; + border: none; + border-radius: 0; + width: 49px; + height: 49px; + } + + :global(.vtex-button__label){ + font-size: 0; + &::after{ + content: ("OK"); + font-family: $font-family; + font-style: normal; + font-weight: 600; + font-size: 14px; + line-height: 19px; + color: $color-white; + } + } + + :global(.vtex-address-form__postalCode-forgottenURL) { + position: absolute; + // width: 100%; + left: 312px; + bottom: 18px; + // transform: translate(0, -50%); + padding: 0; + + @media #{$mq-mobile}{ + left: 200px; + bottom: -24px; + } + + :last-child{ + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + display: flex; + align-items: center; + text-decoration-line: underline; + color: $color-black0; + padding: 0; + margin: 0; + } + + :global(.vtex__icon-external-link) { + display: none; + } + } +} + +.shippingTable { + border: none; + padding: 0; + margin: 16px 0 0; + width: 326px; + + @media #{$mq-mobile}{ + width: 100%; + margin: 32px 0 0; + } + + .shippingTableHead { + display: block; + .shippingTableRow { + display: grid; + grid-template-columns: repeat(3, 33.3%); + grid-template-areas: "entrega frete prazo"; + + @media #{$mq-mobile}{ + grid-template-columns: 30% 18% 39%; + } + + .shippingTableHeadDeliveryName, + .shippingTableHeadDeliveryEstimate, + .shippingTableHeadDeliveryPrice { + padding: 0; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #202020; + text-transform: uppercase; + } + .shippingTableHeadDeliveryName { + text-align: left; + grid-area: entrega; + } + .shippingTableHeadDeliveryPrice{ + text-align: center; + grid-area: frete; + font-size: 0; + &::after { + content: ("FRETE"); + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #202020; + } + } + .shippingTableHeadDeliveryEstimate{ + text-align: right; + grid-area: prazo; + } + } + } + + .shippingTableBody { + .shippingTableRow{ + display: grid; + grid-template-columns: repeat(3, 33.3%); + grid-template-areas: "entrega valor prazo"; + column-gap: 32px; + margin-top: 15px; + + @media #{$mq-mobile}{ + grid-template-columns: 30% 18% 39%; + column-gap: 16px; + } + + .shippingTableCellDeliveryName { + grid-area: entrega; + } + .shippingTableCellDeliveryEstimate { + white-space: nowrap; + grid-area: prazo; + } + .shippingTableCellDeliveryPrice { + grid-area: valor; + } + .shippingTableCell { + padding: 0; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + display: flex; + align-items: center; + color: #AFAFAF; + } + .shippingTableLabel { + .shippingTableRadioBtn { + display: none; + } + } + } + } +} diff --git a/styles/sass/pages/product/vtexFlexLayout/vtex.flex-layout.scss b/styles/sass/pages/product/vtexFlexLayout/vtex.flex-layout.scss new file mode 100644 index 0000000..b8de16e --- /dev/null +++ b/styles/sass/pages/product/vtexFlexLayout/vtex.flex-layout.scss @@ -0,0 +1,514 @@ +.flexRowContent--menu-link, +.flexRowContent--main-header { + padding: 0 0.5rem; +} + +@media screen and (min-width: 40em) { + .flexRowContent--menu-link, + .flexRowContent--main-header { + padding: 0 1rem; + } +} + +@media screen and (min-width: 80rem) { + .flexRowContent--menu-link, + .flexRowContent--main-header { + padding: 0 0.25rem; + } +} + +.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 { + display: flex; + max-height: 100%; +} + +.flexColChild--quickviewDetails:first-child { + overflow-y: auto; + height: 66% !important; + overflow-x: hidden; +} + +.flexColChild--quickviewDetails:last-child { + height: 34% !important; +} + +.flexRow--addToCartRow { + padding-bottom: 1rem; +} + +.flexRowContent--product__image { + padding: 0; + margin: 0; + + @media #{$mq-tablet}, #{$mq-mobile} { + flex-direction: column; + } + .stretchChildrenWidth { + + &:first-child { + padding-right: 16px; + margin-right: 16px; + + @media #{$mq-tablet}, #{$mq-mobile} { + padding: 0; + margin: 0; + } + } + + @media #{$mq-tablet}, #{$mq-mobile}{ + width: 100% !important; + padding-right: 0; + } + + .flexCol--product-skus { + @media #{$mq-tablet}, #{$mq-mobile} { + margin-top: 32px; + } + } + + .flexColChild--product-skus { + .flexRow { + .flexRowContent { + margin: 0; + } + } + } + } +} + +.flexRow--product__name, .flexRowContent--product__name { + height: 34px; +} + +.flexRowContent--product__name .stretchChildrenWidth { + width: 100% !important; + height: 34px; + padding: 0 !important; + margin: 0 0 8px 0 !important; +} + +.flexRow--quantityButton { + display: flex; + align-items: center; + column-gap: 10px; + height: 49px; + + @media #{$mq-mobile} { + flex-direction: column !important; + align-items: flex-start !important; + row-gap: 10px; + height: auto; + } + + .flexRowContent--quantityButton .stretchChildrenWidth{ + &:first-child { + width: 128px !important; + padding: 0; + margin: 0 10px 0 0; + } + width: 100% !important; + } + + + .flexRow--buy-button .flexRowContent--buy-button{ + + .stretchChildrenWidth { + width: 100% !important; + padding: 0; + margin: 0; + height: 49px; + + :global(.vtex-button) { + background: $color-black0; + border-radius: 0; + border: none; + } + :global(.vtex-add-to-cart-button-0-x-buttonText) { + font-size: 0; + + &::after { + content: "ADICIONAR À SACOLA"; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: $color-white; + } + } + } + } +} + +.flexRow--cep { + margin: 16px 0; + width: 409px; + + @media #{$mq-mobile} { + width: 100%; + } + + .flexRowContent--cep { + .stretchChildrenWidth { + padding: 0; + margin: 0; + } + } +} + +.flexColChild--info-availability { + .flexRow--message-availability { + width: 57.74%; + + @media #{$mq-tablet}, #{$mq-mobile}{ + width: 100%; + } + + :global(.vtex-store-components-3-x-title) { + font-size: 0; + margin: 0; + padding: 0; + + &::after { + content: "Produto indisponível"; + font-family: $font-family; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; + color: $color-gray9; + + } + } + + :global(.vtex-store-components-3-x-subscribeLabel) { + margin: 0; + padding: 0; + font-size: 0; + + &::after { + content: "Deseja saber quando estiver disponível?"; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-gray9; + } + } + + :global(.vtex-store-components-3-x-form) { + margin: 16px 0 0 0; + + :global(.vtex-store-components-3-x-content) { + width: 100%; + margin: 0; + display: grid; + grid-template-areas: "A B" + "C C"; + max-width: unset !important; + grid-template-columns: 49% 49%; + column-gap: 8px; + row-gap: 16px; + + } + + :global(.vtex-input__error){ + position: absolute; + margin: 0; + padding: 0; + } + + :global(.vtex-input-prefix__group) { + border-radius: 0; + border: none; + } + + :global(.vtex-store-components-3-x-inputName) { + grid-area: A; + margin: 0; + padding: 0; + } + + :global(.vtex-store-components-3-x-inputEmail) { + grid-area: B; + margin: 0; + padding: 0; + } + + :global(.vtex-styleguide-9-x-input) { + height: 40px; + display: flex; + align-items: flex-start; + justify-content: flex-start; + padding: 0 0 0 14px; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + color: $color-black; + border: 1px solid #989898; + border-radius: 0; + + &::placeholder { + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + color: #989898; + } + } + + :global(.vtex-store-components-3-x-submit) { + grid-area: C; + margin: 0; + padding: 0; + } + + :global(.vtex-button) { + width: 100%; + height: 49px; + display: flex; + justify-content: center; + align-items: center; + background: $color-black0; + cursor: pointer; + font-size: 0; + + :global(.vtex-button__label) { + padding: 0; + + &::after{ + content: "AVISE-ME"; + font-family: $font-family; + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 25px; + color: $color-white; + } + } + } + + } + + } +} +.flexRow--newsletter__footer { + height: 175px; + + :global(.vtex-store-components-3-x-container ){ + padding: 0; + margin: 0; + } + + .flexRowContent--newsletter__footer { + padding: 32px 0 16px 0; + width: 100%; + background: $color-black0; + display: flex; + align-items: center; + justify-content: center; + border-bottom: 1px solid $color-white; + + @media #{$mq-tablet}, #{$mq-mobile} { + border-bottom: none; + } + + .stretchChildrenWidth { + width: 774px !important; + height: 127px; + + @media #{$mq-tablet}, #{$mq-mobile}{ + width: 100% !important; + height: auto; + } + + :global(.vtex-store-components-3-x-label) { + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 38px; + color: $color-white; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + gap: 16px; + margin-bottom: 16px; + + &::after { + content: "Receba ofertas e novidades por e-mail"; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: $color-gray6; + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 16px; + line-height: 22px; + } + } + } + + :global(.vtex-store-components-3-x-form) { + max-width: 774px; + } + + :global(.vtex-store-components-3-x-inputGroup) { + padding: 0; + margin: 0; + display: flex; + align-items: center; + } + + :global(.vtex-input ) { + width: 690px; + height: 32px; + + @media #{$mq-tablet}, #{$mq-mobile}{ + width: calc(100% - 84px); + } + + :global(.vtex-input-prefix__group) { + border: none; + height: 32px; + } + + :global(.vtex-styleguide-9-x-input){ + background: transparent; + border: none; + border-bottom: 1px solid $color-gray6; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: $color-gray6; + padding: 0; + height: 32px; + + @media #{$mq-tablet}, #{$mq-mobile} { + padding-left: 20px; + font-size: 12px; + line-height: 16px; + } + + &::placeholder { + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: $color-gray6; + + @media #{$mq-tablet}, #{$mq-mobile} { + padding-left: 20px; + font-size: 12px; + line-height: 16px; + } + } + } + + } + + + :global(.vtex-store-components-3-x-buttonContainer) { + padding: 0; + margin: 0; + width: 84px; + + :global(.vtex-button) { + padding: 0; + border: none; + background: transparent; + height: 32px; + width: 100%; + + :global(.vtex-button__label) { + background: transparent; + border: none; + border-bottom: 3px solid #BFBFBF; + cursor: pointer; + font-family: $font-family; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; + color: $color-white; + height: 32px; + + } + + } + } + } + } +} + diff --git a/styles/sass/pages/product/vtexProduct/vtex.product-identifier.scss b/styles/sass/pages/product/vtexProduct/vtex.product-identifier.scss new file mode 100644 index 0000000..acaccdc --- /dev/null +++ b/styles/sass/pages/product/vtexProduct/vtex.product-identifier.scss @@ -0,0 +1,26 @@ +.product-identifier--productReference { + display: flex; + align-items: center; + justify-content: end; + margin-bottom: 16px; + + @media #{$mq-tablet}, #{$mq-mobile} { + justify-content: flex-start; + } + + .product-identifier { + &__label, &__separator { + display: none; + } + + &__value { + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: $color-black-tranparent; + } + } +} + diff --git a/styles/sass/pages/product/vtexProduct/vtex.product-price.scss b/styles/sass/pages/product/vtexProduct/vtex.product-price.scss new file mode 100644 index 0000000..621dbff --- /dev/null +++ b/styles/sass/pages/product/vtexProduct/vtex.product-price.scss @@ -0,0 +1,7 @@ +.sellingPrice { + font-family: $font-family; + font-weight: 700; + font-size: 25px; + line-height: 38px; + color: $color-black0; +} diff --git a/styles/sass/pages/product/vtexProduct/vtex.product-quantity.scss b/styles/sass/pages/product/vtexProduct/vtex.product-quantity.scss new file mode 100644 index 0000000..c080596 --- /dev/null +++ b/styles/sass/pages/product/vtexProduct/vtex.product-quantity.scss @@ -0,0 +1,54 @@ +.quantitySelectorContainer { + margin: 0; + padding: 0; + + .quantitySelectorTitle { + display: none; + } + + .quantitySelectorStepper{ + height: 49px; + width: 128px; + + @media #{$mq-mobile} { + margin-bottom: 10px; + } + + :global(.vtex-numeric-stepper-container) { + border: 1px solid #CCCCCC; + height: 49px; + width: 100%; + padding: 13.5px 16px; + display: flex; + justify-content: space-between; + align-items: center; + } + :global(.vtex-numeric-stepper__input) { + height: 100%; + border: none; + + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + text-align: center; + color: $color-gray6; + } + :global(.vtex-numeric-stepper__plus-button), :global(.vtex-numeric-stepper__minus-button){ + border: none; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + text-align: center; + color: $color-black0; + height: 100%; + background: transparent; + width: auto!important; + } + + + } +} diff --git a/styles/sass/pages/product/vtexProduct/vtex.product-summary.scss b/styles/sass/pages/product/vtexProduct/vtex.product-summary.scss new file mode 100644 index 0000000..06fab47 --- /dev/null +++ b/styles/sass/pages/product/vtexProduct/vtex.product-summary.scss @@ -0,0 +1,146 @@ +.containerNormal { + max-width: 100% !important; + border-radius: 0; + + .clearLink { + .element { + height: 100%; + padding: 0; + + .imageContainer { + width: 100%; + padding: 0; + margin: 0; + } + + .nameContainer { + margin: 16px 0 8px 0; + padding: 0; + + .brandName{ + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + text-align: center; + color: $color-black0; + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 14px; + line-height: 19px; + } + } + } + + .priceContainer { + padding: 0; + margin: 0; + + .listPriceContainer { + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + text-align: center; + text-decoration-line: line-through; + color: #BABABA; + padding: 0; + margin-bottom: 8px; + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 12px; + line-height: 15px; + } + + .listPriceLabel { + display: none; + } + + .currencyContainer { + font-size: 14px; + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 12px; + line-height: 16px; + } + + &::before { + content: "de "; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + text-align: center; + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 12px; + line-height: 15px; + } + } + + &::after { + content: " por"; + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + text-align: center; + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 12px; + line-height: 15px; + } + } + } + + } + + .sellingPriceContainer { + padding: 0; + margin: 0; + height: 33px; + font-family: $font-family; + font-style: normal; + font-weight: 700; + font-size: 24px; + line-height: 33px; + text-align: center; + color: $color-black0; + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 18px; + line-height: 25px; + } + + .currencyContainer { + font-size: 24px; + line-height: 33px; + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 18px; + line-height: 25px; + } + } + + .sellingPriceLabel { + display: none; + } + + .sellingPriceValue { + padding: 0; + margin: 0; + } + } + + .installmentContainer { + display: none; + } + } + } + } + +} diff --git a/styles/sass/pages/product/vtexProduct/vtex.stack-layout.scss b/styles/sass/pages/product/vtexProduct/vtex.stack-layout.scss new file mode 100644 index 0000000..f863fcb --- /dev/null +++ b/styles/sass/pages/product/vtexProduct/vtex.stack-layout.scss @@ -0,0 +1,10 @@ +.stackItem--product { + width: 100%; + min-height: none; +} + +.stackItem--quickview { + right: 0; + top: 0; + left: auto; +} diff --git a/styles/sass/pages/product/vtexSlider/vtex.rich-text.scss b/styles/sass/pages/product/vtexSlider/vtex.rich-text.scss new file mode 100644 index 0000000..dae694b --- /dev/null +++ b/styles/sass/pages/product/vtexSlider/vtex.rich-text.scss @@ -0,0 +1,33 @@ +.container--slider-title { + height: 38px; +} + +.wrapper--slider-title { + width: 100%; + height: 38px; + padding:16px 360px; + margin: 0; + max-width: 100%; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 32px; + + @media #{$mq-desktop}, #{$mq-tablet}, #{$mq-mobile} { + padding: 16px 40px; + } + + .headingLevel4--slider-title { + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 38px; + text-align: center; + color: #575757; + + @media #{$mq-mobile} { + font-size: 20px; + } + } +} diff --git a/styles/sass/pages/product/vtexSlider/vtex.slider-layout.scss b/styles/sass/pages/product/vtexSlider/vtex.slider-layout.scss new file mode 100644 index 0000000..d5f997a --- /dev/null +++ b/styles/sass/pages/product/vtexSlider/vtex.slider-layout.scss @@ -0,0 +1,102 @@ +.sliderLayoutContainer--carousel { + background: unset; + width: 71.87%; + margin: 0 auto 64px; + padding-top: 16px; + + @media #{$mq-tablet} { + min-height: 306px; + width: 92.18%; + } + + @media #{$mq-mobile} { + width: 78.93%; + min-height: 306px; + } + + .sliderTrackContainer--carousel { + width: 96%; + margin: 0 auto; + + @media #{$mq-tablet} { + width: 95%; + } + @media #{$mq-mobile} { + width: 87.03%; + } + + .sliderTrack { + column-gap: 16px; + + @media #{$mq-tablet} { + column-gap: 12px; + } + + @media #{$mq-mobile} { + column-gap: 8px; + } + + .slide--carousel { + min-height: 543.4px; + + @media #{$mq-desktop} { + min-height: 448px; + } + + @media #{$mq-tablet} { + min-height: 402.2px; + } + + @media #{$mq-mobile} { + min-height: 254.8px; + } + } + } + } + + .sliderLeftArrow--carousel { + background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-left-nicolly.svg") !important; + background-repeat: no-repeat; + width: 11.2px; + height: 29.6px; + .caretIcon--carousel { + display: none; + } + } + + .sliderRightArrow--carousel { + background: url("https://agenciamagma.vteximg.com.br/arquivos/arrow-right-nicolly.svg") !important; + width: 11.2px; + height: 29.6px; + .caretIcon--carousel { + display: none; + } + } + + .paginationDotsContainer--carousel { + display: flex; + align-items: center; + justify-content: center; + top: 100%; + column-gap: 12px; + margin-top: 32px; + + @media #{$mq-tablet}, #{$mq-mobile} { + margin-top: 16px; + } + + .paginationDot--carousel { + background-color: $color-black0; + width: 10px; + height: 10px; + margin: 0; + padding: 0; + } + .paginationDot--carousel--isActive { + width: 17px !important; + height: 17px !important; + background-color: $color-white; + border: 0.5px solid $color-black0; + } + } +} diff --git a/styles/sass/pages/product/vtexStoreFooter/vtex.store-footer.scss b/styles/sass/pages/product/vtexStoreFooter/vtex.store-footer.scss new file mode 100644 index 0000000..61ba501 --- /dev/null +++ b/styles/sass/pages/product/vtexStoreFooter/vtex.store-footer.scss @@ -0,0 +1,3 @@ +.footerLayout { + background: $color-black0; +} diff --git a/styles/sass/pages/product/vtexTab/vtex.tab-layout.scss b/styles/sass/pages/product/vtexTab/vtex.tab-layout.scss new file mode 100644 index 0000000..7b646ec --- /dev/null +++ b/styles/sass/pages/product/vtexTab/vtex.tab-layout.scss @@ -0,0 +1,185 @@ +.container--description-block { + padding: 0 360px 16px 360px; + margin: 0; + max-width: 100%; + + @media #{$mq-desktop}, #{$mq-tablet}, #{$mq-mobile} { + padding: 0 40px 16px 40px; + } + + .listContainer { + display: flex; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid #B9B9B9; + height: 38px; + margin-bottom: 32px; + padding: 0 64px; + + @media #{$mq-tablet}, #{$mq-mobile}{ + flex-direction: column; + row-gap: 16px; + border-top: 1px solid #B9B9B9; + border-bottom: 1px solid #B9B9B9; + height: auto; + padding: 16px 0; + align-items: flex-start; + margin-bottom: 16px; + } + + .listItem { + height: 38px; + display: flex; + align-items: center; + justify-content: center; + padding: 0; + margin: 0; + + @media #{$mq-tablet}, #{$mq-mobile} { + width: 100%; + } + + @media #{$mq-tablet}, #{$mq-mobile} { + :global(.vtex-button) { + width: 100%; + } + } + + :global(.vtex-button__label) { + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 38px; + color: #BFBFBF; + padding: 0 16px !important; + + @media #{$mq-desktop}{ + font-size: 18px; + } + + @media #{$mq-tablet}, #{$mq-mobile} { + font-size: 18px; + padding: 0 !important; + justify-content: flex-start; + } + } + :global(.vtex-button) { + background: transparent; + border: none; + } + } + + .listItemActive { + border-bottom: 2px solid $color-black0; + + @media #{$mq-tablet}, #{$mq-mobile} { + border: none; + } + + :global(.vtex-button__label) { + color: $color-black0; + } + } + } + + .contentContainer--description { + display: flex; + align-items: flex-start; + justify-content: space-evenly; + gap: 32px; + } +} + +.contentContainer--description-content{ + padding: 0 32px; + + @media #{$mq-tablet}, #{$mq-mobile}{ + padding: 0 0 16px; + border-bottom: 1px solid #BFBFBF; + } + + .contentItem { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 32px; + + @media #{$mq-tablet}, #{$mq-mobile}{ + flex-direction: column; + gap: 16px; + } + + :global(.vtex-store-components-3-x-productImagesContainer--image-description){ + width: 50%; + + @media #{$mq-tablet}, #{$mq-mobile}{ + width: 100%; + } + } + + :global(.vtex-store-components-3-x-productDescriptionContainer){ + width: 50%; + + @media #{$mq-tablet}, #{$mq-mobile}{ + width: 100%; + } + + :global(.vtex-store-components-3-x-productDescriptionTitle ) { + font-family:$font-family; + font-style: normal; + font-weight: 400; + font-size: 32px; + line-height: 32px; + color: $color-gray7; + margin-bottom: 16px; + + @media #{$mq-desktop} { + font-size: 24px; + } + + @media #{$mq-tablet}, #{$mq-mobile}{ + font-size: 20px; + } + } + + :global(.vtex-store-components-3-x-container) { + display: flex; + align-items: flex-start; + flex-direction: column; + gap: 16px; + padding: 0; + + :global(.vtex-store-components-3-x-content) { + font-family: $font-family; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: $color-gray6; + + @media #{$mq-desktop} { + font-size: 16px; + line-height: 22px; + } + + @media #{$mq-tablet}, #{$mq-mobile}{ + font-size: 14px; + line-height: 19px; + } + } + + :global(.vtex-store-components-3-x-fadeBottom ){ + @media #{$mq-tablet}, #{$mq-mobile}{ + background-image: none; + } + } + + :global(.vtex-store-components-3-x-showMoreButton) { + display: none; + } + } + } + } + +} diff --git a/styles/sass/utils/_vars.scss b/styles/sass/utils/_vars.scss index daf3adb..216d42f 100644 --- a/styles/sass/utils/_vars.scss +++ b/styles/sass/utils/_vars.scss @@ -1,4 +1,10 @@ +@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap'); + +$font-family: 'Open Sans', sans-serif; + +$color-black0: #000; $color-black: #292929; +$color-black-tranparent: rgba(146, 146, 146, 0.48); $color-white: #fff; @@ -7,6 +13,11 @@ $color-gray2: #7d7d7d; $color-gray3: #f0f0f0; $color-gray4: #c4c4c4; $color-gray5: #e5e5e5; +$color-gray6: #929292; +$color-gray7: #575757; +$color-gray8: rgba(185, 185, 185, 0.6); +$color-gray9: #868686; + $color-blue: #4267b2; @@ -29,3 +40,8 @@ $z-index: ( level4: 20, level5: 25 ) !default; + +//media-queries +$mq-desktop: "(min-width: 1025px) and (max-width: 1920px)"; +$mq-tablet: "(min-width: 769px) and (max-width: 1024px)"; +$mq-mobile: "(min-width: 280px) and (max-width: 768px)";