/* Southern Glow: consistent catalog and native WooCommerce purchase layout. */
body.sg-catalog #primary,body.single-product #primary{box-sizing:border-box;width:100%;max-width:1200px!important;margin:0 auto!important}
body.sg-product-cards ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px!important}
body.sg-product-cards ul.products:before,body.sg-product-cards ul.products:after{display:none!important}
body.sg-product-cards ul.products li.product{display:flex!important;flex-direction:column;float:none!important;width:auto!important;margin:0!important;padding:0 0 18px!important;border:1px solid #d7dfeb!important;border-radius:14px!important;background:#fff;overflow:hidden;box-shadow:0 5px 20px #0b1b3607;transition:box-shadow .2s,border-color .2s}
body.sg-product-cards ul.products li.product:hover{border-color:#8fa2bf!important;box-shadow:0 10px 26px #0b1b3610}
body.sg-product-cards ul.products li.product>a.woocommerce-loop-product__link{flex:1;display:flex;flex-direction:column;padding:0 18px}
body.sg-product-cards ul.products li.product a img{box-sizing:border-box;width:calc(100% + 36px)!important;max-width:none;height:255px!important;aspect-ratio:auto;object-fit:contain!important;padding:18px 24px!important;margin:0 -18px 18px!important;border-radius:0!important;border-bottom:1px solid #edf0f5;background:#fff}
body.sg-product-cards ul.products li.product .woocommerce-loop-product__title{font-size:18px!important;line-height:1.3!important;letter-spacing:-.02em;font-weight:600;min-height:0;margin:0 0 9px!important;overflow-wrap:normal;word-break:normal}
body.sg-product-cards ul.products li.product .sg-product-strength{font-size:13px;font-weight:500;color:#52627a;margin-top:6px;letter-spacing:.02em}
.sg-card-availability{display:block;font-size:12px;font-weight:500;margin:0 0 14px;color:#24654b}
.sg-card-availability.is-unavailable{color:#685767}
body.sg-product-cards ul.products li.product .price{font-size:21px!important;font-weight:600;color:#0b1b36;margin:auto 0 16px!important}
body.sg-product-cards ul.products li.product>.button{width:calc(100% - 36px);min-height:48px!important;margin:0 18px!important;border:1px solid #17366b!important;border-radius:7px!important;background:#0b1b36!important;font-size:14px!important;color:#fff!important}
body.sg-product-cards ul.products li.product>.button:hover{background:#17366b!important}
body.sg-product-cards ul.products li.product.outofstock>.button{background:#f3f5f9!important;color:#394c68!important;border-color:#d7dfeb!important}
body.sg-product-cards ul.products li.product .added_to_cart{padding:10px 18px 0;text-align:center;font-size:13px}
body.single-product #main>.product{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 48px;align-items:start}
body.single-product #main>.product:before,body.single-product #main>.product:after{display:none!important}
body.single-product .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important;min-width:0;background:#fff;border:1px solid #d7dfeb;border-radius:16px;overflow:hidden;box-sizing:border-box}
body.single-product .woocommerce-product-gallery__wrapper{margin:0!important}
body.single-product .woocommerce-product-gallery__image img{width:100%!important;height:540px!important;object-fit:contain!important;box-sizing:border-box;padding:32px!important;background:#fff}
body.single-product .woocommerce-product-gallery .flex-viewport{max-height:540px}
body.single-product #main>.product>.summary{float:none!important;width:100%!important;min-width:0;margin:0!important;padding:12px 0 0;box-sizing:border-box}
body.single-product .summary .product_title{font-size:clamp(28px,3vw,42px)!important;line-height:1.13!important;letter-spacing:-.035em;margin:0 0 20px!important}
body.single-product .summary .sg-product-strength{display:block;font-size:15px!important;color:#53647c;margin-top:14px;letter-spacing:.025em;font-weight:500}
body.single-product .summary .price{font-size:32px!important;font-weight:600!important;line-height:1.2;margin:0 0 22px!important;color:#17366b!important}
.sg-purchase-intro{font-size:15px;line-height:1.6;color:#52627a;margin:0 0 20px}
body.single-product .summary form.cart{display:flex!important;flex-wrap:wrap;gap:12px!important;align-items:center;margin:16px 0 24px!important}
body.single-product .summary form.cart .quantity{display:flex;align-items:center;border:1px solid #bfcbdc;border-radius:8px;background:#fff;overflow:hidden;flex:0 0 auto;height:52px;box-sizing:border-box}
body.single-product .summary form.cart .qty{width:42px!important;min-width:0!important;height:50px!important;min-height:0!important;padding:0!important;border:0!important;box-shadow:none!important;font-size:16px!important;border-radius:0!important;appearance:textfield;-moz-appearance:textfield}
body.single-product .summary .qty::-webkit-inner-spin-button{appearance:none}
.sg-qty-step{width:34px;height:50px;border:0;background:#fff;color:#17366b;font:500 22px Outfit,Arial,sans-serif;cursor:pointer;padding:0}
.sg-qty-step:hover{background:#edf2fa}
body.single-product .summary form.cart .single_add_to_cart_button{flex:1;min-width:140px;min-height:52px!important;background:#0b1b36!important;color:#fff!important;border-radius:8px!important;font-size:16px!important;font-weight:600!important;padding:14px 22px!important;margin:0!important}
body.single-product .summary .stock{font-size:14px!important;padding:10px 0;color:#24654b}
body.single-product .summary .out-of-stock{color:#873449!important;font-weight:500}
.sg-purchase-details{border-top:1px solid #cbd5e4;margin-top:24px;padding-top:22px;display:grid;gap:16px}
.sg-purchase-details strong{font-size:14px;font-weight:600;color:#0b1b36}
.sg-purchase-details p{margin:4px 0 0;font-size:14px;line-height:1.5;color:#53647c}
.sg-purchase-details a{color:#17366b;text-underline-offset:3px;overflow-wrap:anywhere}
body.single-product .summary .zzf-ruo-banner{font-size:12px;margin-top:20px}
body.single-product #main>.product>.related,body.single-product #main>.product>.up-sells{grid-column:1/-1;width:100%;margin-top:26px}
body.single-product .related>h2{font-size:28px!important;letter-spacing:-.025em;margin:0 0 28px!important}
.sg-qty-step:focus-visible,body.single-product .summary a:focus-visible,body.single-product .summary button:focus-visible{outline:3px solid #c8102e;outline-offset:3px}
@media(min-width:1450px){body.single-product #primary,body.sg-catalog #primary{max-width:1240px!important}}
@media(max-width:1000px){body.sg-product-cards ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}body.single-product #main>.product{gap:28px}body.single-product .woocommerce-product-gallery__image img{height:460px!important;padding:26px!important}}
@media(max-width:760px){body.sg-product-cards ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}body.sg-product-cards ul.products li.product a img{height:220px!important}body.single-product #main>.product{grid-template-columns:1fr;gap:24px}body.single-product .woocommerce-product-gallery__image img{height:390px!important;padding:24px!important}body.single-product .summary .product_title{font-size:32px!important}body.single-product #main>.product>.summary{padding:0}body.single-product .summary .price{font-size:28px!important}}
@media(max-width:480px){body.sg-product-cards ul.products li.product>a.woocommerce-loop-product__link{padding:0 12px}body.sg-product-cards ul.products li.product a img{width:calc(100% + 24px)!important;margin:0 -12px 14px!important;height:185px!important;padding:12px!important}body.sg-product-cards ul.products li.product .woocommerce-loop-product__title{font-size:15px!important}body.sg-product-cards ul.products li.product .price{font-size:18px!important}body.sg-product-cards ul.products li.product>.button{width:calc(100% - 24px);margin:0 12px!important;font-size:12px!important;padding:10px 6px!important}body.single-product .woocommerce-product-gallery__image img{height:340px!important}}
@media(prefers-reduced-motion:reduce){body.sg-product-cards ul.products li.product{transition:none}}
/* Stock state is communicated with readable text, never color alone. */
body.sg-product-cards ul.products li.product>a.woocommerce-loop-product__link{position:relative}
.sg-stock-badge{position:absolute;z-index:2;top:12px;left:12px;padding:7px 10px;border:1px solid #dec4cb;border-radius:30px;background:#fff4f6;color:#86233b;font-size:10px;font-weight:600;line-height:1.2;letter-spacing:.055em;text-transform:uppercase;box-shadow:0 2px 8px #0b1b3609}
body.sg-product-cards ul.products li.product.outofstock{background:#fafbfd!important}
body.sg-product-cards ul.products li.product.outofstock a img{filter:saturate(.35) blur(1.2px);opacity:.55}
.sg-card-availability.is-unavailable{color:#86233b}
body.sg-product-cards ul.products li.product.outofstock>.button{background:#fff!important;color:#17366b!important;border-color:#b9c6d9!important;gap:10px}
body.sg-product-cards ul.products li.product.outofstock>.button:hover{background:#eaf0f8!important;border-color:#17366b!important}
body.sg-product-cards ul.products li.product>.button:focus-visible{outline:3px solid #c8102e;outline-offset:3px}
body.single-product .summary .out-of-stock{display:inline-block;padding:8px 12px!important;border:1px solid #dec4cb;border-radius:30px;background:#fff4f6;color:#86233b!important}
.sg-stock-help{padding:20px;background:#fff;border:1px solid #d7dfeb;border-radius:12px;margin:4px 0 24px}
.sg-stock-help strong{font-size:18px;color:#0b1b36}
.sg-stock-help p{font-size:14px;line-height:1.6;color:#52627a;margin:8px 0 18px}
body.single-product .sg-stock-help .button{display:flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 14px;box-sizing:border-box;background:#fff;color:#17366b;border:1px solid #b9c6d9;border-radius:7px;font-size:14px;text-decoration:none}
body.single-product .sg-stock-help .button:hover{background:#eaf0f8;border-color:#17366b}
@media(max-width:480px){.sg-stock-badge{top:8px;left:8px;font-size:9px;padding:6px 8px}.sg-stock-help{padding:16px}}
/* White packshots sit on one uninterrupted white surface, including padding. */
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image img,
body.sg-product-cards ul.products li.product a img{background:#fff!important}
body.single-product #main>.product.outofstock .woocommerce-product-gallery__image img{filter:saturate(.35) blur(1.2px);opacity:.55}
body.single-product .summary form.cart .sg-vial-options{flex:0 0 100%;width:100%;min-width:0;border:0;padding:0;margin:0 0 8px;box-sizing:border-box}
.sg-vial-options legend{font-size:14px;font-weight:600;color:#0b1b36;padding:0;margin-bottom:12px}
.sg-vial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
body.single-product .summary .sg-vial-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:110px;padding:14px 6px;border:1px solid #bdcadd!important;border-radius:10px;background:#fff!important;color:#17366b!important;cursor:pointer;box-shadow:none;font-family:inherit}
.sg-vial-option svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sg-vial-option strong{font-size:16px;line-height:1.2;font-weight:600}
.sg-vial-caption{font-size:11px;line-height:1.2}
body.single-product .summary .sg-vial-option[aria-pressed=true]{background:#edf2fa!important;border:2px solid #17366b!important;color:#0b1b36!important}
.sg-vial-option[aria-pressed=true]:after{content:'✓';position:absolute;top:7px;right:8px;font-size:12px;color:#17366b}
body.single-product .summary .sg-vial-option:disabled{background:#f1f3f6!important;border-color:#d7dfe9!important;color:#687487!important;cursor:not-allowed;opacity:1}
body.single-product .summary .sg-vial-option:not(:disabled):hover{border-color:#17366b!important;background:#f5f8fc!important}
.sg-vial-status{font-size:12px;line-height:1.5;color:#52627a;margin:10px 0 0}
@media(max-width:480px){.sg-vial-grid{gap:8px}body.single-product .summary .sg-vial-option{min-height:100px}.sg-vial-option strong{font-size:14px}.sg-vial-caption{font-size:10px}}
.sg-blend-details{margin:14px 0 24px;padding:16px 18px;background:#fff;border:1px solid #d6e1ef;border-left:3px solid #c8102e;border-radius:8px;color:#0b1b36}
.sg-blend-details strong{display:block;margin-bottom:8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.sg-blend-details p{margin:5px 0;color:#3b4a62;font-size:14px;line-height:1.55}
