/*
Theme Name: PHOSLENS Base
Theme URI: https://phoslens.com/
Author: PHOSLENS
Description: Lightweight standalone theme for the PHOSLENS optical products website. WooCommerce ready and page-builder free.
Version: 0.3.2
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: phoslens-base
License: GNU General Public License v2 or later
*/
:root{--navy:#0b2f63;--blue:#0b6bcb;--cyan:#20a4f3;--ink:#142033;--muted:#667085;--line:#dbe3ee;--light:#f4f7fb;--dark:#071d3c;--white:#fff;--r:14px;--shadow:0 16px 45px rgba(11,47,99,.10);--container:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:var(--blue);text-decoration:none}a:hover{color:var(--navy)}h1,h2,h3,h4,h5,h6{margin-top:0;color:var(--ink);line-height:1.18;letter-spacing:-.025em}p{margin-top:0}.container{width:min(calc(100% - 40px),var(--container));margin:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus,.skip-link:focus{position:fixed!important;top:10px;left:10px;z-index:10000;width:auto;height:auto;padding:12px 16px;clip:auto;background:#fff;color:#000;box-shadow:var(--shadow)}
.topbar{background:var(--navy);color:rgba(255,255,255,.88);font-size:.82rem}.topbar__inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-menu,.primary-menu,.footer-menu{display:flex;gap:22px;margin:0;padding:0;list-style:none}.topbar-menu a{color:rgba(255,255,255,.88)}.main-header{position:relative;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.main-header__inner{min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px}.site-title{color:var(--ink);font-size:1.42rem;font-weight:850;letter-spacing:-.03em}.custom-logo{display:block;max-height:52px;width:auto}.primary-navigation{justify-self:center}.primary-menu{align-items:center;gap:clamp(16px,2vw,30px)}.primary-menu a{color:var(--ink);font-size:.94rem;font-weight:650}.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--blue)}.primary-menu .menu-item-has-children{position:relative}.primary-menu .sub-menu{position:absolute;top:calc(100% + 22px);left:0;min-width:230px;margin:0;padding:12px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.primary-menu .menu-item-has-children:hover>.sub-menu,.primary-menu .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.primary-menu .sub-menu a{display:block;padding:9px 10px;border-radius:8px}.primary-menu .sub-menu a:hover{background:var(--light)}.header-actions{display:flex;align-items:center;gap:12px}.menu-toggle{display:none;width:44px;min-height:44px;padding:10px;flex-direction:column;justify-content:center;gap:5px;border:0;border-radius:8px;background:var(--blue)}.menu-toggle span{display:block;width:100%;height:2px;background:#fff}.search-form{display:flex;align-items:center;min-width:220px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.search-field{width:100%;min-width:0;padding:9px 12px;border:0;outline:0;font:inherit;font-size:.88rem}.search-submit{align-self:stretch;min-width:42px;border:0;background:transparent;color:var(--blue);font-size:1.2rem;cursor:pointer}
.button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:#fff;font-weight:700;line-height:1;cursor:pointer;transition:.2s}.button:hover,input[type=submit]:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-1px)}.button--small{min-height:40px;padding-inline:16px;font-size:.88rem;white-space:nowrap}.button--secondary{background:transparent;color:var(--blue)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 25%,rgba(32,164,243,.18),transparent 28%),linear-gradient(135deg,#f8fbff 0%,#eef5fd 100%);border-bottom:1px solid var(--line)}.hero__grid{min-height:600px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;padding-block:92px}.hero__content{max-width:760px}.eyebrow{display:inline-block;margin-bottom:14px;color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero h1{max-width:780px;margin-bottom:22px;font-size:clamp(2.5rem,5.2vw,5.2rem)}.hero p{max-width:690px;color:var(--muted);font-size:clamp(1.05rem,1.7vw,1.28rem)}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero__visual{position:relative;aspect-ratio:1;min-height:360px}.optic-ring{position:absolute;border:2px solid rgba(11,107,203,.35);border-radius:50%}.optic-ring--one{inset:11%;box-shadow:inset 0 0 80px rgba(32,164,243,.18),0 20px 70px rgba(11,47,99,.12)}.optic-ring--two{inset:29%;border-width:9px;border-color:rgba(32,164,243,.30)}.optic-grid{position:absolute;inset:4%;background-image:linear-gradient(rgba(11,47,99,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(11,47,99,.07) 1px,transparent 1px);background-size:40px 40px;border-radius:50%;mask-image:radial-gradient(circle,#000 0%,transparent 70%)}
.section{padding-block:88px}.section--muted{background:var(--light)}.section--dark{color:rgba(255,255,255,.8);background:var(--dark)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading h2{margin-bottom:0;font-size:clamp(2rem,3vw,3rem)}.section-heading--light h2{color:#fff}.text-link{color:var(--blue);font-weight:750}.card-grid,.feature-grid,.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.category-card,.post-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 28px rgba(11,47,99,.05);transition:.2s}.category-card:hover,.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.category-card>a,.post-card>a{display:block;height:100%;color:inherit}.category-card__media{aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#f4f8fc,#eef4fb)}.category-card__media img{width:100%;height:100%;object-fit:contain;padding:18px}.category-card__placeholder{width:42%;aspect-ratio:1;border:7px solid rgba(11,107,203,.22);border-radius:50%;box-shadow:18px 10px 0 rgba(32,164,243,.10)}.category-card__body,.post-card__body{padding:22px}.category-card__body h3{margin-bottom:10px;font-size:1.18rem}.category-card__body p,.posted-on{color:var(--muted)}.admin-setup-note{padding:18px 20px;border:1px dashed var(--blue);border-radius:10px;background:#fff}.feature{padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r);background:rgba(255,255,255,.04)}.feature__number{display:inline-block;margin-bottom:38px;color:var(--cyan);font-size:.8rem;font-weight:800;letter-spacing:.15em}.feature h3{color:#fff}.post-card__media{aspect-ratio:16/9;overflow:hidden}.post-card__media img{width:100%;height:100%;object-fit:cover}.posted-on{display:inline-block;margin-bottom:9px;font-size:.82rem}
.site-main>.container,.page-container,.article-container{padding-block:70px}.page-container{max-width:1050px}.article-container{max-width:860px}.entry-title,.archive-header h1{font-size:clamp(2.1rem,4vw,4rem)}.entry-content{font-size:1.04rem}.entry-content>*+*{margin-top:1.4em}.entry-content table{width:100%;border-collapse:collapse}.entry-content th,.entry-content td{padding:12px;border:1px solid var(--line);text-align:left}.entry-content th{background:var(--light)}.post-list{display:grid;gap:20px}.post-list-item{padding:26px;border:1px solid var(--line);border-radius:var(--r)}.error-404{max-width:700px;margin:auto;padding-block:120px;text-align:center}.error-404__code{display:block;color:rgba(11,107,203,.15);font-size:clamp(6rem,18vw,13rem);font-weight:900;line-height:.85}.error-404 .search-form{max-width:420px;margin:28px auto 18px}
.site-footer{color:rgba(255,255,255,.74);background:#06162d}.footer-main{min-height:180px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-main p{max-width:580px;margin:10px 0 0}.footer-brand{color:#fff}.footer-menu a{color:rgba(255,255,255,.78)}.footer-bottom{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.86rem}
.woocommerce .woocommerce-breadcrumb{margin:0 0 28px;color:var(--muted)}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.woocommerce table.shop_table{border-color:var(--line);border-radius:10px}
@media(max-width:1099px){.main-header__inner{grid-template-columns:auto auto 1fr}.menu-toggle{display:inline-flex;justify-self:end;grid-column:3}.primary-navigation{position:absolute;top:100%;left:0;right:0;display:none;padding:18px 20px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.primary-navigation.is-open{display:block}.primary-menu{display:grid;gap:4px}.primary-menu a{display:block;padding:10px 4px}.primary-menu .sub-menu{position:static;min-width:0;padding:0 0 0 18px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}.header-actions{display:none}.hero__grid{grid-template-columns:1fr;min-height:auto}.hero__visual{max-width:620px;width:100%;justify-self:center}}
@media(max-width:800px){.topbar__tagline{display:none}.topbar__inner{justify-content:flex-end}.hero__grid{gap:30px;padding-block:68px}.section{padding-block:62px}.card-grid,.feature-grid,.post-grid{grid-template-columns:1fr}.section-heading,.footer-main,.footer-bottom{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.footer-main{padding-block:48px}.footer-menu{flex-wrap:wrap}}
@media(max-width:520px){.container{width:min(calc(100% - 28px),var(--container))}.main-header__inner{min-height:66px;gap:12px}.site-title{font-size:1.2rem}.hero h1{font-size:2.35rem}.hero__visual{min-height:270px}.hero__actions .button{width:100%}}


/* PHOSLENS Base 0.2.0 update */
.site-title,
.footer-brand{
	text-transform:uppercase;
}

.header-actions{
	justify-self:end;
}

.single-product .site-main>.container{
	padding-top:54px;
	padding-bottom:80px;
}

.single-product div.product{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(420px,1fr);
	gap:38px 42px;
	align-items:start;
}

.single-product div.product::before,
.single-product div.product::after{
	display:none!important;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary{
	float:none!important;
	width:auto!important;
	margin:0!important;
}

.single-product div.product .woocommerce-product-gallery{
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:14px;
	background:#f7f9fb;
}

.single-product div.product .woocommerce-product-gallery__image{
	display:grid;
	place-items:center;
	min-height:460px;
}

.single-product div.product .woocommerce-product-gallery__image img{
	width:100%;
	max-height:520px;
	object-fit:contain;
}

.single-product div.product .summary{
	padding:10px 0 0;
}

.single-product div.product .product_title{
	margin-bottom:20px;
	font-size:clamp(2rem,3vw,3.2rem)!important;
	line-height:1.12;
	overflow-wrap:anywhere;
}

.single-product div.product .woocommerce-product-details__short-description{
	margin-bottom:20px;
	color:var(--muted);
	font-size:1rem;
}

.single-product div.product .product_meta{
	margin-top:18px;
	color:var(--muted);
	font-size:.9rem;
}

.single-product div.product .phoslens-product-specs,
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells{
	grid-column:1/-1;
	clear:both;
	width:100%;
}

.single-product div.product .phoslens-product-specs{
	margin:12px 0 0;
}

.single-product div.product .woocommerce-tabs{
	margin-top:16px;
}

.single-product div.product .related,
.single-product div.product .upsells{
	margin-top:40px;
}

.woocommerce-products-header__title.page-title{
	margin-bottom:28px;
	font-size:clamp(2.1rem,4vw,3.5rem);
}

.woocommerce ul.products{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	margin:0!important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{
	display:none!important;
}

.woocommerce ul.products li.product{
	float:none!important;
	width:auto!important;
	margin:0!important;
}

.woocommerce ul.products li.product a img{
	aspect-ratio:1/1;
	object-fit:contain;
	background:#f7f9fb;
	border-radius:8px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size:1rem;
	line-height:1.35;
}

@media(max-width:900px){
	.single-product div.product{
		grid-template-columns:1fr;
	}

	.single-product div.product .phoslens-product-specs,
	.single-product div.product .woocommerce-tabs,
	.single-product div.product .related,
	.single-product div.product .upsells{
		grid-column:1;
	}

	.woocommerce ul.products{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:600px){
	.single-product div.product .woocommerce-product-gallery__image{
		min-height:300px;
	}

	.single-product div.product .product_title{
		font-size:2rem!important;
	}

	.woocommerce ul.products{
		grid-template-columns:1fr;
	}
}


/* PHOSLENS Base 0.3.0 visual upgrade */
.site-header{
	position:relative;
	z-index:100;
}

.topbar{
	background:#073a78;
}

.topbar__inner{
	min-height:32px;
	font-size:.76rem;
}

.topbar__nav{
	margin-left:auto;
}

.topbar-menu{
	gap:24px;
	align-items:center;
}

.topbar-menu a,
.topbar-language{
	color:rgba(255,255,255,.94);
	font-weight:650;
}

.main-header{
	background:#fff;
}

.main-header__inner{
	min-height:74px;
	gap:24px;
}

.site-title{
	display:inline-flex;
	align-items:center;
	gap:11px;
	color:#1d2735;
	font-size:1.42rem;
	font-weight:850;
	text-transform:uppercase;
}

.site-mark{
	display:grid;
	width:42px;
	height:42px;
	place-items:center;
	border-radius:50%;
	background:linear-gradient(145deg,#1686e5,#0759ad);
	color:#fff;
	font-size:1.7rem;
	font-weight:900;
	font-style:italic;
	box-shadow:inset -5px -5px 12px rgba(0,0,0,.10);
}

.primary-menu{
	gap:clamp(18px,1.75vw,30px);
}

.primary-menu a{
	font-size:.91rem;
	font-weight:700;
	white-space:nowrap;
}

.primary-menu .menu-item-has-children>a::after{
	content:"⌄";
	margin-left:7px;
	color:#6c7a8d;
	font-size:.76em;
}

.header-actions .search-form{
	width:210px;
	min-width:210px;
}

.header-actions .search-field{
	padding-block:8px;
}

.header-actions .button{
	min-height:40px;
	border-radius:6px;
}

.site-footer{
	margin-top:0;
}

@media(max-width:1180px){
	.topbar__nav{
		display:none;
	}

	.topbar__inner{
		justify-content:center;
	}

	.primary-menu{
		gap:16px;
	}

	.primary-menu a{
		font-size:.86rem;
	}

	.header-actions .search-form{
		display:none;
	}
}

@media(max-width:1099px){
	.topbar__inner{
		justify-content:flex-start;
	}

	.main-header__inner{
		grid-template-columns:auto 1fr auto;
	}

	.menu-toggle{
		display:inline-flex;
		grid-column:3;
	}

	.primary-navigation{
		top:100%;
	}

	.header-actions{
		display:none;
	}
}

@media(max-width:620px){
	.site-mark{
		width:36px;
		height:36px;
		font-size:1.45rem;
	}

	.site-title{
		font-size:1.1rem;
	}
}

/* PHOSLENS Base 0.3.2 homepage slider */
.phoslens-home-slider{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	width:100%;
	border-bottom:1px solid var(--line);
	background:#eef5fd;
}

.phoslens-home-slider__viewport{
	position:relative;
	width:100%;
	min-height:160px;
	max-height:600px;
	aspect-ratio:16/5;
	overflow:hidden;
}

.phoslens-home-slide{
	position:absolute;
	inset:0;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity var(--phoslens-slider-transition,600ms) ease,visibility var(--phoslens-slider-transition,600ms) ease;
}

.phoslens-home-slide.is-active{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	z-index:1;
}

.phoslens-home-slide__link{
	display:block;
	width:100%;
	height:100%;
}

.phoslens-home-slide__image{
	display:block;
	width:100%;
	height:100%;
	margin:0;
	object-fit:cover;
	object-position:center;
}

.phoslens-home-slider__arrow{
	position:absolute;
	top:50%;
	z-index:5;
	display:grid;
	width:46px;
	height:46px;
	place-items:center;
	padding:0;
	border:1px solid rgba(255,255,255,.55);
	border-radius:50%;
	background:rgba(5,25,55,.44);
	color:#fff;
	font:inherit;
	font-size:2rem;
	line-height:1;
	box-shadow:0 8px 24px rgba(0,0,0,.14);
	transform:translateY(-50%);
	cursor:pointer;
	backdrop-filter:blur(6px);
	transition:.2s ease;
}

.phoslens-home-slider__arrow:hover,
.phoslens-home-slider__arrow:focus-visible{
	background:rgba(5,25,55,.72);
	color:#fff;
	transform:translateY(-50%) scale(1.05);
}

.phoslens-home-slider__arrow--previous{
	left:max(18px,calc((100vw - var(--container))/2 + 12px));
}

.phoslens-home-slider__arrow--next{
	right:max(18px,calc((100vw - var(--container))/2 + 12px));
}

.phoslens-home-slider__dots{
	position:absolute;
	left:50%;
	bottom:18px;
	z-index:5;
	display:flex;
	align-items:center;
	gap:9px;
	padding:7px 10px;
	border-radius:999px;
	background:rgba(5,25,55,.28);
	transform:translateX(-50%);
	backdrop-filter:blur(6px);
}

.phoslens-home-slider__dot{
	width:9px;
	height:9px;
	padding:0;
	border:1px solid rgba(255,255,255,.9);
	border-radius:50%;
	background:transparent;
	cursor:pointer;
	transition:.2s ease;
}

.phoslens-home-slider__dot.is-active{
	width:25px;
	border-radius:999px;
	background:#fff;
}

@media(max-width:800px){
	.phoslens-home-slider__viewport{
		min-height:150px;
		aspect-ratio:16/6;
	}

	.phoslens-home-slide__image{
		object-fit:contain;
	}

	.phoslens-home-slider__arrow{
		width:38px;
		height:38px;
		font-size:1.65rem;
	}

	.phoslens-home-slider__arrow--previous{
		left:10px;
	}

	.phoslens-home-slider__arrow--next{
		right:10px;
	}

	.phoslens-home-slider__dots{
		bottom:9px;
	}
}

@media(prefers-reduced-motion:reduce){
	.phoslens-home-slide,
	.phoslens-home-slider__arrow,
	.phoslens-home-slider__dot{
		transition:none!important;
	}
}

