/* Smarthome theme polish */
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Header: frosted + sticky */
header.wp-block-template-part { position: sticky; top: 0; z-index: 80; }
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.sh-header { background: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent); backdrop-filter: saturate(180%) blur(18px); -webkit-backdrop-filter: saturate(180%) blur(18px); border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.sh-topbar p { margin: 0; letter-spacing: .01em; }
.sh-header .wp-block-site-title a { text-decoration: none; }
.sh-search .wp-block-search__inside-wrapper { border: 1px solid var(--wp--preset--color--accent-6) !important; border-radius: 999px; background: var(--wp--preset--color--accent-5); padding: 2px 2px 2px 14px; }
.sh-search .wp-block-search__input { border: 0; background: transparent; font-size: .9rem; width: 220px; min-width: 0; padding: .45rem 0; }
.sh-search .wp-block-search__input:focus { outline: none; }
.sh-search .wp-block-search__button { border-radius: 999px; background: transparent; color: var(--wp--preset--color--contrast); padding: .45rem .6rem; margin: 0; }
.sh-search .wp-block-search__button svg { width: 20px; height: 20px; }
@media (max-width: 781px) {
	.sh-search .wp-block-search__input { width: 110px; }
	.sh-header .wp-block-site-logo { display: none; }
}
@media (max-width: 480px) { .sh-search { display: none; } }

/* Hero */
.sh-hero { border-radius: 32px; position: relative; overflow: hidden; isolation: isolate; }
.sh-hero::after { content: ""; position: absolute; z-index: -1; width: 620px; height: 620px; right: -160px; top: -140px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--wp--preset--color--accent-1) 45%, transparent), transparent 65%); filter: blur(8px); }
.sh-hero::before { content: ""; position: absolute; z-index: -1; width: 320px; height: 320px; right: 18%; bottom: -160px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.9), transparent 70%); }
.sh-eyebrow { text-transform: uppercase; letter-spacing: .12em !important; font-weight: 600; margin-bottom: 0 !important; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid currentColor; background: transparent; color: var(--wp--preset--color--contrast); padding: calc(.8rem - 1.5px) calc(1.5rem - 1.5px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.sh-band { border-radius: 32px; }

/* Product cards */
.wc-block-product-template .wc-block-product,
.sh-grid .wc-block-product { position: relative; }
.wc-block-components-product-image img,
.wc-block-product .wc-block-components-product-image { border-radius: 18px; background: var(--wp--preset--color--accent-5); }
.wc-block-components-product-image img { aspect-ratio: 1; object-fit: contain; transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.04); }
.wc-block-product .wp-block-post-title { font-weight: 550; letter-spacing: -.01em; margin-top: .9rem !important; margin-bottom: .2rem !important; }
.wc-block-product .wp-block-post-title a { text-decoration: none; }
.wc-block-product .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; } /* whole card clickable */
.wc-block-product .wp-block-button, .wc-block-product .wc-block-components-product-button { position: relative; z-index: 1; margin-top: .6rem; }
.wc-block-components-product-button__button { border-radius: 999px !important; }
.wc-block-components-product-sale-badge { border-radius: 999px; border: 0; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); font-weight: 600; font-size: .75rem; padding: .3rem .7rem; }

/* Single product */
.single-product .wp-block-woocommerce-product-image-gallery img,
.single-product .woocommerce-product-gallery img { border-radius: 22px; background: var(--wp--preset--color--accent-5); }
.single-product .product_title, .single-product h1.wp-block-post-title { font-size: clamp(1.9rem, 3.5vw, 2.75rem); }
.single_add_to_cart_button { border-radius: 999px !important; padding: .9rem 2rem !important; font-weight: 600 !important; background: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--base) !important; }
.single_add_to_cart_button:hover { background: var(--wp--preset--color--accent-1) !important; }
form.cart .quantity input.qty { border-radius: 999px; border: 1px solid var(--wp--preset--color--accent-6); min-height: 48px; }

/* Cart / checkout calm */
.wc-block-cart, .wc-block-checkout { --wp--preset--color--accent-6: #e3e3de; }
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; }
.wc-block-components-text-input input, .wc-block-components-combobox input, .wc-block-components-form .wc-block-components-text-input input { border-radius: 12px !important; }

/* Footer lists */
.sh-list { list-style: none; padding: 0; }
.sh-list li { margin: .35rem 0; }
.sh-footer a { color: inherit; }

/* Coming soon */
body:has(.sh-cs) { background: var(--wp--preset--color--contrast); }
.sh-cs { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: space-between; gap: 3rem; overflow: hidden; isolation: isolate; }
.sh-cs > * { width: 100%; }
.sh-cs::before, .sh-cs::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(70px); opacity: .55; animation: sh-float 18s ease-in-out infinite alternate; pointer-events: none; }
.sh-cs::before { width: 55vmax; height: 55vmax; right: -18vmax; top: -20vmax; background: radial-gradient(circle, #0B6E63, transparent 65%); }
.sh-cs::after { width: 45vmax; height: 45vmax; left: -15vmax; bottom: -22vmax; background: radial-gradient(circle, #3a5bd9, transparent 65%); animation-delay: -9s; opacity: .4; }
@keyframes sh-float { from { transform: translate(0, 0) scale(1); } to { transform: translate(-6vmax, 5vmax) scale(1.12); } }
.sh-cs__top { margin-top: 0 !important; }
.sh-cs__pill { display: inline-flex; align-items: center; gap: .55rem; margin: 0; padding: .45rem .95rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.06); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); font-weight: 500; }
.sh-cs__dot { width: 8px; height: 8px; border-radius: 50%; background: #3ddc97; box-shadow: 0 0 0 0 rgba(61,220,151,.6); animation: sh-pulse 2s infinite; }
@keyframes sh-pulse { 70% { box-shadow: 0 0 0 10px rgba(61,220,151,0); } 100% { box-shadow: 0 0 0 0 rgba(61,220,151,0); } }
.sh-cs__title { margin-bottom: 2rem !important; color: #fff !important; font-size: clamp(3rem, 10vw, 7.5rem) !important; line-height: .98 !important; letter-spacing: -.045em !important; margin: 0 0 1.5rem; }
.sh-cs__grad { background: linear-gradient(100deg, #7fe3c4 0%, #9fb4ff 55%, #ffffff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sh-cs__lead { max-width: 34ch; opacity: .78; font-weight: 400 !important; line-height: 1.45; margin-bottom: 2rem; }
.sh-cs .wp-block-button__link:hover { background: #7fe3c4 !important; color: #0E0F11 !important; }
.sh-cs__foot { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.25rem; opacity: .7; }
.sh-cs__foot p { margin: 0; }
.sh-cs a { color: inherit; }
.sh-cs__body > * { animation: sh-rise .9s cubic-bezier(.2,.8,.2,1) both; }
.sh-cs__body > *:nth-child(2) { animation-delay: .12s; }
.sh-cs__body > *:nth-child(3) { animation-delay: .24s; }
@keyframes sh-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sh-cs::before, .sh-cs::after, .sh-cs__dot, .sh-cs__body > * { animation: none; } }
