/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[4]!./node_modules/string-replace-loader/index.js??ruleSet[1].rules[3]!./cartridges/app_gianvitorossi_jp/cartridge/client/default/scss/pdp-jp.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*md
@no-stat

# Breakpoints

## Boilerplate breakpoints

Boilerplate has 4 main breakpoints that targeted to [supported devices](https://confluence.ontrq.com/display/RSB/SFRA+BP+-+Supported+Browsers+and+Devices)
 - iPhone X, iPad, MS Windows desktop / Macbook Pro retina

** Please not iPad landscape - is LG breakpoint **

[See more info](https://confluence.ontrq.com/display/RSB/SFRA+-+Site+Layout+Conception)

## Supported screen resolutions

Boilerplate is come "Retina ready". It supports MDPI and XHDPI pixel density across all site.

| Device             | Screen Resolution, CSS pixels | Pixel density |
|--------------------|-------------------------------|---------------|
| Desktop Windows PC | 1920x1080                     | MDPI          |
| Macbook pro 13     | 1280x800 / 1440x900           | XHDPI         |
| iPad Air 2         | 1024x768                      | XHDPI         |
| iPhone X           | 375x812                       | XHDPI         |
| Samsung Galaxy S9  | 360x740                       | XHDPI         |

*/
/*md
@no-stat

# Media queries (breakpoints)

We have a `media` mixin for make it easier to implement responsive styling via media queries.

You can nest them right within other blocks of CSS,which puts the properties and values you are changing right next
to each other.
That creates an obvious connection between them, which is a much nicer authoring experience than trying to maintain
those changes separated by tons of other code or in a different file.

## Configuration

**Site Layout Conception** details with examples you can find [here](https://confluence.ontrq.com/display/RSB/SFRA+-+Site+Layout+Conception)

`media` mixin works with `$media` map where `media-name: media query`

This is how `$media` map looks:

```scss
$media: (
	sm: 'screen and (max-width: 767px)',
	md: 'screen and (min-width: 768px) and (max-width: 1199px)',
	lg: 'screen and (min-width: 1200px)',
	xl: 'screen and (min-width: 1201px)',
	md-up: 'screen and (min-width: 768px)',
	md-down: 'screen and (max-width: 1023px)',
	lg-up: 'screen and (min-width: 1024px)',
	lg-down: 'screen and (max-width: 1367px)'
);
```

## Usage

Here is how to use `media()` mixin:

```scss
.b-block {
	// styles outside of a media query

	@include media(sm) {
		// styles for "s" viewports
	};

	@include media(md-up) {
		// styles for "m" and "l" viewports
	};
}
```

Simply edit this file and add your own media queries to `$media` map.

*/
/*md
@no-stat

# Palette

This is palette settings for project/brand. It divided into 2 main categories palette and applied color.

* Palette is general set of colors. It could be used directly if you do not have themes.
* Applied colors designed as layer of abstraction to have ability to overwritten on brand level.

*/
/*md
@no-stat

# Globals variables

This variables are set of different global settings that is used across sets of components.

It include:

* globals
* depth of components (box-shadow)
* motion of components

*/
/*md
@no-stat

# Rh (Indents rhythm)

This function is designed to keep consistency of vertical and horizontal indents in the project.

Not all values are identical in design, sometimes 20px become 21px, 19px, 22px etc. It does not make
any sense to implement it as is. To keep indents consistent we need to round this values to 4px steps.

Ex: in design 22px / 19px -> rh(5) => 20px; in design 23px -> rh(6) => 24px etc.

This is alternate approach to `$space-md: 10px; $space-lg: 20px;`.

Designers should use the rhythm in his work.

## Usage

```scss
.component {
	@include rh(2); // => 8px
	@include rh(2 4 0); // => 8px 16px 0
}
```
*/
/*md
@no-stat

# Z-indexes

Z-index is an inherently tricky thing, and maintaining z-index order in a complex layout is difficult.
With different stacking orders and contexts, keeping track of them as their numbers increase can be hard.
<br />
<br />
We use sass function to help manage z-indexes from single place.
The most important requirement of this technique is sticking to it.
Any rogue hard-coded z-index values could compromise the integrity of those derived from your list.

## Usage

**We don't use hardcoded integer `z-index` values. Instead, we use indexes from the map `$z-indexes`**

### 1. Set up `$z-indexes` map
```scss
$z-indexes: (
    components: (
        component_name: (),
        checkbox: (
            before: (),
            after: (),
            icon: (),
        )
    ),
    content: (),
    popup-menu: ()
);
```

### 2. Add values in SCSS classes using `z()` function

#### Global components
```scss
.b-components { z-index: z(components); }
.b-content { z-index: z(content); }
.b-pop_up-menu { z-index: z(popup-menu); }
```

#### Inside a component
```scss
.b-component_name { z-index: z(components, component_name); }
.b-checkbox {
    &-before { z-index: z(components, checkbox, before); }
    &-after { z-index: z(components, checkbox, after); }
    &-icon { z-index: z(components, checkbox, icon); }
}
```

### 3. Get resulting CSS
```scss
.b-components { z-index: 1; }
.b-content { z-index: 2; }
.b-pop_up-menu { z-index: 3; }

.b-component_name { z-index: 1; }
.b-checkbox-before { z-index: 1; }
.b-checkbox-after { z-index: 2; }
.b-checkbox-icon { z-index: 3; }
```

*/
/*md
@no-stat

# Grids

## How to setup grids config for project

### Several grid configs for project

We can use several grid configs per project. For that, we need to add a new grid name to the `$grids` map with settings.

### Gaps / margin / column span configuration:

```scss
$grids: (
	default: (
		grid-columns: ('xl': 12,   'lg': 12,   'md': 12,   'sm': 6),
		grid-gutter:  ('xl': 20px, 'lg': 20px, 'md': 16px, 'sm': 9px),
		grid-margin:  ('xl': 88px, 'lg': 60px, 'md': 32px, 'sm': 15px),
	)
);
```

### Grid-span configuration

Please see details [grid-span](01-core-functions-grid-span.html)

## Work with grids

### Development approaches

#### 1. Using `g-grid` mixin

With features of `display: grid`. Please see [g-grid](02-components-g-grid.html) details.

#### 2. Using `grid-span` function

Could be used in conjunction with different display properties while maintaining their common features(floating, centering, etc.). Please see [grid-span](01-core-functions-grid-span.html) details.

### Get gaps / margin / column span

For that we have the next grid functions in `_grids_tools.scss`:
- grid-gutter
- grid-margin
- grid-columns

Please see [grid functions](00-configuration-grids_tools.html) details with usage examples.

### Examples of usage

Please see [ready-made tools](05-blocks-guide-l-cols.html) details.

*/
/*md
@no-stat

# grid-* (grid config get functions)

This functions designed to get parameters from grid configuration config and
use it for creating grids or reuse grid configuration into different components.

* `grid-gutter`
* `grid-columns`
* `grid-margin`

## Usage

```scss

// Configuration:

$grids: (
	default: (
		grid-columns: ('xl': 12,   'lg': 12,   'md': 12,   'sm': 6),
		grid-gutter:  ('xl': 20px, 'lg': 20px, 'md': 16px, 'sm': 9px),
		grid-margin:  ('xl': 88px, 'lg': 60px, 'md': 32px, 'sm': 15px),
	),
	altered: (
		grid-columns: ('xl': 10,   'lg': 10,   'md': 10,   'sm': 6),
		grid-gutter:  ('xl': 10px, 'lg': 10px, 'md': 10px, 'sm': 10px),
		grid-margin:  ('xl': 40px, 'lg': 30px, 'md': 30px, 'sm': 20px),
	)
);

// Usage:

.component {
	padding: grid-gutter('lg'); // => grids -> 'default' -> grid-gutter -> lg = 20px
	padding: grid-gutter('lg', 'altered'); // => => grids -> 'altered' -> grid-gutter -> lg = 10px
}

.component-b {
	margin: grid-margin('lg');
	margin: grid-margin('lg', 'altered');

	@include media(sm) {
		margin: grid-margin('sm');
	}
}

.component-c {
	width: percentage(grid-columns('lg') / 4);

	@include media(sm) {
		width: percentage(grid-columns('sm') / 2);
	}
}
```
*/
/*md
@no-stat

# adjust-color-to-bg

This function used to adjust color depending on provided background color. It use
luminance human persived criteria as breakpoint for colors
[See more details](http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef).

It is especially useful for crating flexible themes.

## Arguments

```
$backgroundColor - bg color
$colorInverse - color if bg is dark. If not provided would return $color-white
$colorNormal - color if bg is light. If not provided would return $color-text

adjust-color-to-bg($backgroundColor, $colorInverse, $colorNormal)
```

## Usage

```scss
.component {
	color: adjust-color-to-bg($color-bg-header-line-1);

	// => results default 'white' if background dark
	// => results default 'black' if background is light
}

.component-custom-inverse-color {
	color: adjust-color-to-bg($color-bg-footer, grey);

	// => results 'grey' if background dark
	// => results default 'black' if background is light
}

.component-all-custom-colors {
	color: adjust-color-to-bg($color-bg-footer, green, red);

	// => result 'green' if background dark
	// => result 'red' if background is light
}
```

Based on Hugo Giraudel [work](https://css-tricks.com/snippets/sass/luminance-color-function/)
*/
/*md
@no-stat

# grid-span

`grid-span` function returns value which could be used as **width, max-witdth, flex-basis, etc.**

### Parameters
```scss
@function grid-span($column: 1, $break: 'lg', $with-gutter: false, $grid: 'default')
```

## Examples

### Flex-basis example

```scss
.b-grid {
	display: flex;

	.b-grid__item {
		flex-basis: grid-span($column: 3);
	}
}
```

### Floated items example

```scss
.b-grid {
	.b-grid__item {
		float: left;
		width: grid-span($column: 2);
	}
}
```

### Inline-block items example

```scss
.b-grid {
	.b-grid__item {
		display: inline-block;
		max-width: grid-span($column: 2);
	}
}
```

*/
/*md
@no-stat

# aspect-ratio

This function used to get percentage value of aspect ratio color to use in `padding` to
create container for images.

This technique used to prevent content bouncing during load and create layout shifts.

Calculation. 16:9 Aspect Ratio would result `(9 / 16) * 100 = 0.5625%`.

See proposed [specs](https://drafts.csswg.org/css-sizing-4/#aspect-ratio)

## Arguments

```
$width - width of element
$height - height of element

=> percentage

aspect-ratio($width, $height)
```

## Usage

```scss
.component {
	padding-bottom: aspect-ratio(16, 9);
	padding-bottom: aspect-ratio(1920, 1080);
	padding-bottom: aspect-ratio(1920px, 1080px);
}

.b-suggestions-item_image {
	@include g-image_container(_container, aspect-ratio(16, 9));

	img {
		@include g-image_container(_img);
	}
}
```

*/
/*md
@no-stat

# Hide

This mixin is especially useful for hiding text
or visually hide needed elements

Here is a list of parameters you can use:

* text - helps to hide text without loosing visibility for parsers
* visually - like for text but for the whole element

## Usage

```scss
.component {
	@include hide(visually);
}

.h-hide_vis {
	@include hide(visually, true);
}
```
*/
.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

/*md
@no-stat

# Hover-supported

This mixin is designed to address iOS standard behavior of first tap - hover,
second tap - click that is engaged when control has hover styles applied.

This is critical for functionality like back-top-button. If we apply hover styles as is.
It would be activated only after second tap.

If rules are wrapped into this media it applied only in case if device have fine
pointer mechanism. [See more info](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pointer).

Please note about mixed input devices - touch screen + mouse + touchpad,
touchpad + trackpoint, touch screen + stylus ("apple pencil") etc. -
sometimes browser do not report it properly, so logic should be builded around
exclusions.

## Usage

```scss
.component {
	@include hover-supported {
		&:hover {
			// Hover styles that should not be applied to touch
		}
	};
}
```
*/
/*md
@no-stat

# RTL selector

This mixin is designed to alter styles for RTL languages.

It mostly needed for alter position:absolute left|right coords, but could be used
as facade for different selectors.

## Usage

```scss
.component {
	left: 0;
	@include rtl {
		left: initial;
		right: 0;
	};
}
```
*/
/* stylelint-disable selector-no-vendor-prefix */
/*md

# g-button

Designed to provide same styles of buttons across different components.
It is possible to use with `<button>` or `<a>` elements

## First type button

```html_example
<button type="submit" class="b-button">
	Sign in
</button>
```

## First type disabled button

```html_example
<button type="submit" class="b-button m-disabled">
	Sign in
</button>
```

## First type, full width button

```html_example
<button type="submit" class="b-button m-width_full">
	Sign in
</button>
```

## Second type button

```html_example
<button type="submit" class="b-button m-outline">
	Sign in
</button>
```

## Second type disabled button

```html_example
<button type="submit" class="b-button m-outline m-disabled">
	Sign in
</button>
```

## Second type, full width button

```html_example
<button type="submit" class="b-button m-outline m-width_full">
	Sign in
</button>
```

## Link button

```html_example
<button type="submit" class="b-button m-link">
	Sign in
</button>
```

## Medium height Link button

```html_example
<button type="submit" class="b-button m-link m-medium">
	Sign in
</button>
```

## Small height Link button

```html_example
<button type="submit" class="b-button m-link m-small">
	Sign in
</button>
```

*/
/*md

# g-button_iconed

Designed to provide same styles of buttons that contain only icon (without any text)
across different components without explicit CSS class.

It is used for header menubar icons, hamburger menu items and dialog close button.

```scss
.b-dialog {
	// ...
	&-close {
		@include g-button_iconed;
	}
}
```
*/
/*md

# g-radio

The component is generally used for choosing item which includes in the radio group.

## Usage

Only one g-radio in a given group can be selected at the same time.

If user selects one option in the list that other options come to unselected.

`g-radio` has states: unchecked, checked, hover, disabled and invalid.

## Unchecked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-2" class="b-radio-input"/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-2">Some text</label>
</div>
```

## Checked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-3" class="b-radio-input" checked/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-3">Some text</label>
</div>
```

## Disabled unchecked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-4" class="b-radio-input" disabled/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-4">Some text</label>
</div>
```

## Disabled checked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-5" class="b-radio-input" checked disabled/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-5">Some text</label>
</div>
```

## Invalid unchecked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-6" class="b-radio-input m-invalid"/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-6">Some text</label>
</div>
```

## Invalid checked

```html_example
<div class="b-radio">
	<input type="radio" id="id-radio-7" class="b-radio-input m-invalid" checked/>
	<div class="b-radio-icon"></div>
	<label class="b-radio-label" for="id-radio-7">Some text</label>
</div>
```

## Customization by SCSS

Radio button styles that used in several component.

Designed to use same style of radio in different components
ex: b-radio, b-payment_option, b-shipping_option, b-stores etc.

It provide styles only for icon element based on input node.

```scss_example
.b-option_switch {
	// ...
	&-input {
		@include g-radio(_input);
	}

	&-icon {
		@include g-radio(_icon);

		.b-option_switch-input:active + & {
			@include g-radio(_icon, m-active);
		}

		.b-option_switch-input:hover + & {
			@include g-radio(_icon, m-hover);
		}

		.b-option_switch-input:checked + & {
			@include g-radio(_icon, m-checked);
		}

		.b-option_switch-input[disabled] + & {
			@include g-radio(_icon, m-disabled);
		}
	}
}
```
*/
/*md

# g-checkbox

This component allows user to choose between two mutually exclusive state (checked or unchecked).

## Usage

A `g-checkbox` is used for select or unselect action items.

It is always tied to `<label>` that describes two opposite states.

The component usually points to choose settings or preferences.

`g-checkbox` has states (unchecked, checked, hover, disabled and invalid).

## Unchecked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input" type="checkbox" id="id-checkbox-1" />
	<svg class="b-checkbox-icon" width="24" height="24" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
		<path class="b-checkbox-icon_check" fill="none" stroke="currentColor" d="m5.2686 10.371 5.1528 6.9837 9.8939-11.913"/>
	</svg>
	<label class="b-checkbox-label" for="id-checkbox-1">Some text</label>
</div>
```

## Checked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input" type="checkbox" id="id-checkbox-2" checked/>
	<svg class="b-checkbox-icon" width="24" height="24" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
		<path class="b-checkbox-icon_check" fill="none" stroke="currentColor" d="m5.2686 10.371 5.1528 6.9837 9.8939-11.913"/>
	</svg>
	<label class="b-checkbox-label" for="id-checkbox-2">Some text</label>
</div>
```

## Disabled unchecked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input" type="checkbox" id="id-checkbox-3" disabled/>
	<svg class="b-checkbox-icon" width="24" height="24" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
		<path class="b-checkbox-icon_check" fill="none" stroke="currentColor" d="m5.2686 10.371 5.1528 6.9837 9.8939-11.913"/>
	</svg>
	<label class="b-checkbox-label" for="id-checkbox-3">Some text</label>
</div>
```

## Disabled checked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input" type="checkbox" id="id-checkbox-4" checked disabled/>
	<svg class="b-checkbox-icon" width="24" height="24" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
		<path class="b-checkbox-icon_check" fill="none" stroke="currentColor" d="m5.2686 10.371 5.1528 6.9837 9.8939-11.913"/>
	</svg>
	<label class="b-checkbox-label" for="id-checkbox-4">Some text</label>
</div>
```

## Invalid unchecked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input m-invalid" type="checkbox" id="id-checkbox-5"/>
	<svg class="b-checkbox-icon" width="24" height="24" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
		<path class="b-checkbox-icon_check" fill="none" stroke="currentColor" d="m5.2686 10.371 5.1528 6.9837 9.8939-11.913"/>
	</svg>
	<label class="b-checkbox-label" for="id-checkbox-5">Some text</label>
</div>
```

## Invalid checked
```html_example
<div class="b-checkbox">
	<input class="b-checkbox-input m-invalid" type="checkbox" id="id-checkbox-6" checked/>
	<svg class="b-checkbox-icon" width="24" height="24" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
		<path class="b-checkbox-icon_check" fill="none" stroke="currentColor" d="m5.2686 10.371 5.1528 6.9837 9.8939-11.913"/>
	</svg>
	<label class="b-checkbox-label" for="id-checkbox-6">Some text</label>
</div>

```

## Customization by SCSS

Checkbox styles that used in several component.

Designed to use same style of checkbox in different components without additional CSS class.
ex: `b-checkbox`, `b-refinement_checkbox`, `b-account_preference` etc.

It provide styles only for icon element based on SVG.

```scss
.b-refinement_checkbox {
	// ...
	&-icon {
		@include g-checkbox(_icon);

		.b-refinement_checkbox:active & {
			@include g-checkbox(_icon, m-active);
		}

		.b-refinement_checkbox.m-checked & {
			@include g-checkbox(_icon, m-checked);
		}

		.b-refinement_checkbox.m-disabled & {
			@include g-checkbox(_icon, m-disabled);
		}
	}
}
```
*/
/*md

# g-spinner

Global spinner component applied to different blocks that fetch data.

Designed to use same style of spinner in different components and on particular breakpoints.
Ex: b-minicart_popup, b-suggestions, b-plp_grid, b-product_details, b-cart etc.

```scss
.b-product_gallery {
	&.m-loading_long::before {
		@include g-spinner();
	}
	// ...
}
```
*/
/*md

# g-link

Designed to provide same styles of text-type links across different components.

## Usage

```scss
.component-link {
	@include g-link;
}

.component-link {
	@include g-link();
}
```

*/
/*md

# g-link_hamburger

Hamburger menu generic link that used in several component.

Designed to use same style of hamburger link in different components
ex: menu, account link, language switcher etc.

```scss
.b-menu {
	// ...
	&-item {
		@include media(sm) {
			@include g-link_hamburger;
		}
	}
}
```
*/
/*md

# g-icon_gradient

Designed to provide same styles of icon gradient across different components without
explicit CSS class.

```scss
.b-user_greeting {
	// ...
	&-icon {
		@include g-icon_gradient;
	}
}
```
*/
/*md

# g-image_container

This is global component designed to hold image in place and preventing from layout bouncing during page load.

It based on `padding-bottom` trick. `padding-bottom` and `padding-top` relative units are based
on parent element `width`. So if you had an element that is 500px wide, and padding-top of 100%,
the padding-top would be 500px. [More info](https://css-tricks.com/aspect-ratio-boxes/)

```scss
.b-suggestions-item_image {
	@include g-image_container(_container, 100%);

	img {
		@include g-image_container(_img);
	}
}

.b-suggestions-item_image {
	@include g-image_container(_container, 100%);

	img {
		@include g-image_container(_img);
	}
}
```

You could change aspect ration in mixin:

```scss
@include g-image_container(_container, 100%);   // 1:1
@include g-image_container(_container, 150%);   // 2:3
@include g-image_container(_container, 133%);   // 3:4
@include g-image_container(_container, 125%);   // 5:4
@include g-image_container(_container, 75%);    // 4:3
@include g-image_container(_container, 66.6%);  // 3:2
@include g-image_container(_container, 56.25%); // 16:9
```

But it is preferable to define only one aspect ration through all images and not change it.

*/
/*md

# g-snap_scroll

Snap scroll functionality applied to different cases.

Designed to use same snap scroll functionality in different components and on particular breakpoints.
Ex: b-carousel, b-product_gallery, .b-product_slider etc.

```scss
.b-product_gallery {
	&-thumbs_track {
		@include g-snap_scroll($direction: y);
	}
	// ...
}
```

[Snap scroll MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap)

*/
/*md

# g-dialog_backdrop

Dialog window backdrop styles that used in several component.

Designed to use same style of backdrop and logic in different components and on particular breakpoints.
Ex: b-dialog, b-menu_panel, b-refinements_panel, b-minicart_panel etc.

```scss
.b-menu_panel {
	@include media(sm) {
		@include g-dialog_backdrop;
	}
	// ...
}
```
*/
/*md

# g-section_holder

This is global component designed to hold some standalone section of the site
as it wrapped into main container.

It could be used not only for standalone blocks, but also for page layouts.

```scss
.b-section {
	background: green;

	&-inner {
		@include g-section_holder;
	}
}
```
*/
/*md

# g-section_holder_header

Since header is differs from other container (g-section_holder)
we need special component the same as `section_holder` but with different
`max-width` and `margin`s.

This is global component designed to hold header of the site as it wrapped into
main container.

This common designs it could be removed and changed to `section_holder`.

```scss
.l-header-inner {
	background: green;

	&-inner {
		@include g-section_holder_header;
	}
}
```
*/
/*md

# g-heading_*

Some basic simple typography applied to different UI components.

This covers only very basic cases and could be extended.

```scss
.b-cart_empty {
	// ...

	&-title {
		@include g-heading_1;

		margin-bottom: rh(8);
	}
}
```
*/
/*md

# g-accordion

Global accordion component

## Attributes

```
data-allow-toggle="true" - Flag that allow or dissallow toggle
data-open-first="true" - Flag that open first item
data-allow-multiple="true" - Flag that allow or dissallow multiple open items
```

## Simple accordion example

```html_example
<div
    data-id="descriptions"
    data-widget="accordion"
    data-allow-toggle="false"
    data-open-first="true"
    data-allow-multiple="false"
    class="b-accordion"
>
	<section
		data-widget="accordionItem"
		data-widget-event-closeallitems="closeItems"
		data-widget-event-accordionitemupdate="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="product-details-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent="togglePanel"
				data-event-keydown="handleKeydown"
				data-event-focus="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 1</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="product-details"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				<p>
					Long content for first item. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dignissim bibendum neque in pellentesque. Nulla nunc sem, lacinia vitae sapien ac, blandit cursus odio. Praesent et elit condimentum, varius ligula id, ullamcorper neque.
				</p>
				<p>
					Vivamus in nulla quis nulla dapibus dictum. Aenean eu turpis et felis luctus eleifend. In ut pharetra metus. Praesent sed fringilla mauris. Donec dignissim, urna cursus euismod varius, nunc urna aliquam neque, eu posuere elit ex mollis enim. Nulla sollicitudin scelerisque faucibus. Donec porta vestibulum felis ac molestie.
				</p>
			</div>
		</div>
	</section>
	<section
		data-widget="accordionItem"
		data-widget-event-closeallitems="closeItems"
		data-widget-event-accordionitemupdate="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="delivery-and-returns-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent="togglePanel"
				data-event-keydown="handleKeydown"
				data-event-focus="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 2</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="delivery-and-returns"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				Content for second item
			</div>
		</div>
	</section>
	<section
		data-widget="accordionItem"
		data-widget-event-closeallitems="closeItems"
		data-widget-event-accordionitemupdate="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="delivery-and-returns-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent="togglePanel"
				data-event-keydown="handleKeydown"
				data-event-focus="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 3</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="delivery-and-returns"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				Content for third item
			</div>
		</div>
	</section>
</div>
```

## Accordion with multiple open items

```html_example
<div
    data-id="descriptions"
    data-widget="accordion"
    data-allow-toggle="true"
    data-open-first="false"
    data-allow-multiple="true"
    class="b-accordion"
>
	<section
		data-widget="accordionItem"
		data-widget-event-closeallitems="closeItems"
		data-widget-event-accordionitemupdate="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="product-details-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent="togglePanel"
				data-event-keydown="handleKeydown"
				data-event-focus="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 1</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="product-details"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				<p>
					Long content for first item. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dignissim bibendum neque in pellentesque. Nulla nunc sem, lacinia vitae sapien ac, blandit cursus odio. Praesent et elit condimentum, varius ligula id, ullamcorper neque.
				</p>
				<p>
					Vivamus in nulla quis nulla dapibus dictum. Aenean eu turpis et felis luctus eleifend. In ut pharetra metus. Praesent sed fringilla mauris. Donec dignissim, urna cursus euismod varius, nunc urna aliquam neque, eu posuere elit ex mollis enim. Nulla sollicitudin scelerisque faucibus. Donec porta vestibulum felis ac molestie.
				</p>
			</div>
		</div>
	</section>
	<section
		data-widget="accordionItem"
		data-widget-event-closeallitems="closeItems"
		data-widget-event-accordionitemupdate="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="delivery-and-returns-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent="togglePanel"
				data-event-keydown="handleKeydown"
				data-event-focus="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 2</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="delivery-and-returns"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				Content for second item
			</div>
		</div>
	</section>
	<section
		data-widget="accordionItem"
		data-widget-event-closeallitems="closeItems"
		data-widget-event-accordionitemupdate="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="delivery-and-returns-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent="togglePanel"
				data-event-keydown="handleKeydown"
				data-event-focus="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 3</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="delivery-and-returns"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				Content for third item
			</div>
		</div>
	</section>
</div>
```

## Init accordion on sm, md & lg devices

### Attributes

```
.b-accordion
	data-widget="accordion" - init for all viewports
	data-widget.sm="accordion" - init for sm viewports
	data-widget.sm.md="accordion" - init for sm & md viewports
	data-widget.sm.md.lg="accordion" - init for sm & md & lg viewports
.b-accordion-item
	data-widget="accordionItem" - init for all viewports
	data-widget.sm="accordionItem" - init for sm viewports
	data-widget.sm.md="accordionItem" - init for sm & md viewports
	data-widget.sm.md.lg="accordionItem" - init for sm & md & lg viewports
```

```html_example
<div
    data-id="descriptions"
    data-widget.sm.md.lg="accordion"
    data-allow-toggle="true"
    data-open-first="true"
    data-allow-multiple="true"
    class="b-accordion"
>
	<section
		data-widget.sm.md.lg="accordionItem"
		data-widget-event-closeallitems.sm.md.lg="closeItems"
		data-widget-event-accordionitemupdate.sm.md.lg="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="product-details-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent.sm.md.lg="togglePanel"
				data-event-keydown.sm.md.lg="handleKeydown"
				data-event-focus.sm.md.lg="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 1</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="product-details"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				<p>
					Long content for first item. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi dignissim bibendum neque in pellentesque. Nulla nunc sem, lacinia vitae sapien ac, blandit cursus odio. Praesent et elit condimentum, varius ligula id, ullamcorper neque.
				</p>
				<p>
					Vivamus in nulla quis nulla dapibus dictum. Aenean eu turpis et felis luctus eleifend. In ut pharetra metus. Praesent sed fringilla mauris. Donec dignissim, urna cursus euismod varius, nunc urna aliquam neque, eu posuere elit ex mollis enim. Nulla sollicitudin scelerisque faucibus. Donec porta vestibulum felis ac molestie.
				</p>
			</div>
		</div>
	</section>
	<section
		data-widget.sm.md.lg="accordionItem"
		data-widget-event-closeallitems.sm.md.lg="closeItems"
		data-widget-event-accordionitemupdate.sm.md.lg="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="delivery-and-returns-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent.sm.md.lg="togglePanel"
				data-event-keydown.sm.md.lg="handleKeydown"
				data-event-focus.sm.md.lg="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 2</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="delivery-and-returns"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				Content for second item
			</div>
		</div>
	</section>
	<section
		data-widget.sm.md.lg="accordionItem"
		data-widget-event-closeallitems.sm.md.lg="closeItems"
		data-widget-event-accordionitemupdate.sm.md.lg="updateFocusedItem"
		class="b-accordion-item"
	>
		<h2>
			<button
				id="delivery-and-returns-btn"
				data-ref="accordionItemBtn"
				data-event-click.prevent.sm.md.lg="togglePanel"
				data-event-keydown.sm.md.lg="handleKeydown"
				data-event-focus.sm.md.lg="handleFocus"
				class="b-accordion-button"
				type="button"
			>
				<span>Title 3</span>
				<span class="b-icon_chevron"></span>
			</button>
		</h2>
		<div
			id="delivery-and-returns"
			data-ref="accordionItemPanel"
			class="b-accordion-content"
		>
			<div class="b-accordion-content_inner" data-ref="accordionItemPanelInner">
				Content for third item
			</div>
		</div>
	</section>
</div>
```

## Customization by SCSS

This implementation allow to use accordion for one vieport and any other component for rest viewports

```scss
.b-accordion {
	@include g-accordion;

	&-item {
		@include g-accordion(_item);
	}

	&-title {
		@include g-accordion(_control);
	}

	&-content {
		@include g-accordion(_content);

		&[aria-hidden='false'] {
			@include g-accordion(_content, expanded);
		}
	}

	&-content_inner {
		@include g-accordion(_content_inner);
	}
}
```
*/
/*md

# g-grid

Grid layout component based on CSS grid.

It is designed to easy use project defined grid into components where CSS grid is
applicable.

```scss
.b-grid {
	@include g-grid();

	.b-columns__item {
		@include media(lg-up) {
			grid-column: 2 / span 4;
			grid-row: 1 / 2;
		}

		@include media(md-down) {
			grid-column: grid-start / span 7;
		}
	}
}
```
*/
.l-pdp-main {
  margin: 0 auto;
  max-width: 1366px;
  padding-left: 50px;
  padding-right: 50px;
  margin-bottom: 20px;
  margin-top: 20px;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-pdp-main {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767px) {
  .l-pdp-main {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.l-pdp-main.m-busy {
  cursor: wait;
  opacity: 0.6;
}
.m-quick_view .l-pdp-main {
  margin: 0;
  padding: 0;
}
.l-pdp-main.m-product_set_item {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .l-pdp-main.m-product_set_item {
    margin-top: 80px;
  }
}
.l-pdp-main.m-product_set_buy_all {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .l-pdp-top {
    display: flex;
  }
}
@media screen and (min-width: 1024px) {
  .l-pdp-image {
    padding-inline-end: 64px;
    width: 58.3333333333%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-pdp-image {
    padding-inline-end: 20px;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .l-pdp-details {
    margin-top: 18px;
  }
}
@media screen and (min-width: 1024px) {
  .l-pdp-details {
    width: 41.6666666667%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-pdp-details {
    width: 50%;
  }
}
.l-pdp-slots {
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .l-pdp-slots {
    margin: 30px 0;
  }
}
.l-pdp-slots_inner {
  margin: 0 auto;
  max-width: 1366px;
  padding-left: 50px;
  padding-right: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-pdp-slots_inner {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767px) {
  .l-pdp-slots_inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.l-pdp-slots_inner .b-promo_info_box,
.l-pdp-slots_inner .b-promo_box {
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .l-pdp-slots_inner .b-promo_info_box,
.l-pdp-slots_inner .b-promo_box {
    margin: 30px 0;
  }
}
@media screen and (max-width: 767px) {
  .l-pdp-slots_inner .b-promo_box-caption {
    padding-bottom: 80px;
    padding-top: 80px;
  }
}
.l-pdp-review {
  margin: 40px 0;
}
@media screen and (max-width: 767px) {
  .l-pdp-review {
    margin: 30px 0;
  }
}
.l-pdp-content {
  background-color: #ccb5a7;
}
.l-pdp-content_inner {
  margin: 0 auto;
  max-width: 1366px;
  padding-left: 50px;
  padding-right: 50px;
  display: flex;
  padding-bottom: 60px;
  padding-top: 60px;
  flex-flow: column;
  margin: 0 0 30px 0;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-pdp-content_inner {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767px) {
  .l-pdp-content_inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 768px) {
  .l-pdp-content_inner {
    flex-flow: row;
    grid-gap: 0;
    margin: 0 auto;
  }
}
.l-pdp-content_text {
  display: flex;
  flex: 1 1 0;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin: 0 0 50px 0;
}
@media screen and (min-width: 1024px) {
  .l-pdp-content_text {
    padding-inline-end: 64px;
    width: 58.3333333333%;
  }
}
@media screen and (min-width: 768px) {
  .l-pdp-content_text {
    padding-inline-end: 20px;
    width: 50%;
    margin: 0;
  }
}
.l-pdp-content_text_title {
  font-size: 16px;
  margin-bottom: 20px;
  font-family: "Georgia", "DejaVu Serif", serif;
}
@media screen and (min-width: 1024px) {
  .l-pdp-content_text_title {
    font-size: 18px;
  }
}
.l-pdp-content_text_subtitle {
  font-size: 12px;
  font-family: "Georgia", "DejaVu Serif", serif;
}
@media screen and (min-width: 1024px) {
  .l-pdp-content_text_subtitle {
    font-size: 14px;
  }
}
.l-pdp-content_video {
  width: 100%;
  flex: 1 1 0;
}
@media screen and (min-width: 1024px) {
  .l-pdp-content_video {
    width: 41.6666666667%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-pdp-content_video {
    width: 50%;
  }
}
.l-pdp-content_video .b-video {
  background: #f8f5f5;
  display: block;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
  padding-bottom: 49.25%;
}
.l-pdp-content_video .b-video-object {
  bottom: 0;
  color: #f8f5f5;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  object-fit: cover;
  border: none;
  object-fit: initial;
}
@media screen and (max-width: 1367px) {
  .l-pdp-content_video .b-video {
    padding-bottom: 58.7%;
  }
}
@media screen and (max-width: 1281px) {
  .l-pdp-content_video .b-video {
    padding-bottom: 57.1%;
  }
}
@media screen and (max-width: 1024px) {
  .l-pdp-content_video .b-video {
    padding-bottom: 70%;
  }
}

/*md

# Radio

Please see [g-radio](02-components-g-radio.html) for details.

*/
.b-radio {
  align-items: center;
  color: #757575;
  display: flex;
  font-size: 12px;
  font-weight: 500;
  position: relative;
  -webkit-user-select: none;
          user-select: none;
}
.b-radio-input {
  height: 24px;
  left: 0;
  opacity: 0;
  position: absolute;
  width: 24px;
}
html[dir=rtl] .b-radio-input {
  left: initial;
  right: 0;
}
.b-radio-icon {
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: 1px solid rgba(0, 0, 1, 0.25);
  border-radius: 24px;
  cursor: pointer;
  display: inline-block;
  height: 24px;
  margin-inline-end: 12px;
  min-height: 24px;
  min-width: 24px;
  position: relative;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: border, box-shadow;
  vertical-align: sub;
  width: 24px;
}
.b-radio-icon::-ms-check {
  display: none;
}
.b-radio-icon::before {
  background-color: #000001;
  border-radius: 14px;
  content: "";
  height: 14px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: transform;
  width: 14px;
}
.b-radio-input:active + .b-radio-icon {
  transform: scale(0.9);
}
.b-radio:hover + .b-radio-icon {
  border-color: #000001;
}
.b-radio-input:checked + .b-radio-icon {
  border-color: #000001;
  border-width: 2px;
}
.b-radio-input:checked + .b-radio-icon::before {
  transform: translate(-50%, -50%) scale(1);
}
.b-radio-input[disabled] + .b-radio-icon {
  background-color: #f2f2f2;
  border-color: #bababa;
  cursor: default;
  transform: scale(1);
}
.b-radio-input[disabled] + .b-radio-icon::before {
  background-color: #757575;
}
.b-radio-input.m-invalid + .b-radio-icon {
  border-color: #d54a4a;
}
.b-radio-label {
  cursor: pointer;
}

/*md

# Textarea

Default textarea element

## Default

```html_example
	<textarea
		id=""
		class="b-textarea m-valid"
		data-ref="field"
		placeholder="Enter your text…"
		rows="5"
	></textarea>
```

## Invalid

```html_example
	<textarea
		id=""
		class="b-textarea m-invalid"
		data-ref="field"
		placeholder="Enter your text…"
		rows="5"
	></textarea>
```

*/
.b-textarea {
  -webkit-appearance: none;
          appearance: none;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 1, 0.3);
  border-radius: 0;
  box-shadow: none;
  color: #000001;
  cursor: text;
  font-family: inherit;
  font-size: 16px;
  max-width: 100%;
  min-height: 6em;
  min-width: 100%;
  padding: 8px 16px;
  vertical-align: baseline;
}
.b-textarea.m-invalid {
  background: #feeeee;
  border: 2px solid #d54a4a;
}
.b-textarea.m-no_resize {
  resize: none;
}
.b-textarea.m-disabled, .b-textarea[disabled] {
  background: #f2f2f2;
  cursor: default;
  pointer-events: none;
}

.b-input_value_preset {
  border: none;
  display: block;
  margin: 16px 0;
  min-width: 0;
  padding: 0;
  position: relative;
}
.b-input_value_preset-legend {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: block;
  font-weight: 500;
  margin-bottom: 16px;
  max-width: 100%;
  padding: 0;
  white-space: normal;
  width: 100%;
}
.b-input_value_preset-presets_list {
  display: grid;
  grid-gap: 12px;
  grid-template-columns: repeat(5, 1fr);
  margin-bottom: 20px;
}
@media screen and (max-width: 1023px) {
  .b-input_value_preset-presets_list {
    grid-gap: 8px;
  }
}
.b-input_value_preset-presets_item {
  position: relative;
}
.b-input_value_preset-presets_item input {
  cursor: pointer;
  height: 100%;
  opacity: 0;
  position: absolute;
  width: 100%;
}
.b-input_value_preset-button {
  box-shadow: 0 0 0 1px #bababa;
  color: #000001;
  display: block;
  font-size: 18px;
  font-weight: 500;
  height: 48px;
  line-height: 48px;
  text-align: center;
}
@media not all and (pointer: coarse) {
  .b-input_value_preset-presets_item input:hover + .b-input_value_preset-button {
    box-shadow: 0 0 0 1px #000001;
  }
}
.b-input_value_preset-presets_item input:checked + .b-input_value_preset-button {
  box-shadow: 0 0 0 2px #000001;
}
.b-input_value_preset-currency {
  color: #757575;
}
.b-input_value_preset-input {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 1, 0.3);
  color: #000001;
  display: flex;
  font-size: 16px;
  height: 48px;
  line-height: 48px;
  padding: 0 16px;
}
.b-input_value_preset-input_wrapper.m-invalid .b-input_value_preset-input {
  background: #feeeee;
  box-shadow: inset 0 0 0 2px #d54a4a;
}
.b-input_value_preset-input input {
  -webkit-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  font-size: 16px;
  margin-left: 4px;
  width: 100%;
}

/*md

# b-scrollable_table

This table has an inner scroll on mobile devices with sticky cell headers. On desktop and tablet devices will be shown the usual table.

## Example
```html_example
<div class="b-scrollable_table">
	<div class="b-scrollable_table-content">
	    <table class="b-scrollable_table-table">
	        <tbody>
	            <tr>
	                <th scope="row">
	                    <strong>US</strong>
	                </th>
	                <td>
	                    <strong>2</strong>
	                </td>
	                <td>
	                    <strong>4</strong>
	                </td>
	                <td>
	                    <strong>6</strong>
	                </td>
	                <td>
	                    <strong>8</strong>
	                </td>
	                <td>
	                    <strong>10</strong>
	                </td>
	                <td>
	                    <strong>12</strong>
	                </td>
	            </tr>
	            <tr>
	                <th scope="row">
	                    <strong>EURO</strong>
	                </th>
	                <td>
	                    <strong>34</strong>
	                </td>
	                <td>
	                    <strong>36</strong>
	                </td>
	                <td>
	                    <strong>38</strong>
	                </td>
	                <td>
	                    <strong>40</strong>
	                </td>
	                <td>
	                    <strong>42</strong>
	                </td>
	                <td>
	                    <strong>44</strong>
	                </td>
	            </tr>
	            <tr>
	                <th scope="row">
	                    <strong>UK</strong>
	                </th>
	                <td>
	                    <strong>6</strong>
	                </td>
	                <td>
	                    <strong>8</strong>
	                </td>
	                <td>
	                    <strong>10</strong>
	                </td>
	                <td>
	                    <strong>12</strong>
	                </td>
	                <td>
	                    <strong>14</strong>
	                </td>
	                <td>
	                    <strong>16</strong>
	                </td>
	            </tr>
	            <tr>
	                <th scope="row">CHEST</th>
	                <td>80/31</td>
	                <td>80/32</td>
	                <td>86/34</td>
	                <td>91/36</td>
	                <td>96/38</td>
	                <td>101/40</td>
	            </tr>
	            <tr>
	                <th scope="row">WAIST</th>
	                <td>63/25</td>
	                <td>65/26</td>
	                <td>65/27</td>
	                <td>74/30</td>
	                <td>79/31</td>
	                <td>84/33</td>
	            </tr>
	            <tr>
	                <th scope="row">HIPS</th>
	                <td>89/35</td>
	                <td>91/36</td>
	                <td>94/37</td>
	                <td>99/39</td>
	                <td>104/41</td>
	                <td>109/43</td>
	            </tr>
	        </tbody>
	    </table>
	</div>
</div>
```
*/
.b-scrollable_table {
  font-size: 12px;
  margin: 16px 0;
  position: relative;
}
.b-scrollable_table th {
  background-clip: padding-box;
  background-color: #ffffff;
  font-weight: normal;
  left: 0;
  min-width: 120px;
  padding: 10px 6px;
  position: sticky;
  text-align: center;
  width: 1px;
}
.b-scrollable_table td {
  min-width: 40px;
  padding: 10px 6px;
  text-align: center;
}
.b-scrollable_table-content {
  overflow: auto;
  position: relative;
}
.b-scrollable_table-table {
  width: 100%;
}
.b-scrollable_table-row.m-highlighted {
  background-color: #ebddd3;
}
.b-scrollable_table-row.m-highlighted th {
  background-color: #ebddd3;
}

.b-size_guide_link {
  color: inherit;
  cursor: pointer;
  text-underline-offset: 4px;
  text-decoration: none;
  align-items: center;
  display: flex;
  font-weight: 400;
  margin-top: 16px;
  position: relative;
  text-decoration: underline;
  text-transform: capitalize;
}
@media not all and (pointer: coarse) {
  .b-size_guide_link:hover {
    text-decoration: underline;
  }
}
.b-size_guide_link:hover {
  text-decoration: none;
}

/*md

# b-button_multi_state

This button used to have several states, like: "Add to cart" - "Processed" - "Added" and icon of busy state.
It currently used on PDP and Checkout with Adyen integration.

```html_example
<button class="b-button_multi_state m-processing b-button" type="button">
	<svg class="b-button_multi_state-icon" width="19" height="19" viewBox="0 0 19 19" focusable="false">
	    <g fill="currentColor" transform="rotate(-90 9.5 9.5)">
	        <circle cx="15.9" cy="13.3" r="1.1"/>
	        <circle cx="13" cy="16.2" r="1.1"/>
	        <circle cx="16.9" cy="9.1" r="1.1"/>
	        <circle cx="16.1" cy="5.1" r="1.1" opacity=".9"/>
	        <circle cx="13" cy="2" r="1.1" opacity=".8"/>
	        <circle cx="9.1" cy="1.2" r="1.1" opacity=".6"/>
	        <circle cx="5.1" cy="2" r="1.1" opacity=".6"/>
	        <circle cx="2" cy="5.2" r="1.1" opacity=".5"/>
	        <circle cx="1.2" cy="9.1" r="1.1" opacity=".4"/>
	        <circle cx="1.2" cy="9.1" r="1.1" opacity=".4"/>
	        <circle cx="2" cy="13" r="1.1" opacity=".3"/>
	        <circle cx="5.1" cy="16.1" r="1.1" opacity=".2"/>
	        <circle cx="9.1" cy="16.9" r="1.1" opacity=".1"/>
	        <circle cx="9.1" cy="16.9" r="1.1" opacity=".1"/>
	    </g>
	</svg>
	<span>Processing...</span>
</button>
```

*/
.b-button_multi_state {
  display: inline-block;
  letter-spacing: 1px;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
.b-button_multi_state:disabled, .b-button_multi_state.m-disabled {
  opacity: 1;
}
.b-button_multi_state:disabled:not(.m-processing), .b-button_multi_state.m-disabled:not(.m-processing) {
  background: #bababa;
  border: #bababa;
  color: #404040;
}
.b-button_multi_state.m-processing {
  cursor: wait;
  display: inline-flex;
  pointer-events: none;
}
.b-button_multi_state-icon {
  animation: rotate 1.5s linear infinite;
  display: none;
  margin-inline-end: 8px;
}
.b-button_multi_state.m-processing .b-button_multi_state-icon {
  display: block;
}

/*md

# Variation swatches

## Color swatch
```html_example
<button
	id="variation-swatch-button-Green"
	role="radio"
	class="b-variation_swatch m-swatch"
	aria-label="Color Black"
	title="Green"
	aria-checked="false"
	aria-disabled="false"
>
	<span data-attr-value="Black" class="b-variation_swatch-value">
		<span class="b-variation_swatch-color_value" style="background-color: #2e7d32"></span>
		<span class="b-variation_swatch-value_overlay"></span>
	</span>
	<span class="b-variation_swatch-name">Green</span>
</button>
```

## Color swatch selected
```html_example
<button
	id="variation-swatch-button-Green"
	role="radio"
	class="b-variation_swatch m-swatch"
	aria-label="Color Black"
	title="Green"
	aria-checked="true"
	aria-disabled="false"
>
	<span data-attr-value="Black" class="b-variation_swatch-value">
		<span class="b-variation_swatch-color_value" style="background-color: #2e7d32"></span>
		<span class="b-variation_swatch-value_overlay"></span>
	</span>
	<span class="b-variation_swatch-name">Green</span>
</button>
```

## Color swatch disabled
```html_example
<button
	id="variation-swatch-button-Green"
	role="radio"
	class="b-variation_swatch m-swatch m-disabled"
	aria-label="Color Black"
	title="Green (not available)"
	aria-checked="false"
	aria-disabled="true"
>
	<span data-attr-value="Black" class="b-variation_swatch-value">
		<span class="b-variation_swatch-color_value" style="background-color: #2e7d32"></span>
		<span class="b-variation_swatch-value_overlay"></span>
	</span>
	<span class="b-variation_swatch-name">Green</span>
</button>
```

## Size swatch
```html_example
<button
	id="variation-swatch-button-XSmall"
	role="radio"
	class="b-variation_swatch"
	aria-label="Size XS"
	title="XSmall"
	aria-checked="false"
	aria-disabled="false"
>
	<span class="b-variation_swatch-value">
		XS
		<span class="b-variation_swatch-value_overlay"></span>
	</span>
	<span class="b-variation_swatch-name">XSmall</span>
</button>
```

## Size swatch selected
```html_example
<button
	id="variation-swatch-button-XSmall"
	role="radio"
	class="b-variation_swatch"
	aria-label="Size XS"
	title="XSmall"
	aria-checked="true"
	aria-disabled="false"
>
	<span class="b-variation_swatch-value">
		XS
		<span class="b-variation_swatch-value_overlay"></span>
	</span>
	<span class="b-variation_swatch-name">XSmall</span>
</button>
```

## Size swatch disabled
```html_example
<button
	id="variation-swatch-button-XSmall"
	role="radio"
	class="b-variation_swatch m-disabled"
	aria-label="Size XS"
	title="XSmall (not available)"
	aria-checked="false"
	aria-disabled="true"
>
	<span class="b-variation_swatch-value">
		XS
		<span class="b-variation_swatch-value_overlay"></span>
	</span>
	<span class="b-variation_swatch-name">XSmall</span>
</button>
```

## Size swatch flex width
```html_example
<button
	id="variation-swatch-button-XSmall"
	role="radio"
	class="b-variation_swatch m-flex"
	aria-label="Size XS"
	title="XSmall"
	aria-checked="false"
	aria-disabled="false"
>
	<span class="b-variation_swatch-value">
		2-3 yrs
		<span class="b-variation_swatch-value_overlay"></span>
	</span>
	<span class="b-variation_swatch-name">XSmall</span>
</button>
```
*/
.b-variation_swatch {
  -webkit-appearance: none;
          appearance: none;
  background: #ffffff;
  cursor: pointer;
  height: 24px;
  margin-bottom: 15px;
  margin-inline-end: 15px;
  -webkit-user-select: none;
          user-select: none;
  width: 24px;
}
.b-variation_swatch[aria-checked=true] {
  cursor: default;
}
.b-variation_swatch.m-flex {
  width: auto;
}
.b-variations_item.m-size .b-variation_swatch {
  height: auto;
  margin-bottom: 15px;
  margin-inline-end: 15px;
  width: auto;
  display: flex;
}
.b-variation_swatch-name {
  display: none;
  font-size: 16px;
  position: absolute;
  text-align: start;
}
.b-variation_swatch:hover .b-variation_swatch-name {
  z-index: 1;
}
.b-variation_swatch:hover .b-variation_swatch-name, .b-variation_swatch[aria-checked=true] .b-variation_swatch-name {
  background-color: #ffffff;
  display: block;
  left: 70px;
  right: 0;
  top: 0;
}
html[dir=rtl] .b-variation_swatch:hover .b-variation_swatch-name, html[dir=rtl] .b-variation_swatch[aria-checked=true] .b-variation_swatch-name {
  left: 0;
  right: 70px;
}
.b-variations_item.m-size .b-variation_swatch:hover .b-variation_swatch-name, .b-variations_item.m-size .b-variation_swatch[aria-checked=true] .b-variation_swatch-name {
  left: 45px;
}
html[dir=rtl] .b-variations_item.m-size .b-variation_swatch:hover .b-variation_swatch-name, html[dir=rtl] .b-variations_item.m-size .b-variation_swatch[aria-checked=true] .b-variation_swatch-name {
  right: 45px;
}
.b-variation_swatch.m-disabled .b-variation_swatch-name {
  color: #757575;
}
.b-variation_swatch-value {
  align-items: center;
  color: #000001;
  display: flex;
  font-size: 14px;
  height: 100%;
  justify-content: center;
  overflow: hidden;
  padding: 0 5px;
  position: relative;
  width: 100%;
}
.b-variation_swatch[aria-checked=true] .b-variation_swatch-value::after {
  background: #000001;
  bottom: 0;
  content: "";
  height: 3px;
  left: 5px;
  position: absolute;
  right: 5px;
}
.b-variation_swatch.m-disabled .b-variation_swatch-value {
  color: #757575;
  padding-right: 0;
}
.b-variation_swatch.m-swatch .b-variation_swatch-value {
  background-color: #f8f5f5;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #c5c5c5;
  height: 24px;
  margin: 0 auto;
  max-width: 24px;
  min-width: 24px;
  padding: 0;
}
.b-variation_swatch.m-swatch .b-variation_swatch-value::after {
  content: none;
}
.b-variation_swatch.m-swatch:hover .b-variation_swatch-value {
  box-shadow: 0 0 0 1px #000001;
}
.b-variation_swatch.m-swatch[aria-checked=true] .b-variation_swatch-value {
  box-shadow: 0 0 0 1px #000001;
}
.b-variation_swatch.m-swatch .b-variation_swatch-value_overlay {
  border-radius: 100%;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: box-shadow;
}
.b-variation_swatch.m-swatch:hover .b-variation_swatch-value_overlay, .b-variation_swatch.m-swatch[aria-checked=true] .b-variation_swatch-value_overlay {
  box-shadow: inset 0 0 0 1px #ffffff;
}
.b-variation_swatch-color_value {
  height: 100%;
  width: 100%;
}
.b-variation_swatch.m-disabled .b-variation_swatch-color_value {
  opacity: 0.5;
}
.b-variation_swatch .notify-me-icon {
  display: none;
  height: 16px;
  width: 16px;
}
.b-variation_swatch.m-disabled .notify-me-icon {
  width: 20px;
  display: block;
}
.b-variation_swatch.m-disabled .b-variation_swatch-value::after {
  right: 0;
  width: 100%;
}

/*md

# b-promo_box

`promo-box` is basic container for creating promo boxes and banners.
It designed to position description (`b-promo_caption`) over the image box.

This implementation could handle both image and text centric approaches.

## Example

```html_example
<figure class="b-promo_box m-caption_center">
	<picture class="b-promo_box-picture">
		<source type="image/jpeg" media="(max-width: 767px)"
				srcset="../images/guide/examples/banner-16x9-sm.jpg?$staticlink$, ../images/guide/examples/banner-16x9-sm@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 768px) and (max-width: 1024px)"
				srcset="../images/guide/examples/banner-16x9-md.jpg?$staticlink$, ../images/guide/examples/banner-16x9-md@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 1025px)"
				srcset="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$, ../images/guide/examples/banner-16x9-lg@2x.jpg?$staticlink$2x" />
		<img
			loading="lazy"
			src="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

## Overflow handling

This component is designed to handle any type of overlow without cutting text content.

### Very long text

```html_example
<figure class="b-promo_box m-caption_offcenter">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities and other thing into long long title with some additional details
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app. <br/>
		</p>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

### Different aspect ratio of image

```html_example
<figure class="b-promo_box">
	<picture class="b-promo_box-picture" style="padding-bottom:10%">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

## Horizontal alignment

### `m-caption_left`

```html_example
<figure class="b-promo_box m-caption_left">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

### `m-caption_right`

```html_example
<figure class="b-promo_box m-caption_right">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

### `m-caption_center`

```html_example
<figure class="b-promo_box m-caption_center">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

### `m-caption_offcenter`

```html_example
<figure class="b-promo_box m-caption_offcenter">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/image-placeholder.svg"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

## Vertical alignment

For sake of simpleness and robustness Boilerplate do not provide predefined vertical alignment
variations.

## Video as base

It is not limited what you could use as base for banner - it could be image or video.

What you need to do:

* `autoplay loop muted playsinline` is required to auto play video without user gesture in iOS

Please see [iOS manual](https://webkit.org/blog/6784/new-video-policies-for-ios/)

```html_example
<figure class="b-promo_box">
	<div class="b-promo_box-picture">
		<video autoplay loop muted playsinline width="1600" height="800">
			<source src="../../images/guide/examples/banner-video-16x9-lg.mp4" type="video/mp4" />
			<source src="../../images/guide/examples/banner-video-16x9-lg.mov" type="video/quicktime" />
		</video>
	</div>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

## Advanced: tiled background

```html_example
<style>
	.b-promo_box.m-image_3x4_right {
		.b-promo_box-picture {
			grid-column: 8 / span 4;
			padding-bottom: aspect-ratio(3, 4);
			padding-bottom: 133.3333333333%;
		}
	}
	.b-promo_box.m-image_3x4_left {
		.b-promo_box-picture {
			grid-column: 1 / span 4;
			padding-bottom: aspect-ratio(3, 4);
			padding-bottom: 133.3333333333%;
		}
	}
</style>
<figure class="b-promo_box m-caption_left m-image_3x4_right m-text_below">
	<picture class="b-promo_box-picture">
		<img
			loading="lazy"
			src="../images/guide/examples/banner-3x4-5.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
    <figcaption class="b-promo_box-caption b-promo_caption">
        <h2 class="b-promo_caption-title">
            New beauty neutrals color
        </h2>
        <p class="b-promo_caption-subtitle">
            Plunge into calm pastel colors, choose for yourself only the most sophisticated and beautiful attire in the new season
        </p>
        <div class="b-promo_caption-actions">
            <a
                class="b-button"
                href="$url('Search-Show', 'cgid', 'category')$"
            >
                Shop New Season
            </a>
        </div>
    </figcaption>
</figure>
```

## Advanced: Background stretched independent from container

```html_example
<figure class="b-promo_box m-full_bleed m-caption_offcenter">
	<picture class="b-promo_box-picture">
		<source type="image/jpeg" media="(max-width: 767px)"
				srcset="../images/guide/examples/banner-16x9-sm.jpg?$staticlink$, ../images/guide/examples/banner-16x9-sm@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 768px) and (max-width: 1024px)"
				srcset="../images/guide/examples/banner-16x9-md.jpg?$staticlink$, ../images/guide/examples/banner-16x9-md@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 1025px)"
				srcset="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$, ../images/guide/examples/banner-16x9-lg@2x.jpg?$staticlink$2x" />
		<img
			loading="lazy"
			src="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
    <figcaption class="b-promo_box-inner">
        <div class="b-promo_box-caption b-promo_caption">
            <h2 class="b-promo_caption-title">
                Make boilerplate better
            </h2>
            <p class="b-promo_caption-subtitle">
                Everyone's fallen for boilerplate so we added to her games repertoire for spring with new playful styles
                inspired by darts and that staple of a British pub - the fruit machine.
            </p>
            <div class="b-promo_caption-actions">
                <a
                    class="b-button"
                    href="$url('Search-Show', 'cgid', 'category')$"
                >
                    Shop New Season
                </a>
            </div>
        </div>
    </figcaption>
</figure>
```
*/
.b-promo_box {
  display: grid;
}
@media screen and (min-width: 1367px) {
  .b-promo_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .b-promo_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-promo_box {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box {
    grid-gap: 9px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.b-promo_box-picture {
  background: #f8f5f5;
  display: block;
  overflow: hidden;
  padding-bottom: 44.2477876106%;
  position: relative;
  width: 100%;
  grid-column: grid-start/grid-end;
  grid-row: 1/2;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .b-promo_box-picture {
    padding-bottom: 100%;
  }
}
.b-promo_box-picture img,
.b-promo_box-picture video {
  bottom: 0;
  color: #f8f5f5;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .b-promo_box-picture.m-wide {
    background: #f8f5f5;
    display: block;
    overflow: hidden;
    padding-bottom: 23.7341772152%;
    position: relative;
    width: 100%;
  }
}
.b-promo_box-caption {
  grid-column: grid-start/grid-end;
  grid-row: 1/2;
  padding: 48px 0;
  text-align: center;
}
.b-promo_box.m-full_bleed {
  grid-template-columns: auto;
  height: 100%;
}
.b-promo_box.m-full_bleed .b-promo_box-picture {
  grid-column: 1/2;
  grid-row: 1/2;
  padding-bottom: 52.9411764706%;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-promo_box.m-full_bleed .b-promo_box-picture {
    padding-bottom: 52.9411764706%;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box.m-full_bleed .b-promo_box-picture {
    padding-bottom: 115.2%;
  }
}
.b-promo_box.m-full_bleed .b-promo_box-inner {
  display: grid;
  margin: 0 auto;
  max-width: 1366px;
  padding-left: 50px;
  padding-right: 50px;
  grid-column: 1/2;
  grid-row: 1/2;
  margin-bottom: 16px;
  margin-top: 16px;
  width: 100%;
}
@media screen and (min-width: 1367px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    grid-gap: 9px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box.m-full_bleed .b-promo_box-inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box:not(.m-full_bleed) .b-promo_box-caption {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box.social-ratio {
    aspect-ratio: 4/5;
  }
}
.b-promo_box.m-caption_left .b-promo_box-caption {
  text-align: start;
}
@media screen and (min-width: 768px) {
  .b-promo_box.m-caption_left .b-promo_box-caption {
    grid-column: 2/span 5;
  }
}
.b-promo_box.m-caption_right .b-promo_box-caption {
  text-align: start;
}
@media screen and (min-width: 768px) {
  .b-promo_box.m-caption_right .b-promo_box-caption {
    grid-column: 8/span 5;
  }
}
.b-promo_box.m-caption_center .b-promo_box-caption {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .b-promo_box.m-caption_center .b-promo_box-caption {
    grid-column: 3/span 8;
  }
}
.b-promo_box.m-caption_offcenter .b-promo_box-caption {
  text-align: start;
}
@media screen and (min-width: 768px) {
  .b-promo_box.m-caption_offcenter .b-promo_box-caption {
    grid-column: 7/span 5;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box.m-text_below:not(.m-full_bleed) .b-promo_box-picture {
    grid-column: grid-start/grid-end;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box.m-text_below:not(.m-full_bleed) .b-promo_box-caption {
    grid-column: grid-start/grid-end;
    grid-row: 2/3;
    padding: 10px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_box.m-text_below.m-full_bleed {
    display: block;
  }
  .b-promo_box.m-text_below.m-full_bleed .b-promo_box-picture {
    grid-column: grid-start/grid-end;
  }
  .b-promo_box.m-text_below.m-full_bleed .b-promo_box-inner {
    grid-column: grid-start/grid-end;
    grid-row: 2/3;
  }
  .b-promo_box.m-text_below.m-full_bleed .b-promo_box-caption {
    padding: 16px 0;
  }
}

/*md

# b-promo_info_box

This is type of container for banners that hold only text content. It do not have aspect ratio holder
and it stretched/pulled by text content.

So it could easily hold any amount of text content without issues on any breakpoints.

```html_example
<div class="b-promo_info_box">
	<div class="b-promo_info_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Shop Now. Pay Later. <br/>
			Exclusively for Members
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a class="m-outline b-button" href="$url('Search-Show', 'cgid', 'category-2')$">
				Join
			</a>
		</div>
	</div>
</div>
```

## Big amount of text

```html_example
<div class="b-promo_info_box">
	<div class="b-promo_info_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Shop Now. Pay Later. <br/>
			Exclusively for Members <br/>
			But not
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
			<br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
			<br/>
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a class="m-outline b-button" href="$url('Search-Show', 'cgid', 'category-2')$">
				Join
			</a>
		</div>
	</div>
</div>
```

## Small amount of text

```html_example
<div class="b-promo_info_box">
	<div class="b-promo_info_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Shop Now. Pay Later.
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy.
		</p>
		<div class="b-promo_caption-actions">
			<a class="m-outline b-button" href="$url('Search-Show', 'cgid', 'category-2')$">
				Join
			</a>
		</div>
	</div>
</div>
```

*/
.b-promo_info_box {
  display: grid;
  background: #f2f2f2;
  color: #000001;
}
@media screen and (min-width: 1367px) {
  .b-promo_info_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) {
  .b-promo_info_box {
    grid-gap: 20px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-promo_info_box {
    grid-gap: 16px;
    grid-template-columns: [grid-start] repeat(12, 1fr) [grid-end];
  }
}
@media screen and (max-width: 767px) {
  .b-promo_info_box {
    grid-gap: 9px;
    grid-template-columns: [grid-start] repeat(6, 1fr) [grid-end];
  }
}
.b-promo_info_box-caption {
  grid-column: 1/grid-end;
  grid-row: 1/2;
  padding: 48px 16px;
  text-align: center;
}

.new-text-banner .b-promo_info_box-caption {
  padding: 0px 15px;
}
.new-text-banner.reduced-margin {
  margin-top: -20px;
  margin-bottom: -20px;
}

/*md

# b-promo_caption

Promo caption is the content of promo components.

## Structure

`b-promo_caption` consist from 3 main elements:

* title
* subtitle
* actions container

All of this elements are optional.

## Variation

For sake of simpleness and robustness Boilerplate do not provide predefined sizes and styles
variations.

## Examples

### All elements

```html_example
<div class="b-promo_caption">
	<h2 class="b-promo_caption-title">
		Shop Now. Pay Later.
		Exclusively for Members
	</h2>
	<p class="b-promo_caption-subtitle">
		Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
	</p>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Activate
		</a>
	</div>
</div>
```

### Different order

```html_example
<div class="b-promo_caption">
	<p class="b-promo_caption-subtitle">
		Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
	</p>
	<h2 class="b-promo_caption-title">
		Shop Now. Pay Later.
		Exclusively for Members
	</h2>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Activate
		</a>
	</div>
</div>
```

### Only title and CTA

```html_example
<div class="b-promo_caption">
	<h2 class="b-promo_caption-title">
		Shop Now. Pay Later.
	</h2>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Join
		</a>
	</div>
</div>
```

### 2 CTA

```html_example
<div class="b-promo_caption">
	<h2 class="b-promo_caption-title">
		New spring collections
	</h2>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Men
		</a>
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Woman
		</a>
	</div>
</div>
```

### 3 CTA

```html_example
<div class="b-promo_caption">
	<h2 class="b-promo_caption-title">
		New spring collections
	</h2>
	<div class="b-promo_caption-actions">
		<a
			class="b-button m-outline"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Men
		</a>
		<a
			class="b-button"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Woman
		</a>
		<a
			class="b-button m-link"
			href="$url('Search-Show', 'cgid', 'category-2')$"
		>
			Kids
		</a>
	</div>
</div>
```

### Without CTA

```html_example
<a
	class="b-promo_caption"
	href="$url('Search-Show', 'cgid', 'category-2')$"
>
	<h2 class="b-promo_caption-title">
		New spring collections
	</h2>
	<p class="b-promo_caption-subtitle">
		Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
	</p>
</a>
```

## Example in component

### b-promo_info_box

```html_example
<div class="b-promo_info_box">
	<div class="b-promo_info_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Shop Now. Pay Later. <br/>
			Exclusively for Members
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a class="m-outline b-button" href="$url('Search-Show', 'cgid', 'category-2')$">
				Join today
			</a>
		</div>
	</div>
</div>
```

### b-promo-box

```html_example
<figure class="b-promo_box">
	<picture class="b-promo_box-picture">
		<source type="image/jpeg" media="(max-width: 767px)"
				srcset="../images/guide/examples/banner-16x9-sm.jpg?$staticlink$, ../images/guide/examples/banner-16x9-sm@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 768px) and (max-width: 1024px)"
				srcset="../images/guide/examples/banner-16x9-md.jpg?$staticlink$, ../images/guide/examples/banner-16x9-md@2x.jpg?$staticlink$ 2x" />
		<source type="image/jpeg" media="(min-width: 1025px)"
				srcset="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$, ../images/guide/examples/banner-16x9-lg@2x.jpg?$staticlink$2x" />
		<img
			loading="lazy"
			src="../images/guide/examples/banner-16x9-lg.jpg?$staticlink$"
			alt="Some dummy alternative text for image."
			width="1600"
			height="800"
		/>
	</picture>
	<figcaption class="b-promo_box-caption b-promo_caption">
		<h2 class="b-promo_caption-title">
			Explore More Possibilities
		</h2>
		<p class="b-promo_caption-subtitle">
			Join our Loyalty Program and try before you buy. Pay Later is available online and in-store with boilerplate app.
		</p>
		<div class="b-promo_caption-actions">
			<a
				class="b-button"
				href="$url('Search-Show', 'cgid', 'category-2')$"
			>
				Shop Now
			</a>
		</div>
	</figcaption>
</figure>
```

*/
.b-promo_caption {
  align-self: center;
}
.b-promo_caption-title {
  font-size: 27px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.b-promo_caption-title.spacing-1 {
  letter-spacing: 1px;
}
.b-promo_caption-title.spacing-2 {
  letter-spacing: 2px;
}
.b-promo_caption-title.spacing-3 {
  letter-spacing: 3px;
}
.b-promo_caption-title.spacing-4 {
  letter-spacing: 4px;
}
.b-promo_caption-title.spacing-5 {
  letter-spacing: 5px;
}
.b-promo_caption-title.spacing-6 {
  letter-spacing: 6px;
}
.b-promo_caption-title.spacing-7 {
  letter-spacing: 7px;
}
.b-promo_caption-title.spacing-8 {
  letter-spacing: 8px;
}
.b-promo_caption-title.spacing-9 {
  letter-spacing: 9px;
}
.b-promo_caption-title.spacing-10 {
  letter-spacing: 10px;
}
.b-promo_caption-subtitle {
  font-weight: 500;
  margin: 10px 0 20px;
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-1 {
    margin-left: 10px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-2 {
    margin-left: 20px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-3 {
    margin-left: 30px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-4 {
    margin-left: 40px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-5 {
    margin-left: 50px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-6 {
    margin-left: 60px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-7 {
    margin-left: 70px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-8 {
    margin-left: 80px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-9 {
    margin-left: 90px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-10 {
    margin-left: 100px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-20 {
    margin-left: 200px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-30 {
    margin-left: 300px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-40 {
    margin-left: 400px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-50 {
    margin-left: 500px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-left-60 {
    margin-left: 600px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-1 {
    margin-right: 10px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-2 {
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-3 {
    margin-right: 30px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-4 {
    margin-right: 40px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-5 {
    margin-right: 50px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-6 {
    margin-right: 60px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-7 {
    margin-right: 70px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-8 {
    margin-right: 80px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-9 {
    margin-right: 90px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-10 {
    margin-right: 100px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-20 {
    margin-right: 200px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-30 {
    margin-right: 300px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-40 {
    margin-right: 400px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-50 {
    margin-right: 500px;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-subtitle.desktop-margin-right-60 {
    margin-right: 600px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-1 {
    margin-left: 10px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-2 {
    margin-left: 20px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-3 {
    margin-left: 30px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-4 {
    margin-left: 40px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-5 {
    margin-left: 50px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-6 {
    margin-left: 60px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-7 {
    margin-left: 70px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-8 {
    margin-left: 80px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-9 {
    margin-left: 90px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-10 {
    margin-left: 100px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-20 {
    margin-left: 200px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-30 {
    margin-left: 300px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-left-40 {
    margin-left: 400px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-1 {
    margin-right: 10px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-2 {
    margin-right: 20px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-3 {
    margin-right: 30px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-4 {
    margin-right: 40px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-5 {
    margin-right: 50px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-6 {
    margin-right: 60px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-7 {
    margin-right: 70px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-8 {
    margin-right: 80px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-9 {
    margin-right: 90px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-10 {
    margin-right: 100px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-20 {
    margin-right: 200px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-30 {
    margin-right: 300px;
  }
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-subtitle.mobile-margin-right-40 {
    margin-right: 400px;
  }
}
.b-promo_caption-actions {
  align-items: baseline;
  display: inline-flex;
  flex-wrap: wrap;
  margin-top: 20px;
}
@media screen and (max-width: 1023px) {
  .b-promo_caption-actions {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .b-promo_caption-actions {
    margin: 0 -15px;
    width: auto;
  }
}
.b-promo_caption-actions a {
  font-size: 14px;
  padding: 10px 39px;
}
@media screen and (min-width: 768px) {
  .b-promo_caption-actions a {
    margin-left: 15px;
  }
}
@media screen and (max-width: 767px) {
  .b-promo_caption-actions a {
    margin-bottom: 10px;
    width: 100%;
  }
}

.b-hero_carousel .b-promo_caption-title {
  font-size: 39px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}
@media screen and (max-width: 1023px) {
  .b-hero_carousel .b-promo_caption-subtitle {
    display: none;
  }
}

.b-product_gallery {
  position: relative;
}
.b-product_gallery-inner {
  display: flex;
}
@media screen and (max-width: 1023px) {
  .b-product_gallery-inner {
    flex-direction: column-reverse;
  }
}
.b-product_gallery-image_wrap {
  display: block;
}
.b-product_gallery-zoom {
  display: none;
  font-weight: 500;
  pointer-events: none;
  position: absolute;
  right: 20px;
  top: 10px;
  z-index: 1;
}
html[dir=rtl] .b-product_gallery-zoom {
  left: 20px;
  right: initial;
}
.b-product_gallery-thumbs_wrap {
  display: flex;
  flex-flow: column;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .b-product_gallery-thumbs_wrap {
    flex-basis: 100%;
    flex-flow: column-reverse;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_gallery-thumbs_wrap {
    flex-basis: 8.3333333333%;
    margin-inline-end: 20px;
  }
}
.b-product_gallery-thumbs {
  display: flex;
  max-height: 560px;
  min-width: 87px;
  padding: 1px 0;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .b-product_gallery-thumbs {
    margin-top: 16px;
  }
}
@media screen and (min-width: 768px) {
  .b-product_gallery-thumbs.m-zoomed-in {
    animation: thumbs-zoom cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
    max-height: none;
    position: fixed;
    z-index: 11;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_gallery-thumbs.m-zoomed-in {
    bottom: 24px;
    height: calc(100vh - 48px);
    top: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-product_gallery-thumbs.m-zoomed-in {
    background: #ffffff;
    bottom: 0;
    margin: 0 -32px;
    padding: 16px 32px 24px;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_gallery-thumbs_track {
    display: flex;
    overflow: hidden;
    overflow-behavior: contain;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    -ms-scroll-chaining: none;
    scrollbar-width: none;
    flex-direction: column;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    height: 100%;
  }
  .b-product_gallery-thumbs_track::-webkit-scrollbar {
    display: none;
  }
  .b-product_gallery-thumbs.m-zoomed-in .b-product_gallery-thumbs_track {
    height: calc(100vh - 48px);
  }
}
@media screen and (max-width: 1023px) {
  .b-product_gallery-thumbs_track {
    display: flex;
    overflow: hidden;
    overflow-behavior: contain;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    -ms-scroll-chaining: none;
    scrollbar-width: none;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
  }
  .b-product_gallery-thumbs_track::-webkit-scrollbar {
    display: none;
  }
}
.b-product_gallery-thumb {
  background: #f8f5f5;
  cursor: pointer;
  height: 113px;
  margin-bottom: 10px;
  min-height: 116px;
  min-width: 87px;
  padding: 1px 1px 1px 0;
  position: relative;
  scroll-snap-align: start;
  transform: translateZ(0);
  width: 87px;
}
@media screen and (max-width: 1023px) {
  .b-product_gallery-thumb {
    margin-bottom: 0;
    margin-inline-end: 10px;
  }
}
.b-product_gallery-thumb:last-child {
  margin-bottom: 0;
}
.b-product_gallery-thumb::after {
  border: 1px solid transparent;
  border-radius: 0;
  bottom: 0;
  box-shadow: inset 0 0 0 0 #ffffff;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: box-shadow, border;
  z-index: 1;
}
.b-product_gallery-thumb.m-current::after {
  border-color: #000001;
  box-shadow: inset 0 0 0 2px #ffffff;
}
.b-product_gallery-thumbs_ctrl {
  background: rgba(255, 255, 255, 0.8);
  border: none;
  cursor: pointer;
  display: none;
  height: 48px;
  left: 0;
  line-height: 48px;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 1;
}
.b-product_gallery-thumbs_ctrl:hover {
  color: #000001;
}
.b-product_gallery-thumbs.m-inited .b-product_gallery-thumbs_ctrl:not([disabled]) {
  display: block;
}
@media screen and (max-width: 1023px) {
  .b-product_gallery-thumbs.m-inited .b-product_gallery-thumbs_ctrl:not([disabled]) {
    display: none;
  }
}
.b-product_gallery-thumbs_ctrl.m-next {
  bottom: 0;
}
.b-product_gallery-thumbs_ctrl.m-next svg {
  transform: rotate(-90deg);
}
html[dir=rtl] .b-product_gallery-thumbs_ctrl.m-next svg {
  transform: rotate(90deg);
}
.b-product_gallery-thumbs_ctrl.m-prev {
  top: 0;
}
.b-product_gallery-thumbs_ctrl.m-prev svg {
  transform: rotate(90deg);
}
html[dir=rtl] .b-product_gallery-thumbs_ctrl.m-prev svg {
  transform: rotate(-90deg);
}
.b-product_gallery-video_thumb {
  align-items: center;
  background-color: transparent;
  border: 1px solid #d8d8d8;
  display: flex;
  justify-content: center;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: border, color;
}
@media screen and (max-width: 1023px) {
  .b-product_gallery-video_thumb {
    height: auto;
    margin-bottom: 20px;
    margin-right: 0;
    min-height: auto;
    padding: 16px 0;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .b-product_gallery-video_thumb {
    flex-flow: column;
    margin-top: 20px;
  }
}
.b-product_gallery-video_thumb.m-current {
  border-color: #000001;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
  transition-property: border;
}
.b-product_gallery-video_thumb.m-current::after {
  border-width: 1px;
}
.b-product_gallery-video_thumb:not(.m-current):hover {
  border-color: #000001;
  color: #000001;
}
.b-product_gallery-video_wrap {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 2;
}
.b-product_gallery-video_title {
  font-size: 12px;
  font-weight: 700;
  margin-left: 8px;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .b-product_gallery-video_title {
    margin-left: 0;
    margin-top: 8px;
  }
}
.b-product_gallery-video {
  border: none;
  height: 100%;
  width: 100%;
}
.b-product_gallery-image {
  bottom: 0;
  color: #f8f5f5;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  background-color: #f8f5f5;
}
.b-product_gallery-main {
  width: 100%;
}

.b-zoom_info {
  align-items: center;
  display: flex;
  flex-direction: column;
  pointer-events: none;
}
.b-zoom_info-icon {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 48px;
  justify-content: center;
  text-align: center;
  width: 48px;
}
.b-zoom_info-icon:hover {
  color: #000001;
}
.b-zoom_info-icon_sm {
  display: none;
}
.b-zoom_info-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.b-zoom_info-copy {
  display: none;
  margin-inline-end: 4px;
}
@media screen and (min-width: 1024px) {
  .b-zoom_info-copy.m-lg {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-zoom_info-copy.m-md {
    display: block;
  }
  .b-zoom_info-copy.m-wrapped_text {
    margin-inline-end: 0;
    text-align: center;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .b-zoom_info-copy.m-sm {
    display: block;
  }
}

.b-product_image {
  background: #f8f5f5;
  display: block;
  overflow: hidden;
  padding-bottom: 133%;
  position: relative;
  width: 100%;
}
.b-product_image.m-unavailable {
  opacity: 0.5;
}
.b-product_image-img {
  bottom: 0;
  color: #f8f5f5;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.b-product_slider {
  position: relative;
}
.b-product_slider-track {
  display: flex;
  overflow: hidden;
  overflow-behavior: contain;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  -ms-scroll-chaining: none;
  scrollbar-width: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  width: 100%;
}
.b-product_slider-track::-webkit-scrollbar {
  display: none;
}
.b-product_slider-track.m-mousemove_navigation {
  scroll-snap-type: unset;
}
.b-product_slider-track.m-grabbing {
  cursor: grab;
  scroll-behavior: auto;
  -webkit-user-select: none;
          user-select: none;
}
.b-product_slider-track.m-grabbing::before {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
}
.b-product_slider-item {
  min-width: 100%;
  position: relative;
  scroll-snap-align: center;
  width: 100%;
}
.b-product_slider-item[role=button] {
  cursor: url("./images/zoom-in.png"), zoom-in;
}
.b-product_slider-ctrl {
  -webkit-appearance: none;
          appearance: none;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: #000001;
  cursor: pointer;
  display: none;
  height: 48px;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  -webkit-user-select: none;
          user-select: none;
  width: 48px;
}
.b-product_slider-ctrl:hover {
  color: #000001;
}
.b-product_slider.m-inited .b-product_slider-ctrl {
  display: block;
}
@media screen and (max-width: 767px) {
  .b-product_slider.m-inited .b-product_slider-ctrl {
    display: none;
  }
}
.b-product_slider-ctrl svg {
  height: 40px;
  width: 18px;
}
.b-product_slider-ctrl[disabled] {
  opacity: 0;
}
.b-product_slider-ctrl.m-prev {
  left: 12px;
}
.b-product_slider-ctrl.m-next {
  right: 12px;
}
.b-product_slider-ctrl.m-next svg {
  transform: rotateZ(180deg);
}

.b-product_details {
  color: #000001;
}
.b-product_details-name {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 1.33px;
  margin: 0 0 20px;
  text-transform: uppercase;
  font-family: "Georgia", "DejaVu Serif", serif;
}
.b-product_details-rating {
  align-items: center;
  display: flex;
  font-weight: 600;
  margin: 24px 0 20px;
}
.b-product_details-rating_divider {
  border-left: 1px solid #f8f5f5;
  height: 18px;
  margin: 0 12px;
}
.b-product_details-rating_link {
  color: inherit;
  cursor: pointer;
  text-underline-offset: 4px;
  text-decoration: none;
}
@media not all and (pointer: coarse) {
  .b-product_details-rating_link:hover {
    text-decoration: underline;
  }
}
.b-product_details-price {
  letter-spacing: 1px;
  margin-bottom: 10px;
}
.b-product_details-price.m-product_set {
  font-weight: 600;
}
.b-product_details-price .b-price {
  font-size: 18px;
  font-weight: normal;
}
.l-pdp.m-quick_view .b-product_details-price {
  margin-bottom: 0;
}
.b-product_details-tax_info {
  color: #757575;
  display: block;
  font-size: 10px;
  font-weight: 500;
}
.b-product_details-egift_form {
  margin: 32px 0;
}
.l-pdp.m-quick_view .b-product_details-egift_form {
  margin-bottom: 20px;
}
.b-product_details-promotions {
  margin: 10px 0 30px;
}
.b-product_details-description {
  font-size: 16px;
  margin: 24px 0;
}
.b-product_details-options {
  margin: 40px 0 32px;
}
.b-product_details-variations {
  margin: 30px 0;
}
.b-product_details-variations .b-variations_item {
  margin-bottom: -15px;
  margin-top: 15px;
}
.b-product_details-variations .b-variations_item.m-size {
  margin-bottom: 5px;
}
.l-pdp.m-quick_view .b-product_details-variations {
  margin-bottom: 0;
}
.b-product_details-availability {
  margin: 30px 0 20px;
}
.l-pdp.m-quick_view .b-product_details-availability {
  margin-top: 10px;
}
.b-product_details-quantity {
  display: none;
}
.b-product_details-additional_details {
  display: flex;
  justify-content: center;
  margin-top: 15px;
}
.b-product_details-form {
  padding: 0 0 15px;
}
.b-product_details-full_info {
  margin: 16px 0 0;
}
.b-product_details-full_info_link {
  color: inherit;
  cursor: pointer;
  text-underline-offset: 4px;
  text-decoration: none;
}
@media not all and (pointer: coarse) {
  .b-product_details-full_info_link:hover {
    text-decoration: underline;
  }
}
.b-product_details-share {
  display: inline-block;
}
.js-sticky-add-to-cart {
  display: none;
  height: 64px;
  background-color: #fff;
  align-items: center;
  position: sticky;
  z-index: 1;
  gap: 20px;
  padding: 0 16px;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.08);
  transform: translateY(-100%);
  opacity: 0;
  transition: none;
  /* di default, nessuna transizione */
}
@media screen and (max-width: 1023px) {
  .js-sticky-add-to-cart.mobile {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .js-sticky-add-to-cart.desktop {
    display: flex;
  }
}
.js-sticky-add-to-cart .sticky-button-details {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1023px) {
  .js-sticky-add-to-cart .sticky-button-details {
    width: 50%;
  }
  .js-sticky-add-to-cart .b-button {
    line-height: 18px;
    max-width: 60%;
    text-wrap: wrap;
  }
}
.js-sticky-add-to-cart.visible {
  transform: translateY(0);
  opacity: 1;
  transition: transform 0.3s ease, opacity 0.3s ease;
  /* transizione solo in entrata */
}

.b-product_share {
  align-items: center;
  display: flex;
}
.b-product_share-title {
  font-size: 16px;
  font-weight: 400;
  margin-inline-end: 16px;
}
.b-product_share-list {
  display: flex;
}
.b-product_share-link {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 48px;
  justify-content: center;
  text-align: center;
  width: 48px;
  color: rgba(64, 64, 64, 0.5);
}
.b-product_share-link:hover {
  color: #000001;
}
.b-product_share-link:hover {
  color: #000001;
}

.b-product_attributes-name {
  font-size: 23px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.b-product_attributes-list {
  display: block;
}
.b-product_attributes-item {
  display: list-item;
}

.b-product_option {
  border: none;
  font-size: 14px;
  margin: 0;
  padding: 0;
}
.b-product_option-heading {
  display: block;
  margin: 0 0 16px;
  padding: 0;
}
.b-product_option-name {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px;
}
.b-product_option-description {
  display: block;
}
.b-product_option-item {
  display: block;
  margin-bottom: 20px;
}
.b-product_option-item_custom_text {
  margin-top: 16px;
}

@media screen and (min-width: 768px) {
  .b-product_addtocard_set {
    border-top: 1px solid #d8d8d8;
    padding-bottom: 40px;
    padding-top: 40px;
    text-align: center;
  }
}
.b-product_addtocard_set-button {
  width: 33.3333333333%;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-product_addtocard_set-button {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .b-product_addtocard_set-button {
    width: 133.3333333333%;
  }
}

.b-product_set {
  margin: 0 auto;
  max-width: 1366px;
  padding-left: 50px;
  padding-right: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-product_set {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767px) {
  .b-product_set {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.b-product_set-header {
  font-size: 23px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 32px;
}
.m-quick_view .b-product_set-header {
  margin-top: 16px;
}
.b-product_set-title {
  font-size: 39px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.b-product_set-product {
  margin-bottom: 32px;
}
.b-product_set-actions {
  border-top: 1px solid #f2f2f2;
  margin-top: 16px;
  padding-top: 8px;
}
.b-product_set-price {
  font-size: 1.75rem;
  font-weight: bold;
  margin: 24px 0;
}
.b-product_bundle {
  margin: 16px 0;
}
.b-product_bundle-title {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.b-product_bundle-item {
  display: flex;
  margin-bottom: 20px;
}
.b-product_bundle-item_name {
  display: inline-block;
  font-weight: 500;
  margin-bottom: 4px;
}
.b-product_bundle-item_image {
  margin-inline-end: 20px;
  min-width: 109px;
  position: relative;
}
.b-product_bundle-item_attribute {
  margin-bottom: 4px;
}
.b-product_bundle-item_picture {
  background: #f8f5f5;
  display: block;
  overflow: hidden;
  padding-bottom: 133.3333333333%;
  position: relative;
  width: 100%;
}
.b-product_bundle-item_picture img {
  bottom: 0;
  color: #f8f5f5;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.b-product_actions {
  margin: 15px 0;
}
.l-pdp.m-quick_view .b-product_actions {
  margin-top: 0;
}
.b-product_actions-inner {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .b-product_actions-inner {
    display: flex;
  }
}
.b-product_actions-cta {
  width: 100%;
}
.b-product_actions-status {
  font-size: 12px;
  font-weight: 500;
  margin: 10px 0 0;
  width: 100%;
}
.b-product_actions-success_msg {
  border: 1px solid #c5c5c5;
  font-weight: 500;
  line-height: 1.71;
  padding: 6px 10px;
}
@media screen and (max-width: 1023px) {
  .b-product_actions-success_msg {
    display: none;
  }
}
.b-product_actions-success_msg_mobile {
  opacity: 0;
  height: 0;
  width: 0;
}
@media screen and (max-width: 1023px) {
  .b-product_actions-success_msg_mobile {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    height: 0;
    overflow: hidden;
    background-color: rgba(0, 0, 1, 0);
    z-index: 16;
    align-items: center;
  }
  .b-product_actions-success_msg_mobile.m-active {
    opacity: 1;
    display: flex;
    height: 100%;
    background-color: rgba(0, 0, 1, 0.4);
    transition: background-color 1s cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
    -webkit-transition: 1s background-color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
    -moz-transition: background-color 1s cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
    -o-transition: background-color 1s cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
  }
  .b-product_actions-success_msg_mobile.m-active .b-product_actions-success_msg_mobile_inner {
    opacity: 1;
    display: flex;
    bottom: 0;
    height: auto;
    transition: bottom 1s cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
    -webkit-transition: 1s bottom cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
    -moz-transition: bottom 1s cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
    -o-transition: bottom 1s cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.5s;
  }
  .b-product_actions-success_msg_mobile_inner {
    opacity: 0;
    height: 0;
    overflow: hidden;
    position: fixed;
    left: 0;
    background-color: #ffffff;
    width: 100%;
    z-index: 16;
    border: 1px solid #000001;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    flex-flow: column;
    font-weight: normal;
    bottom: -100%;
  }
  .b-product_actions-success_msg_mobile_inner_block {
    padding-bottom: 5px;
  }
}
.b-product_actions-success_value {
  color: #404040;
}
.b-product_actions-error_msg {
  color: #d54a4a;
}
@supports (-webkit-appearance: -apple-pay-button) {
  .b-product_actions .b-apple_pay {
    margin: 15px 0;
    overflow: hidden;
  }
  .b-product_actions .b-apple_pay-button, .b-product_actions .b-apple_pay-button:hover {
    -apple-pay-button-type: plain;
  }
  .b-product_actions .b-apple_pay-button {
    margin: 5px 0 !important;
  }
}

.b-product_notify_me {
  border: 1px solid #c5c5c5;
  font-size: 14px;
  margin: 15px 0;
  padding: 20px;
}
@media screen and (min-width: 1024px) {
  .b-product_notify_me {
    padding: 40px;
  }
}
.b-product_notify_me-title {
  font-size: 23px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.b-product_notify_me-form {
  margin-top: 30px;
}
.b-product_notify_me-form a {
  text-decoration: underline;
}
.b-product_notify_me-field {
  margin: 30px 0;
}
.b-product_notify_me-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1024px) {
  .b-product_notify_me-actions {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
}
.b-product_notify_me-submit {
  margin-bottom: 15px;
}
@media screen and (min-width: 1024px) {
  .b-product_notify_me-submit {
    margin-bottom: 0;
    margin-inline-end: 16px;
  }
}
.b-product_notify_me .b-button {
  flex: 1 1 100%;
  font-size: 14px;
}
@media screen and (min-width: 1024px) {
  .b-product_notify_me .b-button {
    flex-basis: 50%;
  }
}

.b-variations_item {
  line-height: 1.5;
  position: relative;
}
.b-variations_item.m-size {
  margin-top: 30px;
}
.b-variations_item-label {
  color: #262626;
  display: flex;
  font-size: 16px;
  font-weight: 400;
  justify-content: space-between;
  letter-spacing: 1px;
  margin-bottom: 10px;
  text-transform: uppercase;
  width: max-content;
}
.b-variations_item.m-quantity .b-variations_item-label {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  left: 0;
  max-height: 1px;
  max-width: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  top: 0;
}
.b-variations_item-empty_value {
  display: block;
  font-size: 16px;
  left: 70px;
  position: absolute;
  text-align: start;
  top: 0;
}
html[dir=rtl] .b-variations_item-empty_value {
  left: initial;
  right: 70px;
}
.b-variations_item.m-size .b-variations_item-empty_value {
  left: 45px;
}
html[dir=rtl] .b-variations_item.m-size .b-variations_item-empty_value {
  left: initial;
  right: 45px;
}
.b-variations_item-content.m-list {
  display: flex;
  flex-wrap: wrap;
  scrollbar-width: none;
}
.b-variations_item-content.m-list::-webkit-scrollbar {
  display: none;
}
.b-product_accordion {
  box-shadow: 0 -1px 0 0 #d8d8d8;
  color: #000001;
}
.b-product_accordion-item {
  box-shadow: 0 1px 0 0 #d8d8d8;
}
.b-product_accordion-button {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1px;
  padding: 16px 9px 16px 0;
  text-align: start;
  text-transform: uppercase;
  width: 100%;
  padding-left: 0;
  padding-right: 10px;
}
.b-product_accordion-button:hover {
  color: #000001;
}
.b-product_accordion-content {
  opacity: 0;
  overflow: hidden;
  position: relative;
  transition: cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s;
  transition-property: height, opacity;
  visibility: hidden;
}
.b-product_accordion-content[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}
.b-product_accordion-item:not([data-initialized="1"]) .b-product_accordion-content {
  opacity: 1;
  visibility: visible;
}
.b-product_accordion-content_inner {
  overflow: hidden;
  padding: 0 16px 22px;
  padding: 0 0 30px;
}

.b-pdp_user_content {
  margin: 0 0 20px;
}
.b-pdp_user_content .b-pdp_user_content-set_list {
  font-size: 16px;
  line-height: 2.2;
}
.b-pdp_user_content .b-pdp_user_content-set_list li::before {
  content: "•";
  font-size: 25px;
  line-height: 1;
  vertical-align: middle;
}
.b-pdp_user_content .b-pdp_user_content-set_list li > span {
  vertical-align: middle;
}
.b-pdp_user_content p,
.b-pdp_user_content ul {
  margin: 0 0 20px;
}
.b-pdp_user_content ul {
  padding-left: 8px;
}
.b-pdp_user_content li::before {
  content: "•";
  margin-inline-end: 6px;
}

.b-review {
  background-color: #e0e0e0;
  font-size: 18px;
  font-weight: 600;
  line-height: 2;
  padding: 215px 0;
  text-align: center;
  text-transform: uppercase;
}

.b-photoswipe {
  background-color: #ffffff;
}
.b-photoswipe[aria-hidden=false] {
  display: block;
  opacity: 1;
  position: fixed;
}
.b-photoswipe.m-widget-loading::before {
  animation: 1s linear infinite rotate;
  border: 0.375em solid #000001;
  border-left-color: #f2f2f2;
  border-radius: 50%;
  border-top-color: #f2f2f2;
  content: "";
  display: block;
  height: 3em;
  margin: auto;
  pointer-events: none;
  position: relative;
  text-indent: -9999em;
  width: 3em;
  left: 50%;
  margin: -1em 0 0 -1em;
  position: absolute;
  top: 50%;
  z-index: 1;
}
.b-photoswipe-close {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 48px;
  justify-content: center;
  text-align: center;
  width: 48px;
  background: #ffffff;
  margin-inline-start: auto;
  z-index: 1;
}
.b-photoswipe-close:hover {
  color: #000001;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-photoswipe-close {
    margin-inline-end: -32px;
  }
}
@media screen and (max-width: 767px) {
  .b-photoswipe-close {
    margin-inline-end: -15px;
  }
}
.b-photoswipe-info {
  margin: 0 auto;
  max-width: 1366px;
  padding-left: 50px;
  padding-right: 50px;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .b-photoswipe-info {
    padding-left: 32px;
    padding-right: 32px;
  }
}
@media screen and (max-width: 767px) {
  .b-photoswipe-info {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 1024px) {
  .b-photoswipe-info {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .b-photoswipe-info {
    background-color: rgba(255, 255, 255, 0.8);
    height: 48px;
    width: 100%;
  }
  .b-photoswipe-info .b-zoom_info {
    flex-direction: row;
  }
  .b-photoswipe-info .b-zoom_info-icon {
    display: none;
  }
  .b-photoswipe-info .b-zoom_info-icon_sm {
    display: block;
    margin-inline-end: 12px;
  }
}
.b-photoswipe-info .b-zoom_info {
  display: none;
}
.b-photoswipe.pswp--zoomed-in {
  z-index: 12;
}

.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  touch-action: none;
  z-index: 10;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  outline: 0;
}

.pswp img {
  max-width: none;
}

.pswp--animate_opacity {
  opacity: 0.001;
  will-change: opacity;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  cursor: url("./images/zoom-in.png"), zoom-in;
}

.pswp--zoomed-in .pswp__img {
  cursor: url("./images/zoom-out.png"), zoom-out;
}

.pswp--dragging .pswp__img {
  cursor: grabbing;
}

.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  opacity: 0;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  transform-origin: left top;
  transition: transform cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
}

.pswp__bg {
  will-change: opacity;
  transition: opacity cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.4s;
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.pswp__img {
  background-color: #f8f5f5;
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

.pswp__img--placeholder--blank {
  background: #f8f5f5;
}

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}

.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #d54a4a;
}

.pswp__error-msg a {
  color: #d54a4a;
  text-decoration: underline;
}

.pswp__counter {
  display: none;
}

.b-contact_button {
  align-items: center;
  display: flex;
  letter-spacing: 1px;
  line-height: 1.57;
  padding: 5px 40px 5px 30px;
  text-decoration: none;
  text-transform: uppercase;
}
.b-contact_button-icon {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 40px;
  justify-content: center;
  text-align: center;
  width: 48px;
}
.b-contact_button-icon:hover {
  color: #000001;
}

.b-dialog.m-quick_view .b-dialog-body {
  display: initial;
}

body {
  overflow: auto;
  overflow-y: scroll;
  pointer-events: all;
  visibility: var(--page_visibility, hidden);
}

.b-product_wishlist {
  position: relative;
  display: flex;
  justify-content: center;
}
.b-product_wishlist-action {
  margin-top: 16px;
}
.b-product_wishlist-action.m-success {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  left: 0;
  max-height: 1px;
  max-width: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  top: 0;
}
.b-product_wishlist-action.m-error {
  color: #d54a4a;
  font-weight: 600;
}

/*md

# Tabs (`b-tab_list` / `b-tab_panel`)

Tabs presents multiple mutually exclusive panes of content in the same area.
Includes a tabbed control(tab) and a content area. Clicking a tab displays its corresponding pane in the content area.

## Attributes

```
[boolean] - data-active-first - activate first tab and first tab panel
[string]  - data-active-panel - activate tab and tab panel by provided panel id
[boolean] - data-auto-activation - if tabs list should follow accessibility `Tabs with Automatic Activation` feature
```

## Usage

To get started with tabs we should link the tab and the content area.
We have a `data-panel-name` attribute on a tab and `id` attribute on the pane for that.

### Tabs with automatic activation (data-auto-activation="true")

The tab pane content will change just in case of using arrow keys.
With using just a Tab key, inactive tabs will be skipped by focus.
Click functionality works as usual.

```html_example
<div
    data-widget="tabs"
    data-auto-activation="true"
    data-active-panel="firstPanel"
    data-event-keydown="handleKeydown"
>
    <div data-ref="tablist" role="tablist" class="b-tab_list">
        <button aria-selected="true"
                class="b-tab_list-tab"
                data-panel-name="firstPanel"
                data-widget-event-click="handleTabClick"
                data-id="button-firstPanel"
                data-event-click.prevent="handleClick"
                data-widget="button"
                role="tab"
        >
            First tab
        </button>

        <button
                tabindex="-1"
                aria-selected="false"
                class="b-tab_list-tab"
                data-panel-name="secondPanel"
                data-widget-event-click="handleTabClick"
                data-id="button-secondPanel"
                data-event-click.prevent="handleClick"
                data-widget="button"
                role="tab"
        >
            Second tab
        </button>
    </div>

    <div
        role="tabpanel"
        tabindex="0"
        aria-expanded="false"
        class="b-tab_panel"
        aria-labelledby="content-pane-tab"
        data-widget="tabPanel"
        id="firstPanel"
    >
        <h1>The content of a FIRST tab</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
            magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
            commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
            nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
            anim id est laborum.</p>
    </div>

    <div
        role="tabpanel"
        tabindex="0"
        aria-expanded="false"
        class="b-tab_panel"
        aria-labelledby="content-pane-tab"
        data-widget="tabPanel"
        id="secondPanel"
    >
        <h1>The content of a SECOND tab</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
            magna aliqua.</p>
    </div>
</div>
```

### Tabs with manual activation (data-auto-activation="false")

The tab pane content will change just in case of using Enter/Space button on focused element.
Click functionality works as usual.

```html_example
<div
    data-widget="tabs"
    data-auto-activation="false"
    data-event-keydown="handleKeydown"
    data-active-panel="firstPanel"
>
    <div data-ref="tablist" role="tablist" class="b-tab_list">
        <button aria-selected="true"
                class="b-tab_list-tab"
                data-panel-name="firstPanel"
                data-widget-event-click="handleTabClick"
                data-id="button-firstPanel"
                data-event-click.prevent="handleClick"
                data-widget="button"
                role="tab"
        >
            First tab
        </button>

        <button
            aria-selected="false"
            class="b-tab_list-tab"
            data-panel-name="secondPanel"
            data-widget-event-click="handleTabClick"
            data-id="button-secondPanel"
            data-event-click.prevent="handleClick"
            data-widget="button"
            role="tab"
        >
            Second tab
        </button>
    </div>

    <div
        role="tabpanel"
        tabindex="0"
        aria-expanded="false"
        class="b-tab_panel"
        aria-labelledby="content-pane-tab"
        data-widget="tabPanel"
        id="firstPanel"
    >
        <h1>The content of a FIRST tab</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
            magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
            commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
            nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
            anim id est laborum.</p>
    </div>

    <div
        role="tabpanel"
        tabindex="0"
        aria-expanded="false"
        class="b-tab_panel"
        aria-labelledby="content-pane-tab"
        data-widget="tabPanel"
        id="secondPanel"
    >
        <h1>The content of a SECOND tab</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
            magna aliqua.</p>
    </div>
</div>
```

## SCSS Notes

We have two SCSS blocks for Tabs. The first is for tab controls `b-tab_list` , and the second is fortab content
areas `b-tab_panel`.
*/
.b-tab_list {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 16px auto;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-user-select: none;
          user-select: none;
}
.b-tab_list::-webkit-scrollbar {
  display: none;
}
.b-tab_list.m-search {
  margin: 0 0 44px;
}
.b-tab_list.m-pdp {
  font-size: 2rem;
  justify-content: flex-start;
  margin: 0 0 32px -8px;
}
.b-tab_list.m-checkout {
  justify-content: flex-start;
}
.b-tab_list.m-account {
  margin-bottom: 36px;
}
.b-tab_list-tab {
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
  display: block;
  font-size: 15px;
  font-weight: 400;
  padding: 15px 30px;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: color cubic-bezier(0.3, 0.46, 0.45, 0.94) 0.2s;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .b-tab_list-tab {
    padding: 15px 30px;
    width: 100%;
  }
}
.b-tab_list-tab:hover {
  color: #000001;
}
.b-tab_list-tab::after {
  background-color: #d8d8d8;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 0;
}
.b-tab_list-tab.m-active {
  font-weight: 700;
}
.b-tab_list-tab.m-active::after {
  background-color: #000001;
  height: 2px;
}
.b-tab_list.m-checkout .b-tab_list-tab {
  font-weight: bold;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .b-tab_list.m-search .b-tab_list-tab {
    font-size: 20px;
    padding: 12px;
  }
}

.b-tab_panel {
  display: none;
  width: 100%;
}
.b-tab_panel.m-active {
  display: block;
}

.b-store_pickup_btn {
  margin-bottom: 15px;
}

.b-store_pickup_form {
  margin-top: 30px;
}
@media screen and (min-width: 1024px) {
  .b-store_pickup_form {
    display: flex;
  }
}
@media screen and (min-width: 1024px) {
  .b-store_pickup_form-variations {
    border-right: 1px solid #d8d8d8;
    flex-basis: 33.3333333333%;
    padding-bottom: 18px;
    padding-right: 50px;
    position: relative;
  }
}
@media screen and (max-width: 1023px) {
  .b-store_pickup_form-variations {
    margin-bottom: 30px;
  }
}
.b-store_pickup_form-image_wrap {
  margin: 0 auto;
  width: 226px;
}
.b-store_pickup_form-image {
  background: #f8f5f5;
  display: block;
  overflow: hidden;
  padding-bottom: 133.3333333333%;
  position: relative;
  width: 100%;
  background-color: #d8d8d8;
  margin-bottom: 30px;
}
.b-store_pickup_form-image img {
  bottom: 0;
  color: #f8f5f5;
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}
.b-store_pickup_form-label {
  text-transform: capitalize;
}
@media screen and (min-width: 1024px) {
  .b-store_pickup_form-stores {
    flex-basis: 66.6666666667%;
    padding-left: 50px;
  }
}
.b-store_pickup_form-message {
  display: flex;
  font-size: 16px;
  justify-content: center;
  margin-top: 40px;
}
.b-store_pickup_form-tab {
  font-size: 16px;
  width: 50%;
}
.b-store_pickup_form-tab.m-active {
  font-size: 16px;
}
.b-store_pickup_form-tab_list {
  margin-bottom: 34px;
  margin-top: 0;
}
.b-store_pickup_form-tab_panel_inner {
  max-height: 476px;
  overflow-y: auto;
}
.b-store_pickup_form-accordion_button {
  font-size: 16px;
}

.b-store_pickup_result {
  box-shadow: inset 0 -1px 0 0 #d8d8d8;
  padding: 28px 0;
}
@media screen and (min-width: 1024px) {
  .b-store_pickup_result {
    padding: 28px 20px;
  }
}
@media screen and (min-width: 768px) {
  .b-store_pickup_result.m-pdp {
    display: flex;
    justify-content: space-between;
  }
}
.b-store_pickup_result:last-child {
  box-shadow: none;
}
.b-selected_store .b-store_pickup_result {
  border: 1px solid #000001;
  box-shadow: none;
}
@media screen and (max-width: 1023px) {
  .b-selected_store .b-store_pickup_result {
    padding: 28px 20px;
  }
}
@media screen and (max-width: 1023px) {
  .b-store_pickup_result-btn {
    margin-top: 18px;
  }
}
.b-store_pickup_result-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.b-store_pickup_result-title {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
}
.b-store_pickup_result-accordion_button {
  font-size: 14px;
}
.b-store_pickup_result-distance {
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}
.b-selected_store .b-store_pickup_result-distance {
  display: none;
}
.b-store_pickup_result-address {
  margin-top: 8px;
}
.b-store_pickup_result-phone {
  font-weight: 500;
  margin-top: 16px;
}
.b-store_pickup_result-email {
  margin-top: 12px;
}
.b-store_pickup_result-icon {
  display: inline-block;
  margin-right: 8px;
}
.b-store_pickup_result-schedule {
  display: inline-block;
  font-weight: 300;
  line-height: 1.6;
  margin-top: 28px;
}
@media screen and (max-width: 1023px) {
  .b-store_pickup_result-schedule {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .b-store_pickup_result-schedule {
    min-width: 324px;
  }
}
.b-store_pickup_result-schedule td:first-child {
  padding-right: 24px;
}
.b-store_pickup_result-schedule_title {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
}
.b-store_pickup_result-full_list {
  color: inherit;
  cursor: pointer;
  text-underline-offset: 4px;
  text-decoration: none;
  font-weight: 500;
}
@media not all and (pointer: coarse) {
  .b-store_pickup_result-full_list:hover {
    text-decoration: underline;
  }
}
.b-store_pickup_result-actions {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .b-store_pickup_result-actions {
    display: flex;
    flex-flow: column;
  }
}
.b-selected_store .b-store_pickup_result-actions {
  display: none;
}

/*# sourceMappingURL=pdp-jp.css.map*/