/* Pawaurel WooCommerce styles */

/* Shop / archive layout. Scope the grid to <ul.products> only — the related
   and upsell <section class="related products"> also carries the `.products`
   class, and turning that section into a grid squeezes its inner <ul> into a
   single grid cell, shrinking the cards to ~74px. */
.pw-shop-content ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 1.4rem;margin:0;padding:0;list-style:none;}
.pw-shop-content ul.products .product{list-style:none;margin:0;padding:0;width:auto !important;float:none !important;}
.pw-shop-content ul.products li.product .onsale{display:none;}
/* Generic product grid (shortcode loops like [sale_products] outside archives) */
ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 1.4rem;margin:0 0 2rem;padding:0;list-style:none;}
ul.products li.product{list-style:none;margin:0;padding:0;width:auto !important;float:none !important;}
ul.products li.product .onsale{display:none;}
ul.products::after,.pw-shop-content ul.products::after,
ul.products::before,.pw-shop-content ul.products::before{content:none !important;display:none !important;clear:none !important;}

/* Single product */
.pw-single-product{padding:var(--pw-space-lg) 0;}
.woocommerce div.product div.images{margin-bottom:2.5rem;}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{border-radius:var(--pw-radius);}
.woocommerce div.product .product_title{font-family:var(--pw-font-heading);font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:.6rem;}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--pw-font-ui);font-size:1.4rem;color:var(--pw-color-primary);font-weight:500;}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{color:var(--pw-color-sale);text-decoration:none;}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--pw-color-text-subtle);font-weight:400;font-size:1rem;margin-right:.5em;}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:1rem;}
.woocommerce div.product .product_meta{font-size:.82rem;color:var(--pw-color-text-muted);border-top:1px solid var(--pw-color-border);padding-top:1.2rem;margin-top:1.5rem;}
.woocommerce div.product .product_meta .sku_wrapper,.woocommerce div.product .product_meta .posted_in,.woocommerce div.product .product_meta .tagged_as{display:block;padding:.2rem 0;}
.woocommerce .quantity .qty{padding:.6rem .8rem;border:1px solid var(--pw-color-border-strong);border-radius:var(--pw-radius-sm);width:80px;font-size:1rem;}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:2rem 0 0;border-bottom:1px solid var(--pw-color-border);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;padding:0;margin:0 1.4rem -1px 0;list-style:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--pw-font-ui);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  color:var(--pw-color-text-muted);padding:1rem 0;display:inline-block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--pw-color-primary);border-bottom:2px solid var(--pw-color-primary);}
.woocommerce div.product .woocommerce-tabs .panel{padding:2rem 0;}
.woocommerce div.product .woocommerce-tabs h2{font-size:1.3rem;margin-bottom:1rem;}

/* Single product related — larger, more prominent */
.woocommerce .related.products,.woocommerce .upsells.products{margin-top:var(--pw-space-xl);padding-top:var(--pw-space-xl);border-top:1px solid var(--pw-color-border);}
.woocommerce .related.products > h2,.woocommerce .upsells.products > h2{text-align:center;font-size:clamp(1.9rem,3.2vw,2.6rem);margin-bottom:2.5rem;letter-spacing:.04em;}
.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products{grid-template-columns:repeat(3,1fr);gap:2rem 1.8rem;}
.woocommerce .related.products .pw-product__media,
.woocommerce .upsells.products .pw-product__media{border-radius:var(--pw-radius);}
.woocommerce .related.products .pw-product__title,
.woocommerce .upsells.products .pw-product__title{font-size:1.05rem;}
.woocommerce .related.products .pw-product__price,
.woocommerce .upsells.products .pw-product__price{font-size:1.05rem;}
@media (max-width:992px){
  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:576px){
  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products{grid-template-columns:1fr;}
}

/* Cart */
.woocommerce-cart table.cart{border:0;border-collapse:collapse;margin:0 0 2rem;}
.woocommerce-cart table.cart th{font-family:var(--pw-font-ui);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--pw-color-text-muted);padding:1rem;border-bottom:1px solid var(--pw-color-border);}
.woocommerce-cart table.cart td{padding:1rem;border-bottom:1px solid var(--pw-color-border);vertical-align:middle;}
.woocommerce-cart table.cart .product-thumbnail img{width:80px;border-radius:var(--pw-radius-sm);}
.woocommerce-cart table.cart .product-name a{color:var(--pw-color-primary);font-weight:500;}
.woocommerce-cart table.cart .product-name a:hover{color:var(--pw-color-accent);}
.woocommerce-cart table.cart .qty{padding:.4rem .6rem;border:1px solid var(--pw-color-border-strong);width:70px;}
.woocommerce-cart .cart_totals h2{font-size:1.5rem;}
.woocommerce-cart .cart_totals .shop_table{border:0;border-radius:var(--pw-radius);overflow:hidden;}
.woocommerce-cart .cart_totals .shop_table th{font-family:var(--pw-font-ui);font-size:.85rem;padding:1rem;}
.woocommerce-cart .cart_totals .shop_table td{padding:1rem;border-top:1px solid var(--pw-color-border);}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  background:var(--pw-color-primary) !important;color:#fff !important;border-radius:0 !important;
  font-family:var(--pw-font-ui) !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  font-size:.72rem !important;font-weight:500 !important;padding:.9em 2em !important;transition:all var(--pw-t) !important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--pw-color-accent) !important;}
.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--pw-color-accent) !important;border-color:var(--pw-color-accent) !important;
}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--pw-color-accent-deep) !important;}

/* Checkout */
.woocommerce-checkout .checkout h3{font-size:1.4rem;margin-bottom:1rem;}
.woocommerce form .form-row label{font-family:var(--pw-font-ui);font-size:.78rem;letter-spacing:.06em;color:var(--pw-color-text-muted);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  padding:.8rem 1rem;border:1px solid var(--pw-color-border-strong);border-radius:var(--pw-radius-sm);
  font-size:.95rem;width:100%;
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:0;border-color:var(--pw-color-accent);}
.woocommerce-checkout #payment{background:var(--pw-color-bg-alt);border-radius:var(--pw-radius);}
.woocommerce-checkout #payment ul.payment_methods{padding:1.2rem;border-bottom:1px solid var(--pw-color-border);}
.woocommerce-checkout-review-order-table{border:0;border-radius:var(--pw-radius);overflow:hidden;margin-bottom:1.5rem;}
.woocommerce-checkout-review-order-table th{font-family:var(--pw-font-ui);font-size:.78rem;padding:1rem;border-bottom:1px solid var(--pw-color-border);}
.woocommerce-checkout-review-order-table td{padding:1rem;border-bottom:1px solid var(--pw-color-border);}

/* Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 2rem;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--pw-color-border);}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:1rem;color:var(--pw-color-text);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--pw-color-accent);font-weight:600;}

/* Star rating */
.star-rating{color:var(--pw-color-accent);font-size:1rem;letter-spacing:.1em;}

/* Pagination woocommerce */
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:.4rem;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:0;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--pw-color-border);
  font-size:.85rem;padding:0;
}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--pw-color-primary);color:#fff;border-color:var(--pw-color-primary);}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--pw-color-primary);color:#fff;border-color:var(--pw-color-primary);}

/* Empty cart */
.woocommerce-cart .cart-empty{text-align:center;font-size:1.4rem;color:var(--pw-color-text-muted);padding:3rem 0;}
.woocommerce-cart .return-to-shop{text-align:center;margin-bottom:3rem;}

/* ==========================================================================
   Single product — apparel layout (color swatches, size buttons, wishlist, etc.)
   ========================================================================== */
/* Two-column summary layout — grid lives on .pw-single-product so the gallery
   (left) and summary with specs/payment (right) sit side by side, while the
   tabs and related products flow full-width below. */
.woocommerce div.product .summary.entry-summary{padding-left:0;}
@media (min-width:769px){
  .pw-single-product{--pw-gallery-width:56%;display:grid;grid-template-columns:var(--pw-gallery-width) 1fr;gap:2.5rem;align-items:start;}
  .woocommerce div.product div.images{width:100% !important;float:none !important;margin-bottom:0;}
  .woocommerce div.product div.summary{width:100% !important;float:none !important;padding-left:2.5rem;}
}

/* Product note / brand label */
.pw-product-note{display:flex;align-items:center;gap:.55rem;margin-bottom:.6rem;font-family:var(--pw-font-ui);font-size:.75rem;letter-spacing:.04em;}
.pw-product-note__brand{font-weight:600;color:var(--pw-color-accent);text-transform:uppercase;}
.pw-product-note__sep{color:var(--pw-color-border-strong);}
.pw-product-note__text{color:var(--pw-color-text-muted);}

/* Title & price */
.woocommerce div.product .product_title{font-family:var(--pw-font-heading);font-size:clamp(2rem,3.6vw,3.4rem);font-weight:400;letter-spacing:.02em;line-height:1;margin-bottom:.6rem;text-transform:uppercase;}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--pw-font-ui);font-size:1.6rem;color:var(--pw-color-primary);font-weight:500;margin-bottom:.9rem;}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--pw-color-text-muted);font-size:.92rem;line-height:1.6;margin-bottom:1.25rem;}

/* Variation pickers */
.pw-variation-picker{margin-bottom:1.1rem;}
.pw-variation-picker__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem;font-family:var(--pw-font-ui);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-color-text-muted);}
.pw-variation-picker__value{font-weight:500;color:var(--pw-color-primary);letter-spacing:.04em;text-transform:none;}
/* The swatch pickers are injected via the dropdown-HTML filter, so they live
   inside the .variations <table>. Render that table as a full-width block so
   the pickers stay visible in the right-hand summary column; hide only the
   native <select> dropdowns (kept in the DOM for WooCommerce's variation JS)
   and the redundant <th class="label"> cells, since .pw-variation-picker__header
   already labels each attribute. */
.woocommerce div.product form.cart .variations{display:block;width:100%;flex:0 0 100%;margin:0 0 .4rem;padding:0;border:0;}
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{display:block;padding:0;border:0;text-align:left;}
.woocommerce div.product form.cart .variations th.label{display:none;}
.woocommerce div.product form.cart .variations td.value{width:100%;}
.woocommerce div.product form.cart .variations select{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}
.woocommerce div.product form.cart .single_variation_wrap{margin-top:.75rem;width:100%;}

/* Color swatches */
.pw-color-swatches{display:flex;flex-wrap:wrap;gap:.5rem;}
.pw-color-swatch{
  width:34px;height:34px;border-radius:50%;cursor:pointer;position:relative;
  border:2px solid transparent;box-shadow:0 0 0 1px var(--pw-color-border-strong);
  transition:all var(--pw-t-fast);background:#fff;padding:0;
}
.pw-color-swatch:hover{transform:scale(1.06);box-shadow:0 0 0 1px var(--pw-color-primary);}
.pw-color-swatch.is-active{box-shadow:0 0 0 2px var(--pw-color-primary);border-color:#fff;}
.pw-color-swatch span{position:absolute;inset:0;border-radius:50%;overflow:hidden;background-size:cover;background-position:center;}
.pw-color-swatch span::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(0,0,0,.06));border-radius:50%;}

/* Size buttons */
.pw-size-buttons{display:flex;flex-wrap:wrap;gap:.4rem;}
.pw-size-btn{
  min-width:48px;height:40px;padding:0 .9rem;border:1px solid var(--pw-color-border-strong);background:#fff;
  font-family:var(--pw-font-ui);font-size:.78rem;font-weight:500;letter-spacing:.06em;
  color:var(--pw-color-primary);cursor:pointer;transition:all var(--pw-t-fast);
}
.pw-size-btn:hover{border-color:var(--pw-color-primary);}
.pw-size-btn.is-active{background:var(--pw-color-primary);color:#fff;border-color:var(--pw-color-primary);}
.pw-size-btn.is-disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through;}

/* Cart form wrapper */
.woocommerce div.product form.cart{margin:1rem 0 0;padding:0;background:transparent;border-radius:0;}
.woocommerce div.product form.cart,
.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;}
.woocommerce div.product form.cart .quantity{display:inline-flex;align-items:stretch;margin:0;}
.woocommerce .quantity .qty{
  width:60px;height:48px;text-align:center;padding:.5rem .3rem;border:1px solid var(--pw-color-border-strong);
  border-radius:0;font-size:.95rem;-moz-appearance:textfield;
}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* Add to cart button */
.woocommerce div.product form.cart button.single_add_to_cart_button{
  height:48px;background:var(--pw-color-primary) !important;color:#fff !important;border-radius:0 !important;
  font-family:var(--pw-font-ui) !important;letter-spacing:.16em !important;text-transform:uppercase !important;
  font-size:.72rem !important;font-weight:500 !important;padding:0 2.4em !important;transition:all var(--pw-t) !important;flex:1;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed;}

/* Action rows (wishlist, size chart) */
.pw-single-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem;width:100%;}
.pw-single-actions--full{display:flex;gap:.5rem;}
.pw-single-actions .button,
.pw-single-actions .pw-btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;height:42px;
  border:1px solid var(--pw-color-border-strong);background:#fff;color:var(--pw-color-primary);
  font-family:var(--pw-font-ui);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:0 1rem;cursor:pointer;transition:all var(--pw-t-fast);text-decoration:none;
}
.pw-single-actions .button:hover,
.pw-single-actions .pw-btn-outline:hover{border-color:var(--pw-color-primary);background:var(--pw-color-primary);color:#fff;}
.pw-single-actions .pw-btn-outline.is-active{background:var(--pw-color-accent);border-color:var(--pw-color-accent);color:#fff;}
.pw-single-actions svg{width:16px;height:16px;}

/* Custom engraving add-on field */
.pw-engraving{width:100%;margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--pw-color-border-strong);background:#fff;transition:border-color var(--pw-t-fast);}
.pw-engraving:focus-within{border-color:var(--pw-color-primary);}
.pw-engraving__toggle{display:flex;align-items:center;gap:.6rem;cursor:pointer;user-select:none;margin:0;}
.pw-engraving__toggle input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.pw-engraving__box{position:relative;width:20px;height:20px;border:1.5px solid var(--pw-color-border-strong);background:#fff;flex:0 0 20px;transition:all var(--pw-t-fast);}
.pw-engraving__box::after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform var(--pw-t-fast);}
.pw-engraving__toggle input:checked + .pw-engraving__box{background:var(--pw-color-accent);border-color:var(--pw-color-accent);}
.pw-engraving__toggle input:checked + .pw-engraving__box::after{transform:rotate(45deg) scale(1);}
.pw-engraving__toggle input:focus-visible + .pw-engraving__box{box-shadow:0 0 0 2px var(--pw-color-accent-soft);}
.pw-engraving__label{font-family:var(--pw-font-ui);font-size:.82rem;letter-spacing:.04em;color:var(--pw-color-primary);display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;}
.pw-engraving__fee{font-weight:600;color:var(--pw-color-accent-deep);}
.pw-engraving__fee .woocommerce-Price-currencySymbol{font-size:.85em;margin-right:.05em;}

.pw-engraving__field{display:flex;align-items:stretch;margin-top:.75rem;opacity:.45;transition:opacity var(--pw-t-fast);pointer-events:none;}
.pw-engraving.is-active .pw-engraving__field{opacity:1;pointer-events:auto;}
.pw-engraving__field input{
  flex:1;height:46px;padding:0 .9rem;border:1px solid var(--pw-color-border-strong);border-right:0;background:#fff;
  font-family:var(--pw-font-ui);font-size:1rem;letter-spacing:.06em;color:var(--pw-color-primary);border-radius:0;
}
.pw-engraving__field input:focus{outline:none;border-color:var(--pw-color-primary);}
.pw-engraving__field input:disabled{background:var(--pw-color-bg-alt);}
.pw-engraving__count{
  display:flex;align-items:center;padding:0 .85rem;border:1px solid var(--pw-color-border-strong);background:var(--pw-color-bg-alt);
  font-family:var(--pw-font-ui);font-size:.72rem;color:var(--pw-color-text-muted);letter-spacing:.04em;white-space:nowrap;
}
.pw-engraving.is-active .pw-engraving__count.is-max{color:var(--pw-color-accent-deep);font-weight:600;}
.pw-engraving__desc{margin:.5rem 0 0;font-size:.72rem;letter-spacing:.02em;color:var(--pw-color-text-muted);}

/* Cart/checkout: engraving meta line */
.woocommerce td.product-name .wc-item-meta li.pw-engraving-meta strong{color:var(--pw-color-accent-deep);}

/* Payment buttons placeholder */
.pw-payment-buttons{display:grid;gap:.45rem;margin-top:.9rem;width:100%;}
.pw-payment-button{
  height:40px;border-radius:var(--pw-radius-sm);display:flex;align-items:center;justify-content:center;
  font-family:var(--pw-font-ui);font-size:.8rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:opacity var(--pw-t-fast);
}
.pw-payment-button:hover{opacity:.92;}
.pw-payment-button--google{background:#000;color:#fff;}
.pw-payment-button--amazon{background:#ffd814;color:#0f1111;}
.pw-payment-button--link{background:#00d64f;color:#fff;}
.pw-payment-button__note{font-size:.7rem;color:var(--pw-color-text-muted);text-align:center;margin-top:.25rem;}

/* Size chart modal */
.pw-size-chart{position:fixed;inset:0;z-index:1100;background:rgba(26,26,26,.6);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--pw-t);}
.pw-size-chart.is-open{opacity:1;visibility:visible;}
.pw-size-chart__inner{background:#fff;padding:2rem;border-radius:var(--pw-radius);max-width:560px;width:calc(100% - 2rem);max-height:80vh;overflow-y:auto;position:relative;}
.pw-size-chart__close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;color:var(--pw-color-primary);}
.pw-size-chart__title{font-family:var(--pw-font-heading);font-size:1.6rem;margin-bottom:1.2rem;}
.pw-size-chart table{width:100%;border-collapse:collapse;font-size:.9rem;}
.pw-size-chart th,.pw-size-chart td{padding:.8rem;border:1px solid var(--pw-color-border);text-align:center;}
.pw-size-chart th{background:var(--pw-color-bg-alt);font-weight:600;}

/* Clean up product meta */
.woocommerce div.product .product_meta{border-top:0;padding-top:0;margin-top:1.5rem;font-size:.78rem;letter-spacing:.06em;color:var(--pw-color-text-muted);}

/* Variation price / stock message */
.woocommerce div.product .woocommerce-variation-price{margin-bottom:.8rem;}
.woocommerce div.product .woocommerce-variation-availability{font-size:.85rem;color:var(--pw-color-text-muted);}
.woocommerce div.product .woocommerce-variation-description{margin-bottom:.8rem;font-size:.9rem;color:var(--pw-color-text-muted);}

/* WooCommerce responsive */
@media (max-width:992px){
  .pw-shop-content ul.products,ul.products{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:768px){
  .woocommerce div.product div.images,.woocommerce div.product div.summary{width:100% !important;float:none !important;}
  .pw-shop-content ul.products,ul.products{grid-template-columns:repeat(2,1fr);}
  .woocommerce-cart table.cart .product-thumbnail{display:none;}
}
@media (max-width:576px){
  .pw-shop-content ul.products,ul.products{grid-template-columns:1fr;}
  .woocommerce-cart table.cart th,.woocommerce-cart table.cart td{padding:.6rem;font-size:.85rem;}
}
