/* =========================================================================
   DesiYaaro - storefront stylesheet
   Layout mirrors the reference storefront: navy top bar, white search header,
   pill navigation, category rail + hero, product grids, deal countdown,
   editorial banners, dark four-column footer.
   ====================================================================== */

:root{
	--dy-primary:#7A45A9;
	--dy-secondary:#1D395F;
	--dy-topbar:#05326F;

	--dy-white:#FFFFFF;
	--dy-black:#181818;
	--dy-heading:var(--dy-secondary);
	--dy-text:var(--dy-secondary);

	/* Link and heading colour travel as inherited custom properties rather
	   than as `color` declarations. A base rule like `body.dy a` outranks any
	   single-class rule such as `.dy-topbar a`, so white-on-navy text silently
	   rendered navy-on-navy. Containers now retint by setting the property. */
	--dy-link:var(--dy-secondary);
	--dy-link-hover:var(--dy-primary);
	--dy-text2:#777987;
	--dy-text3:#AAB0BB;
	--dy-critical:#DB4444;
	--dy-star:#FCC023;
	--dy-bg:#FAF7FB;
	--dy-border:#E4E4E4;

	--dy-label-sale:#FFCCF6;
	--dy-label-new:#A4EDF4;
	--dy-label-hot:#FBE883;
	--dy-label-oos:#FFBFCB;

	--dy-topbar-h:50px;
	--dy-header-h:104px;
	--dy-nav-h:64px;

	--dy-radius:10px;
	--dy-radius-lg:14px;
	--dy-shadow:0 6px 26px rgba(29,57,95,.08);
	--dy-shadow-sm:0 2px 10px rgba(29,57,95,.06);

	--dy-container:1290px;
	--dy-gutter:24px;

	--dy-font:"Rubik","Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif;
}

/* ---------------------------------------------------------------- base -- */

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body.dy{
	margin:0;
	font-family:var(--dy-font);
	font-size:15px;
	line-height:1.65;
	color:var(--dy-text);
	background:var(--dy-white);
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}

body.dy img{max-width:100%;height:auto;display:block;}

body.dy a{color:var(--dy-link);text-decoration:none;transition:color .18s ease;}
body.dy a:hover{color:var(--dy-link-hover);}

body.dy h1,body.dy h2,body.dy h3,body.dy h4,body.dy h5,body.dy h6{
	font-family:var(--dy-font);
	color:var(--dy-heading);
	font-weight:600;
	line-height:1.25;
	margin:0 0 .6em;
}
body.dy h1{font-size:40px;}
body.dy h2{font-size:32px;}
body.dy h3{font-size:24px;}
body.dy h4{font-size:19px;}
body.dy h5{font-size:17px;}
body.dy h6{font-size:15px;}

body.dy p{margin:0 0 1.1em;}
body.dy ul,body.dy ol{margin:0 0 1.1em;padding-left:1.3em;}

/* Element-only selector on purpose: `body.dy button{color:inherit}` would
   outrank `.dy-searchform button{color:#fff}` and paint the icon navy on a
   navy circle. Keep this weak so component rules win. */
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}

body.dy :focus-visible{outline:2px solid var(--dy-primary);outline-offset:2px;}

.dy-sr{
	position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
	overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.dy-skip{
	position:absolute;left:-9999px;top:0;z-index:1000;
	background:var(--dy-secondary);color:#fff;padding:12px 20px;border-radius:0 0 8px 0;
}
.dy-skip:focus{left:0;color:#fff;}

/* ----------------------------------------------------------- structure -- */

.dy-container{
	width:100%;
	max-width:calc(var(--dy-container) + (var(--dy-gutter) * 2));
	margin-inline:auto;
	padding-inline:var(--dy-gutter);
}

.dy-section{padding:56px 0;}
.dy-section--tight{padding:36px 0;}
.dy-section--flush-top{padding-top:0;}

.dy-sec-head{
	display:flex;align-items:flex-end;justify-content:space-between;
	gap:24px;margin-bottom:28px;flex-wrap:wrap;
}
.dy-sec-head__text{min-width:0;}
.dy-sec-head h2{font-size:32px;margin:0 0 6px;letter-spacing:-.01em;}
.dy-sec-head p{margin:0;color:var(--dy-text2);font-size:15px;}
.dy-sec-head__link{
	font-weight:500;color:var(--dy-secondary);
	border-bottom:1px solid currentColor;padding-bottom:2px;white-space:nowrap;
}

/* Generic pill button used across the storefront. */
.dy-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:13px 28px;border-radius:999px;border:1px solid transparent;
	font-weight:500;font-size:15px;line-height:1;cursor:pointer;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease;
	text-align:center;white-space:nowrap;
}
/* Icons inside a pill button need an explicit box - an inline SVG with
   only a viewBox stretches to fill the flex line. No fill/stroke here:
   CSS beats the presentation attribute and would flood outline icons. */
.dy-btn svg{width:17px;height:17px;flex-shrink:0;}
.dy-btn--primary{--dy-link:#fff;--dy-link-hover:#fff;background:var(--dy-primary);color:#fff;}
.dy-btn--primary:hover{background:var(--dy-secondary);color:#fff;}
.dy-btn--navy{--dy-link:#fff;--dy-link-hover:#fff;background:var(--dy-secondary);color:#fff;}
.dy-btn--navy:hover{background:var(--dy-primary);color:#fff;}
.dy-btn--white{--dy-link:var(--dy-secondary);--dy-link-hover:#fff;background:#fff;color:var(--dy-secondary);}
.dy-btn--white:hover{background:var(--dy-secondary);color:#fff;}
.dy-btn--ghost{--dy-link:var(--dy-secondary);--dy-link-hover:#fff;background:transparent;color:var(--dy-secondary);border-color:var(--dy-border);}
.dy-btn--ghost:hover{background:var(--dy-secondary);color:#fff;border-color:var(--dy-secondary);}
.dy-btn--block{width:100%;}

/* -------------------------------------------------------------- topbar -- */

.dy-topbar{
	--dy-link:#fff;--dy-link-hover:rgba(255,255,255,.8);
	background:var(--dy-topbar);color:#fff;
	font-size:13.5px;min-height:var(--dy-topbar-h);
	display:flex;align-items:center;
}
.dy-topbar a{color:#fff;}
.dy-topbar a:hover{color:#fff;opacity:.8;}
.dy-topbar__inner{
	display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;
}
.dy-topbar__left,.dy-topbar__right{display:flex;align-items:center;gap:20px;flex-shrink:0;}
.dy-topbar__item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.dy-topbar__item svg{width:15px;height:15px;flex-shrink:0;}
.dy-topbar__promo{
	display:inline-flex;align-items:center;gap:10px;
	font-weight:400;text-align:center;
}
.dy-topbar__code{
	display:inline-block;padding:3px 13px;border-radius:999px;
	border:1px dashed rgba(255,255,255,.6);font-weight:600;letter-spacing:.04em;font-size:12.5px;
}
.dy-topbar__social{display:flex;align-items:center;gap:16px;}
.dy-topbar__social a{display:inline-flex;}
.dy-topbar__social svg{width:16px;height:16px;fill:currentColor;}

/* -------------------------------------------------------------- header -- */

.dy-header{background:#fff;border-bottom:1px solid var(--dy-border);}
.dy-header__inner{
	display:flex;align-items:center;gap:22px;min-height:var(--dy-header-h);
}

.dy-logo{flex-shrink:0;display:inline-flex;align-items:center;}
.dy-logo img{max-height:52px;width:auto;}
.dy-logo__text{
	font-size:29px;font-weight:700;letter-spacing:-.02em;color:var(--dy-secondary);
	line-height:1;display:inline-flex;align-items:baseline;gap:1px;
}
.dy-logo__text b{color:var(--dy-primary);font-weight:700;}

/* search cluster: "All Categories" pill + input + round submit */
.dy-search{display:flex;align-items:center;gap:14px;flex:1;min-width:0;}

.dy-allcat{position:relative;flex-shrink:0;}
.dy-allcat__btn{
	display:inline-flex;align-items:center;gap:9px;
	background:var(--dy-secondary);color:#fff;border:0;
	padding:15px 24px;border-radius:999px;font-weight:500;cursor:pointer;
	white-space:nowrap;
}
.dy-allcat__btn svg{width:14px;height:14px;fill:currentColor;transition:transform .2s ease;}
.dy-allcat.is-open .dy-allcat__btn svg{transform:rotate(180deg);}
.dy-allcat__panel{
	position:absolute;top:calc(100% + 10px);left:0;z-index:60;
	min-width:260px;background:#fff;border:1px solid var(--dy-border);
	border-radius:var(--dy-radius);box-shadow:var(--dy-shadow);
	padding:8px;margin:0;list-style:none;
	opacity:0;visibility:hidden;transform:translateY(-6px);
	transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.dy-allcat.is-open .dy-allcat__panel{opacity:1;visibility:visible;transform:none;}
.dy-allcat__panel{--dy-link:var(--dy-secondary);}
.dy-allcat__panel a{display:block;padding:9px 14px;border-radius:7px;font-size:14.5px;}
.dy-allcat__panel a:hover{background:var(--dy-bg);color:var(--dy-primary);}

.dy-searchform{
	display:flex;align-items:center;flex:1;min-width:0;
	border:1px solid var(--dy-border);border-radius:999px;
	padding:5px 6px 5px 22px;background:#fff;
	transition:border-color .2s ease;
}
.dy-searchform:focus-within{border-color:var(--dy-primary);}
.dy-searchform input[type="search"],
.dy-searchform input[type="text"]{
	flex:1;min-width:0;border:0;background:transparent;
	padding:10px 0;font-size:15px;color:var(--dy-secondary);
}
.dy-searchform input::placeholder{color:var(--dy-text3);}
.dy-searchform input:focus{outline:none;}
.dy-searchform button{
	flex-shrink:0;width:42px;height:42px;border-radius:50%;border:0;
	background:var(--dy-secondary);color:#fff;cursor:pointer;
	display:inline-flex;align-items:center;justify-content:center;
	transition:background-color .2s ease;
}
.dy-searchform button:hover{background:var(--dy-primary);}
.dy-searchform button svg{width:17px;height:17px;fill:currentColor;}

.dy-deals{
	--dy-link:var(--dy-critical);--dy-link-hover:#fff;
	display:inline-flex;align-items:center;gap:8px;flex-shrink:0;
	background:#FDEDE8;color:var(--dy-critical);
	padding:14px 22px;border-radius:999px;font-weight:600;
}
.dy-deals svg{width:17px;height:17px;fill:currentColor;}
.dy-deals:hover{background:var(--dy-critical);color:#fff;}

.dy-actions{display:flex;align-items:center;gap:20px;flex-shrink:0;padding-left:20px;border-left:1px solid var(--dy-border);}
.dy-action{position:relative;display:inline-flex;align-items:center;gap:9px;color:var(--dy-secondary);}
.dy-action svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;}
.dy-action__count{
	position:absolute;top:-6px;left:14px;
	min-width:17px;height:17px;padding:0 4px;border-radius:999px;
	background:var(--dy-primary);color:#fff;
	font-size:10.5px;font-weight:600;line-height:17px;text-align:center;
}
.dy-action__total{font-weight:600;font-size:15px;white-space:nowrap;}

/* --------------------------------------------------------- navigation -- */

.dy-navbar{background:#fff;padding:14px 0 0;}
.dy-navbar__inner{
	display:flex;align-items:center;justify-content:space-between;gap:20px;
	min-height:var(--dy-nav-h);
	border:1px solid var(--dy-border);border-radius:var(--dy-radius-lg);
	padding:0 12px 0 24px;background:#fff;
}

.dy-menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
.dy-menu > li{position:relative;}
.dy-menu > li > a{
	display:inline-flex;align-items:center;gap:6px;
	padding:12px 14px;font-weight:500;font-size:15.5px;color:var(--dy-secondary);
}
.dy-menu > li.menu-item-has-children > a::after{
	content:"";width:8px;height:8px;flex-shrink:0;
	border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;
	transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;
}
.dy-menu > li:hover > a{color:var(--dy-primary);}
.dy-menu > li:hover.menu-item-has-children > a::after{transform:rotate(-135deg) translateY(-2px);}
.dy-menu > li.current-menu-item > a,
.dy-menu > li.current_page_item > a{color:var(--dy-primary);}
.dy-menu > li.current-menu-item > a::before,
.dy-menu > li.current_page_item > a::before{
	content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--dy-primary);
}

.dy-menu .sub-menu{
	position:absolute;top:100%;left:0;z-index:70;
	min-width:238px;list-style:none;margin:0;padding:10px;
	background:#fff;border:1px solid var(--dy-border);
	border-radius:var(--dy-radius);box-shadow:var(--dy-shadow);
	opacity:0;visibility:hidden;transform:translateY(-8px);
	transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.dy-menu li:hover > .sub-menu,
.dy-menu li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none;}
.dy-menu .sub-menu a{display:block;padding:9px 14px;border-radius:7px;font-size:14.5px;color:var(--dy-text2);}
.dy-menu .sub-menu a:hover{background:var(--dy-bg);color:var(--dy-primary);}
.dy-menu .sub-menu .sub-menu{top:-10px;left:100%;}

.dy-navbar__cta{flex-shrink:0;}

/* mobile menu toggle (hidden on desktop) */
.dy-burger{
	display:none;align-items:center;gap:9px;background:none;border:0;cursor:pointer;
	color:var(--dy-secondary);font-weight:500;padding:8px 0;
}
.dy-burger svg{width:22px;height:22px;fill:currentColor;}

/* ---------------------------------------------------- hero + cat rail -- */

.dy-hero{padding:24px 0 8px;}
.dy-hero__grid{
	display:grid;grid-template-columns:316px 1fr;gap:28px;align-items:stretch;
}

.dy-catrail{
	border:1px solid var(--dy-border);border-radius:var(--dy-radius-lg);
	overflow:hidden;background:#fff;align-self:start;
}
.dy-catrail__item{
	display:flex;align-items:center;justify-content:space-between;gap:10px;
	padding:16px 20px;border-bottom:1px solid var(--dy-border);
	font-weight:500;font-size:15px;color:var(--dy-secondary);
}
.dy-catrail__item:last-child{border-bottom:0;}
.dy-catrail__item:hover{background:var(--dy-bg);color:var(--dy-primary);}
.dy-catrail__label{display:inline-flex;align-items:center;gap:9px;min-width:0;}
.dy-catrail__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dy-catrail__chev{width:8px;height:8px;flex-shrink:0;border-right:1.8px solid var(--dy-text3);border-top:1.8px solid var(--dy-text3);transform:rotate(45deg);}
.dy-badge{
	display:inline-block;padding:2px 8px;border-radius:5px;
	font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
	color:var(--dy-secondary);background:var(--dy-label-sale);line-height:1.6;
}
.dy-badge--new{background:var(--dy-label-new);}
.dy-badge--hot{background:var(--dy-label-hot);}

/* hero slider */
.dy-hero__slider{--dy-heading:#fff;position:relative;border-radius:var(--dy-radius-lg);overflow:hidden;min-height:558px;background:var(--dy-bg);}
.dy-slide{
	position:absolute;inset:0;display:flex;align-items:center;
	opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;
	background-size:cover;background-position:center;
}
/* All slides stay absolutely positioned so the active one fills the
   slider box; the box itself carries the height via min-height. */
.dy-slide.is-active{opacity:1;visibility:visible;}
.dy-slide::after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(90deg,rgba(6,32,64,.62) 0%,rgba(6,32,64,.34) 46%,rgba(6,32,64,.08) 74%);
}
.dy-slide__inner{position:relative;z-index:2;padding:60px;max-width:620px;}
.dy-slide__eyebrow{
	display:inline-block;margin-bottom:16px;
	font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.9;
}
.dy-slide h2{font-size:52px;line-height:1.1;color:#fff;margin:0 0 18px;letter-spacing:-.02em;}
.dy-slide p{font-size:17px;color:rgba(255,255,255,.92);margin:0 0 30px;max-width:430px;}
.dy-slider__dots{
	position:absolute;left:0;right:0;bottom:26px;z-index:3;
	display:flex;align-items:center;justify-content:center;gap:9px;
}
.dy-slider__dots button{
	width:9px;height:9px;border-radius:50%;border:0;cursor:pointer;padding:0;
	background:rgba(255,255,255,.5);transition:background-color .2s ease,width .2s ease;
}
.dy-slider__dots button.is-active{background:#fff;width:26px;border-radius:999px;}

/* ------------------------------------------------------- product card -- */

.dy-grid{display:grid;gap:22px;}
.dy-grid--5{grid-template-columns:repeat(5,1fr);}
.dy-grid--4{grid-template-columns:repeat(4,1fr);}
.dy-grid--3{grid-template-columns:repeat(3,1fr);}
.dy-grid--2{grid-template-columns:repeat(2,1fr);}

.dy-card{
	position:relative;display:flex;flex-direction:column;
	border:1px solid var(--dy-border);border-radius:var(--dy-radius);
	background:#fff;overflow:hidden;transition:box-shadow .22s ease,border-color .22s ease;
}
.dy-card:hover{box-shadow:var(--dy-shadow);border-color:transparent;}

.dy-card__media{position:relative;display:block;padding:18px;background:#fff;}
.dy-card__media img{
	width:100%;aspect-ratio:1/1;object-fit:contain;
	transition:transform .35s ease;
}
.dy-card:hover .dy-card__media img{transform:scale(1.045);}

.dy-card__labels{position:absolute;top:14px;left:14px;z-index:3;display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.dy-card__labels .dy-badge{background:var(--dy-label-sale);}

.dy-card__body{padding:0 18px 18px;display:flex;flex-direction:column;flex:1;}
.dy-card__cat{
	--dy-link:var(--dy-primary);
	font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
	color:var(--dy-primary);margin-bottom:8px;display:block;
}
.dy-card__cat a{color:inherit;}
.dy-card__title{
	font-size:16px;line-height:24px;font-weight:500;margin:0 0 8px;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
	min-height:48px;
}
.dy-card__title a{color:var(--dy-secondary);}
.dy-card__title a:hover{color:var(--dy-primary);}

.dy-stars{display:inline-flex;align-items:center;gap:6px;margin-bottom:9px;font-size:13px;color:var(--dy-text3);}
.dy-stars__set{position:relative;display:inline-block;font-size:14px;line-height:1;letter-spacing:2px;color:#E1E3EA;}
.dy-stars__set::before{content:"\2605\2605\2605\2605\2605";}
.dy-stars__fill{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--dy-star);}
.dy-stars__fill::before{content:"\2605\2605\2605\2605\2605";}

.dy-price{font-size:19px;font-weight:600;color:var(--dy-secondary);margin-bottom:14px;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
.dy-price ins{text-decoration:none;color:var(--dy-primary);}
.dy-price del{font-size:15px;font-weight:400;color:var(--dy-text3);}
.dy-price .amount{font-weight:600;}

.dy-card__foot{margin-top:auto;}
.dy-card__btn{
	--dy-link:var(--dy-secondary);--dy-link-hover:#fff;
	display:flex;align-items:center;justify-content:center;width:100%;
	padding:12px 18px;border-radius:999px;border:1px solid var(--dy-border);
	background:#fff;color:var(--dy-secondary);font-weight:500;font-size:14.5px;cursor:pointer;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.dy-card__btn:hover{background:var(--dy-primary);border-color:var(--dy-primary);color:#fff;}
.dy-card__btn.loading{opacity:.65;pointer-events:none;}
.dy-card__btn.added::after{content:" \2713";}

/* --------------------------------------------------------------- tabs -- */

.dy-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.dy-tab{
	padding:11px 24px;border-radius:999px;border:1px solid var(--dy-border);
	background:#fff;color:var(--dy-secondary);font-weight:500;font-size:14.5px;cursor:pointer;
	transition:border-color .2s ease,color .2s ease;
}
.dy-tab:hover{border-color:var(--dy-primary);color:var(--dy-primary);}
.dy-tab.is-active{border-color:var(--dy-primary);color:var(--dy-primary);}
.dy-tabpanel{display:none;}
.dy-tabpanel.is-active{display:block;}

/* --------------------------------------------------- category tiles -- */

.dy-cattile{
	display:flex;flex-direction:column;align-items:center;text-align:center;
	padding:26px 18px 0;border-radius:var(--dy-radius);background:var(--dy-bg);
	overflow:hidden;transition:background-color .22s ease;min-height:210px;
}
.dy-cattile:hover{background:#F2ECF7;}
.dy-cattile__name{font-size:17px;font-weight:600;color:var(--dy-secondary);margin:0 0 4px;}
.dy-cattile__count{font-size:13.5px;color:var(--dy-text2);margin:0 0 14px;}
.dy-cattile__img{width:100%;max-width:170px;margin-top:auto;}
.dy-cattile__img img{width:100%;aspect-ratio:1/1;object-fit:contain;}

/* ------------------------------------------------------------ banners -- */

.dy-banner{
	--dy-banner-bg:#EFEBD8;
	position:relative;display:flex;align-items:center;overflow:hidden;
	border-radius:var(--dy-radius-lg);min-height:322px;
	background-size:cover;background-position:center right;
}
/* The photo sits on the right of the background image. Without this wash the
   headline runs straight over it and becomes unreadable - which is exactly
   what the hero avoids with its own gradient. Doing the blend in CSS rather
   than baking it into the JPEG also means it still works if the artwork is
   swapped for a different photo. */
.dy-banner::before{
	content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
	background:linear-gradient(
		90deg,
		var(--dy-banner-bg) 0%,
		var(--dy-banner-bg) 40%,
		color-mix(in srgb, var(--dy-banner-bg) 55%, transparent) 58%,
		transparent 74%
	);
}
/* color-mix is recent; a plain two-stop wash is a fine fallback. */
@supports not (background: color-mix(in srgb, red 50%, transparent)){
	.dy-banner::before{
		background:linear-gradient(90deg,var(--dy-banner-bg) 0%,var(--dy-banner-bg) 42%,transparent 72%);
	}
}
.dy-banner__inner{position:relative;z-index:2;padding:44px;max-width:54%;}
.dy-banner__eyebrow{
	display:block;margin-bottom:14px;font-size:12.5px;font-weight:600;
	letter-spacing:.09em;text-transform:uppercase;
}
.dy-banner h3{font-size:36px;line-height:1.16;margin:0 0 26px;letter-spacing:-.01em;}
.dy-banner--light{--dy-banner-bg:#EFEBD8;background-color:#EFEBD8;}
.dy-banner--light .dy-banner__eyebrow,.dy-banner--light h3{color:var(--dy-secondary);}
.dy-banner--tint{--dy-heading:#fff;--dy-banner-bg:#8FC2D6;background-color:#8FC2D6;}
.dy-banner--tint .dy-banner__eyebrow,.dy-banner--tint h3{color:#fff;}
.dy-banner--plum{--dy-heading:#fff;--dy-banner-bg:#7A45A9;background-color:#7A45A9;}
.dy-banner--plum .dy-banner__eyebrow,.dy-banner--plum h3{color:#fff;}

/* big banner + 2x2 tile grid */
.dy-promo{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.dy-promo__tiles{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.dy-promo__big{min-height:100%;}
.dy-tile{
	display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
	text-align:center;padding:22px;border-radius:var(--dy-radius);
	background:var(--dy-bg);min-height:230px;transition:background-color .22s ease;
}
.dy-tile:hover{background:#F2ECF7;}
.dy-tile__img{width:100%;max-width:150px;margin-bottom:14px;}
.dy-tile__img img{width:100%;aspect-ratio:1/1;object-fit:contain;}
.dy-tile__name{font-size:16px;font-weight:600;color:var(--dy-secondary);margin:0 0 4px;}
.dy-tile__link{font-size:13.5px;color:var(--dy-text2);border-bottom:1px solid currentColor;padding-bottom:1px;}

/* ---------------------------------------------------------- countdown -- */

.dy-deal{
	--dy-heading:#fff;--dy-link:#fff;--dy-link-hover:rgba(255,255,255,.85);
	display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
	background:var(--dy-primary);color:#fff;border-radius:var(--dy-radius);
	padding:26px 34px;
}
.dy-deal__text{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.dy-deal h3{font-size:24px;color:#fff;margin:0;}
.dy-deal__link{color:#fff;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:2px;}
.dy-deal__link:hover{color:#fff;opacity:.85;}
.dy-clock{display:flex;align-items:center;gap:12px;}
.dy-clock__unit{
	min-width:66px;padding:9px 8px;border-radius:8px;
	border:1px solid rgba(255,255,255,.35);text-align:center;
}
.dy-clock__num{display:block;font-size:22px;font-weight:600;line-height:1.2;}
.dy-clock__lbl{display:block;font-size:12px;opacity:.85;}

/* ------------------------------------------------------- list columns -- */

.dy-listcol h3{font-size:26px;margin:0 0 22px;}
.dy-listrow{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--dy-border);}
.dy-listrow:last-child{border-bottom:0;}
.dy-listrow__img{flex-shrink:0;width:86px;height:86px;border-radius:8px;background:var(--dy-bg);overflow:hidden;}
.dy-listrow__img img{width:100%;height:100%;object-fit:contain;}
.dy-listrow__body{min-width:0;flex:1;}
.dy-listrow__cat{--dy-link:var(--dy-primary);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dy-primary);display:block;margin-bottom:5px;}
.dy-listrow__title{font-size:15px;line-height:22px;font-weight:500;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dy-listrow .dy-price{font-size:16px;margin:0;}

/* --------------------------------------------------------------- blog -- */

.dy-post{display:flex;flex-direction:column;}
.dy-post__media{position:relative;border-radius:var(--dy-radius);overflow:hidden;margin-bottom:16px;background:var(--dy-bg);}
.dy-post__media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .4s ease;}
.dy-post:hover .dy-post__media img{transform:scale(1.05);}
.dy-post__chip{
	position:absolute;top:14px;left:14px;z-index:2;
	padding:6px 14px;border-radius:999px;background:var(--dy-primary);color:#fff;
	font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
}
.dy-post__meta{font-size:13.5px;color:var(--dy-text2);margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.dy-post__meta span{color:var(--dy-secondary);}
.dy-post__meta i{font-style:normal;color:var(--dy-border);}
.dy-post h3{font-size:19px;line-height:1.4;margin:0;}

/* -------------------------------------------------------- info strip -- */

.dy-infostrip{border-top:1px solid var(--dy-border);padding:44px 0;background:#fff;}
.dy-infostrip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.dy-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;}
.dy-info__icon{
	width:52px;height:52px;border-radius:50%;background:var(--dy-bg);
	display:inline-flex;align-items:center;justify-content:center;color:var(--dy-primary);
}
.dy-info__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;}
.dy-info__title{font-size:16px;font-weight:600;color:var(--dy-secondary);margin:0;}
.dy-info__sub{font-size:13.5px;color:var(--dy-text2);margin:0;}

/* ------------------------------------------------------------- footer -- */

.dy-footer{
	--dy-heading:#fff;--dy-link:var(--dy-text3);--dy-link-hover:#fff;
	background:var(--dy-secondary);color:var(--dy-text3);
}
.dy-footer a{color:var(--dy-text3);}
.dy-footer a:hover{color:#fff;}
.dy-footer__main{padding:58px 0 44px;}
.dy-footer__grid{
	display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:34px;
}
.dy-footer h4{
	font-size:17px;font-weight:600;color:#fff;margin:0 0 20px;
}
.dy-footer ul{list-style:none;margin:0;padding:0;}
.dy-footer li{margin-bottom:11px;}
.dy-footer li:last-child{margin-bottom:0;}

.dy-footer__logo{margin-bottom:18px;display:inline-flex;}
.dy-footer__logo .dy-logo__text{color:#fff;font-size:27px;}
.dy-footer__logo .dy-logo__text b{color:#B98BDD;}
.dy-footer__logo img{max-height:46px;width:auto;}

.dy-footer__support{margin-bottom:16px;}
.dy-footer__support-label{display:block;font-size:13.5px;margin-bottom:2px;}
.dy-footer__support{--dy-link:#fff;--dy-link-hover:#B98BDD;}
.dy-footer__support a{display:inline-block;font-size:22px;font-weight:600;color:#fff;}
.dy-footer__support a:hover{color:#B98BDD;}

.dy-footer__addr{margin:0 0 14px;font-size:14px;line-height:1.7;}
.dy-footer__addr strong{display:block;color:#fff;font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;}
.dy-footer__addr--old{opacity:.72;}
.dy-footer__mail{display:block;font-size:14px;margin-bottom:4px;}

.dy-newsletter__tagline{font-size:14px;margin:0 0 16px;line-height:1.65;}
.dy-newsletter__form{display:flex;gap:10px;flex-wrap:wrap;}
.dy-newsletter__form input[type="email"]{
	flex:1;min-width:180px;padding:14px 20px;border-radius:999px;
	border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);
	color:#fff;font-size:14.5px;
}
.dy-newsletter__form input::placeholder{color:var(--dy-text3);}
.dy-newsletter__form input:focus{outline:none;border-color:rgba(255,255,255,.4);}
.dy-newsletter__form button{
	padding:14px 28px;border-radius:999px;border:0;background:#fff;color:var(--dy-secondary);
	font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease;
}
.dy-newsletter__form button:hover{background:var(--dy-primary);color:#fff;}
.dy-newsletter__note{font-size:12.5px;margin:12px 0 0;opacity:.75;}

/* payment + trust row */
.dy-footer__trust{
	border-top:1px solid rgba(255,255,255,.1);
	padding:26px 0;
	display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
}
.dy-pay{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.dy-pay__label{font-size:13.5px;margin-right:2px;}
.dy-pay__badge{
	display:inline-flex;align-items:center;justify-content:center;
	height:36px;padding:0 14px;border-radius:7px;background:#fff;
}
.dy-pay__badge svg{height:20px;width:auto;display:block;}
.dy-trustpilot{
	--dy-link:#fff;--dy-link-hover:#fff;
	display:inline-flex;align-items:center;gap:10px;
	padding:9px 16px;border-radius:8px;background:rgba(255,255,255,.08);
	color:#fff;font-size:13.5px;font-weight:500;
}
.dy-trustpilot:hover{background:rgba(255,255,255,.15);color:#fff;}
.dy-trustpilot svg{height:18px;width:auto;}
.dy-trustpilot__stars{display:inline-flex;gap:2px;}
.dy-trustpilot__stars i{
	width:17px;height:17px;background:#00B67A;display:inline-block;
	clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}

.dy-copyright{
	border-top:1px solid rgba(255,255,255,.1);
	padding:22px 0;
	display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
	font-size:13.5px;
}
.dy-copyright__social{display:flex;align-items:center;gap:16px;}
.dy-copyright__social a{display:inline-flex;color:var(--dy-text3);}
.dy-copyright__social a:hover{color:#fff;}
.dy-copyright__social svg{width:17px;height:17px;fill:currentColor;}

/* --------------------------------------------------------- page shell -- */

.dy-pagehead{background:var(--dy-bg);padding:44px 0;margin-bottom:44px;border-bottom:1px solid var(--dy-border);}
.dy-pagehead h1{font-size:38px;margin:0 0 8px;}
.dy-crumbs{--dy-link:var(--dy-text2);--dy-link-hover:var(--dy-primary);font-size:13.5px;color:var(--dy-text2);}
.dy-crumbs a{color:var(--dy-text2);}
.dy-crumbs a:hover{color:var(--dy-primary);}
.dy-crumbs span+span::before{content:"/";margin:0 8px;color:var(--dy-border);}

.dy-main{padding-bottom:64px;}

.dy-prose{--dy-link:var(--dy-primary);--dy-link-hover:var(--dy-secondary);max-width:100%;font-size:15.5px;line-height:1.75;color:var(--dy-text2);}
.dy-prose h2{font-size:27px;margin:36px 0 14px;}
.dy-prose h2:first-child{margin-top:0;}
.dy-prose h3{font-size:20px;margin:28px 0 12px;}
.dy-prose h4{font-size:17px;margin:22px 0 10px;}
.dy-prose ul,.dy-prose ol{padding-left:22px;margin-bottom:1.2em;}
.dy-prose li{margin-bottom:8px;}
.dy-prose strong{color:var(--dy-secondary);font-weight:600;}
.dy-prose a{color:var(--dy-primary);text-decoration:underline;text-underline-offset:2px;}
.dy-prose table{width:100%;border-collapse:collapse;margin-bottom:1.4em;font-size:14.5px;}
.dy-prose th,.dy-prose td{border:1px solid var(--dy-border);padding:11px 14px;text-align:left;vertical-align:top;}
.dy-prose th{background:var(--dy-bg);color:var(--dy-secondary);font-weight:600;}
.dy-prose blockquote{
	margin:0 0 1.3em;padding:16px 22px;border-left:3px solid var(--dy-primary);
	background:var(--dy-bg);border-radius:0 8px 8px 0;
}

.dy-layout{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start;}
.dy-layout--left{grid-template-columns:300px 1fr;}
.dy-layout--full{grid-template-columns:1fr;}

/* Cards used by contact / policy pages */
.dy-panel{
	border:1px solid var(--dy-border);border-radius:var(--dy-radius);
	padding:26px;background:#fff;margin-bottom:22px;
}
.dy-panel h3{margin-top:0;font-size:19px;}
.dy-panel--tint{background:var(--dy-bg);}
.dy-panel__row{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;}
.dy-panel__row:last-child{margin-bottom:0;}
.dy-panel__icon{
	flex-shrink:0;width:40px;height:40px;border-radius:50%;
	background:#fff;border:1px solid var(--dy-border);
	display:inline-flex;align-items:center;justify-content:center;color:var(--dy-primary);
}
.dy-panel__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;}
.dy-panel__label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dy-text2);margin-bottom:2px;}
.dy-panel__value{font-size:15.5px;color:var(--dy-secondary);font-weight:500;}

.dy-map{border-radius:var(--dy-radius);overflow:hidden;border:1px solid var(--dy-border);line-height:0;}
.dy-map iframe{width:100%;height:320px;border:0;}

/* FAQ accordion */
.dy-faq{border:1px solid var(--dy-border);border-radius:var(--dy-radius);overflow:hidden;}
.dy-faq__item{border-bottom:1px solid var(--dy-border);}
.dy-faq__item:last-child{border-bottom:0;}
.dy-faq__q{
	width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
	padding:18px 22px;background:#fff;border:0;cursor:pointer;text-align:left;
	font-size:16px;font-weight:500;color:var(--dy-secondary);
}
.dy-faq__q:hover{color:var(--dy-primary);}
.dy-faq__q::after{
	content:"";flex-shrink:0;width:10px;height:10px;
	border-right:2px solid currentColor;border-bottom:2px solid currentColor;
	transform:rotate(45deg) translateY(-3px);transition:transform .22s ease;
}
.dy-faq__item.is-open .dy-faq__q::after{transform:rotate(-135deg) translateY(-3px);}
.dy-faq__a{display:none;padding:0 22px 20px;color:var(--dy-text2);font-size:15px;line-height:1.75;}
.dy-faq__item.is-open .dy-faq__a{display:block;}
.dy-faq__a p:last-child{margin-bottom:0;}

/* ---------------------------------------------------------------------- */
/* WooCommerce                                                            */
/* NOTE: woocommerce.css is enqueued AFTER this sheet, so overrides need   */
/* the body.dy prefix to win.                                             */
/*                                                                        */
/* `woocommerce`, `woocommerce-cart`, `woocommerce-checkout` and           */
/* `woocommerce-account` are BODY classes, so `body.dy .woocommerce x`     */
/* matches nothing. Two things keep the rules below working:               */
/*   - the theme adds a `woocommerce` class to its own content wrapper,    */
/*     so `.woocommerce` really does exist as a descendant on shop and     */
/*     product pages (the cart/checkout shortcodes already emit one);      */
/*   - the page-specific rules use the compound form, body.dy.woocommerce-*/
/*     cart and friends.                                                  */
/* ---------------------------------------------------------------------- */

body.dy .woocommerce-message,
body.dy .woocommerce-info,
body.dy .woocommerce-error{
	border-top:0;border-left:3px solid var(--dy-primary);
	background:var(--dy-bg);border-radius:0 8px 8px 0;
	padding:16px 20px 16px 22px;color:var(--dy-secondary);font-size:14.5px;
	display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
body.dy .woocommerce-message::before,
body.dy .woocommerce-info::before,
body.dy .woocommerce-error::before{display:none;}
body.dy .woocommerce-error{border-left-color:var(--dy-critical);}
body.dy .woocommerce-message .button,
body.dy .woocommerce-info .button{margin-left:auto;}

body.dy .woocommerce ul.products{display:grid;gap:22px;margin:0 0 34px;padding:0;list-style:none;}
body.dy .woocommerce ul.products::before,
body.dy .woocommerce ul.products::after{display:none;}
body.dy .woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important;}
body.dy .woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr);}
body.dy .woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr);}
body.dy .woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr);}
body.dy .woocommerce ul.products.columns-5{grid-template-columns:repeat(5,1fr);}

body.dy .woocommerce-result-count{color:var(--dy-text2);font-size:14px;margin:0;}
body.dy .woocommerce-ordering select{
	padding:11px 16px;border:1px solid var(--dy-border);border-radius:999px;
	background:#fff;color:var(--dy-secondary);font-size:14.5px;
}
.dy-shoptools{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px;}

body.dy .woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center;margin:34px 0 0;}
body.dy .woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;overflow:visible;}
body.dy .woocommerce nav.woocommerce-pagination ul li a,
body.dy .woocommerce nav.woocommerce-pagination ul li span{
	min-width:42px;height:42px;line-height:40px;padding:0 12px;
	border:1px solid var(--dy-border);border-radius:999px;
	color:var(--dy-secondary);font-weight:500;background:#fff;
}
body.dy .woocommerce nav.woocommerce-pagination ul li a:hover,
body.dy .woocommerce nav.woocommerce-pagination ul li span.current{
	background:var(--dy-primary);border-color:var(--dy-primary);color:#fff;
}

/* single product */
body.dy .woocommerce div.product{margin-bottom:56px;}
body.dy .woocommerce div.product div.images{width:48%;}
body.dy .woocommerce div.product div.summary{width:48%;margin-bottom:0;}
body.dy .woocommerce div.product .product_title{font-size:32px;line-height:1.24;margin:0 0 12px;}
body.dy .woocommerce div.product p.price,
body.dy .woocommerce div.product span.price{
	font-size:28px;font-weight:600;color:var(--dy-secondary);margin:0 0 18px;
}
body.dy .woocommerce div.product p.price ins{text-decoration:none;color:var(--dy-primary);}
body.dy .woocommerce div.product p.price del{font-size:20px;color:var(--dy-text3);font-weight:400;opacity:1;margin-right:10px;}
body.dy .woocommerce div.product .woocommerce-product-rating{margin-bottom:16px;}
body.dy .woocommerce div.product form.cart{margin:24px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
body.dy .woocommerce div.product form.cart div.quantity{margin:0;}
body.dy .woocommerce .quantity .qty{
	width:88px;height:52px;padding:0 12px;text-align:center;
	border:1px solid var(--dy-border);border-radius:999px;background:#fff;
	color:var(--dy-secondary);font-weight:500;
}

body.dy .woocommerce #respond input#submit,
body.dy .woocommerce a.button,
body.dy .woocommerce button.button,
body.dy .woocommerce input.button,
body.dy .woocommerce a.button.alt,
body.dy .woocommerce button.button.alt,
body.dy .woocommerce input.button.alt{
	background:var(--dy-primary);color:#fff;
	border-radius:999px;padding:15px 32px;font-weight:500;font-size:15px;
	line-height:1.2;border:1px solid var(--dy-primary);
	transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
body.dy .woocommerce #respond input#submit:hover,
body.dy .woocommerce a.button:hover,
body.dy .woocommerce button.button:hover,
body.dy .woocommerce input.button:hover,
body.dy .woocommerce a.button.alt:hover,
body.dy .woocommerce button.button.alt:hover,
body.dy .woocommerce input.button.alt:hover{
	background:var(--dy-secondary);border-color:var(--dy-secondary);color:#fff;
}
body.dy .woocommerce a.button.wc-backward{background:#fff;color:var(--dy-secondary);border-color:var(--dy-border);}
body.dy .woocommerce a.button.wc-backward:hover{background:var(--dy-secondary);color:#fff;}

body.dy .woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 26px;border-bottom:1px solid var(--dy-border);display:flex;gap:6px;flex-wrap:wrap;}
body.dy .woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
body.dy .woocommerce div.product .woocommerce-tabs ul.tabs li{
	background:transparent;border:0;border-radius:0;margin:0;padding:0;
}
body.dy .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.dy .woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
body.dy .woocommerce div.product .woocommerce-tabs ul.tabs li a{
	padding:14px 22px;font-weight:500;font-size:15.5px;color:var(--dy-text2);display:block;
	border-bottom:2px solid transparent;margin-bottom:-1px;
}
body.dy .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--dy-secondary);border-bottom-color:var(--dy-primary);}
body.dy .woocommerce div.product .woocommerce-tabs .panel{padding:0;margin:0;}
body.dy .woocommerce div.product .woocommerce-tabs .panel h2{font-size:22px;}

body.dy .woocommerce div.product .woocommerce-product-gallery{position:relative;}
/* WooCommerce sets `opacity:0` inline and relies on flexslider to fade the
   gallery in. If that script does not run the product photo is invisible,
   which is worse than an unanimated gallery - so force it visible. */
body.dy .woocommerce-product-gallery{opacity:1!important;}
body.dy .woocommerce-product-gallery__wrapper{display:block;}
body.dy .woocommerce-product-gallery__image:not(:first-child){display:none;}
body.dy .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image{display:block;}
body.dy .woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px;}
body.dy .woocommerce div.product div.images .flex-control-thumbs li{width:auto;float:none;margin:0;}
body.dy .woocommerce div.product div.images .flex-control-thumbs img{border:1px solid var(--dy-border);border-radius:8px;opacity:.75;}
body.dy .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.dy .woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;border-color:var(--dy-primary);}

/* the zoom magnifier is unusable on small screens */
@media (max-width:700px){
	body.dy .woocommerce div.product div.images .zoomImg{display:none!important;}
}

body.dy .woocommerce span.onsale{
	background:var(--dy-primary);color:#fff;border-radius:6px;
	min-height:auto;min-width:auto;padding:5px 12px;font-size:12.5px;font-weight:600;
	line-height:1.5;top:14px;left:14px;right:auto;margin:0;
}

body.dy .woocommerce .star-rating span::before,
body.dy .woocommerce p.stars a::before{color:var(--dy-star);}
body.dy .woocommerce .star-rating::before{color:#E1E3EA;}

/* cart + checkout */
body.dy .woocommerce table.shop_table{border:1px solid var(--dy-border);border-radius:var(--dy-radius);border-collapse:separate;}
body.dy .woocommerce table.shop_table th{background:var(--dy-bg);color:var(--dy-secondary);font-weight:600;padding:15px 16px;}
body.dy .woocommerce table.shop_table td{padding:15px 16px;border-top:1px solid var(--dy-border);}
body.dy.woocommerce-cart table.cart img{width:74px;border-radius:8px;}
body.dy .woocommerce .cart-collaterals .cart_totals{width:100%;}
body.dy.woocommerce-checkout #customer_details,
body.dy.woocommerce-checkout #order_review{margin-bottom:26px;}
body.dy .woocommerce form .form-row input.input-text,
body.dy .woocommerce form .form-row textarea,
body.dy .woocommerce form .form-row select,
body.dy .woocommerce .select2-container--default .select2-selection--single{
	padding:13px 18px;border:1px solid var(--dy-border);border-radius:10px;
	background:#fff;color:var(--dy-secondary);font-size:15px;height:auto;line-height:1.5;
}
body.dy .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.5;padding:0;color:var(--dy-secondary);}
body.dy .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;top:0;right:10px;}
body.dy .woocommerce form .form-row label{font-weight:500;color:var(--dy-secondary);margin-bottom:6px;display:block;}
body.dy .woocommerce #payment{background:var(--dy-bg);border-radius:var(--dy-radius);}
body.dy .woocommerce #payment div.payment_box{background:#fff;border:1px solid var(--dy-border);border-radius:8px;}
body.dy .woocommerce #payment div.payment_box::before{display:none;}
body.dy.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--dy-border);}

/* my account */
body.dy.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--dy-border);border-radius:var(--dy-radius);overflow:hidden;}
body.dy.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--dy-border);}
body.dy.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
body.dy.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:14px 20px;font-weight:500;}
body.dy.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--dy-bg);color:var(--dy-primary);}

/* --------------------------------------------------- product extras --- */

.dy-ship-facts{
	border:1px solid var(--dy-border);border-radius:var(--dy-radius);
	padding:18px 20px;margin:22px 0;background:var(--dy-bg);font-size:14.5px;
}
.dy-ship-facts h4{font-size:15px;margin:0 0 12px;}
.dy-ship-facts dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0;}
.dy-ship-facts dt{color:var(--dy-text2);}
.dy-ship-facts dd{margin:0;color:var(--dy-secondary);font-weight:500;}

.dy-provenance{
	font-size:12.5px;line-height:1.65;color:var(--dy-text2);
	border-top:1px solid var(--dy-border);margin-top:22px;padding-top:16px;
}

.dy-rail{position:relative;}
.dy-rail__track{
	display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 88px)/5);
	gap:22px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
	padding-bottom:6px;scrollbar-width:none;
}
.dy-rail__track::-webkit-scrollbar{display:none;}
.dy-rail__track > *{scroll-snap-align:start;}
.dy-rail__nav{
	position:absolute;top:38%;z-index:5;width:42px;height:42px;border-radius:50%;
	border:1px solid var(--dy-border);background:#fff;color:var(--dy-secondary);
	cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
	box-shadow:var(--dy-shadow-sm);transition:background-color .2s ease,color .2s ease;
}
.dy-rail__nav:hover{background:var(--dy-primary);color:#fff;border-color:var(--dy-primary);}
.dy-rail__nav--prev{left:-18px;}
.dy-rail__nav--next{right:-18px;}
.dy-rail__nav svg{width:15px;height:15px;fill:currentColor;}
.dy-rail__nav[disabled]{opacity:.35;cursor:default;}

/* ------------------------------------------------------------ responsive */

@media (max-width:1200px){
	.dy-hero__grid{grid-template-columns:270px 1fr;gap:20px;}
	.dy-grid--5{grid-template-columns:repeat(4,1fr);}
	.dy-slide h2{font-size:42px;}
	.dy-rail__track{grid-auto-columns:calc((100% - 66px)/4);}
	.dy-deals span{display:none;}
	.dy-deals{padding:14px;}
}

@media (max-width:1024px){
	.dy-navbar__inner{padding:0 12px 0 16px;}
	.dy-menu > li > a{padding:12px 10px;font-size:14.5px;}
	.dy-footer__grid{grid-template-columns:1fr 1fr;gap:34px 26px;}
	.dy-grid--4{grid-template-columns:repeat(3,1fr);}
	.dy-promo{grid-template-columns:1fr;}
	.dy-layout,.dy-layout--left{grid-template-columns:1fr;}
	body.dy .woocommerce ul.products.columns-4,
	body.dy .woocommerce ul.products.columns-5{grid-template-columns:repeat(3,1fr);}
}

@media (max-width:900px){
	:root{--dy-header-h:70px;}
	.dy-topbar__left .dy-topbar__item--hide,
	.dy-topbar__promo{display:none;}
	.dy-header__inner{gap:14px;flex-wrap:wrap;padding:14px 0;}
	.dy-search{order:3;flex-basis:100%;}
	.dy-allcat,.dy-deals{display:none;}
	.dy-actions{margin-left:auto;padding-left:0;border-left:0;gap:16px;}
	.dy-action__total{display:none;}
	.dy-burger{display:inline-flex;}
	.dy-navbar__inner{min-height:56px;}
	.dy-menu{
		position:absolute;top:100%;left:0;right:0;z-index:80;
		flex-direction:column;align-items:stretch;gap:0;
		background:#fff;border:1px solid var(--dy-border);border-radius:var(--dy-radius);
		box-shadow:var(--dy-shadow);padding:8px;margin-top:8px;display:none;
		max-height:70vh;overflow-y:auto;
	}
	.dy-navbar__inner{position:relative;}
	.dy-menu.is-open{display:flex;}
	.dy-menu > li > a{padding:13px 14px;width:100%;justify-content:space-between;}
	.dy-menu .sub-menu{
		position:static;opacity:1;visibility:visible;transform:none;
		box-shadow:none;border:0;border-left:2px solid var(--dy-border);
		border-radius:0;margin:0 0 6px 14px;padding:0 0 0 8px;display:none;
	}
	.dy-menu li.is-open > .sub-menu{display:block;}
	.dy-navbar__cta{display:none;}
	.dy-hero__grid{grid-template-columns:1fr;}
	.dy-catrail{display:none;}
	.dy-hero__slider{min-height:400px;}
	.dy-slide__inner{padding:36px 28px;}
	.dy-slide h2{font-size:34px;}
	.dy-slide p{font-size:15.5px;}
	.dy-sec-head h2{font-size:26px;}
	.dy-grid--5,.dy-grid--4,.dy-grid--3{grid-template-columns:repeat(2,1fr);}
	.dy-promo__tiles{grid-template-columns:1fr 1fr;}
	.dy-infostrip__grid{grid-template-columns:repeat(2,1fr);gap:30px 18px;}
	.dy-banner__inner{max-width:100%;padding:32px;}
	.dy-banner::before{
		background:linear-gradient(180deg,var(--dy-banner-bg) 0%,var(--dy-banner-bg) 58%,transparent 100%);
	}
	.dy-banner h3{font-size:28px;}
	.dy-deal{padding:22px;}
	.dy-deal h3{font-size:20px;}
	body.dy .woocommerce ul.products.columns-3,
	body.dy .woocommerce ul.products.columns-4,
	body.dy .woocommerce ul.products.columns-5{grid-template-columns:repeat(2,1fr);}
	body.dy .woocommerce div.product div.images,
	body.dy .woocommerce div.product div.summary{width:100%;float:none;}
	body.dy .woocommerce div.product .product_title{font-size:25px;}
	.dy-pagehead{padding:32px 0;margin-bottom:32px;}
	.dy-pagehead h1{font-size:29px;}
	.dy-rail__track{grid-auto-columns:calc((100% - 22px)/2);}
	.dy-rail__nav{display:none;}
	.dy-section{padding:40px 0;}
}

@media (max-width:640px){
	.dy-topbar{font-size:12.5px;}
	.dy-topbar__left{gap:12px;}
	.dy-logo__text{font-size:24px;}
	.dy-grid{gap:14px;}
	.dy-grid--5,.dy-grid--4,.dy-grid--3,.dy-grid--2{grid-template-columns:repeat(2,1fr);}
	.dy-card__media{padding:12px;}
	.dy-card__body{padding:0 12px 14px;}
	.dy-card__title{font-size:14.5px;line-height:21px;min-height:42px;}
	.dy-price{font-size:17px;}
	.dy-footer__grid{grid-template-columns:1fr;gap:30px;}
	.dy-footer__trust{flex-direction:column;align-items:flex-start;gap:18px;}
	.dy-copyright{flex-direction:column;align-items:flex-start;text-align:left;}
	.dy-clock__unit{min-width:56px;}
	.dy-deal__text{gap:12px;}
	.dy-promo__tiles{grid-template-columns:1fr;}
	.dy-slide h2{font-size:27px;}
	.dy-sec-head{gap:14px;}
	.dy-sec-head h2{font-size:23px;}
	.dy-listcol{margin-bottom:26px;}
	body.dy h1{font-size:29px;}
	body.dy h2{font-size:24px;}
	.dy-ship-facts dl{grid-template-columns:1fr;gap:2px;}
	.dy-ship-facts dt{margin-top:8px;}
}

@media print{
	.dy-topbar,.dy-navbar,.dy-footer,.dy-actions,.dy-search{display:none!important;}
}
