.container.pdp-container {
	max-width:1446px;
}

.pdp-top, .pdp-top p {
	font-size:15px;
	line-height:1.6;
	color:#333;
}

.pdp-top .top-details, .pdp-top .top-details p {
	font-size:16px;
	color:#000;
}

.pdp-top .top-details .price {
	font-weight:500;
}

.pdp-top .variant-details {
	margin-top:28px;
}

.pdp-top .variant-details p {
	margin:0 0 4px 0;
}

.pdp-top .variant-details p:last-child {
	margin-bottom:0;
}

.pdp-top .product-details .detail-title {
	font-size:28px;
	line-height:1.14;
	text-transform:capitalize;
}

.pdp-top .product-details .buttons {
	margin:38px 0;
}

.pdp-top .product-details .buttons .btn:not(:last-child) {
	margin-bottom:16px;
}

.pdp-top .product-images .detail-image .inner:before { padding-top:100%; }

.pdp-top .product-images .grid {
	display:flex;
}

.pdp-top .product-details .product-colorways {
	display:flex;
	flex-flow:wrap;
	gap:4px;
	margin-top:28px;
}

.pdp-top .product-details .colorway {
	width:64px;
	cursor:pointer;
	border-radius:4px;
	overflow:hidden;
	border:transparent 1px solid;
	transition: border-color 0.15s ease;
}

.pdp-top .product-details .colorway.faded img {
	opacity:0.5;
}

.pdp-top .product-details .colorway.current {
	cursor:default;
}

.pdp-top .product-details .colorway:before {
	padding-top:100%;
}

.pdp-top .product-details .colorway.current {
	border-color:#333;
}

.pdp-top .product-sizes {
	align-items:flex-end;
}

.pdp-top .product-sizes > * {
	margin:0;
	line-height:1;
}

.pdp-top .product-sizes .size-label,
.pdp-top .product-sizes .size {
	margin-right:10px;
}

.pdp-top .product-sizes .size-guide-link {
	text-decoration:underline;
}

.pdp-top .product-block .title {
	font-size:16px;
	margin-bottom:10px;
}

.pdp-top .product-benefits ul {
	list-style:disc;
	padding-left:30px;
}

.pdp-top .product-benefits ul li {
	margin-bottom:5px;
}

.signup-cta {
	background:#F3F3F3;
	padding:24px 20px;
}

.signup-cta p {
	margin-bottom:10px;
}

.signup-cta .cta-link {
	display:inline-flex;
	align-items:center;
}

.signup-cta .cta-link span {
	text-decoration:underline;
}

.signup-cta .cta-link:after {
	content:'';
	display:block;
	width:16px;
	height:16px;
	flex:0 0 16px;
	background-image:url(../icon-arrow-dark.html);
	background-repeat:no-repeat;
	background-size:contain;
	margin-left:10px;
	margin-top:2px;
}

.product-text-blocks .product-block {
	margin:30px 0;
}

.product-text-blocks .product-block:last-child {
	border-bottom:none;
}

.product-text-blocks .product-block > *:last-child {
	margin-bottom:0;
}

.product-description .title {
	text-transform:none;
	font-size:15px;
	margin:0 0 15px;
}

.product-description ul.details-ul {
	list-style:disc;
	padding-left:18px;
}

.product-description ul.details-ul li {
	letter-spacing: 0.03em;
	line-height:2;
}

.product-description ul.included-ul li {
	display:flex;
	border-bottom: 1px dashed #CCCCCC;
	line-height:2.9;
}

.product-description ul.included-ul li .label {
	flex-basis:40%;
}

.product-description ul.included-ul li .value {
	flex-basis:60%;
}

.product-description ul.included-ul li .value a {
	text-decoration:underline;
}

.product-measurements li {
	display:flex;
	gap:24px;
	align-items:center;
	min-height:80px;
}

.product-measurements li:not(:last-child) {
	border-bottom:#e6e6e6 1px solid;
}

.product-measurements li .icon-wrap {
	flex:0 0 110px;
	display:flex;
	justify-content:center;
}

.pdp-modal {
	position:fixed;
	z-index:999;
	top:0;
	right:0;
	bottom:0;
	left:0;
	opacity:0;
	visibility:hidden;
	transition:opacity .25s,visibility 0s linear .25s;
}

.pdp-modal .pdp-modal-cover {
/*	opacity:0;*/
	z-index:0;
/*	visibility:hidden;*/
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
/*	transition:opacity .25s,visibility 0s linear .25s;*/
	background-color:rgba(0,0,0,0.8);
	-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}

.pdp-modal .pdp-modal-window {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	width:100%;
	padding:24px;
	max-width:670px;
	z-index:1;
/*	opacity:0;*/
/*	visibility:hidden;*/
/*	transition:opacity .25s,visibility 0s linear .25s;*/
}

.pdp-modal .pdp-modal-window .inner {
	background:#fff;
	border-radius: 4px;
	min-height:200px;
	padding:60px 24px;
}

.pdp-modal.is-open {opacity:1;visibility:visible;transition:opacity .8s ease,visibility 0s;}
/*.pdp-modal.is-open .pdp-modal-window {opacity:1;visibility:visible;transition:opacity .8s ease .2s,visibility 0s;}*/

.pdp-modal .pre-logo-svg {
	display:block;
	margin:0 auto;
}

.pdp-modal p {
	font-size:24px;
}

.pdp-modal .buttons {
	max-width:400px;
	margin:0 auto;
}

.pdp-modal .link-logo {
	display:block;
	width:200px;
	margin:0 auto 30px;
}

.pdp-modal .messaging {
	display:none;
}

.pdp-modal.sunglasses .messaging.sunglasses {
	display:block
}

.pdp-modal.sunglasses-eyeconic .messaging.sunglasses-eyeconic {
	display:block
}


.pdp-modal.optical .messaging.optical {
	display:block
}

.pdp-modal.sunglasses-rx .messaging.sunglasses-rx {
	display:block
}

.pdp-extra .title {
	font-size:32px;
}

.pdp-extra p {
	max-width:767px;
}

.pdp-extra .image-grid .image img {
	display:block;
	width:100%;
}

#pdp-zoom-overlay {
    position: fixed;
    inset: 0px;
    overflow: scroll;
    background-color: rgb(255, 255, 255);
	z-index:999;
	padding:40px 0;
	opacity:0;
	visibility:hidden;
/*	transition:opacity .25s,visibility 0s linear .25s;*/
}

#pdp-zoom-overlay.is-open {
	opacity:1;
	visibility:visible;
/*	transition:opacity .8s ease,visibility 0s;*/
}

#pdp-zoom-close {
    background: 0px 0px;
    position: fixed;
    top: 0px;
    right: 0px;
	padding:40px;
	cursor:pointer;
	z-index:3;
}

#pdp-zoom-overlay .zoom-img-container {
	position:relative;
	height:0px;
	overflow:hidden;
	margin: 0 8px 16px 8px;
}

#pdp-zoom-overlay .zoom-img-container.active {
	padding-bottom:100%;
	height:auto;
}



@media(max-width:959px) {
	
	.section-header .container {
	    justify-content: flex-start;
	}
	
	.pdp-top .product-images {
		background:#f3f3f3;
		margin-bottom:8px;
	}
	
	.pdp-top .product-images .grid, 
	.pdp-top .product-details .product-colorways {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
	}
	
	.pdp-top .product-details .product-colorways {
		display:flex;
		flex-flow:row;
		margin-right:-20px;
	}
	
	.pdp-top .product-details .colorway {
		flex:0 0 64px;
		scroll-snap-align: start;
	}
	
	.pdp-top .product-details .colorway:last-child {
		margin-right:20px;
	}
	
	.pdp-top .scroll-padding {
		height:8px;
	}
	
	.pdp-top .product-images .grid::-webkit-scrollbar {
	  width: 4px;
	  height: 4px;
	}
	.pdp-top .product-images .grid::-webkit-scrollbar-thumb {
	  background: #cfcfcf;
	  border-radius: 10px;
	}
	.pdp-top .product-images .grid::-webkit-scrollbar-track {
		background: transparent;
		margin:0 24px;
	}
	
	.pdp-top .product-details .product-colorways::-webkit-scrollbar-thumb,
	.pdp-top .product-details .product-colorways::-webkit-scrollbar-track {
		background:transparent;
	}
	
	.pdp-top .product-images .detail-image {
		scroll-snap-align: start;
		flex-shrink: 0;
		width:100vw;
	}
	
	.pdp-top .product-images .detail-image .inner {
		width:100%;
	}
	
	.pdp-top .product-details {
		margin:25px 20px 20px;
	}
	
	.pdp-luma-lens .content .icon-row {
		padding:24px 0;
	}
	
	.pdp-top .variant-details {
		margin-top:20px;
	}
	
	.pdp-top .product-details .buttons {
		margin:22px 0;
	}
	
	.pdp-extra .image-grid {
		margin:16px 0;
	}
	
	.pdp-extra .image-grid .image {
		margin-bottom:16px;
	}

	.product-detail .breadcrumbs {
		margin:20px;
	}
}

@media(min-width:960px) {
	.pdp-top {
		display:flex;
		gap:60px;
		margin:90px 0;
	}

	.pdp-top .product-images {
		flex:1 1 100%;
		overflow:hidden;
	}
	
	.pdp-top .product-images .grid {
		overflow:hidden;
		flex-flow:row wrap;
		margin:-8px;
	}
	
	.pdp-top .product-images .detail-image {
		flex:0 1 50%;
		align-self: flex-start;
		padding:8px;
	}
	
	.pdp-top .product-images.count-3 .detail-image:first-child {
		flex-basis:100%;
	}

	.pdp-top .product-details {
		position:sticky;
		align-self: flex-start;
		top:32px;
		flex:0 0 392px;
	}
	
	.pdp-top .product-details .colorway:not(.current):hover {
		border-color:#999;
	}
	
	.pdp-extra .image-grid {
		display:flex;
		flex-flow:row wrap;
		overflow:hidden;
		margin:8px -8px;
	}
	
	.pdp-extra .image-grid .image {
		flex:0 1 50%;
		padding:8px;
	}
	
	.pdp-extra .image-grid .image.wide {
		flex:0 1 100%;
	}

	.product-detail .breadcrumbs {
		margin-top: 60px;
		margin-bottom: -78px;
	}
}

@media(min-width:1400px) {
	.pdp-top {
		gap:150px;
	}
}

.variant-content:not(.active) { display:none; }

/* Virtual Try-on: */
.vt-wrapper {
  position:fixed;
  z-index:101;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  height: -webkit-fill-available;
  background:#fff;
  opacity:0;
  visibility:hidden;
  transition: opacity .25s, visibility 0s linear .25s;
}

.vt-wrapper.open {
	opacity:1;
	visibility:visible;
	transition:opacity .8s ease,visibility 0s;
}

#fitmix-container {
  width: 100%;
  height:100%;
/*  display:none;*/
}

.vt-nav {
  position:absolute;
  z-index:2;
  top:40px;
  right:50px;
  display:flex;
  column-gap:12px;
}

#cancelCaptureBtn {
    position:absolute;
    z-index:2;
    top:40px;
    left:50px;
}

.vto-info-bar, .vto-download-bar {
    position:absolute;
    z-index:2;
    bottom:0;
    left:0;
	width:100%;
	height:138px;
	padding:0 64px;
    display:flex;
	justify-content:space-between;
	align-items:center;
	background:#fff;
}

.vto-info-bar .btn span {
	font-weight:400;
}

#debug {
	background:#fff;
	padding:30px;
  position:absolute;
  z-index:2;
  bottom:40px;
  left:50px;
  right:50px;
  display:none;
}

.vt-nav button, .vto-btn, #vt-color-close, #cancelCaptureBtn {
	background:#fff;
    padding:0 30px;
	border-radius:999px;
	height:64px;
	line-height:64px;
	display:flex;
	align-items:center;
	column-gap:10px;
	font-weight:500;
	font-size:15px;
	color:inherit;
}

.vt-nav button#vt-close, #vt-color-close {
	padding:0;
	width:64px;
	justify-content:center;
	margin-left:8px;
}

.vt-loader-container {
	position:absolute;
	background:rgba(0,0,0,0.5);
	z-index:1;
	top:0;
	left:0;
	width:100%;
	height:calc(100% - 138px);
	display:flex;
	align-items:center;
	justify-content:center;
	opacity:0;
	visibility:hidden;
	transition: opacity .25s, visibility 0s linear .25s;
}

.vt-wrapper.loading .vt-loader-container {
	opacity:1;
	visibility:visible;
	transition:opacity .8s ease,visibility 0s;
}


.vt-loader {
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: 
    radial-gradient(farthest-side,#fff 94%,#0000) top/8px 8px no-repeat,
    conic-gradient(#0000 30%,#fff);
  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0);
  animation: l13 1s infinite linear;
}
@keyframes l13{ 
  100%{transform: rotate(1turn)}
}

.vt-color-nav {
	position:absolute;
	z-index:2;
	width:100%;
	left:0;
	bottom:160px;
	display:flex;
	justify-content:center;
	
}

.vt-colors-btn {
	background:#000;
	padding:0 14px;
	display:flex;
	gap:20px;
	align-items:center;
	color:#fff;
	height:45px;
	position:absolute;
	left:50%;
	bottom:90px;
	transform:translateX(-50%);
	font-size:15px;
	font-weight:500;
	cursor:pointer;
}


.vt-current-color {
	background:#fff;
	width:72px;
	height:72px;
	position:absolute;
	left:50%;
	bottom:0;
	transform:translateX(-50%);
	border: #000 2px solid;
	border-radius:4px;
}

.vt-color-carousel {
	width:72px;
	transform:translateY(-90px);
	z-index:1;
}


.vt-color-carousel .option {
/*	background:#fff;*/
	width:72px;
	height:72px;
	margin-right:10px;
    border: transparent 2px solid;
	transition: border-color 0.28s ease;
	position:relative;
	border-radius:4px;
	overflow:hidden;
}

.vt-color-carousel .option .inner {
	background:#fff;
	height:100%;
}

/*.vt-color-carousel .option:before {
	content:'';
	display:block;
	width:80px;
	height:80px;
	border:#666 2px solid;
	position:absolute;
	top:-4px;
	left:-4px;
}*/

.vt-color-carousel .option.is-selected {
	border-color:#000;
}

.vt-color-carousel .flickity-viewport {
	overflow:visible;
}

#try-it-on-btn {
	position:absolute;
	z-index:1;
	top:28px;
	right:36px;
}

#capture-image {
	position:absolute;
	z-index:1;
	display:block;
	width:100%;
	top:0;
	left:0;
}

#vt-color-close {
	position:absolute;
	z-index:3;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	margin:0;
}

#shutter-btn {
/*	width:70px;
	height:70px;*/
	border:#fff 2px solid;
	border-radius:999px;
	padding:3px;
	cursor:pointer;
	position:absolute;
	z-index:2;
	left:50%;
	bottom:20px;
	transform:translateX(-50%);
}

#shutter-btn:before {
	content:'';
	display:block;
	border-radius:999px;
	background:#fff;
	width:60px;
	height:60px;
}


.fade-in-out {
	opacity:0;
	visibility:hidden;
	transition:opacity .25s,visibility 0s linear .25s;
}

.fade-in-out.show {
	opacity:1;
	visibility:visible;
	transition:opacity .8s ease,visibility 0s;
}

@media(max-width:959px) {
	.vt-nav button {
		width:64px;
		padding:0;
		justify-content: center;
	}
	.vt-nav button span { display:none; }
	
	.vto-info-bar, .vto-download-bar {
		height:95px;
	}
	
	.vt-color-nav {
		bottom:117px;
	}
}

@media(max-width:640px) {
	
	.vt-nav {
		right:20px;
	}
	
	#cancelCaptureBtn {
		left:20px;
	}
	
	.vto-info-bar, .vto-download-bar {
		padding:0 20px;
	}
	
	.vto-info-bar .title {
		font-size:20px;
	}
	
	#vto-buy-now-btn span { display:none; }
	
	.vt-nav button, .vt-nav button#vt-close, #vt-color-close {
		width:56px;
		height:56px;
		padding:0;
		justify-content: center;
	}
	
	.vt-nav button#vt-close, #vt-color-close {
		margin-left:0;
	}
	
	#cancelCaptureBtn, .vto-btn {
		height:56px;
		line-height:56px;
	}
}