/* ============================================================
   PEPSTAR — WooCommerce styling to match the bespoke design.
   Relies on the :root tokens + primitives defined in site.css.
   ============================================================ */

/* ---- page heros / breadcrumb bars ---- */
.phero.phero-sm { padding: 46px 0 40px; }
.phero .ptitle { color:#fff; font-family:'Archivo',sans-serif; font-weight:800; letter-spacing:-.02em; font-size:clamp(1.8rem,3.6vw,2.7rem); margin:.3em 0 0; }
.pcrumb-bar { background:var(--cream); border-bottom:1px solid var(--line); padding:14px 0; }
.pcrumb-bar .crumb, .phero .crumb { color:var(--muted); font-size:.86rem; }
.phero .crumb a { color:var(--gold-2); } .pcrumb-bar .crumb a { color:var(--gold-dk); }
.woocommerce .crumb a:hover { text-decoration:underline; }
.wc-section { padding-top:clamp(34px,5vw,56px); }
.wc-wrap { max-width:var(--wrap); margin:0 auto; padding:0 var(--gut); }

/* ---- buttons: map all WC buttons to the gold pill ---- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt, .wc-block-components-button {
  background:linear-gradient(135deg,#E2C067,#C9A23E) !important; color:var(--navy) !important;
  border:0 !important; border-radius:50px !important; font-family:'Archivo',sans-serif; font-weight:700 !important;
  padding:13px 26px !important; box-shadow:0 8px 22px rgba(201,162,62,.28); transition:transform .15s var(--ease),box-shadow .15s var(--ease); text-shadow:none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce .button.alt:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(201,162,62,.36); color:var(--navy) !important; }
.woocommerce .button.disabled, .woocommerce button.button:disabled { opacity:.5 !important; cursor:not-allowed; transform:none !important; }
.woocommerce a.added_to_cart { margin-left:8px; }

/* ---- shop archive grid (Woo loop) → bespoke cards ---- */
.woocommerce ul.products, ul.products { display:grid !important; grid-template-columns:repeat(4,1fr); gap:22px; margin:0 !important; padding:0 !important; list-style:none; }
.woocommerce ul.products li.product, ul.products li.product { width:auto !important; margin:0 !important; padding:0 !important; float:none !important; }
.woocommerce ul.products li.product::before { display:none; }
@media(max-width:1100px){ .woocommerce ul.products, ul.products { grid-template-columns:repeat(3,1fr);} }
@media(max-width:820px){ .woocommerce ul.products, ul.products { grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .woocommerce ul.products, ul.products { grid-template-columns:1fr 1fr; gap:14px;} }

/* shop toolbar */
.woocommerce .woocommerce-result-count { color:var(--muted); font-size:.88rem; margin-top:6px; }
.woocommerce .woocommerce-ordering select { border:1px solid var(--line); border-radius:50px; padding:9px 16px; font-family:'Inter',sans-serif; background:#fff; }
.woocommerce-no-products-found { padding:30px 0; color:var(--body); }

/* the add (+) button inside cards already styled by .card .add in site.css; keep Woo from overriding */
.card .add.added { display:inline-flex; }
.card .add::after { display:none !important; }

/* ---- single product ---- */
.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,56px); }
.woocommerce div.product .woocommerce-product-gallery { width:100% !important; float:none !important; margin:0 !important; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius:var(--r-lg); border:1px solid var(--line); background:var(--cream); }
.woocommerce div.product .summary { width:100% !important; float:none !important; margin:0 !important; }
.woocommerce div.product .product_title { font-family:'Archivo',sans-serif; font-weight:800; letter-spacing:-.02em; color:var(--ink); font-size:clamp(1.6rem,3vw,2.2rem); margin:.1em 0 .25em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--ink) !important; font-family:'Archivo',sans-serif; font-weight:800; font-size:1.6rem; }
.woocommerce div.product p.price del { color:var(--faint); font-weight:500; }
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--body); line-height:1.65; }
.woocommerce div.product form.cart { margin-top:22px; border-top:1px solid var(--line); padding-top:22px; }
.woocommerce div.product form.cart .variations { margin-bottom:14px; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { padding:8px 10px 8px 0; }
.woocommerce div.product form.cart .variations label { font-family:'Archivo',sans-serif; font-weight:700; color:var(--ink); }
.woocommerce div.product form.cart select { border:1px solid #d8dce4; border-radius:10px; padding:11px 14px; min-width:160px; background:#fff; font-family:'Inter',sans-serif; }
.woocommerce div.product form.cart .quantity input.qty { border:1px solid #d8dce4; border-radius:10px; padding:11px 8px; width:72px; text-align:center; }
.woocommerce div.product .stock { color:var(--ok); font-weight:600; }
.woocommerce div.product .out-of-stock, .woocommerce div.product .stock.out-of-stock { color:var(--low); }
.woocommerce .product_meta { margin-top:18px; color:var(--muted); font-size:.84rem; }
.woocommerce .product_meta .sku_wrapper, .woocommerce .product_meta .posted_in { display:block; margin:3px 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:var(--cream); border:1px solid var(--line); border-radius:50px; margin-right:8px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--navy); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:#fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none; }
@media(max-width:820px){ .woocommerce div.product { grid-template-columns:1fr; } }

/* ---- notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  border-radius:var(--r-sm); border:1px solid var(--line); border-top:3px solid var(--gold); background:#fff;
  box-shadow:var(--shadow-sm); padding:14px 18px; font-family:'Inter',sans-serif; color:var(--body);
}
.woocommerce-error { border-top-color:var(--low); }
.woocommerce-message { border-top-color:var(--ok); }
.woocommerce-error li, .woocommerce-message, .woocommerce-info { list-style:none; }

/* ---- cart ---- */
.woocommerce table.shop_table { border:1px solid var(--line); border-radius:var(--r); border-collapse:separate; overflow:hidden; }
.woocommerce table.shop_table th { background:var(--cream); font-family:'Archivo',sans-serif; color:var(--ink); }
.woocommerce table.cart img { width:64px; border-radius:8px; border:1px solid var(--line); }
.woocommerce .cart-collaterals .cart_totals h2 { font-family:'Archivo',sans-serif; color:var(--ink); }
.woocommerce .cart_totals table.shop_table { background:#fff; }
.woocommerce a.remove { color:var(--low) !important; border:1px solid var(--line); }
.woocommerce .coupon .input-text { border:1px solid #d8dce4; border-radius:50px; padding:11px 16px; }
.woocommerce .cart .actions .button { white-space:nowrap; }

/* ---- checkout (single column) ---- */
.woocommerce-checkout .col2-set, .woocommerce-checkout #customer_details.col2-set { width:100% !important; float:none !important; display:block !important; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width:100% !important; float:none !important; margin-bottom:18px; }
.woocommerce-checkout #order_review, .woocommerce-checkout #order_review_heading { width:100% !important; float:none !important; }
.woocommerce form .form-row { padding:6px 0; }
.woocommerce form .form-row label { font-family:'Archivo',sans-serif; font-weight:600; color:var(--ink); font-size:.9rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout .select2-container .select2-selection,
.woocommerce form .form-row select { border:1px solid #d8dce4 !important; border-radius:10px !important; padding:12px 14px !important; font-family:'Inter',sans-serif; min-height:46px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(201,162,62,.18); outline:none; }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { font-family:'Archivo',sans-serif; color:var(--ink); font-weight:800; letter-spacing:-.01em; }
.woocommerce-checkout #order_review { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 22px; box-shadow:var(--shadow-sm); }
.woocommerce-checkout #payment { background:transparent; }
.woocommerce-checkout #payment ul.payment_methods { border:1px solid var(--line); border-radius:var(--r); background:var(--cream); padding:14px 16px; }
.woocommerce-checkout #payment ul.payment_methods li { margin:6px 0; }
.woocommerce-checkout #payment div.payment_box { background:#fff; border:1px solid var(--line); border-radius:10px; }
.woocommerce-checkout #payment div.payment_box::before { display:none; }
.woocommerce-checkout #place_order { width:100%; font-size:1.05rem; padding:16px !important; margin-top:10px; }
.woocommerce .order-total .amount { color:var(--ink); font-family:'Archivo',sans-serif; font-weight:800; }
@media(min-width:1025px){
  .woocommerce-checkout form.checkout { display:grid; grid-template-columns:1.3fr .9fr; gap:36px; align-items:start; }
  .woocommerce-checkout form.checkout #customer_details { grid-column:1; }
  .woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column:2; }
  .woocommerce-checkout form.checkout #order_review_heading { margin-top:0; }
}

/* ---- order received / thankyou ---- */
.woocommerce .woocommerce-order ul.order_details { background:var(--cream); border:1px solid var(--line); border-radius:var(--r); padding:18px 22px; }
.woocommerce .woocommerce-order ul.order_details li { border-color:var(--line); font-family:'Inter',sans-serif; }

/* ---- my account ---- */
.woocommerce-account .woocommerce { display:grid; grid-template-columns:240px 1fr; gap:34px; align-items:start; }
.woocommerce-account .woocommerce-MyAccount-navigation { width:auto !important; float:none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:#fff; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom:1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:13px 18px; color:var(--body); font-family:'Archivo',sans-serif; font-weight:600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background:var(--navy); color:#fff; }
.woocommerce-account .woocommerce-MyAccount-content { width:auto !important; float:none !important; }
.woocommerce-account .woocommerce-MyAccount-content { color:var(--body); }
.woocommerce-account:not(.logged-in) .woocommerce { display:block; max-width:880px; margin:0 auto; }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce form.lost_reset_password {
  border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 28px; box-shadow:var(--shadow-sm); background:#fff;
}
.woocommerce-account .u-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:820px){ .woocommerce-account .woocommerce { grid-template-columns:1fr; } .woocommerce-account .u-columns { grid-template-columns:1fr; } }

/* hide Woo's default star ratings / review nags site-wide (research store) */
.woocommerce .star-rating, .woocommerce .woocommerce-product-rating { display:none !important; }
.woocommerce .product_meta .tagged_as { display:none; }

/* ============================================================
   Animated header logo — premium shine sweep + soft gold glow
   ============================================================ */
.brand { position:relative; display:inline-flex; overflow:hidden; border-radius:6px; }
.brand img { position:relative; z-index:1; animation:pepwLogoBreath 6s ease-in-out infinite; will-change:filter,transform; }
.brand::after {
  content:''; position:absolute; top:0; bottom:0; left:0; width:60%; z-index:2; pointer-events:none;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.0) 35%, rgba(255,255,255,.65) 50%, rgba(255,255,255,.0) 65%, transparent 100%);
  transform:translateX(-180%) skewX(-12deg); animation:pepwLogoShine 5.5s ease-in-out infinite;
}
@keyframes pepwLogoShine { 0%,72%{ transform:translateX(-180%) skewX(-12deg);} 88%,100%{ transform:translateX(320%) skewX(-12deg);} }
@keyframes pepwLogoBreath {
  0%,100% { filter:drop-shadow(0 0 0 rgba(201,162,62,0)); transform:scale(1); }
  50%     { filter:drop-shadow(0 1px 7px rgba(201,162,62,.45)); transform:scale(1.012); }
}
@media (prefers-reduced-motion: reduce) { .brand::after{ animation:none; } .brand img{ animation:none; } }
/* the gold "Shop Now" header CTA gets a gentle attention pulse too */
.head-cta { animation:pepwCtaPulse 4.5s ease-in-out infinite; }
@keyframes pepwCtaPulse { 0%,100%{ box-shadow:0 8px 22px rgba(201,162,62,.28);} 50%{ box-shadow:0 10px 30px rgba(201,162,62,.5);} }

/* ---- catalog A–Z sidebar jump-list ---- */
.az-list { display:block; max-height:460px; overflow-y:auto; margin:-2px 0 0; padding:0 4px 0 0; }
.az-list a { display:block !important; width:100%; float:none; clear:both; padding:6px 6px; font-size:.86rem; color:var(--ink); line-height:1.35; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px; border-bottom:1px solid var(--line-2); }
.az-list a:last-child { border-bottom:0; }
.az-list a:hover { color:var(--gold-dk); text-decoration-color:var(--gold-dk); background:var(--cream); }
.az-list::-webkit-scrollbar { width:8px; } .az-list::-webkit-scrollbar-thumb { background:var(--line); border-radius:8px; }
