.woocommerce .woocommerce-breadcrumb { width: min(calc(100% - 32px), var(--re-container)); margin: 22px auto; color: var(--re-muted); font-size: .82rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--re-muted); }
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce { width: min(calc(100% - 32px), var(--re-container)); margin-left: auto; margin-right: auto; }
.re-woocommerce-shell .woocommerce-products-header { padding: 18px 0 25px; }
.woocommerce-products-header__title { font-size: clamp(2.5rem, 5vw, 4.8rem); letter-spacing: -.05em; }
.re-woocommerce-shell .woocommerce-result-count { float: left; margin-bottom: 30px; color: var(--re-muted); }
.re-woocommerce-shell .woocommerce-ordering { width: auto; float: right; margin-right: 0; }
.re-woocommerce-shell .woocommerce-ordering select { min-height: 44px; padding: 8px 38px 8px 13px; border: 1px solid var(--re-line); border-radius: 10px; background: #fff; }
.woocommerce ul.products { clear: both; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; padding: 0 0 80px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none!important; width: auto!important; margin: 0!important; padding: 0 0 20px; overflow: hidden; border: 1px solid var(--re-line); border-radius: var(--re-radius); background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--re-shadow); }
.woocommerce ul.products li.product a img { aspect-ratio: .88; object-fit: cover; margin: 0 0 18px; background: var(--re-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .button { margin-left: 20px; margin-right: 20px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; color: var(--re-ink); font-size: 1.05rem; }
.woocommerce ul.products li.product .price { color: var(--re-ink); font-weight: 900; }
.woocommerce span.onsale { top: 13px; left: 13px; min-width: 0; min-height: 0; padding: 6px 11px; border-radius: 999px; background: var(--re-accent); line-height: 1.2; }
.re-woocommerce-shell div.product { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(38px,6vw,85px); padding: 48px 0 90px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { overflow: hidden; border: 1px solid var(--re-line); border-radius: 22px; background: var(--re-soft); }
.woocommerce div.product .product_title { margin-top: 0; font-size: clamp(2.35rem,5vw,4.5rem); line-height: 1; letter-spacing: -.05em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--re-ink); font-size: 1.75rem; font-weight: 900; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--re-muted); font-size: 1.06rem; }
.woocommerce div.product form.cart { display: flex; gap: 10px; margin-top: 28px; }
.woocommerce .quantity .qty { min-height: 50px; border: 1px solid var(--re-line); border-radius: 999px; }
.woocommerce div.product .product_meta { padding-top: 20px; border-top: 1px solid var(--re-line); color: var(--re-muted); font-size: .86rem; }
.re-delivery-note { padding: 12px 14px; border-radius: 10px; background: var(--re-soft); color: #48434f; font-size: .88rem; }
.re-purchase-reassurance { margin: 21px 0 0; padding: 18px; border: 1px solid var(--re-line); border-radius: 14px; list-style: none; }
.re-purchase-reassurance li + li { margin-top: 8px; }
.re-purchase-reassurance li::before { content: "✓"; margin-right: 9px; color: var(--re-success); font-weight: 900; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1/-1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--re-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--re-line); background: var(--re-soft); }
.woocommerce .related.products { grid-column: 1/-1; }
.woocommerce .related.products > h2 { font-size: 2rem; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { width: min(calc(100% - 32px), var(--re-container)); margin: 22px auto; padding: 18px 22px 18px 48px; border: 1px solid var(--re-line); border-top: 3px solid var(--re-accent); border-radius: 12px; background: #fff; }
.woocommerce-error { border-top-color: var(--re-danger); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height: 48px; padding: 10px 13px; border: 1px solid #dcd6e3; border-radius: 10px; background: #fff; }
.woocommerce form.checkout, .woocommerce-cart-form, .cart-collaterals, .woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account .woocommerce-MyAccount-navigation { padding: 25px; border: 1px solid var(--re-line); border-radius: 16px; background: #fff; }
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce { padding-top: 52px; padding-bottom: 90px; }
.woocommerce-checkout #order_review_heading { margin-top: 36px; }
.woocommerce-checkout #payment { background: var(--re-soft); border-radius: 14px; }
.woocommerce-checkout #payment div.payment_box { background: #fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce table.shop_table { border-color: var(--re-line); border-collapse: collapse; border-radius: 12px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 15px; border-color: var(--re-line); }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 24px; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display:none; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float:none; width:auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin:0; padding:0; list-style:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { border-top:1px solid var(--re-line); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:11px 2px; text-decoration:none; font-weight:750; }
.wc-block-cart, .wc-block-checkout { width: min(calc(100% - 32px), var(--re-container)); padding: 54px 0 90px; }

@media (max-width: 850px) {
    .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .woocommerce div.product { grid-template-columns: 1fr; }
    .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce { width: min(calc(100% - 24px), var(--re-container)); }
    .woocommerce .woocommerce-ordering { float:none; width:min(calc(100% - 24px), var(--re-container)); margin:0 auto 22px; }
    .re-woocommerce-shell .woocommerce-ordering select { width:100%; }
    .woocommerce .woocommerce-result-count { float:none; }
    .woocommerce ul.products { grid-template-columns: 1fr; padding-bottom:60px; }
    .woocommerce div.product { padding-top:28px; }
    .woocommerce div.product form.cart { align-items:stretch; }
    .woocommerce div.product form.cart .single_add_to_cart_button { flex:1; }
    .woocommerce form.checkout, .woocommerce-cart-form, .cart-collaterals, .woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account .woocommerce-MyAccount-navigation { padding:16px; }
}

.re-woocommerce-shell .woocommerce-notices-wrapper{width:100%;}
.re-woocommerce-shell ul.products{width:100%;}

/* v0.3.0 cart, checkout and account redesign */
.woocommerce-cart .re-page-woocommerce,
.woocommerce-checkout .re-page-woocommerce,
.woocommerce-account .re-page-woocommerce{padding-top:18px}

.woocommerce-cart .woocommerce-cart-form{padding:0;overflow:hidden}
.woocommerce-cart table.cart{margin:0;border:0;border-radius:0}
.woocommerce-cart table.cart thead{background:var(--re-soft)}
.woocommerce-cart table.cart th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--re-muted)}
.woocommerce-cart table.cart .product-thumbnail img{width:86px;border-radius:10px;border:1px solid var(--re-line)}
.woocommerce-cart table.cart .product-name a{font-weight:850;text-decoration:none;color:var(--re-ink)}
.woocommerce-cart table.cart .product-remove a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff0f0;color:var(--re-danger)!important;text-decoration:none}
.woocommerce-cart table.cart td.actions{padding:20px;background:#fff}
.woocommerce-cart .coupon{display:flex;gap:8px}
.woocommerce-cart .coupon .input-text{min-width:210px!important;min-height:48px;border:1px solid var(--re-line)!important;border-radius:999px!important;padding:0 16px!important}
.woocommerce-cart .cart-collaterals{margin-top:25px;padding:0;border:0;background:transparent}
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:min(100%,480px);margin-left:auto;padding:26px;border:1px solid var(--re-line);border-radius:18px;background:#fff;box-shadow:0 16px 50px rgba(36,27,57,.07)}
.woocommerce-cart .cart-collaterals .cart_totals h2{margin-top:0;font-size:1.55rem}
.woocommerce-cart .wc-proceed-to-checkout{padding-bottom:0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;justify-content:center;min-height:54px;align-items:center;margin-bottom:0;font-size:1rem}
.woocommerce .cart-empty{padding:38px!important;border:1px dashed #cbc2d8!important;border-top:1px dashed #cbc2d8!important;background:var(--re-soft)!important;text-align:center;border-radius:18px}
.woocommerce .return-to-shop{text-align:center}

.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:28px;padding:0;border:0;background:transparent}
.woocommerce-checkout #customer_details{padding:27px;border:1px solid var(--re-line);border-radius:18px;background:#fff}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2;margin:0;padding:27px;border:1px solid var(--re-line);background:#fff}
.woocommerce-checkout #order_review_heading{align-self:start;padding-bottom:10px;border-bottom:0;border-radius:18px 18px 0 0;font-size:1.35rem}
.woocommerce-checkout #order_review{margin-top:58px;border-top:0;border-radius:0 0 18px 18px}

.woocommerce-account .woocommerce{align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation{position:sticky;top:110px;padding:12px}
.woocommerce-account .woocommerce-MyAccount-navigation li{border:0!important}
.woocommerce-account .woocommerce-MyAccount-navigation li+li{margin-top:4px}
.woocommerce-account .woocommerce-MyAccount-navigation a{position:relative;padding:12px 14px;border-radius:10px;color:var(--re-muted)}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,.woocommerce-account .woocommerce-MyAccount-navigation a:hover{background:var(--re-soft);color:var(--re-ink)}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0;padding:30px}
.woocommerce-account .woocommerce-MyAccount-content>p:first-child{margin-top:0}
.re-account-overview{margin-top:26px}
.re-account-welcome{padding:26px;border-radius:18px;background:linear-gradient(135deg,#f3efff,#faf6f2)}
.re-account-welcome h2{margin:7px 0 8px;font-size:clamp(1.75rem,3vw,2.55rem)}
.re-account-welcome p{margin:0;color:var(--re-muted)}
.re-account-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.re-account-card{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--re-line);border-radius:15px;color:var(--re-ink);text-decoration:none;background:#fff;transition:.18s ease}
.re-account-card:hover{transform:translateY(-2px);box-shadow:var(--re-shadow);color:var(--re-ink)}
.re-account-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--re-soft);color:var(--re-accent-dark)}
.re-account-card__icon svg{width:21px;height:21px}
.re-account-card span:last-child{display:grid}
.re-account-card small{color:var(--re-muted);font-weight:700}
.re-account-card strong{margin-top:3px;font-size:1.05rem}
.re-account-help{margin-top:18px;padding:15px 17px;border:1px solid var(--re-line);border-radius:12px;background:#fafafa}
.woocommerce-account #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.woocommerce-account #customer_login>div{width:auto;float:none;padding:0}
.woocommerce-account form.login,.woocommerce-account form.register{height:100%;margin:0;padding:28px;border:1px solid var(--re-line);border-radius:18px;background:#fff}
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.woocommerce-account .woocommerce-Address{float:none;width:auto;padding:18px;border:1px solid var(--re-line);border-radius:14px}

@media(max-width:920px){
 .woocommerce-checkout form.checkout{grid-template-columns:1fr}
 .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1}
 .woocommerce-checkout #order_review{margin-top:-28px}
 .woocommerce-account .woocommerce-MyAccount-navigation{position:static}
 .re-account-cards{grid-template-columns:1fr}
}
@media(max-width:680px){
 .woocommerce-cart table.cart .product-thumbnail{display:none}
 .woocommerce-cart table.cart td.actions .coupon{display:grid;width:100%}
 .woocommerce-cart .coupon .input-text{width:100%!important;min-width:0!important}
 .woocommerce-cart table.cart td.actions .button{width:100%;justify-content:center;margin-top:8px}
 .woocommerce-account #customer_login,.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}
 .woocommerce-account .woocommerce-MyAccount-content{padding:20px}
}

/* v0.4.0 reliable catalogue and checkout actions */
.re-woocommerce-shell{padding-top:22px;padding-bottom:82px}
.re-woocommerce-shell .woocommerce-breadcrumb{width:100%;margin:0 0 24px}
.re-catalog-recovery{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;padding:15px 18px;border:1px solid #d9d0e5;border-radius:14px;background:var(--re-soft);color:var(--re-muted)}
.re-catalog-recovery strong{color:var(--re-ink)}
.woocommerce ul.products{margin:0!important}
.woocommerce ul.products li.product{display:flex;flex-direction:column}
.woocommerce ul.products li.product .woocommerce-loop-product__link{display:block;text-decoration:none}
.woocommerce ul.products li.product .button{display:flex!important;align-items:center;justify-content:center;min-height:49px;width:calc(100% - 40px);border-radius:999px!important;font-weight:850!important}
.woocommerce ul.products li.product .added_to_cart{display:flex;align-items:center;justify-content:center;width:calc(100% - 40px);min-height:43px;margin:9px 20px 0;border:1px solid var(--re-line);border-radius:999px;color:var(--re-ink);text-decoration:none;font-weight:800}
.woocommerce ul.products li.product .added_to_cart:hover{border-color:var(--re-accent)}
.woocommerce div.product form.cart .single_add_to_cart_button{min-height:56px;padding:0 28px!important;border-radius:999px!important;background:var(--re-accent)!important;font-size:1rem!important;font-weight:900!important;box-shadow:0 14px 32px rgba(108,76,241,.24)}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{filter:brightness(.94)}
.woocommerce div.product form.cart .single_add_to_cart_button.loading{opacity:.7;pointer-events:none}
.re-product-value-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 4px}
.re-product-value-points span{display:grid;gap:2px;padding:10px;border:1px solid var(--re-line);border-radius:11px;background:#fff;color:var(--re-muted);font-size:.72rem;text-align:center}
.re-product-value-points strong{color:var(--re-ink);font-size:.78rem}
.woocommerce-message{display:flex;align-items:center;gap:13px;min-height:64px;padding:13px 16px!important}
.woocommerce-message::before{position:static!important;flex:0 0 auto}
.woocommerce-message .button.wc-forward{order:2;float:none!important;display:inline-flex!important;align-items:center;justify-content:center;min-height:43px;margin-left:auto!important;padding:0 18px!important;border-radius:999px!important;background:var(--re-accent)!important;color:#fff!important;font-weight:850!important}
.woocommerce-message .button.wc-forward:hover{filter:brightness(.94)}

@media (max-width:650px){
 .re-catalog-recovery{align-items:flex-start;flex-direction:column}
 .re-product-value-points{grid-template-columns:1fr}
 .re-product-value-points span{grid-template-columns:auto 1fr;text-align:left}
 .woocommerce-message{align-items:stretch;flex-direction:column}
 .woocommerce-message .button.wc-forward{order:2;width:100%;margin:5px 0 0!important}
}


/* v0.5.0 live storefront, cart recommendations and editable quantities */
.woocommerce .quantity{display:inline-flex!important;align-items:center;overflow:hidden;border:1px solid var(--re-line);border-radius:999px;background:#fff;vertical-align:middle}
.woocommerce .quantity .qty{width:52px!important;min-height:43px!important;margin:0!important;padding:0 4px!important;border:0!important;border-radius:0!important;background:#fff;text-align:center;font-weight:850;-moz-appearance:textfield}
.woocommerce .quantity .qty::-webkit-outer-spin-button,.woocommerce .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.re-qty-step{display:grid;place-items:center;width:42px;height:43px;padding:0;border:0;background:#f6f4fb;color:var(--re-ink);font-size:1.25rem;font-weight:800;cursor:pointer}
.re-qty-step:hover{background:var(--re-soft);color:var(--re-accent-dark)}
.woocommerce div.product form.cart{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1 1 220px}
.re-product-card .added_to_cart{display:flex!important;align-items:center;justify-content:center;min-height:46px;width:100%;margin:10px 0 0;padding:0 18px;border:1px solid var(--re-accent);border-radius:999px;color:var(--re-accent-dark);text-decoration:none;font-weight:850}

.re-cart-drawer.is-updating .re-cart-drawer__panel::after{content:"Updating cart…";position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.78);color:var(--re-ink);font-weight:900;z-index:8;backdrop-filter:blur(2px)}
.re-cart-drawer-item__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.re-drawer-qty{display:inline-grid;grid-template-columns:34px 42px 34px;align-items:center;overflow:hidden;border:1px solid var(--re-line);border-radius:999px;background:#fff}
.re-drawer-qty button{height:34px;border:0;background:#f6f4fb;color:var(--re-ink);font-size:1rem;font-weight:900;cursor:pointer}
.re-drawer-qty input{width:42px;height:34px;padding:0;border:0;background:#fff;text-align:center;font-weight:850;-moz-appearance:textfield}
.re-drawer-qty input::-webkit-outer-spin-button,.re-drawer-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.re-cart-drawer__continue{display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;margin-top:10px;border:1px solid var(--re-line);border-radius:999px;background:#fff;color:var(--re-ink);font-weight:850;cursor:pointer}
.re-cart-drawer__continue:hover{border-color:var(--re-accent);color:var(--re-accent-dark)}
.re-cart-drawer__view{margin-top:11px!important;text-align:center}

.re-cart-recommendations{padding:18px 22px;border-top:1px solid var(--re-line);background:#faf9fc}
.re-cart-recommendations__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.re-cart-recommendations__head span{display:block;color:var(--re-accent-dark);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.re-cart-recommendations__head h3{margin:3px 0 0;font-size:1rem}
.re-cart-recommendations__head small{color:var(--re-muted);font-weight:700}
.re-cart-recommendations__list{display:grid;gap:9px}
.re-cart-recommendation{display:grid;grid-template-columns:54px minmax(0,1fr) 38px;align-items:center;gap:11px;padding:9px;border:1px solid var(--re-line);border-radius:13px;background:#fff}
.re-cart-recommendation__image{display:block;overflow:hidden;border-radius:9px;background:var(--re-soft);aspect-ratio:4/5}
.re-cart-recommendation__image img{width:100%;height:100%;object-fit:cover}
.re-cart-recommendation__copy{display:grid;gap:3px;min-width:0}
.re-cart-recommendation__copy a{overflow:hidden;color:var(--re-ink);text-decoration:none;font-size:.84rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.re-cart-recommendation__copy strong{font-size:.82rem}
.re-cart-recommendation__add{display:grid!important;place-items:center!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border-radius:50%!important;background:var(--re-accent)!important;color:#fff!important;font-size:1.2rem!important;text-decoration:none!important}
.re-cart-recommendation__add.added::after{display:none!important}

.woocommerce-cart table.cart .product-quantity{min-width:155px}
.woocommerce-cart table.cart .product-quantity .quantity{margin:auto}

@media(max-width:650px){
 .woocommerce div.product form.cart{align-items:stretch}
 .woocommerce div.product form.cart .quantity{width:100%;justify-content:space-between}
 .woocommerce div.product form.cart .quantity .qty{flex:1}
 .woocommerce div.product form.cart .single_add_to_cart_button{width:100%;flex-basis:100%}
 .re-cart-recommendations{padding:16px}
 .re-cart-recommendations__head{align-items:flex-start;flex-direction:column}
 .re-cart-recommendations__list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
 .re-cart-recommendation{flex:0 0 88%;scroll-snap-align:start}
 .re-cart-drawer-item__row{align-items:flex-start;flex-direction:column}
}
