/*
 * PrimeSpot visual system refresh — v1.13.5
 * Loaded after the base theme to provide a single responsive design language.
 */
:root {
	--black: #090909;
	--black-2: #141310;
	--black-3: #201d17;
	--gold: #c89524;
	--gold-2: #e7bd54;
	--gold-soft: #f5ead1;
	--white: #ffffff;
	--off-white: #f7f4ed;
	--ink: #17150f;
	--muted: #706b60;
	--line: #e2dacb;
	--radius: 20px;
	--ps-shadow-sm: 0 8px 24px rgba( 23, 18, 8, .06 );
	--ps-shadow-md: 0 18px 48px rgba( 23, 18, 8, .1 );
	--ps-shadow-lg: 0 30px 90px rgba( 0, 0, 0, .28 );
	--ps-serif: Georgia, "Times New Roman", serif;
	--ps-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ps-mobile-admin-offset: 0px;
}

html { overflow-x: hidden; scroll-padding-top: 96px; }
body { min-width: 320px; overflow-x: clip; background: var( --off-white ); font-family: var( --ps-sans ); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
input, select, textarea { max-width: 100%; }
::selection { background: var( --gold-2 ); color: var( --black ); }
:where( a, button, input, select, textarea, [tabindex] ):focus-visible { outline: 3px solid rgba( 231, 189, 84, .8 ); outline-offset: 3px; }
.site-shell { width: min( 1240px, calc( 100% - 48px ) ); }
.ps-skip-link { position: fixed; z-index: 999999; top: 10px; left: 12px; padding: 10px 15px; border-radius: 8px; background: var( --gold-2 ); color: var( --black ); font-weight: 850; transform: translateY( -160% ); transition: transform .2s; }
.ps-skip-link:focus { transform: translateY( 0 ); }

/* Header and navigation */
.site-header { border-bottom-color: rgba( 231, 189, 84, .2 ); background: rgba( 9, 9, 9, .94 ); box-shadow: 0 8px 30px rgba( 0, 0, 0, .14 ); }
.site-header .site-shell { min-height: 82px; gap: 24px; }
.brand { flex: 0 0 auto; font-size: 24px; letter-spacing: -.9px; }
.brand-mark { width: 44px; height: 44px; border-color: rgba( 231, 189, 84, .72 ); background: linear-gradient( 145deg, #19150d, #080808 ); box-shadow: inset 0 0 0 4px rgba( 231, 189, 84, .05 ); }
.site-nav { gap: clamp( 13px, 1.8vw, 28px ); }
.site-nav > a:not( .order-button ), .site-nav > .menu-item > a { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: #dedbd4; }
.site-nav > .menu-item > a:after { content: ""; position: absolute; right: 0; bottom: 4px; left: 0; height: 2px; border-radius: 99px; background: var( --gold-2 ); transform: scaleX( 0 ); transition: transform .2s; transform-origin: left; }
.site-nav > .menu-item > a:hover:after, .site-nav > .current-menu-item > a:after { transform: scaleX( 1 ); }
.site-nav > .current-menu-item > a { color: var( --gold-2 ); }
.cart-link { padding: 0 4px; }
.cart-link b { min-width: 24px; height: 24px; background: var( --gold-2 ); box-shadow: 0 0 0 4px rgba( 231, 189, 84, .1 ); }
.order-button, .gold-button, .wp-block-button__link, .button, .checkout-button { min-height: 48px; border-radius: 11px !important; padding: 12px 22px !important; background: linear-gradient( 135deg, #f0ca6c, #c89220 ) !important; box-shadow: 0 9px 24px rgba( 183, 126, 10, .2 ) !important; transition: transform .2s, box-shadow .2s, filter .2s !important; }
.ghost-button { min-height: 48px; border-radius: 11px; transition: border-color .2s, background .2s, color .2s; }

/* Homepage */
.ps-home-hero { position: relative; padding: clamp( 70px, 8vw, 112px ) 0 98px; background: radial-gradient( circle at 82% 12%, rgba( 198, 145, 33, .25 ), transparent 25% ), radial-gradient( circle at 3% 90%, rgba( 116, 75, 14, .18 ), transparent 28% ), linear-gradient( 125deg, #050505, #11100d 60%, #080705 ); }
.ps-home-hero:after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .16; background-image: linear-gradient( rgba( 255, 255, 255, .025 ) 1px, transparent 1px ), linear-gradient( 90deg, rgba( 255, 255, 255, .025 ) 1px, transparent 1px ); background-size: 54px 54px; mask-image: linear-gradient( to bottom, black, transparent 88% ); }
.ps-home-hero-grid { position: relative; z-index: 1; grid-template-columns: minmax( 0, 1.03fr ) minmax( 420px, .97fr ); gap: clamp( 38px, 6vw, 84px ); }
.eyebrow { align-items: center; gap: 10px; letter-spacing: 2.3px; }
.eyebrow:before { content: ""; width: 28px; height: 1px; background: currentColor; }
.ps-home-copy h1 { margin: 24px 0; font-size: clamp( 50px, 6.3vw, 86px ); line-height: .96; letter-spacing: -4px; text-wrap: balance; }
.ps-home-copy > p { max-width: 630px; margin: 0; color: #c5c0b7; font-size: clamp( 16px, 1.6vw, 19px ); line-height: 1.75; }
.hero-actions { margin: 32px 0 27px; }
.ps-hero-trust { gap: 10px 22px; color: #c1bdb4; }
.ps-hero-trust span { display: inline-flex; align-items: center; gap: 8px; }
.ps-hero-trust span:before { content: "✓"; display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid rgba( 231, 189, 84, .52 ); border-radius: 50%; color: var( --gold-2 ); font-size: 10px; font-weight: 900; }
.ps-hero-visual { min-height: clamp( 470px, 48vw, 590px ); border-color: rgba( 231, 189, 84, .46 ); border-radius: 34px; background: #11100d; box-shadow: var( --ps-shadow-lg ); }
.ps-hero-visual:before { inset: 14px; border-radius: 25px; }
.ps-hero-fallback { display: grid; place-items: center; padding: 50px; background: radial-gradient( circle at 50% 36%, #5e4214, transparent 18% ), radial-gradient( circle at 50% 50%, #30230d, transparent 45% ), linear-gradient( 145deg, #17140d, #080808 ); color: #fff; }
.ps-hero-fallback > div { display: grid; gap: 14px; max-width: 330px; text-align: center; }
.ps-hero-fallback span { color: var( --gold-2 ); font-size: 11px; font-weight: 900; letter-spacing: 4px; }
.ps-hero-fallback strong { font: 700 clamp( 34px, 4vw, 52px )/1 var( --ps-serif ); }
.ps-hero-fallback small { color: #aaa; line-height: 1.5; }
.ps-hero-badge { left: 22px; right: 22px; bottom: 22px; min-height: 68px; border-radius: 16px; background: rgba( 7, 7, 7, .78 ); }
.ps-order-strip { margin-top: -40px; }
.ps-order-grid { border-color: #d7c38f; border-radius: 20px; box-shadow: 0 22px 65px rgba( 22, 16, 5, .16 ); }
.ps-order-grid a { min-height: 126px; padding: 27px 24px; }
.ps-order-grid b { top: 8px; right: 15px; font: 700 30px/1 var( --ps-serif ); }
.ps-order-grid span { width: 46px; height: 46px; box-shadow: 0 8px 22px rgba( 0, 0, 0, .13 ); }
.ps-order-grid strong { align-self: end; font-size: 16px; }
.ps-order-grid small { font-size: 12px; }
.ps-home-section, .ps-how { padding: clamp( 68px, 8vw, 104px ) 0; }
.ps-section-heading { margin-bottom: 38px; }
.ps-section-heading h2, .ps-home-section h2 { font-size: clamp( 36px, 4.2vw, 56px ); letter-spacing: -1.6px; text-wrap: balance; }
.ps-section-heading > a { min-height: 44px; padding: 10px 0; }
.ps-product-grid { gap: 22px; }
.ps-product-card { display: flex; height: 100%; flex-direction: column; border-radius: 20px; box-shadow: var( --ps-shadow-sm ); }
.ps-product-image { height: auto; aspect-ratio: 1 / .88; }
.ps-product-info { display: flex; min-height: 190px; flex: 1; flex-direction: column; padding: 21px; }
.ps-product-info h3 { min-height: 0; }
.ps-product-info > div { gap: 12px; margin-top: auto; }
.ps-product-info strong { line-height: 1.2; }
.ps-mini-cart { min-height: 40px; flex: 0 0 auto; padding: 8px 13px; border-radius: 9px; }
.ps-product-card .added_to_cart:not( .ps-mini-cart ) { display: none !important; }
.ps-mini-cart.ps-view-cart { border: 1px solid #d2a63d; background: linear-gradient( 135deg, #f0ca6c, #c89220 ); color: #090909; }
.ps-how { position: relative; background: radial-gradient( circle at 90% 10%, rgba( 200, 149, 36, .14 ), transparent 30% ), #090909; }
.ps-how-grid { gap: 22px; }
.ps-how-grid article { min-height: 260px; padding: 34px; border-color: #363129; border-radius: 21px; background: linear-gradient( 145deg, #191816, #0d0d0c ); }
.ps-how-grid h3 { margin-top: 34px; font-size: 28px; }
.ps-how-grid b { color: rgba( 231, 189, 84, .12 ); font-size: 66px; }
.ps-corporate-banner { padding: clamp( 36px, 5vw, 66px ); border-radius: 30px; background: radial-gradient( circle at 82% 18%, rgba( 204, 151, 38, .22 ), transparent 30% ), linear-gradient( 125deg, #080808, #18150d ); box-shadow: 0 28px 78px rgba( 15, 10, 2, .2 ), inset 0 0 0 1px rgba( 231, 189, 84, .36 ); }
.ps-corporate-stats div { padding: 19px 0; }
.ps-review-grid blockquote { min-height: 190px; padding: 28px; border-radius: 19px; box-shadow: var( --ps-shadow-sm ); }
.ps-coverage-card { padding: 38px; border-radius: 24px; background: linear-gradient( 145deg, #f7efd9, #efe1bd ); }

/* Menu, contact and content */
.content-area { min-height: 45vh; }
.ps-application-page { width: min( 1320px, calc( 100% - 40px ) ); }
.ps-menu-hero, .ps-contact-hero { position: relative; padding: clamp( 76px, 9vw, 116px ) 0; background-color: #090909; }
.ps-menu-hero:after, .ps-contact-hero:after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient( 90deg, rgba( 0, 0, 0, .84 ), rgba( 0, 0, 0, .25 ) ); }
.ps-menu-hero .site-shell, .ps-contact-hero .site-shell { position: relative; z-index: 1; }
.ps-menu-search { min-height: 62px; padding: 6px; border-radius: 15px; }
.ps-menu-search button { min-width: 130px; border-radius: 10px; }
.ps-menu-categories { gap: 10px; padding-block: 26px 8px; scroll-snap-type: x proximity; }
.ps-menu-categories a { min-height: 44px; scroll-snap-align: start; }
.ps-contact-cards > a, .ps-contact-grid > article, .ps-contact-editor-content { box-shadow: var( --ps-shadow-sm ); }
.ps-contact-cards > a { min-height: 150px; justify-content: center; }
.ps-social-grid a { min-height: 65px; }

/* WooCommerce storefront and customer surfaces */
.woocommerce ul.products li.product { overflow: hidden; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / .82; height: auto; }
.woocommerce ul.products li.product .button { min-height: 50px; }
.woocommerce div.product { background: #fff; }
.woocommerce table.shop_table { width: 100%; }
.woocommerce-cart-form { overflow-x: auto; }
.woocommerce form .form-row label { color: #383329; font-size: 13px; font-weight: 750; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single { min-height: 52px; border-color: #d7cfbf; border-radius: 10px; }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 50px; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 50px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; min-height: 46px; padding: 9px 13px; border-radius: 9px; font-weight: 750; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var( --black ); color: var( --gold-2 ); }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-radius: 12px; background: #fff; box-shadow: var( --ps-shadow-sm ); }
.wc-block-cart, .wc-block-checkout { overflow: hidden; }

/* Footer */
.site-footer { padding-top: clamp( 58px, 7vw, 84px ); }
.footer-grid { gap: 40px 28px; }
.footer-grid > div:not( .footer-brand ) { min-width: 0; }
.footer-grid > div:not( .footer-brand ) > strong { color: #f0ca6c; font-size: 12px; letter-spacing: 1.1px; text-transform: uppercase; }
.footer-grid > div:not( .footer-brand ) > a { display: inline-flex; align-items: center; min-height: 34px; color: #a9a59d; }
.footer-brand p { max-width: 260px; }
.ps-footer-app-row { display: flex; justify-content: flex-end; margin-top: 34px; padding: 24px 0; border-top: 1px solid #252525; }
.ps-footer-app-row:empty { display: none; }
.footer-bottom { padding: 22px 0; }

@media ( hover: hover ) {
	.order-button:hover, .gold-button:hover, .wp-block-button__link:hover, .button:hover, .checkout-button:hover { filter: brightness( 1.05 ); transform: translateY( -2px ); box-shadow: 0 13px 28px rgba( 183, 126, 10, .27 ) !important; }
	.ghost-button:hover { border-color: var( --gold-2 ); background: rgba( 231, 189, 84, .1 ); color: var( --gold-2 ); }
	.ps-order-grid a:hover { background: #fbf6e9; }
}

@media ( max-width: 1100px ) {
	.site-nav { gap: 12px; font-size: 13px; }
	.site-nav .order-button { padding-inline: 16px !important; }
	.ps-home-hero-grid { grid-template-columns: minmax( 0, 1fr ) minmax( 380px, .85fr ); gap: 38px; }
	.ps-home-copy h1 { font-size: clamp( 50px, 7vw, 70px ); }
	.ps-order-grid a { padding-inline: 19px; }
}

@media ( max-width: 980px ) {
	.ps-home-hero { padding-top: 72px; }
	.ps-home-hero-grid { grid-template-columns: 1fr; }
	.ps-home-copy { max-width: 760px; }
	.ps-home-copy h1 { font-size: clamp( 52px, 9vw, 78px ); }
	.ps-hero-visual { min-height: 520px; }
	.ps-product-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.footer-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.footer-brand { grid-column: 1 / -1; }
}

@media ( max-width: 900px ) {
	.site-shell { width: min( 100% - 32px, 1240px ); }
	body { padding-top: 70px; }
	body.ps-nav-open { overflow: hidden; }
	body.ps-nav-open:before { content: ""; position: fixed; z-index: 99970; inset: calc( 70px + var( --ps-mobile-admin-offset ) ) 0 0; background: rgba( 0, 0, 0, .5 ); backdrop-filter: blur( 2px ); }
	.site-header { position: fixed !important; z-index: 99990; top: var( --ps-mobile-admin-offset ) !important; right: 0; left: 0; width: 100%; }
	.site-header .site-shell { min-height: 70px; }
	.site-header .custom-logo { max-height: 52px; }
	.nav-toggle-label { position: relative; z-index: 102; display: grid; place-content: center; gap: 5px; width: 46px; height: 46px; border: 1px solid rgba( 231, 189, 84, .3 ); border-radius: 12px; }
	.nav-toggle-label span { display: block; width: 22px; height: 2px; background: var( --gold-2 ); transition: transform .2s, opacity .2s; }
	.nav-toggle:checked + .nav-toggle-label span:nth-child( 1 ) { transform: translateY( 7px ) rotate( 45deg ); }
	.nav-toggle:checked + .nav-toggle-label span:nth-child( 2 ) { opacity: 0; }
	.nav-toggle:checked + .nav-toggle-label span:nth-child( 3 ) { transform: translateY( -7px ) rotate( -45deg ); }
	.site-nav { position: fixed; z-index: 99980; top: calc( 70px + var( --ps-mobile-admin-offset ) ); right: 0; left: 0; display: none; max-height: calc( 100dvh - 70px - var( --ps-mobile-admin-offset ) ); flex-direction: column; align-items: stretch; overflow-y: auto; gap: 4px; padding: 18px 20px calc( 28px + env( safe-area-inset-bottom ) ); border-top: 1px solid #2c281f; background: rgba( 9, 9, 9, .99 ); box-shadow: 0 24px 50px rgba( 0, 0, 0, .35 ); overscroll-behavior: contain; }
	.nav-toggle:checked ~ .site-nav { display: flex; }
	.site-nav > a:not( .order-button ), .site-nav > .menu-item > a { min-height: 50px; padding: 8px 5px; border-bottom: 1px solid #24221e; font-size: 15px; }
	.site-nav > .menu-item > a:after { display: none; }
	.site-nav .cart-link { justify-content: space-between; }
	.site-nav .order-button { width: 100%; margin-top: 12px; }
	.ps-home-hero { padding-block: 56px 82px; }
	.ps-home-copy h1 { font-size: clamp( 47px, 13vw, 66px ); letter-spacing: -3px; }
	.ps-home-copy > p { font-size: 16px; }
	.ps-hero-visual { min-height: 440px; }
	.ps-order-strip { margin-top: -30px; }
	.ps-order-grid a { min-height: 116px; }
	.ps-order-strip + .ps-home-section { padding-top: 58px; }
	.ps-how-grid { grid-template-columns: 1fr; }
	.ps-how-grid article { min-height: 220px; }
	.ps-corporate-banner { gap: 28px; }
	.ps-application-page { width: min( 100% - 24px, 1320px ); }
	.ps-menu-search button { min-height: 48px; }
	.woocommerce ul.products li.product a img { aspect-ratio: 1 / .9; }
	.footer-grid { gap: 30px; }
}

@media ( max-width: 520px ) {
	.site-shell { width: min( 100% - 24px, 1240px ); }
	.brand { font-size: 21px; }
	.brand-mark { width: 40px; height: 40px; }
	.ps-home-copy h1 { font-size: clamp( 43px, 14vw, 58px ); letter-spacing: -2.5px; }
	.hero-actions { gap: 10px; }
	.ps-hero-trust { display: grid; }
	.ps-hero-visual { min-height: 380px; border-radius: 24px; }
	.ps-hero-visual:before { inset: 10px; border-radius: 18px; }
	.ps-hero-fallback { padding: 30px 20px; }
	.ps-hero-badge { left: 14px; right: 14px; bottom: 14px; min-height: 76px; }
	.ps-order-grid { border-radius: 17px; }
	.ps-order-grid a { min-height: 96px; padding: 19px 18px; }
	.ps-section-heading { align-items: flex-start; gap: 12px; }
	.ps-section-heading h2, .ps-home-section h2 { font-size: clamp( 34px, 10vw, 43px ); letter-spacing: -1.2px; }
	.ps-product-grid { grid-template-columns: 1fr; }
	.ps-product-image { aspect-ratio: 1 / .78; }
	.ps-product-info { min-height: 164px; }
	.ps-corporate-banner { border-radius: 22px; }
	.ps-corporate-stats div { display: grid; gap: 4px; }
	.ps-review-grid blockquote { min-height: 0; }
	.ps-menu-hero h1, .ps-contact-hero h1 { letter-spacing: -1.5px; }
	.ps-menu-search { padding: 7px; }
	.woocommerce ul.products li.product a img { aspect-ratio: 1 / .78; }
	.woocommerce div.product form.cart .quantity, .woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; }
	.woocommerce div.product form.cart .quantity .qty { width: 100%; }
	.footer-grid { grid-template-columns: 1fr; }
	.footer-brand { grid-column: auto; }
	.ps-footer-app-row { justify-content: stretch; margin-top: 28px; padding-block: 20px; }
	.footer-bottom { padding-bottom: calc( 22px + env( safe-area-inset-bottom ) ); }
}

@media ( prefers-reduced-motion: reduce ) {
	html { scroll-behavior: auto; }
	*, *:before, *:after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
