/* Supporting Product */.supporting-product h3 {    margin: 5px !important;    color: #5bc0de;}.product-title p,.product-price p {    margin: 0;    padding: 0;    font-size: 16px;    font-family: Epilogue, -apple-system, BlinkMacSystemFont, sans-serif;}.product-price {    color: #5bc0de;    font-weight: bold;}/* Mini Cart Subtotal */.mini-cart-subtotal {    display: grid;    grid-gap: 10px;    grid-template-columns: auto auto;    align-items: end;    border-radius: 20px;    margin: 10px 0;    padding: 3px 0;}.mini-cart-subtotal .mini-cart-sub-price {    text-align: right;    padding-right: 3px;}/* Upsell Modal */.upsell-modal {    display: none;    position: fixed;    z-index: 9999;    inset: 0;    overflow: auto;    background: rgba(0,0,0,0.6);    backdrop-filter: blur(2px);    transition: opacity 0.3s ease;}.upsell-content {    background: #fff;    margin: 10% auto;    padding: 20px;    border-radius: 12px;    width: 90%;    max-width: 600px;    box-shadow: 0 5px 30px rgba(0,0,0,0.3);    animation: slideDown 0.4s ease;    position: relative;}.upsell-close {    position: absolute;    top: 15px;    right: 20px;    font-size: 28px;    font-weight: bold;    color: #333;    cursor: pointer;}/* Upsell Header */.upsell-header {    border-bottom: 2px solid #eee;    margin-bottom: 15px;    text-align: center;}.upsell-header h3 {    margin: 0 0 10px;    font-size: 24px;}.upsell-header p {    font-size: 16px;}/* Upsell Products */.upsell-products {    display: grid;    gap: 1rem;}.upsell-item {    display: grid;    grid-template-columns: 80px 1fr 120px 120px; /* image, info, qty, add-to-cart */    gap: 1rem;    align-items: center;    padding: 10px;    border: 1px solid #eee;    border-radius: 10px;    background: #fff;}.upsell-thumb img {    width: 70px;    height: 70px;    object-fit: cover;    border-radius: 6px;}.upsell-info h4 {    margin: 0;    font-size: 16px;}.upsell-info .price {    color: #353434 !important;    font-weight: bold;}/* Quantity Selector */.upsell-qty {    display: flex;    align-items: center;}.upsell-qty button {	background: #ffc107 !important;	color: #fff;	border: none;	padding: 6px 12px;	font-size: 16px;	cursor: pointer;	border-radius: 6px;	transition: background 0.3s;	font-weight: bold;}.upsell-qty button:hover {    background: #005f7a;}.upsell-qty .qty-input {    width: 60px;    text-align: center;    margin: 0 5px;    padding: 5px;    border-radius: 6px;    border: 1px solid #ccc;}/* Add to Cart Button */.upsell-cart .button, .upsell-footer .button {	padding: 8px 15px;	border-radius: 6px;	font-weight: 600;	text-decoration: none;	text-align: center;	display: inline-block;	transition: background 0.3s;	font-size: 16px !important;}.upsell-cart .button {    background: #ffc107 !important;    color: #000;}.upsell-cart .button:hover {    background: #1e7e34;}.upsell-footer {    text-align: right;    margin-top: 20px;}.upsell-footer .button {    background: #0b0b0b;    color: #fff !important;    padding: 5px 25px;}.upsell-footer .button:hover {    background: #005f7a;}/* Animation */@keyframes slideDown {    from {opacity: 0; transform: translateY(-50px);}    to {opacity: 1; transform: translateY(0);}}/* Cart Info */.cart-info {    display: grid;    grid-template-columns: 1fr auto;    padding: 1rem;    align-items: center;}.cart-left {    justify-self: start;}.cart-right {    justify-self: end;}/* Mobile (max-width: 600px) */@media (max-width: 600px) { .upsell-item {	grid-template-columns: 80px 218px;	text-align: center;	gap: 1.5rem;	padding: 15px;	margin: auto;}  .upsell-item > * {    margin: 0 auto; /* Center children */  }}/* CSS *//* Basic button reset / styling */.add-to-cart-btn{  --btn-bg: #1f7ae0;  --btn-color: #fff;  --btn-radius: 10px;  display: inline-flex;  align-items: center;  gap: .6rem;  padding: .55rem 1rem;  border: 0;  border-radius: var(--btn-radius);  background: var(--btn-bg);  color: var(--btn-color);  font-weight: 600;  cursor: pointer;  position: relative;  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;  transition: transform .12s ease, opacity .12s ease, background-color .12s ease;  will-change: transform;}/* Hover / active */.add-to-cart-btn:hover { transform: translateY(-1px); }.add-to-cart-btn:active { transform: translateY(0); }/* Spinner (hidden by default) */.add-to-cart-btn .spinner{  width: 16px;  height: 16px;  border: 2px solid transparent;  border-top-color: currentColor;      /* uses button color */  border-radius: 50%;  display: none;  box-sizing: border-box;}/* Loading state */.add-to-cart-btn.loading{  pointer-events: none;  opacity: .9;}.add-to-cart-btn.loading .spinner{  display: inline-block;  animation: spin 0.75s linear infinite;}/* Replace text while loading (optionally) */.add-to-cart-btn.loading .btn-text{ opacity: .9; }/* Success state briefly */.add-to-cart-btn.success{  background: #16a34a; /* green */}/* Accessible reduced-motion preference */@media (prefers-reduced-motion: reduce){  .add-to-cart-btn, .add-to-cart-btn .spinner { transition: none; animation: none; }  .add-to-cart-btn .spinner { display: inline-block; }}/* Keyframes */@keyframes spin{  to { transform: rotate(360deg); }}