@nguyenmv2/buy-button
Version:
BuyButton.js allows merchants to build Shopify interfaces into any website
360 lines (298 loc) • 6.38 kB
CSS
@import "./select";
.shopify-buy__product {
overflow: hidden;
width: 100%;
}
.shopify-buy__product__variant-img {
margin: 0 auto var(--gutter) auto;
transition: opacity 0.3s ease;
opacity: 1;
&.is-transitioning {
opacity: 0;
}
}
.shopify-buy__is-button {
cursor: pointer;
}
.shopify-buy__no-image {
& .shopify-buy__product__variant-img {
display: none;
}
}
.shopify-buy__product__title {
font-size: 18px;
line-height: 1.2;
color: var(--color-black);
margin-bottom: var(--gutter);
font-weight: 700;
}
.shopify-buy__layout-horizontal {
& .shopify-buy__product__title {
margin-top: calc(var(--gutter) * (2/3));
}
}
.shopify-buy__product__variant-title {
font-size: 18px;
color: #666;
font-weight: 400;
text-align: center;
margin-bottom: var(--gutter);
}
.shopify-buy__product__price {
margin-bottom: var(--gutter);
}
.shopify-buy__product-description {
margin-top: calc(var(--gutter) * 2);
line-height: 1.65;
color: var(--color-black);
& p,
& ul,
& ol,
& img {
margin-bottom: calc(var(--gutter) * (2/3));
&:last-child {
margin-bottom: 0;
}
}
& a {
color: inherit;
}
& img {
max-width: 100%;
}
& h1 {
font-size: 20px;
}
& h2 {
font-size: 18px;
}
& h3 {
font-size: 17px;
}
& ul,
& ol {
margin-left: 2em;
}
& ul {
list-style-type: disc;
}
}
.shopify-buy__layout-vertical {
text-align: center;
}
.shopify-buy__product__actual-price,
.shopify-buy__product__compare-price {
color: var(--color-black);
display: inline-block;
}
.shopify-buy__product__actual-price {
font-size: 14px;
}
.shopify-buy__product__compare-price {
font-size: 12px;
text-decoration: line-through;
padding-left: 5px;
opacity: 0.65;
}
.shopify-buy__product__unit-price {
color: var(--color-black);
padding-top: 5px;
font-size: 12px;
opacity: 0.8;
}
.shopify-buy__product__variant-selectors {
text-align: left;
font-size: 14px;
}
.shopify-buy__layout-vertical {
& .shopify-buy__product__variant-selectors {
width: 100%;
max-width: 280px;
display: inline-block;
}
}
.shopify-buy__quantity {
border-left: 1px solid;
border-right: 1px solid;
border-radius: 3px;
}
.shopify-buy__quantity,
.shopify-buy__quantity-increment,
.shopify-buy__quantity-decrement {
border-color: var(--color-border);
line-height: 1.2;
font-size: 15px;
height: auto;
padding-top: 12px;
padding-bottom: 12px;
}
.shopify-buy__btn {
display: inline-block;
}
.shopify-buy__btn-wrapper {
margin-top: calc(var(--gutter) + 5px);
}
.shopify-buy__btn.shopify-buy__beside-quantity {
display: inline-block;
vertical-align: top;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border: 1px solid transparent;
}
.shopify-buy__btn-and-quantity {
& .shopify-buy__quantity {
border-right: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
background: var(--color-white);
}
& .shopify-buy__quantity-container {
display: inline-block;
vertical-align: top;
}
& .shopify-buy__btn-wrapper {
display: inline-block;
vertical-align: top;
margin: 0;
}
}
.shopify-buy__cart-item__quantity-container {
margin-top: calc(var(--gutter) + 5px);
display: inline-block;
}
.shopify-buy__layout-vertical,
.shopify-buy__layout-horizontal {
& .shopify-buy__btn,
& .shopify-buy__quantity-container {
margin: calc(var(--gutter) + 5px) auto 0;
}
& .shopify-buy__btn:first-child {
margin-top: 0;
}
& .shopify-buy__btn-and-quantity {
margin: calc(var(--gutter) + 5px) auto 0;
& .shopify-buy__btn,
& .shopify-buy__quantity-container {
margin: 0 auto;
}
}
& .shopify-buy__btn-and-quantity:first-child {
margin: 0 auto;
}
& .shopify-buy__product__variant-img {
max-width: 100%;
}
}
@media (min-width: 500px) {
.shopify-buy__layout-horizontal:not(.no-image) {
text-align: left;
margin-bottom: 0;
margin-left: 0;
& .shopify-buy__product-img-wrapper {
float: left;
width: 40%;
}
& .shopify-buy__product__variant-title {
text-align: left;
}
& .shopify-buy__product__title,
& .shopify-buy__product__variant-title,
& .shopify-buy__product__price,
& .shopify-buy__product-description,
& .shopify-buy__btn-and-quantity,
& > .shopify-buy__btn-wrapper,
& > .shopify-buy__quantity-container,
& .shopify-buy__product__variant-selectors {
margin-left: calc(40% + var(--gutter-modal));
}
}
}
@media (min-width: 680px) {
.shopify-buy__layout-horizontal:not(.no-image) {
& .shopify-buy__product-img-wrapper {
float: left;
width: 60%;
}
& .shopify-buy__product__title,
& .shopify-buy__product__variant-title,
& .shopify-buy__product__price,
& .shopify-buy__product-description,
& .shopify-buy__btn-and-quantity,
& > .shopify-buy__btn-wrapper,
& > .shopify-buy__quantity-container,
& .shopify-buy__product__variant-selectors {
margin-left: calc(60% + var(--gutter-modal));
}
}
}
.no-image {
& .shopify-buy__product-img-wrapper {
display: none;
}
}
@keyframes dash {
to {
stroke-dashoffset: 0;
}
}
.shopify-buy__carousel {
font-size: 0;
text-align: center;
min-height: 90px;
margin-left: calc(var(--gutter) * -1);
margin-top: var(--gutter);
}
.shopify-buy__carousel-item {
width: calc(16.666% - var(--gutter));
margin-left: var(--gutter);
display: inline-block;
vertical-align: middle;
cursor: pointer;
position: relative;
background-size: cover;
background-position: center;
padding: 0;
border: none;
&:nth-child(n+7) {
margin-top: var(--gutter);
}
&:before {
content: "";
display: block;
padding-top: 100%;
}
}
.main-image-wrapper {
position: relative;
}
.carousel-button {
position: absolute;
width: 75px;
top: 0;
height: 100%;
border: none;
font-size: 0;
background-color: transparent;
opacity: 0.4;
cursor: pointer;
&:hover,
&:focus {
opacity: 0.9;
outline: none;
}
}
.carousel-button-arrow {
width: 20px;
display: inline-block;
margin-left: 25px;
}
.carousel-button--previous {
left: 0;
transform: rotate(180deg);
}
.carousel-button--next {
right: 0;
}
.shopify-buy__carousel-item--selected {
opacity: 0.4;
}