/* Shop and product-category pages. Category intros bring their own styles (saved with each intro block);
   this file supplies the page shell, the default list header, the grid and the load-more button. */
/* The intro blocks size themselves with viewport units; reserving the scrollbar keeps 100vw equal to the page width, as on the approved site. */
html{overflow-y:scroll;scrollbar-gutter:stable}
.zr-shop-page{display:flow-root;background:#fff;color:#767676;font:500 14px/1.6 Inter,Arial,Helvetica,sans-serif}
.zr-shop-page *,.zr-shop-page *::before,.zr-shop-page *::after{box-sizing:border-box}
.zr-shop-page button,.zr-shop-page select{font-family:inherit}
.zr-shop-content{padding:0 15px 40px}
.zr-shop-content .term-description{margin:0 0 25px}
.zr-shop-content .term-description p{margin-top:0}
.zr-shop-content .term-description img{max-width:100%}

/* Breadcrumbs (Yoast). */
.zr-crumbs{color:#767676;font-size:14px;line-height:1.6}
.zr-crumbs a{color:inherit;text-decoration:none}.zr-crumbs a:hover{color:#242424}
.zr-crumbs .breadcrumb_last{color:#242424}
.zr-shop-page .wd-breadcrumbs{color:#767676}
.zr-shop-page .wd-breadcrumbs a{color:inherit;text-decoration:none}.zr-shop-page .wd-breadcrumbs a:hover{color:#242424}
.zr-shop-page .wd-breadcrumbs .breadcrumb_last{color:#242424}
.zr-shop-page .shop-loop-head[hidden]{display:none!important}

/* Default list header: breadcrumbs left, per-page and sorting right. */
.zr-shop-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 30px}
.zr-shop-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 30px}
.zr-per-page{display:flex;align-items:center}
.zr-per-page-label{margin-right:0;color:#333;font-weight:600}
.zr-per-page-label::after{content:' :'}
.zr-per-page a{padding:0 7px;color:#767676;text-decoration:none}
.zr-per-page a:hover,.zr-per-page a.is-current{color:#333}
.zr-per-page a.is-current{font-weight:600}
.zr-per-page-sep::after{content:'/';color:#767676}
.zr-shop-head .woocommerce-ordering{margin:0}
.zr-shop-head .woocommerce-ordering select{height:28px;padding:5px 20px 5px 2px;border:0;border-bottom:2px solid rgba(0,0,0,.1);border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' fill='none' stroke-width='2' stroke='%23bbb'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right center/18px no-repeat;color:#242424;font-size:14px;font-weight:600;line-height:1.2;appearance:none;cursor:pointer}
.zr-shop-head .woocommerce-ordering select:focus{border-color:rgba(0,0,0,.25);outline:0}

/* Product grid. */
.wd-products-element{position:relative}
.wd-products-element .products.wd-products{position:relative;display:grid;grid-template-columns:repeat(var(--wd-col-lg,4),minmax(0,1fr));align-items:flex-start;gap:20px}
.wd-products-element .products.wd-products[aria-busy="true"]{opacity:.42;pointer-events:none;transition:opacity .15s ease}
.wd-products-element .products.wd-products[aria-busy="true"]::before{content:"";position:absolute;z-index:20;top:150px;left:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border:3px solid rgba(17,17,17,.13);border-top-color:#111;border-right-color:rgba(17,17,17,.55);border-radius:50%;box-shadow:0 5px 18px rgba(0,0,0,.09);animation:zr-sort-loader .7s cubic-bezier(.45,.05,.55,.95) infinite}
@keyframes zr-sort-loader{to{transform:rotate(360deg)}}
.zr-products-footer{margin-top:30px;text-align:center}
.zr-load-more{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:5px;padding:5px 20px;border:2px solid rgba(0,0,0,.105);color:#333;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;text-transform:uppercase;transition:border-color .25s,color .25s}
.zr-load-more:hover{border-color:rgba(0,0,0,.4);color:#242424}
.zr-load-more.is-loading{pointer-events:none;opacity:.6}
.woocommerce-info,.woocommerce-no-products-found{margin:0 0 30px;padding:18px 20px;border:1px solid #e6e6e6;border-radius:6px;color:#333}

/* Toolbar of the three main collections (Men, Women, Racing). */
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-category-editorial{margin:26px 0!important}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-intro-breadcrumb-slot{margin:0 0 20px}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-category-toolbar{display:grid;width:calc(100vw - 60px);margin:0 0 36px calc(50% - 50vw + 30px);padding:0 18px 12px;border-bottom:1px dashed #777;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-toolbar-left{position:relative;display:flex;align-items:center;gap:8px;margin-left:-18px}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-toolbar-button{min-height:44px;padding:0 15px;border:0;border-radius:7px;background:#f4f4f4;color:#151515;font:inherit;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;appearance:none}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-sort-wrap{position:relative}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-sort-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:220px;padding:6px;border:1px solid #e8e8e8;border-radius:7px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12)}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-sort-menu button{display:block;width:100%;padding:10px 12px;border:0;background:transparent;font:inherit;font-size:13px;text-align:left;cursor:pointer}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-sort-menu button[aria-current="true"]::before{content:"✓";display:inline-block;width:18px;margin-right:5px;font-weight:700}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-sort-wrap .zr-toolbar-button{display:inline-flex;min-width:100px;align-items:center;justify-content:space-between;gap:10px}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-sort-chevron{display:flex;width:8px;height:8px;align-items:center;justify-content:center;margin:0;line-height:0}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-sort-chevron svg{display:block;width:8px;height:6px}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-product-total{font-size:12px;font-weight:500;letter-spacing:.02em;text-align:center;text-transform:uppercase}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-column-switcher{display:flex;justify-self:end;gap:14px}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-column-switcher button{padding:6px 0;border:0;background:transparent;color:#898989;font:inherit;font-size:13px;font-weight:600;text-transform:uppercase;cursor:pointer}
body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-column-switcher button[aria-pressed="true"]{border-bottom:2px solid #111;color:#111}

/* Every toolbar: menu and button basics that used to come from the old theme. */
.zr-category-toolbar [hidden]{display:none!important}
.zr-category-toolbar button{line-height:1.6}
.zr-sort-menu button:hover{background:#f4f4f4}

/* Below 1025px the approved site starts the intro directly under the header. */
@media(max-width:1024px){
 .zr-shop-content .term-description>:first-child{margin-top:0!important}
 .zr-shop-content>.zr-shop-head:first-child{margin-top:10px}
}
@media(max-width:768px){
 .wd-products-element .products.wd-products{grid-template-columns:repeat(2,minmax(0,1fr))}
 .zr-shop-head{margin-bottom:20px}
 .zr-per-page{display:none}
}
@media(max-width:767px){
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-category-editorial{display:grid!important;width:calc(100% - 32px)!important;margin:18px 16px!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-category-editorial-copy{display:contents!important}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-intro-breadcrumb-slot{grid-column:1;grid-row:1;margin:0!important;padding:16px 4px!important}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-category-editorial-image{grid-column:1;grid-row:2;width:100%!important;height:auto!important;aspect-ratio:4/3}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-category-editorial-copy h2{grid-column:1;grid-row:3;margin:26px 0 16px!important;font-size:26px!important;line-height:1.06!important;letter-spacing:-.045em!important}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-category-editorial-copy p{grid-column:1;grid-row:4;max-width:none!important;margin:0 0 15px!important;font-size:10.5px!important;line-height:17px!important;font-weight:500!important}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-category-toolbar{width:calc(100% - 32px);margin:0 16px 26px;padding:12px 0;border-top:1px dashed #777;grid-template-columns:minmax(0,1fr) auto;gap:10px}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-toolbar-left{margin-left:0}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-toolbar-button{min-height:42px;padding:0 13px;font-size:12px}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-product-total{grid-column:2;grid-row:1;justify-self:end;font-size:12px;text-align:right}
 body:is(.term-men,.term-women,.term-racing,.woocommerce-shop) .zr-shop-content .zr-column-switcher{display:none!important}
}

/* Tablets (768 to 1024px wide). */
@media (min-width:767.98px) and (max-width:1024.98px){
	/* Products: 3 per row, or 2 when chosen with the column switch (see archive.js). */
	.wd-products-element .products.wd-products{grid-template-columns:repeat(var(--zr-col-tablet,3),minmax(0,1fr))}
	/* Collection intro: the picture and the text are two halves of the same height, so the text
	   never hangs below the picture. The picture keeps its rounded corners and fills its half. */
	.zr-shop-content .term-description section:is(.zr-category-template,.zr-category-editorial){align-items:stretch!important}
	.zr-shop-content .term-description :is(.zr-category-image,.zr-category-editorial-image){position:relative;flex:0 0 50%!important;width:50%!important;height:auto!important;min-height:32vw}
	.zr-shop-content .term-description :is(.zr-category-image,.zr-category-editorial-image) img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center;border-radius:12px}
	.zr-shop-content .term-description :is(.zr-category-copy,.zr-category-editorial-copy){flex:1 1 0!important;min-width:0;padding:10px 0 10px 32px!important;justify-content:center}
	.zr-shop-content .term-description :is(.zr-category-copy,.zr-category-editorial-copy) :is(h1,h2){margin-bottom:10px!important;font-size:clamp(24px,3.3vw,32px)!important;line-height:1.08!important}
	.zr-shop-content .term-description :is(.zr-category-copy,.zr-category-editorial-copy) p{max-width:none!important;font-size:14px!important;line-height:1.5!important}
	/* Breadcrumb links beside the picture: small, with less room under them. */
	.zr-shop-content .term-description :is(.zr-category-copy,.zr-category-editorial-copy) :is(.zr-category-breadcrumb,.zr-intro-breadcrumb-slot),
	.zr-shop-content .term-description :is(.zr-category-copy,.zr-category-editorial-copy) :is(.zr-category-breadcrumb,.zr-intro-breadcrumb-slot) *{font-size:12px!important;line-height:1.3!important}
	.zr-shop-content .term-description :is(.zr-category-copy,.zr-category-editorial-copy)>:is(.zr-category-breadcrumb,.zr-intro-breadcrumb-slot){margin-bottom:12px!important}
	/* The same room above the intro as there is between it and the Sort button. */
	.zr-shop-content .term-description section:is(.zr-category-template,.zr-category-editorial){margin-top:26px!important}
}