/* =========================================================
   BREADCRUMBS
========================================================= */
.pa-breadcrumbs{
  font-size:13px;
  color:var(--pa-ink-soft);
  margin:16px 0;
}
.pa-breadcrumbs a{color:var(--pa-ink-soft);}
.pa-breadcrumbs a:hover{color:var(--pa-primary);}

/* =========================================================
   SHOP HEADER / TOOLBAR
========================================================= */
.pa-shop-header{padding-top:8px;}
.pa-shop-title{font-size:clamp(24px,4vw,34px);margin-bottom:6px;}
.pa-shop-description{color:var(--pa-ink-soft);max-width:760px;margin-bottom:10px;}

.pa-shop-wrap{max-width:100%;}
.woocommerce-products-header{margin-bottom:8px;}

.pa-shop-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  background:var(--pa-paper);
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius);
  padding:12px 18px;
  margin-bottom:24px;
}
.pa-shop-toolbar__count{font-size:13.5px;color:var(--pa-ink-soft);}
.pa-shop-toolbar select{
  padding:9px 34px 9px 12px;
  border:1px solid var(--pa-border);
  border-radius:8px;
  font-size:13.5px;
  background:var(--pa-paper);
}

ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  list-style:none;
  padding:0;
  margin:0;
}
ul.products li.product{margin:0;}

@media(max-width:1100px){ul.products{grid-template-columns:repeat(3,1fr);}}
@media(max-width:780px){ul.products{grid-template-columns:repeat(2,1fr);gap:14px;}}

/* WooCommerce default widgets restyle (price filter, layered nav, ratings) */
.widget_price_filter .price_slider{margin-bottom:16px;}
.widget_price_filter .price_slider_amount{display:flex;align-items:center;justify-content:space-between;font-size:13px;}
.widget_price_filter .button{
  padding:8px 16px;border-radius:999px;background:var(--pa-primary);color:#fff;border:none;font-size:12.5px;font-weight:600;
}
.widget_layered_nav ul,.widget_product_categories ul{list-style:none;padding:0;margin:0;}
.widget_layered_nav li,.widget_product_categories li{
  display:flex;align-items:center;justify-content:space-between;
  padding:7px 0;border-bottom:1px solid var(--pa-border);font-size:13.5px;
}
.widget_layered_nav li a,.widget_product_categories li a{color:var(--pa-ink);}
.widget_layered_nav li a:hover,.widget_product_categories li a:hover{color:var(--pa-primary);}
.woocommerce-widget-layered-nav-dropdown__submit{
  margin-top:8px;padding:8px 16px;border-radius:8px;background:var(--pa-accent);color:#fff;border:none;
}

/* Mobile filter toggle helper (progressive enhancement via JS class) */
.pa-mobile-filters-toggle{
  display:none;
  width:100%;
  padding:12px;
  margin-bottom:16px;
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-sm);
  background:var(--pa-paper);
  font-weight:600;
}
@media(max-width:900px){
  .pa-mobile-filters-toggle{display:block;}
}

/* =========================================================
   PRODUCT LOOP RATING (fallback default WC markup, kept minimal)
========================================================= */
.star-rating{color:var(--pa-accent-2);}

/* =========================================================
   SINGLE PRODUCT
========================================================= */
.single-product div.product{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:flex-start;
}
.single-product .woocommerce-product-gallery{position:sticky;top:96px;}
.single-product .woocommerce-product-gallery__wrapper{
  border-radius:var(--pa-radius-lg);
  overflow:hidden;
  background:var(--pa-bg-alt);
}
.single-product .woocommerce-product-gallery__image img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
}
.single-product .flex-control-thumbs{
  display:flex;
  gap:10px;
  margin-top:12px;
  list-style:none;
  padding:0;
  flex-wrap:wrap;
}
.single-product .flex-control-thumbs li{width:76px;}
.single-product .flex-control-thumbs img{
  border-radius:8px;
  border:2px solid transparent;
  cursor:pointer;
  aspect-ratio:1;
  object-fit:cover;
}
.single-product .flex-control-thumbs img.flex-active{border-color:var(--pa-primary);}

.single-product .product_title{font-size:clamp(24px,3.5vw,32px);margin-bottom:10px;}
.pa-single-rating{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.pa-rating-link{font-size:13px;color:var(--pa-ink-soft);}

.single-product p.price,
.single-product .price{
  font-size:26px;
  font-weight:800;
  color:var(--pa-ink);
  margin-bottom:16px;
}
.single-product p.price del{font-size:17px;color:var(--pa-ink-soft);font-weight:400;margin-right:10px;}
.single-product p.price ins{text-decoration:none;color:var(--pa-primary);}

.woocommerce-product-details__short-description{
  font-size:15px;
  color:var(--pa-ink-soft);
  margin-bottom:20px;
  line-height:1.7;
}

/* Custom printing options box (structural hook from inc/woocommerce.php,
   fields rendered by inc/custom-options.php) */
.pa-print-options{margin:20px 0;}
.pa-print-options:empty{display:none;margin:0;}
.pa-print-options .pa-option-group{margin-bottom:18px;}
.pa-print-options label{font-weight:600;font-size:13.5px;display:block;margin-bottom:8px;}

.pa-print-options__title{
  font-size:18px;
  margin:0 0 14px;
  padding-top:18px;
  border-top:1px solid var(--pa-border);
}
.pa-print-options__fields{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px 18px;
  margin-bottom:18px;
}
.pa-option-field{display:flex;flex-direction:column;}
.pa-option-field--upload,
.pa-option-field--textarea{grid-column:1 / -1;}
.pa-option-field label{font-weight:600;font-size:13.5px;margin-bottom:6px;color:var(--pa-ink);}
.pa-option-field select,
.pa-option-field input[type="text"],
.pa-option-field input[type="file"],
.pa-option-field textarea{
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-sm);
  padding:11px 12px;
  font-size:14.5px;
  background:var(--pa-paper);
  width:100%;
}
.pa-option-field textarea{resize:vertical;min-height:80px;}
.pa-option-field select:focus,
.pa-option-field input:focus,
.pa-option-field textarea:focus{outline:none;border-color:var(--pa-primary);}
.pa-option-field__hint{font-size:12px;color:var(--pa-ink-soft);margin-top:4px;}
.pa-upload-error{color:var(--pa-primary-dark);font-size:12.5px;margin-top:4px;}
.pa-upload-error:empty{display:none;}
@media(max-width:600px){
  .pa-print-options__fields{grid-template-columns:1fr;}
}

/* =========================================================
   QUICK VIEW MODAL (AJAX content from inc/quick-view.php)
========================================================= */
.pa-quickview-overlay{
  position:fixed;inset:0;
  background:rgba(15,23,42,.6);
  z-index:95;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  transition:opacity .18s ease;
}
.pa-quickview-overlay.is-open{opacity:1;}
.pa-quickview-overlay[hidden]{display:none;}
.pa-quickview-modal{
  background:var(--pa-paper);
  border-radius:var(--pa-radius-lg);
  max-width:760px;
  width:100%;
  max-height:88vh;
  overflow-y:auto;
  box-shadow:var(--pa-shadow-lg);
}
.pa-quickview{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
.pa-quickview__close{
  position:absolute;
  top:12px;right:12px;
  width:36px;height:36px;
  border-radius:50%;
  border:none;
  background:var(--pa-bg-alt);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.pa-quickview__media{background:var(--pa-bg-alt);}
.pa-quickview__media img,
.pa-quickview__media svg{width:100%;height:100%;object-fit:cover;display:block;}
.pa-quickview__body{padding:28px;display:flex;flex-direction:column;gap:10px;}
.pa-quickview__title{font-size:22px;margin:0;padding-right:30px;}
.pa-quickview__price{font-size:20px;font-weight:700;color:var(--pa-primary);}
.pa-quickview__price ins{text-decoration:none;}
.pa-quickview__price del{color:var(--pa-ink-soft);font-weight:400;margin-right:8px;}
.pa-quickview__desc{color:var(--pa-ink-soft);font-size:14.5px;line-height:1.7;}
.pa-quickview__note{font-size:13.5px;color:var(--pa-ink-soft);background:var(--pa-bg-alt);padding:10px 12px;border-radius:8px;}
.pa-quickview__form{display:flex;align-items:center;gap:12px;}
.pa-quickview__select{align-self:flex-start;}
.pa-quickview__link{margin-top:6px;font-weight:700;color:var(--pa-accent);}
.pa-quickview__loading{padding:60px 20px;text-align:center;color:var(--pa-ink-soft);}
@media(max-width:640px){
  .pa-quickview{grid-template-columns:1fr;}
  .pa-quickview__media img,
  .pa-quickview__media svg{max-height:260px;}
}

form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;}
.quantity{display:flex;}
.quantity .qty{
  width:72px;
  padding:12px 10px;
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-sm);
  font-size:15px;
  text-align:center;
}
.single_add_to_cart_button{
  padding:14px 30px !important;
  border-radius:999px !important;
  background:var(--pa-primary) !important;
  color:#fff !important;
  border:none !important;
  font-weight:700 !important;
  font-size:15px !important;
  cursor:pointer;
}
.single_add_to_cart_button:hover{background:var(--pa-primary-dark) !important;}
.pa-buy-now{margin-left:2px;}

.product_meta{
  font-size:13px;
  color:var(--pa-ink-soft);
  border-top:1px solid var(--pa-border);
  padding-top:16px;
  margin-top:10px;
}
.product_meta > span{display:block;margin-bottom:6px;}
.product_meta a{color:var(--pa-primary);}

/* Tabs (description / additional info / reviews) */
.woocommerce-tabs{
  grid-column:1 / -1;
  margin-top:56px;
  border-top:1px solid var(--pa-border);
  padding-top:32px;
}
.woocommerce-tabs ul.tabs{
  display:flex;
  gap:8px;
  list-style:none;
  padding:0;
  margin-bottom:26px;
  border-bottom:1px solid var(--pa-border);
  flex-wrap:wrap;
}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{
  display:inline-block;
  padding:12px 18px;
  font-weight:600;
  font-size:14.5px;
  color:var(--pa-ink-soft);
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.woocommerce-tabs ul.tabs li.active a{color:var(--pa-primary);border-color:var(--pa-primary);}
.woocommerce-tabs .panel{max-width:820px;line-height:1.8;}
.woocommerce-tabs table.shop_attributes{width:100%;border-collapse:collapse;}
.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td{padding:10px 14px;border:1px solid var(--pa-border);font-size:14px;}
.woocommerce-tabs table.shop_attributes th{background:var(--pa-bg-alt);width:220px;}

/* Related products */
.related.products{grid-column:1 / -1;margin-top:56px;}
.related.products > h2{font-size:24px;margin-bottom:22px;}
.related.products ul.products{grid-template-columns:repeat(4,1fr);}

@media(max-width:900px){
  .single-product div.product{grid-template-columns:1fr;gap:28px;}
  .single-product .woocommerce-product-gallery{position:static;}
  .related.products ul.products{grid-template-columns:repeat(2,1fr);}
}

/* =========================================================
   CART PAGE
========================================================= */
.pa-cart-layout{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:32px;
  align-items:flex-start;
}
.pa-cart-table-wrap{
  background:var(--pa-paper);
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-lg);
  overflow:hidden;
}
table.pa-cart-table{width:100%;border-collapse:collapse;}
table.pa-cart-table th{
  text-align:left;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--pa-ink-soft);
  background:var(--pa-bg-alt);
  padding:14px 16px;
}
table.pa-cart-table td{padding:16px;border-bottom:1px solid var(--pa-border);vertical-align:middle;}
table.pa-cart-table .product-thumbnail img{
  width:76px;height:76px;object-fit:cover;border-radius:10px;
}
.pa-cart-remove{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;
  background:var(--pa-bg-alt);color:var(--pa-ink-soft);font-size:16px;line-height:1;
}
.pa-cart-remove:hover{background:var(--pa-primary);color:#fff;}
table.pa-cart-table td.product-name a{font-weight:600;color:var(--pa-ink);}
table.pa-cart-table .actions{background:var(--pa-bg-alt);}
.pa-cart-coupon{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;}
.pa-cart-coupon input{
  padding:10px 14px;border:1px solid var(--pa-border);border-radius:8px;font-size:13.5px;min-width:180px;
}

.pa-cart-totals{
  background:var(--pa-paper);
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-lg);
  padding:24px;
  position:sticky;
  top:96px;
}
.pa-cart-totals h2{font-size:18px;margin-bottom:16px;}
.pa-cart-totals table{width:100%;border-collapse:collapse;}
.pa-cart-totals th,.pa-cart-totals td{padding:10px 0;font-size:14px;border-bottom:1px solid var(--pa-border);text-align:left;}
.pa-cart-totals .order-total th,.pa-cart-totals .order-total td{
  font-size:18px;font-weight:800;border-bottom:none;padding-top:16px;
}
.pa-proceed-checkout{margin-top:18px;}
.pa-proceed-checkout .checkout-button{
  display:block;text-align:center;
  padding:15px;border-radius:999px;
  background:var(--pa-primary);color:#fff;font-weight:700;
}
.pa-proceed-checkout .checkout-button:hover{background:var(--pa-primary-dark);}

@media(max-width:900px){
  .pa-cart-layout{grid-template-columns:1fr;}
  .pa-cart-totals{position:static;}
  table.pa-cart-table thead{display:none;}
  table.pa-cart-table tr{display:flex;flex-wrap:wrap;padding:14px 0;}
  table.pa-cart-table td{border:none;padding:6px 16px;}
  table.pa-cart-table td.product-name{width:calc(100% - 100px);}
}

/* =========================================================
   CHECKOUT PAGE
========================================================= */
.pa-checkout-steps{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  list-style:none;
  margin:0 0 28px;
  padding:0;
}
.pa-checkout-steps__item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  color:var(--pa-ink-soft);
}
.pa-checkout-steps__item:not(:last-child)::after{
  content:"";
  width:28px;
  height:1px;
  background:var(--pa-border);
  margin:0 4px;
}
.pa-checkout-steps__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;height:24px;
  border-radius:50%;
  background:var(--pa-bg-alt);
  color:var(--pa-ink-soft);
  font-size:12px;
}
.pa-checkout-steps__item.is-done .pa-checkout-steps__num{background:var(--pa-primary);color:#fff;}
.pa-checkout-steps__item.is-done{color:var(--pa-ink);}
.pa-checkout-steps__item.is-active .pa-checkout-steps__num{background:var(--pa-primary);color:#fff;}
.pa-checkout-steps__item.is-active{color:var(--pa-primary);}

.pa-checkout-layout{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:32px;
  align-items:flex-start;
}
.pa-checkout-card{
  background:var(--pa-paper);
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-lg);
  padding:28px;
  margin-bottom:24px;
}
.pa-checkout-card h2{font-size:18px;margin-bottom:6px;}
.pa-checkout-card__hint{font-size:13px;color:var(--pa-ink-soft);margin:0 0 20px;}
.pa-checkout-card--sticky{position:sticky;top:96px;}
.pa-checkout-subhead{
  font-size:12.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--pa-primary);
  margin:0 0 14px;
  padding-top:4px;
}
.col-1 .pa-checkout-subhead{margin-top:0;}

.woocommerce-billing-fields .form-row,
.woocommerce-shipping-fields .form-row,
.woocommerce-additional-fields .form-row{margin-bottom:16px;}
.woocommerce-checkout label{font-size:13.5px;font-weight:600;margin-bottom:6px;display:block;}
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea{
  width:100%;
  padding:12px 14px;
  min-height:46px;
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-sm);
  font-size:14.5px;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{border-color:var(--pa-primary);outline:none;}

#order_review table.shop_table{width:100%;border-collapse:collapse;margin-bottom:16px;}
#order_review table.shop_table th,
#order_review table.shop_table td{padding:10px 0;border-bottom:1px solid var(--pa-border);font-size:14px;}
#order_review .product-name{display:flex;justify-content:space-between;}

.wc_payment_methods{list-style:none;padding:0;margin:16px 0;}
.wc_payment_method{
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-sm);
  padding:12px 14px;
  margin-bottom:10px;
}
.wc_payment_method label{display:inline;font-weight:600;margin-left:6px;}
.payment_box{
  background:var(--pa-bg-alt);
  padding:12px 14px;
  border-radius:8px;
  margin-top:10px;
  font-size:13px;
  color:var(--pa-ink-soft);
}
.place-order .button{
  width:100%;
  padding:16px;
  border-radius:999px;
  background:var(--pa-primary);
  color:#fff;
  font-weight:700;
  font-size:16px;
  border:none;
  cursor:pointer;
}
.place-order .button:hover{background:var(--pa-primary-dark);}
.pa-checkout-secure-note{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:var(--pa-ink-soft);
  margin-top:14px;
}
.pa-checkout-empty{padding:40px;text-align:center;font-size:16px;}

@media(max-width:900px){
  .pa-checkout-layout{grid-template-columns:1fr;}
  .pa-checkout-card--sticky{position:static;}
  #customer_details .col-1,#customer_details .col-2{width:100%;}
  .pa-checkout-card{padding:20px;}
  .pa-checkout-steps{gap:4px;margin-bottom:20px;}
  .pa-checkout-steps__item{font-size:11.5px;}
  .pa-checkout-steps__item:not(:last-child)::after{width:16px;}
}
@media(max-width:480px){
  .place-order .button{min-height:50px;font-size:15px;}
}

/* =========================================================
   MY ACCOUNT
========================================================= */
.pa-account-layout{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:32px;
  align-items:flex-start;
}
.pa-account-nav ul{
  list-style:none;padding:0;margin:0;
  background:var(--pa-paper);
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius);
  overflow:hidden;
}
.pa-account-nav li{border-bottom:1px solid var(--pa-border);}
.pa-account-nav li:last-child{border-bottom:none;}
.pa-account-nav li a{
  display:block;padding:13px 18px;font-size:14px;font-weight:600;color:var(--pa-ink);
}
.pa-account-nav li.is-active a,.pa-account-nav li a:hover{background:var(--pa-primary-light);color:var(--pa-primary);}
.pa-account-content{
  background:var(--pa-paper);
  border:1px solid var(--pa-border);
  border-radius:var(--pa-radius);
  padding:28px;
}
.woocommerce-MyAccount-content table.shop_table{width:100%;border-collapse:collapse;}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td{padding:12px;border-bottom:1px solid var(--pa-border);font-size:13.5px;}
.woocommerce-MyAccount-content .button{
  display:inline-block;padding:10px 20px;border-radius:999px;background:var(--pa-primary);color:#fff;font-weight:600;font-size:13px;
}
.woocommerce-MyAccount-content form .form-row{margin-bottom:14px;}
.woocommerce-MyAccount-content input.input-text{
  width:100%;padding:11px 14px;border:1px solid var(--pa-border);border-radius:8px;
}

@media(max-width:800px){
  .pa-account-layout{grid-template-columns:1fr;}
}

/* =========================================================
   NOTICES
========================================================= */
.woocommerce-message,.woocommerce-error,.woocommerce-info{
  list-style:none;
  padding:14px 18px;
  border-radius:var(--pa-radius-sm);
  background:var(--pa-primary-light);
  color:var(--pa-primary-dark);
  border:1px solid rgba(225,29,46,.25);
  margin-bottom:20px;
  font-size:14px;
}
.woocommerce-message a.button,.woocommerce-error a.button{
  margin-left:10px;padding:6px 14px;border-radius:999px;background:var(--pa-primary);color:#fff;font-size:12.5px;
}
