/* Stage 5 — Readdy-style shop and single product; WooCommerce supplies all product data. */
.rt-commerce-main{padding:clamp(1.6rem,4vw,3rem) 0 5rem;min-height:64vh;background:oklch(var(--background-50));}
.rt-commerce-main .rt-container{max-width:1152px;}
.rt-commerce-main a{text-decoration:none}
.rt-shop-heading{text-align:center;margin:0 0 clamp(1.5rem,3vw,2.5rem)}
.rt-shop-heading h1{font:800 clamp(1.55rem,3vw,2rem)/1.3 var(--font-body);letter-spacing:-.035em;margin:0 0 .4rem;color:oklch(var(--foreground-950))}
.rt-shop-heading p{font-size:.9rem;color:oklch(var(--foreground-600));margin:0 auto;max-width:700px}
.rt-shop-search{position:relative;display:flex;width:min(100%,455px);margin:0 auto 1.75rem;align-items:center}
.rt-shop-search input{width:100%;border:1px solid oklch(var(--background-200));border-radius:100px;background:white;height:47px;padding:.6rem 6rem .6rem 2.6rem;color:oklch(var(--foreground-950));font-size:.875rem;outline:none}
.rt-shop-search input:focus{border-color:oklch(var(--primary-500));box-shadow:0 0 0 3px oklch(var(--primary-100)/.7)}
.rt-shop-search .rt-search-glyph{position:absolute;left:1rem;font-size:1.35rem;color:oklch(var(--foreground-500));line-height:1;pointer-events:none}
.rt-shop-search button{position:absolute;right:.2rem;top:.2rem;bottom:.2rem;padding:0 1.15rem;border:0;border-radius:100px;background:oklch(var(--primary-500));font-size:.8rem;color:white;cursor:pointer;font-weight:750}
.rt-shop-categories{display:flex;gap:.5rem;align-items:center;justify-content:center;flex-wrap:wrap;margin:0 auto clamp(1.4rem,3vw,2.5rem);overflow-x:auto;max-width:100%}
.rt-category-pill{border-radius:50px;white-space:nowrap;padding:.6rem 1rem;background:oklch(var(--background-100));font-size:.82rem;font-weight:600;color:oklch(var(--foreground-700));transition:background .2s,color .2s}
.rt-category-pill:hover{background:oklch(var(--background-200))}.rt-category-pill.is-active{background:oklch(var(--primary-500));color:white}
.rt-shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:1.1rem;min-height:38px;font-size:.8rem;color:oklch(var(--foreground-600))}
.rt-shop-toolbar .woocommerce-result-count{margin:0}.rt-shop-toolbar .woocommerce-ordering{margin:0}
.rt-shop-toolbar select{padding:.48rem 2rem .48rem .7rem;border:1px solid oklch(var(--background-200));border-radius:9px;max-width:200px;background:white;color:oklch(var(--foreground-700));font-size:.8rem}
.rt-commerce-main ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;clear:both}
.rt-commerce-main ul.products:before,.rt-commerce-main ul.products:after{display:none}
.rt-commerce-main ul.products li.product{float:none!important;width:auto!important;margin:0!important;min-width:0!important}
.rt-commerce-main .rt-shop-card{background:white;border:1px solid oklch(var(--background-200)/.8);border-radius:15px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}
.rt-commerce-main .rt-shop-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px oklch(var(--foreground-950)/.07)}
.rt-card-photo{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:oklch(var(--background-100)/.8);padding:1rem;overflow:hidden}
.rt-card-photo img{height:100%!important;width:100%!important;object-fit:contain;transition:transform .3s ease;margin:0!important}
.rt-shop-card:hover .rt-card-photo img{transform:scale(1.05)}
.rt-card-badge{position:absolute;top:.6rem;left:.6rem;background:oklch(var(--accent-500));color:white;border-radius:5px;font-size:.7rem;font-weight:800;padding:.25rem .45rem;z-index:1}
.rt-card-badge-stock{top:auto;bottom:.6rem;background:oklch(var(--foreground-700))}
.rt-card-copy{padding:1rem;display:flex;flex-direction:column;flex:1;gap:0}
.rt-card-category{font-size:.7rem;color:oklch(var(--foreground-500));margin:0 0 .4rem}
.rt-card-title{font:700 .91rem/1.5 var(--font-body);margin:0 0 .45rem;letter-spacing:-.015em;color:oklch(var(--foreground-950));overflow-wrap:anywhere}
.rt-card-title a:hover{color:oklch(var(--primary-500))}
.rt-card-sku{color:oklch(var(--foreground-500));font-size:.67rem;margin:0 0 .4rem;overflow-wrap:anywhere}
.rt-card-sold{font-size:.71rem;font-weight:700;color:oklch(var(--accent-600));margin:0 0 .55rem}
.rt-card-price{font-size:1rem;font-weight:800;color:oklch(var(--primary-600));margin-top:auto;margin-bottom:.8rem;min-height:1.7rem;line-height:1.5}
.rt-card-price .price{color:inherit!important;font-size:inherit!important}
.rt-card-price del,.rt-single-price del,.rt-dialog-product-price del{color:oklch(var(--foreground-400));font-size:.78em;font-weight:400;opacity:1}
.rt-card-price ins,.rt-single-price ins,.rt-dialog-product-price ins{color:oklch(var(--primary-600));text-decoration:none;font-weight:800;background:transparent}
.rt-card-price .woocommerce-Price-amount{white-space:nowrap}
.rt-card-action{display:flex;justify-content:center;align-items:center;width:100%;border:0;border-radius:9px;background:linear-gradient(90deg,oklch(var(--primary-500)),oklch(var(--primary-600)));color:white!important;min-height:42px;padding:.65rem .5rem;font-size:.8rem;line-height:1.3;font-weight:700;cursor:pointer;text-decoration:none!important;transition:filter .2s;white-space:normal;text-align:center}
.rt-card-action:hover{filter:brightness(.9)}.rt-card-action-muted{background:oklch(var(--foreground-600))}
.rt-card-action.added{background:oklch(var(--accent-500))}
.rt-shop-empty{padding:3rem 1.4rem;text-align:center;background:white;border:1px solid oklch(var(--background-200));border-radius:15px;margin-bottom:2rem}
.rt-shop-empty h2{font:700 1.4rem var(--font-body)}.rt-shop-empty p{color:oklch(var(--foreground-600))}
.rt-commerce-main .woocommerce-pagination{margin:2rem auto 0;text-align:center}
.rt-commerce-main .woocommerce-pagination ul.page-numbers{display:flex;gap:.5rem;justify-content:center;list-style:none;padding:0;border:0}
.rt-commerce-main .woocommerce-pagination ul.page-numbers li{border:0}
.rt-commerce-main .woocommerce-pagination .page-numbers a,.rt-commerce-main .woocommerce-pagination .page-numbers span{display:grid;place-items:center;min-height:38px;min-width:38px;border:1px solid oklch(var(--background-200));border-radius:9px;padding:.3rem .6rem;text-decoration:none}
.rt-commerce-main .woocommerce-pagination .page-numbers .current{background:oklch(var(--primary-500));color:white}
/* Product detail: native WC gallery & variation forms */
.rt-product-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;color:oklch(var(--foreground-600));font-size:.78rem;margin:0 0 1.5rem}
.rt-product-crumbs a:hover{color:oklch(var(--primary-500))}
.rt-product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.5rem,5vw,3.4rem);align-items:start;margin-bottom:2.7rem}
.rt-product-gallery-col{position:sticky;top:24px;min-width:0}
.rt-product-gallery-col .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important}
.rt-product-gallery-col .woocommerce-product-gallery__wrapper{border-radius:19px;overflow:hidden;border:1px solid oklch(var(--background-200));background:linear-gradient(135deg,oklch(var(--background-100)),white,oklch(var(--background-200)/.7))}
.rt-product-gallery-col .woocommerce-product-gallery__image a{display:flex;align-items:center;justify-content:center;aspect-ratio:1;cursor:zoom-in;padding:1.5rem}
.rt-product-gallery-col .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;max-height:490px!important;object-fit:contain!important;display:block!important}
.rt-product-gallery-col .flex-control-thumbs{display:flex;gap:10px;margin:12px 0!important;padding:0;list-style:none}
.rt-product-gallery-col .flex-control-thumbs li{float:none!important;flex:1;width:auto!important;max-width:84px;border:1px solid oklch(var(--background-200));border-radius:9px;overflow:hidden}
.rt-product-gallery-col .onsale{position:absolute;z-index:4;top:12px;left:12px;right:auto;border-radius:6px;min-height:0;line-height:1.25;background:oklch(var(--accent-500));color:white;padding:.35rem .75rem;font-weight:800;font-size:.75rem}
.rt-product-summary{width:100%!important;float:none!important;margin:0!important;min-width:0}
.rt-product-summary h1.product_title{font:800 clamp(1.7rem,3.5vw,2.45rem)/1.22 var(--font-body);color:oklch(var(--foreground-950));letter-spacing:-.04em;margin:0 0 .65rem}
.rt-single-sku{font-size:.78rem;color:oklch(var(--foreground-500));margin:.3rem 0 .9rem}
.rt-review-stat{display:flex;align-items:center;gap:.6rem;font-size:.75rem;color:oklch(var(--foreground-600));margin:.6rem 0}
.rt-review-stat .star-rating{float:none;margin:0}
.rt-product-sold{font-size:.83rem;font-weight:700;color:oklch(var(--accent-600));margin:.5rem 0}
.rt-single-price{font-size:1.85rem;font-weight:800;line-height:1.45;color:oklch(var(--primary-600));margin:.9rem 0}
.rt-single-price .price{font-size:inherit!important;color:inherit!important;margin:0!important}
.rt-product-summary .woocommerce-product-details__short-description{font-size:.86rem;color:oklch(var(--foreground-700));line-height:1.7;margin:1rem 0}
.rt-product-stock-status{display:inline-block;margin:.6rem 0 1.3rem;border-radius:40px;font-size:.77rem;font-weight:700;padding:.35rem .65rem}
.rt-product-stock-status.is-in-stock{background:#e6f7ec;color:#227543}.rt-product-stock-status.is-out-of-stock{background:#fff0ef;color:#b92d2d}
.rt-product-buy{padding:1.1rem;background:oklch(var(--background-50));border:1px solid oklch(var(--background-200));border-radius:17px;margin:0 0 1.25rem}
.rt-product-buy .variations{width:100%;border:0;margin:0 0 1rem;border-collapse:collapse}
.rt-product-buy .variations tr{display:block;margin-bottom:1rem}
.rt-product-buy .variations th,.rt-product-buy .variations td{display:block;text-align:left;padding:0;border:0;width:100%}
.rt-product-buy .variations label{font-size:.79rem;font-weight:800;display:block;margin-bottom:.55rem}
.rt-product-buy .variations select{width:100%;background:white;border:1px solid oklch(var(--background-300));border-radius:10px;min-height:43px;padding:.65rem;color:oklch(var(--foreground-800))}
.rt-variant-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0 0 .6rem}
.rt-variant-option{border:1px solid oklch(var(--background-300));border-radius:10px;padding:.72rem .5rem;min-width:0;background:white;font-size:.82rem;font-weight:700;line-height:1.35;cursor:pointer;overflow-wrap:anywhere}
.rt-variant-option.is-selected,.rt-variant-option[aria-pressed="true"]{background:oklch(var(--primary-50));border:2px solid oklch(var(--primary-500));color:oklch(var(--primary-600));padding:calc(.72rem - 1px) calc(.5rem - 1px)}
.rt-variant-option:disabled{opacity:.4;cursor:not-allowed}
.rt-variant-option:focus-visible{outline:3px solid oklch(var(--primary-300));outline-offset:2px}
.rt-product-buy .rt-variant-ui-ready select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip-path:inset(50%)}
.rt-product-buy .reset_variations{font-size:.72rem;color:oklch(var(--primary-600));margin-left:.5rem}
.rt-product-buy .woocommerce-variation-price{color:oklch(var(--primary-600));font-size:1.45rem;font-weight:800;margin:.6rem 0}
.rt-product-buy .woocommerce-variation-price .price{color:inherit!important}
.rt-product-buy .woocommerce-variation-availability{font-size:.78rem}
.rt-product-buy .woocommerce-variation-availability .stock{margin:.5rem 0;color:#237944}
.rt-product-buy form.cart{margin:0!important}
.rt-product-buy .woocommerce-variation-add-to-cart,.rt-product-buy form.cart:not(.variations_form){display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.rt-product-buy .quantity{float:none!important;margin:0!important;display:block}
.rt-product-buy .qty{height:47px;width:76px;border:1px solid oklch(var(--background-300));border-radius:9px;padding:.3rem .5rem;text-align:center}
.rt-product-buy .single_add_to_cart_button{background:linear-gradient(95deg,oklch(var(--primary-500)),oklch(var(--primary-600)))!important;color:white!important;border:0!important;border-radius:10px!important;min-height:47px;padding:.8rem 1.5rem!important;flex:1;font-size:.88rem!important;font-weight:800!important;cursor:pointer}
.rt-product-buy .single_add_to_cart_button:disabled{opacity:.5!important;cursor:not-allowed}
.rt-product-meta{font-size:.76rem;color:oklch(var(--foreground-600))}
.rt-product-meta .product_meta>span{display:block;padding:.25rem 0}
.rt-product-meta a{color:oklch(var(--primary-600))}
.rt-product-details{clear:both}
.rt-product-details .woocommerce-tabs ul.tabs{display:flex;gap:.5rem;align-items:center;padding:.35rem!important;margin:0 0 1.3rem!important;background:oklch(var(--background-100));border-radius:50px;list-style:none;overflow-x:auto}
.rt-product-details .woocommerce-tabs ul.tabs:before,.rt-product-details .woocommerce-tabs ul.tabs:after{display:none!important}
.rt-product-details .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;border-radius:50px!important;background:transparent!important;white-space:nowrap}
.rt-product-details .woocommerce-tabs ul.tabs li:before,.rt-product-details .woocommerce-tabs ul.tabs li:after{display:none!important}
.rt-product-details .woocommerce-tabs ul.tabs li a{display:block;padding:.65rem 1.15rem!important;font-size:.82rem;font-weight:700;color:oklch(var(--foreground-600))!important}
.rt-product-details .woocommerce-tabs ul.tabs li.active{background:oklch(var(--primary-500))!important}
.rt-product-details .woocommerce-tabs ul.tabs li.active a{color:white!important}
.rt-product-details .woocommerce-Tabs-panel{margin:0 0 2.7rem!important;padding:.5rem .2rem!important;font-size:.87rem;line-height:1.8;color:oklch(var(--foreground-700))}
.rt-product-details .woocommerce-Tabs-panel h2{font:800 1.15rem var(--font-body);color:oklch(var(--foreground-950));margin:0 0 1rem}
.rt-product-details .woocommerce-Tabs-panel table{max-width:100%;border-collapse:collapse}
.rt-product-details .woocommerce-Tabs-panel th,.rt-product-details .woocommerce-Tabs-panel td{padding:.7rem;border-bottom:1px solid oklch(var(--background-200));overflow-wrap:anywhere}
.rt-product-details .related>h2,.rt-product-details .up-sells>h2{font:800 1.65rem var(--font-body);letter-spacing:-.035em;margin:2rem 0 1.25rem}
.rt-sale-countdown{border:1px solid oklch(var(--accent-200));background:oklch(var(--accent-50));border-radius:10px;padding:.65rem .9rem;font-size:.8rem;color:oklch(var(--accent-700));display:flex;gap:.5rem;margin:0 0 1rem}
.rt-product-stock-meter{margin:.6rem 0 1rem;font-size:.77rem;color:oklch(var(--foreground-600))}
.rt-product-stock-meter progress{display:block;width:100%;height:7px;accent-color:oklch(var(--accent-500));margin-top:.3rem}
/* Quick Add modal: WC form markup is inserted over AJAX, never a client-side cart */
.rt-quick-add-dialog{position:fixed;inset:0;margin:auto;border:1px solid oklch(var(--background-200));border-radius:18px;padding:0;width:min(95vw,490px);max-height:90dvh;box-shadow:0 20px 85px #0003;background:white;color:oklch(var(--foreground-950))}
.rt-quick-add-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}
.rt-dialog-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid oklch(var(--background-200));padding:1rem 1.25rem}
.rt-dialog-top h2{font:800 1rem var(--font-body);margin:0}.rt-dialog-top button{border:0;background:oklch(var(--background-100));border-radius:50%;width:33px;height:33px;cursor:pointer;font-size:1.4rem}
.rt-dialog-body{padding:1.25rem;max-height:calc(90dvh - 74px);overflow-y:auto}
.rt-dialog-product-title{font-weight:800;margin:0 0 .4rem}.rt-dialog-product-price{color:oklch(var(--primary-600));font-weight:800;margin:0 0 1rem}
.rt-dialog-body .variations{width:100%}.rt-dialog-body .variations td,.rt-dialog-body .variations th{display:block;padding:.3rem 0;text-align:left}
.rt-dialog-body .variations select{width:100%;height:43px;border:1px solid oklch(var(--background-300));border-radius:9px;padding:.5rem}
.rt-dialog-body .variations label{font-weight:750;font-size:.81rem}
.rt-dialog-body .single_add_to_cart_button{border:0;background:oklch(var(--primary-500));border-radius:9px;padding:.78rem 1.2rem;color:white;font-weight:750;cursor:pointer}
.rt-dialog-body .single_add_to_cart_button:disabled{opacity:.5}
.rt-dialog-body .quantity{display:inline-block}.rt-dialog-body .quantity input{width:70px;min-height:42px;border:1px solid oklch(var(--background-300));border-radius:9px;padding:.2rem .5rem;margin-right:.5rem}
.rt-dialog-body .woocommerce-variation-price{font-weight:800;color:oklch(var(--primary-600));margin:1rem 0}
.rt-dialog-body>p:last-child>a{color:oklch(var(--primary-600));font-size:.8rem;text-decoration:underline}
.rt-commerce-main .woocommerce-notices-wrapper .woocommerce-message,.rt-commerce-main .woocommerce-notices-wrapper .woocommerce-error{padding:1.1rem 1.5rem;margin:0 0 1.5rem}
@media(max-width:1023px){.rt-commerce-main ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.rt-product-layout{gap:1.6rem}}
@media(max-width:767px){.rt-commerce-main{padding:1.8rem 0 3rem}.rt-commerce-main .rt-container{width:min(100% - 2rem,1200px)}.rt-shop-categories{justify-content:flex-start;flex-wrap:nowrap;margin-inline:-1rem;padding-inline:1rem;padding-bottom:.45rem}.rt-category-pill{flex:0 0 auto}.rt-commerce-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.rt-card-copy{padding:.75rem}.rt-card-title{font-size:.83rem}.rt-card-price{font-size:.86rem}.rt-card-action{font-size:.72rem;min-height:40px}.rt-card-photo{padding:.6rem}.rt-product-layout{display:block}.rt-product-gallery-col{position:static;margin:0 -1rem 1.4rem}.rt-product-gallery-col .woocommerce-product-gallery__wrapper{border-radius:0}.rt-product-gallery-col .woocommerce-product-gallery__image a{padding:1.5rem}.rt-product-gallery-col .flex-control-thumbs{padding:0 1rem}.rt-product-summary h1.product_title{font-size:1.8rem}.rt-product-details .woocommerce-tabs ul.tabs{border-radius:14px}.rt-shop-toolbar{flex-wrap:wrap}.rt-shop-heading h1{font-size:1.6rem}}
@media(max-width:380px){.rt-commerce-main ul.products{gap:.6rem}.rt-card-copy{padding:.65rem}.rt-card-price{font-size:.78rem}.rt-card-action{font-size:.7rem}.rt-variant-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rt-shop-card,.rt-card-photo img,.rt-card-action{transition:none!important}}

.rt-variation-sku{font-size:.75rem;color:oklch(var(--foreground-600));margin:.75rem 0 .2rem;font-weight:650}
