/*
Theme Name: Peporium
Theme URI: https://peporium.com
Author: Peporium
Description: Custom WooCommerce theme rebuilt from the Peporium Hostinger Horizons storefront.
Version: 1.0.15
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: peporium
*/

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

:root{--bg:#f7fafc;--fg:#12202d;--card:#fff;--primary:#098fce;--accent:#10b1c6;--muted:#5c6b78;--soft:#e6f1f5;--line:rgba(18,32,45,.16);--danger:#923a3a;--max:1152px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.serif{font-family:"Newsreader",Georgia,serif;font-style:italic;font-weight:500}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--accent);font-weight:600}.button,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--primary);border-radius:0!important;background:var(--primary)!important;color:#fff!important;padding:.8rem 1.25rem!important;font:600 .9rem "Source Sans 3",sans-serif;cursor:pointer;transition:.2s}.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{filter:brightness(.94);transform:translateY(-1px)}.button-outline{background:transparent!important;color:var(--fg)!important;border-color:rgba(18,32,45,.3)!important}.research-bar{background:var(--accent);color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;padding:.42rem 1rem}.site-header{border-bottom:1px solid var(--line);background:rgba(247,250,252,.96);position:sticky;top:0;z-index:50}.header-inner{height:68px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-logo img{height:57px;width:auto;display:block}.site-nav,.header-actions{display:flex;align-items:center;gap:1.7rem}.site-nav a,.account-link{font-size:.9rem;letter-spacing:.04em}.site-nav a:hover,.account-link:hover{color:var(--accent)}.cart-link{position:relative}.cart-count{position:absolute;right:-9px;top:-10px;background:var(--accent);color:#fff;border-radius:99px;min-width:19px;height:19px;display:grid;place-items:center;font-size:.65rem}.menu-toggle{display:none;background:none;border:0;font-size:1.4rem}.hero{padding:76px 0 44px}.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:3rem}.hero h1{font-size:clamp(3.5rem,7vw,5.2rem);line-height:1;letter-spacing:-.045em;margin:.8rem 0 1.3rem}.hero-copy{font-size:1.15rem;color:var(--muted);max-width:620px}.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.panorama img{width:100%;height:min(420px,42vw);object-fit:cover;display:block}.notice-card{background:var(--bg);border:1px solid var(--line);padding:1.3rem 1.5rem;max-width:390px;margin-top:-72px;position:relative}.section{padding-top:96px}.section-grid{display:grid;grid-template-columns:5fr 2fr 5fr;gap:2rem}.section h2{font-size:clamp(2.2rem,4vw,3rem);line-height:1.12;letter-spacing:-.03em;margin:0}.muted{color:var(--muted)}.quality-list{list-style:none;margin:2.5rem 0 0;padding:0}.quality-list li{display:grid;grid-template-columns:70px 4fr 6fr;gap:1.5rem;border-top:1px solid var(--line);padding:2rem 0}.quality-num{font:italic 1.6rem "Newsreader",serif;color:var(--accent)}.quality-title{font-size:1.25rem;font-weight:600}.bench{margin-top:96px}.bench img{width:100%;height:min(384px,40vw);object-fit:cover;display:block}.catalog-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.catalog-index a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:1rem .5rem;font-size:1.1rem}.catalog-index a:hover{background:var(--soft);color:var(--accent)}.cta{border-top:1px solid var(--line);padding:3.2rem 0;display:flex;justify-content:space-between;align-items:end;gap:2rem}.site-footer{border-top:1px solid var(--line);margin-top:96px}.footer-main{padding:48px 0;display:grid;grid-template-columns:5fr 3fr 4fr;gap:2rem}.footer-logo img{height:44px}.footer-title{text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--primary)}.footer-label{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--muted)}.footer-nav{list-style:none;padding:0;line-height:2}.footer-bottom{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:2rem;font-size:.76rem;color:var(--muted)}

/* WooCommerce */
.woocommerce-page main,.woocommerce main{min-height:50vh}.shop-hero{padding:64px 0 35px}.shop-hero h1,.woocommerce-products-header__title{font-size:clamp(2.7rem,5vw,4rem);margin:.5rem 0;letter-spacing:-.04em}.catalog-tools{border-top:1px solid var(--line);padding:1.25rem 0;display:flex;gap:1rem;justify-content:space-between;align-items:center}.catalog-search{border:1px solid rgba(18,32,45,.28);background:transparent;padding:.7rem 1rem;min-width:280px}.catalog-categories{display:flex;flex-wrap:wrap;gap:.55rem 1rem}.catalog-categories a{font-size:.82rem;color:var(--muted)}.catalog-categories a:hover{color:var(--accent)}.woocommerce .woocommerce-result-count{color:var(--muted);margin:.75rem 0}.woocommerce .woocommerce-ordering{margin:.35rem 0 .75rem}.woocommerce .woocommerce-ordering select{padding:.65rem;background:transparent;border:1px solid var(--line)}.woocommerce ul.products{border-top:1px solid var(--line);display:block;margin:0}.woocommerce ul.products li.product{float:none!important;width:100%!important;margin:0!important;border-bottom:1px solid var(--line);padding:1.15rem .35rem!important;display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;gap:1.4rem;align-items:center}.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:contents}.woocommerce ul.products li.product img{display:none}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.25rem!important;padding:0!important;font-weight:600}.woocommerce ul.products li.product .price{color:var(--primary)!important;font-size:1rem!important;margin:0!important;white-space:nowrap}.woocommerce ul.products li.product:before{content:'◉';font-size:1.5rem;color:var(--accent)}.woocommerce span.onsale{border-radius:0;background:var(--accent)}.single-product-wrap{padding-top:48px}.woocommerce div.product{display:grid;grid-template-columns:4fr 1fr 7fr;gap:2rem}.woocommerce div.product div.images{grid-column:1}.woocommerce div.product div.summary{grid-column:3;width:auto!important;float:none!important;margin:0!important}.woocommerce div.product div.images{width:auto!important;float:none!important}.woocommerce div.product div.images img{background:var(--soft);border:1px solid var(--line)}.woocommerce div.product .product_title{font-size:clamp(2.5rem,5vw,3.5rem);line-height:1;margin:.4rem 0 1rem}.woocommerce div.product p.price{font-size:2rem;color:var(--primary)}.woocommerce div.product form.cart{display:flex;gap:1rem;margin-top:2rem}.woocommerce .quantity .qty{padding:.7rem;width:75px}.woocommerce-tabs{grid-column:1/-1}.woocommerce table.shop_table{border-radius:0}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:.8rem;border:1px solid var(--line);background:#fff}.woocommerce-info,.woocommerce-message{border-top-color:var(--accent)}.woocommerce-info:before,.woocommerce-message:before{color:var(--accent)}.account-gate{max-width:580px;margin:80px auto;border:1px solid var(--line);padding:2.5rem;background:#fff;text-align:center}.woocommerce-account .woocommerce{max-width:900px;margin:60px auto}.woocommerce-checkout .woocommerce,.woocommerce-cart .woocommerce{padding-top:50px}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{background:#fff;padding:1.5rem;border:1px solid var(--line)}

@media(max-width:780px){.wrap{width:min(100% - 32px,var(--max))}.site-nav,.header-actions .account-link{display:none}.menu-toggle{display:block}.site-nav.open{display:flex;position:absolute;left:0;right:0;top:68px;flex-direction:column;align-items:flex-start;background:var(--bg);padding:1.2rem 1rem;border-bottom:1px solid var(--line)}.hero{padding-top:52px}.hero-grid,.section-grid,.footer-main{grid-template-columns:1fr}.quality-list li{grid-template-columns:45px 1fr}.quality-list li .muted{grid-column:2}.panorama img,.bench img{height:55vw}.cta,.footer-bottom{align-items:flex-start;flex-direction:column}.woocommerce ul.products li.product{grid-template-columns:32px minmax(0,1fr) auto}.woocommerce ul.products li.product .button{grid-column:2/-1}.woocommerce div.product{display:block}.catalog-tools{align-items:stretch;flex-direction:column}.catalog-search{min-width:0;width:100%}}

/* Product card grid: four columns on desktop, two on tablet, one on mobile. */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;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;border-right:1px solid var(--line);padding:1.35rem!important;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-width:0}
.woocommerce ul.products li.product:nth-child(4n){border-right:0}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;width:100%}
.woocommerce ul.products li.product .woocommerce-loop-product__title{line-height:1.2}
.woocommerce ul.products li.product .price{white-space:normal}
.woocommerce ul.products li.product .button{align-self:center;margin-top:auto!important;width:auto;padding:.55rem .85rem!important;font-size:.8rem}
.woocommerce ul.products li.product:before{content:'';display:block;width:100%;height:150px;background:url('assets/images/blank-vial.png') center/contain no-repeat}
.woocommerce .price-plus{margin-left:.12em}
.woocommerce .woocommerce-ordering,.woocommerce .catalog-page-size{float:none;display:inline-flex;align-items:center;gap:.45rem;margin:.35rem 0 .9rem}
.woocommerce .woocommerce-ordering{margin-left:auto}
.woocommerce .catalog-page-size{float:right;margin-left:.65rem;color:var(--muted);font-size:.88rem}
.woocommerce .catalog-page-size select{padding:.65rem;background:transparent;border:1px solid var(--line)}
.woocommerce nav.woocommerce-pagination{clear:both;padding-top:2rem}
.woocommerce nav.woocommerce-pagination ul{display:inline-flex!important;align-items:center;gap:.45rem;border:0!important;margin:0!important}
.woocommerce nav.woocommerce-pagination ul li{float:none!important;border:0!important}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:grid!important;place-items:center;min-width:38px;height:38px;padding:.35rem!important;border:1px solid var(--line);background:#fff;color:var(--fg);line-height:1!important}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)}
@media(max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce ul.products li.product:nth-child(4n){border-right:1px solid var(--line)}.woocommerce ul.products li.product:nth-child(2n){border-right:0}}
@media(max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}.woocommerce ul.products li.product{border-right:0!important}.woocommerce .woocommerce-ordering,.woocommerce .catalog-page-size{float:none;margin-left:0}.woocommerce .catalog-page-size{margin-right:.5rem}}

/* Single-product refinements. */
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;align-items:center;gap:1rem;margin-top:1rem}
.woocommerce div.product .woocommerce-variation-price{display:none}
.woocommerce div.product .summary>.price{min-height:2rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none!important;padding-left:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .related.products{grid-column:1/-1;width:100%;margin-top:2rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:none!important}
.woocommerce div.product .woocommerce-variation-description{display:none!important}
body.single-product form.variations_form tr.peporium-hidden-vial-size{display:none}

/* Catalog and homepage refinements. */
.shop-hero{padding:36px 0 18px}
.quality-list li{padding:1.2rem 0}
.bench img{height:min(260px,30vw)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{align-items:center;text-align:center}
.woocommerce ul.products li.product .woocommerce-loop-product__title{text-align:center;width:100%}
.woocommerce ul.products li.product .price{text-align:center;width:100%;font-size:1.18rem!important;font-weight:600}
.woocommerce ul.products li.product .catalog-strengths{display:block;width:100%;text-align:center;color:var(--muted);font-size:.78rem;line-height:1.35}
.woocommerce nav.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul li{list-style:none!important}
.woocommerce nav.woocommerce-pagination ul li::marker{content:''}
.woocommerce nav.woocommerce-pagination{display:flex;justify-content:center;width:100%;text-align:center}
.woocommerce div.product form.variations_form table.variations th.label{width:112px;text-align:left;padding-right:1.5rem;vertical-align:middle}
.woocommerce div.product form.variations_form table.variations td.value{text-align:left}
.back-to-catalog{display:inline-block;margin:1.4rem 0 .8rem;color:var(--primary);font-family:"Newsreader",Georgia,serif;font-style:italic;font-size:1rem;letter-spacing:.02em}
.back-to-catalog:hover{color:var(--accent)}
.store-policy-note{clear:both;margin:1rem 0 1.4rem;padding:.7rem .9rem;border-left:2px solid var(--accent);color:var(--muted);font-size:.78rem;line-height:1.45}
.woocommerce-cart .store-policy-note{margin-top:1.25rem}
.footer-policy-note{border-top:1px solid var(--line);padding:14px 0;color:var(--muted);font-size:.76rem;text-align:center}

/* Account login. */
.woocommerce-account .woocommerce-form-login{max-width:560px;padding:2rem;border:1px solid var(--line);background:#fff}
.woocommerce-account .woocommerce-form-login .form-row-wide{display:block;width:100%;margin-bottom:1.15rem}
.woocommerce-account .woocommerce-form-login .form-row-wide label{display:block;margin-bottom:.35rem;text-align:left}
.woocommerce-account .woocommerce-form-login input.input-text{display:block;width:100%;min-height:46px;padding:.75rem .9rem}
.woocommerce-account .woocommerce-form-login .password-input{display:block;width:100%}
.woocommerce-account .woocommerce-form-login .show-password-input{display:none!important}
.woocommerce-account .woocommerce-form-login .form-row:not(.form-row-wide){display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.woocommerce-account .woocommerce-form-login button[type="submit"]{order:2;margin:0!important}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme{order:1;margin:0}
.woocommerce-account.peporium-login-mode #customer_login .u-column2{display:none}
.woocommerce-account.peporium-register-mode #customer_login .u-column1{display:none}
.woocommerce-account.peporium-login-mode #customer_login .u-column1,.woocommerce-account.peporium-register-mode #customer_login .u-column2{float:none;width:100%;max-width:560px;margin-inline:auto}
.woocommerce-account .woocommerce-form-register{max-width:560px;padding:2rem;border:1px solid var(--line);background:#fff}
.woocommerce-account .woocommerce-form-register .form-row-wide{display:block;width:100%;margin-bottom:1.15rem}
.woocommerce-account .woocommerce-form-register .form-row-wide label{display:block;margin-bottom:.35rem;text-align:left}
.woocommerce-account .woocommerce-form-register input.input-text{display:block;width:100%;min-height:46px;padding:.75rem .9rem}
