
/* Final mockup alignment: product, list-cart and AJAX checkout (RTL). */
.st-home-image-awaiting{aspect-ratio:1672/941;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border-radius:16px;background:radial-gradient(circle at 20% 30%,#ffe5e8,transparent 55%),linear-gradient(130deg,#e0f2ef,#fff7ed);color:#173f49;font-weight:900;text-align:center;padding:25px}
.st-home-image-awaiting span{font-size:clamp(36px,7vw,90px);color:#ff6b7a}
.st-home-service-fallback .lane,.st-home-trust-fallback .quote{min-height:160px}
.st-single-mockup .st-wishlist-message:empty{display:none}
.st-single-mockup .st-wishlist-message:not(:empty){background:#fff;position:absolute;left:8px;top:54px;padding:6px 9px;font-size:.71rem;box-shadow:0 3px 12px #173f4922;border-radius:10px;z-index:2;max-width:190px}
.st-single-mockup .gallery-actions .wishlist{display:grid;place-items:center;border:1px solid #173f4923;background:#fff;color:#173f49;border-radius:10px;font-size:24px;line-height:1;min-height:40px;width:40px;cursor:pointer}
.st-single-mockup .short-description-panel,.st-single-mockup .specifications-panel,.st-single-mockup .full-description-layout{width:100%;min-width:0}
.st-single-mockup .specs,.st-single-mockup .spec-table{width:100%;border-collapse:collapse}
.st-single-mockup .mobile-buy-bar{max-width:100vw}
.st-single-mockup .mobile-price .amount{color:#173f49}
.st-cart .st-cart-items .panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.st-cart .woocommerce-cart-form__contents.cart-list{min-width:0;width:100%;display:block}
.st-cart .cart-list .cart-item{display:grid;grid-template-columns:92px minmax(0,1fr);position:relative;min-width:0}
.st-cart .cart-list .product-thumb{display:block;flex-shrink:0}
.st-cart .cart-list .product-thumb img{display:block;object-fit:cover;width:100%;height:100%}
.st-cart .cart-list .product-info{min-width:0}
.st-cart .cart-list .product-meta{white-space:normal;overflow-wrap:anywhere}
.st-cart .cart-list .variation{margin:0;font-size:.7rem}.st-cart .cart-list .variation dt,.st-cart .cart-list .variation dd{display:inline;margin:0 3px 0 0}
.st-cart .cart-list .item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.st-cart .cart-list .qty.product-quantity{display:inline-flex;width:max-content;margin:0;vertical-align:middle}
.st-cart .cart-list .qty.product-quantity .quantity{margin:0;width:auto;border:0;box-shadow:none}
.st-cart .cart-list .qty input.qty{max-width:60px;min-width:44px;width:52px;height:34px;padding:4px;border:0;background:#fff;text-align:center;appearance:textfield}
.st-cart .cart-list .qty input.qty::-webkit-inner-spin-button{appearance:none}
.st-cart .cart-list .remove-item{position:absolute;inset-block-start:15px;left:0;text-decoration:none}
.st-cart .cart-tools{display:flex;justify-content:space-between;gap:13px;align-items:center;flex-wrap:wrap;padding:15px 18px}
.st-cart .cart-tools .coupon{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.st-cart .cart-tools .button{background:#173f49;color:#fff;padding:9px 12px;border-radius:9px;min-height:39px;border:0;cursor:pointer}
.st-cart .cart-summary{min-width:0}
.st-cart .cart-summary .panel{overflow:hidden}
.st-checkout .checkout-flow .st-shipping-options-table{width:100%;border-collapse:collapse;table-layout:auto}
.st-checkout .st-shipping-options-table tr.woocommerce-shipping-totals{display:table-row}
.st-checkout .st-shipping-options-table th{font-size:.75rem;text-align:right;width:30%;padding:14px 6px;vertical-align:top}
.st-checkout .st-shipping-options-table td{padding:10px 6px;font-size:.75rem}
.st-checkout .st-shipping-options-table ul#shipping_method{margin:0;list-style:none;padding:0;display:grid;gap:9px}
.st-checkout .st-shipping-options-table #shipping_method li{padding:11px;border:1px solid #dce8e6;border-radius:12px;background:#fff;font-size:.75rem;line-height:1.8}
.st-checkout .st-shipping-options-table #shipping_method li:has(input:checked){border-color:#ff6b7a;background:#fff7f8}
.st-checkout .st-shipping-options-table #shipping_method label{cursor:pointer}
.st-checkout .st-shipping-loading{margin:5px 0;font-size:.75rem;color:#627b82}
.st-checkout .st-shipping-loading[hidden]{display:none!important}
.st-checkout .st-payment-method-section #payment{position:static;margin:0;width:100%;max-width:none;border:0;background:transparent!important;padding:0}
.st-checkout .payment-options #payment ul.payment_methods{display:grid;gap:10px;padding:0!important;margin:0!important;border:0}
.st-checkout .payment-options #payment li.wc_payment_method{border:1px solid #dce8e6;border-radius:12px;padding:12px;line-height:1.9;background:#fff}
.st-checkout .payment-options #payment li.wc_payment_method:has(input:checked){border-color:#ff6b7a;background:#fff7f8}
.st-checkout .payment-options #payment .place-order{border:0;padding:13px 0 0}
.st-checkout #order_review{min-width:0}
.st-checkout .woocommerce-checkout-review-order-table{width:100%;table-layout:auto}
.st-checkout .woocommerce-checkout-review-order-table .st-items-list-row>td{display:table-cell;padding:0!important;border:0!important}
.st-checkout .woocommerce-checkout-review-order-table .cart-items{width:100%;list-style:none;padding:0;margin:0}
.st-checkout .woocommerce-checkout-review-order-table .cart-item{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid rgba(23,63,73,.11)}
.st-checkout .woocommerce-checkout-review-order-table .cart-thumb{height:70px;width:70px;overflow:hidden;border-radius:12px}
.st-checkout .woocommerce-checkout-review-order-table .cart-thumb img{height:100%;width:100%;object-fit:cover}
.st-checkout .woocommerce-checkout-review-order-table .cart-info{padding-left:25px;min-width:0}
.st-checkout .woocommerce-checkout-review-order-table .cart-meta{overflow-wrap:anywhere}
.st-checkout .woocommerce-checkout-review-order-table .cart-meta .variation{margin:0}
.st-checkout .woocommerce-checkout-review-order-table .cart-meta dt,.st-checkout .woocommerce-checkout-review-order-table .cart-meta dd{display:inline;margin:0 3px}
.st-checkout .woocommerce-checkout-review-order-table .cart-item .qty{direction:ltr}
.st-checkout .woocommerce-checkout-review-order-table .cart-item .qty button{border:0;background:#fff;min-height:28px}
.st-checkout .woocommerce-checkout-review-order-table .cart-item .st-checkout-remove{position:absolute;left:0;top:9px;background:transparent;border:0;cursor:pointer;font-size:18px}
.st-checkout .woocommerce-checkout-review-order-table tfoot>tr>th{width:55%}
.st-checkout .st-coupon-bridge{display:flex;gap:9px;align-items:center;margin-top:18px}
.st-checkout .st-coupon-bridge .coupon-input{flex:1;min-width:0;border:1px solid #dae3e2;border-radius:10px;min-height:42px;padding:9px 11px}
.st-checkout .st-coupon-bridge .coupon-button{border:0;border-radius:10px;padding:10px 14px;min-height:42px;background:#173f49;color:#fff;cursor:pointer;white-space:nowrap}
.st-checkout .st-coupon-message{font-size:.7rem;color:#476b72;margin:7px 0}
html.st-coupon-ready body.woocommerce-checkout .woocommerce-form-coupon-toggle,html.st-coupon-ready body.woocommerce-checkout form.checkout_coupon{position:absolute!important;left:-10000px!important;top:auto!important;height:1px!important;width:1px!important;overflow:hidden!important;clip-path:inset(50%)}
.checkout-page .woocommerce-invalid input,.checkout-page .woocommerce-invalid select,.checkout-page [aria-invalid="true"]{border-color:#c94a59!important;box-shadow:0 0 0 2px #c94a591c}
.blog-single .shop-cta,.blog-single .share-row{width:100%;max-width:100%}
.blog-single .share-buttons{display:flex;flex-wrap:wrap;gap:8px}
.blog-single .st-share-status{width:100%;margin:0;font-size:.72rem;color:#2f8a68}
.site-footer .footer-extras .official-badge img{max-width:90px;max-height:92px;object-fit:contain;width:auto;height:auto}
@media(max-width:780px){.st-cart .cart-list .cart-item{grid-template-columns:70px minmax(0,1fr);gap:10px}.st-cart .cart-list .product-thumb{width:70px;height:70px}.st-checkout .st-shipping-options-table th{width:28%}}
@media(max-width:420px){.st-cart .cart-list .cart-item{grid-template-columns:60px minmax(0,1fr);gap:9px}.st-cart .cart-list .product-thumb{width:60px;height:60px}.st-cart .cart-list .product-info{padding-left:22px}.st-cart .cart-list .item-actions{align-items:flex-start}.st-cart .cart-tools .coupon{flex-direction:column;align-items:stretch;width:100%}.st-cart .cart-tools .coupon input{width:100%}.st-checkout .st-shipping-options-table th,.st-checkout .st-shipping-options-table td{display:block;width:100%}.st-checkout .st-coupon-bridge{flex-wrap:wrap}}

.st-faithful-home .hero-image .st-home-image-awaiting[hidden]{display:none!important}
.st-faithful-home .hero-image img[hidden]{display:none!important}

.st-checkout .st-shipping-price-summary td,.st-checkout .st-shipping-price-summary th{font-size:.73rem!important;color:#173f49;padding:8px 5px!important}


/* SQUARE PRODUCT CARD IMAGES — shared, scoped to product listings only.
 * Shop, birthday-themes, product category, search results and related items
 * all reuse st_theme_mockup_product_card().  An uncropped medium_large file
 * is loaded in that component; these rules only determine its presentation.
 * Never apply this to the single-product gallery, article images, or banners.
 */
:is(.shop-page, .cat-page, .search-page) .product-card .product-media,
.st-product-page-shell .st-single-mockup #relatedProducts .product-card .product-media {
  aspect-ratio: 1 / 1;
  height: auto;
  min-height: 0;
  background: #f8f8f6;
}
:is(.shop-page, .cat-page, .search-page) .product-card .product-main-link,
.st-product-page-shell .st-single-mockup #relatedProducts .product-card .product-main-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 0;
}
:is(.shop-page, .cat-page, .search-page) .product-card .product-media img.product-main,
.st-product-page-shell .st-single-mockup #relatedProducts .product-card .product-media img.product-main {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}
:is(.shop-page, .cat-page, .search-page) .product-card:hover .product-media img.product-main,
.st-product-page-shell .st-single-mockup #relatedProducts .product-card:hover .product-media img.product-main {
  transform: none;
}
:is(.shop-page, .cat-page, .search-page) .product-card .thumb img,
.st-product-page-shell .st-single-mockup #relatedProducts .product-card .thumb img {
  object-fit: contain;
  object-position: center;
  background: #fff;
}
/* Classic WooCommerce and older theme cards — keep the same square rule if used. */
.st-product-grid .st-product-card .st-product-photo { aspect-ratio: 1 / 1; }
.st-product-grid .st-product-card .st-product-photo img { object-fit: contain; }
body.st-legacy-layout .woocommerce ul.products li.product a img,
.woocommerce ul.products li.product a img.attachment-woocommerce_thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center;
}
/* Product cards generated by WooCommerce Blocks, when present. */
.wc-block-grid__product .wc-block-grid__product-image img,
.wc-block-components-product-image img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center;
}
/* Wishlist product image is a square thumbnail, not a banner. */
.st-account .wish-image img { object-fit: contain; background: #f8f8f6; }
:is(.shop-page, .cat-page, .search-page) .product-card .product-main-link .st-image-placeholder:not([hidden]),
.st-product-page-shell .st-single-mockup #relatedProducts .product-card .product-main-link .st-image-placeholder:not([hidden]) {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  place-items: center;
}
