/* ============================================================
   PCR FASHION — Supplementary styles
   (blog, prose, comments, shop layout, widgets, forms)
   ============================================================ */

/* Accessibility */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.screen-reader-text:focus{
  position:fixed!important;top:1rem;left:1rem;width:auto;height:auto;
  padding:1rem 1.5rem;background:var(--pcr-ink);color:#fff;z-index:9999;clip:auto;border-radius:var(--pcr-radius);
}

/* Cart bounce */
@keyframes pcrBounce{0%{transform:scale(1);}40%{transform:scale(1.45);}100%{transform:scale(1);}}
.pcr-bounce{animation:pcrBounce .45s var(--pcr-ease);}

/* Breadcrumb */
.pcr-breadcrumb{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pcr-taupe);margin-bottom:2rem;}
.pcr-breadcrumb a:hover{color:var(--pcr-rose-gold);}

/* Blog grid */
.pcr-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 1.6rem;}
.pcr-blog-card__media{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--pcr-radius-lg);margin-bottom:1.2rem;}
.pcr-blog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--pcr-ease);}
.pcr-blog-card:hover .pcr-blog-card__media img{transform:scale(1.05);}
.pcr-blog-card .pcr-meta{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pcr-muted);display:block;margin-bottom:.5rem;}
.pcr-blog-card p{font-size:.92rem;color:var(--pcr-taupe);}
@media(max-width:900px){.pcr-blog-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.pcr-blog-grid{grid-template-columns:1fr;}}

/* Prose */
.pcr-prose{font-size:1.05rem;line-height:1.85;color:var(--pcr-espresso);}
.pcr-prose h2,.pcr-prose h3{margin-top:2rem;}
.pcr-prose img{border-radius:var(--pcr-radius-lg);margin:2rem 0;}
.pcr-prose a{color:var(--pcr-rose-gold);border-bottom:1px solid currentColor;}
.pcr-prose blockquote{border-left:2px solid var(--pcr-rose-gold);padding-left:1.5rem;font-family:var(--pcr-display);font-style:italic;font-size:1.4rem;color:var(--pcr-ink);margin:2rem 0;}

/* Pagination */
.pagination,.woocommerce-pagination{display:flex;justify-content:center;margin-top:3rem;}
.page-numbers{list-style:none;display:flex;gap:.5rem;padding:0;flex-wrap:wrap;}
.page-numbers li .page-numbers,.nav-links .page-numbers{
  display:grid;place-items:center;min-width:44px;height:44px;padding:0 .8rem;
  border:1px solid var(--pcr-line);border-radius:var(--pcr-radius);
  font-size:.85rem;color:var(--pcr-espresso);transition:.3s var(--pcr-ease);
}
.page-numbers li .page-numbers.current,.page-numbers li .page-numbers:hover,
.nav-links .page-numbers.current,.nav-links .page-numbers:hover{background:var(--pcr-ink);color:#fff;border-color:var(--pcr-ink);}

/* Shop layout (sidebar + products) */
.pcr-shop-layout{width:100%;}
.woocommerce .woocommerce-result-count{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pcr-taupe);margin:0 0 1.5rem;}
.woocommerce .woocommerce-ordering{margin:0 0 1.5rem;}
.woocommerce .woocommerce-ordering select{border:1px solid var(--pcr-line);padding:.6em 1em;border-radius:var(--pcr-radius);background:var(--pcr-ivory);font-family:var(--pcr-body);}
/* Result count / ordering row sits cleanly above the grid */
.pcr-woo-products .woocommerce-result-count,
.woocommerce-result-count{display:block;float:none;}
.pcr-woo-products .woocommerce-ordering,
.woocommerce-ordering{display:block;float:none;margin-bottom:2rem;}

/* Single product page */
.woocommerce div.product{margin-top:1rem;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:var(--pcr-radius) var(--pcr-radius) 0 0;background:var(--pcr-cream);border-color:var(--pcr-line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--pcr-ivory);}
.woocommerce #reviews #comments ol.commentlist li img.avatar{border:1px solid var(--pcr-line);border-radius:50%;}
.woocommerce div.product form.cart div.quantity{margin-right:.8rem;}
.woocommerce-product-gallery{border-radius:var(--pcr-radius-lg);overflow:hidden;}

/* Cart & checkout */
.woocommerce table.shop_table{border:1px solid var(--pcr-line);border-radius:var(--pcr-radius-lg);}
.woocommerce-cart table.cart img{width:80px;border-radius:var(--pcr-radius);}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #payment{background:var(--pcr-cream);border-radius:var(--pcr-radius-lg);padding:.5rem 1.5rem;}
.woocommerce #payment #place_order,.woocommerce-checkout #payment div.payment_box{border-radius:var(--pcr-radius);}

/* Widgets */
.pcr-widget{margin-bottom:2.5rem;}
.pcr-widget__title{font-family:var(--pcr-body);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pcr-rose-gold);margin-bottom:1rem;}
.pcr-widget ul{display:flex;flex-direction:column;gap:.6rem;}
.pcr-widget a{font-size:.92rem;color:var(--pcr-espresso);}
.pcr-widget a:hover{color:var(--pcr-rose-gold);}

/* Comments / forms */
.pcr-comments .comment-form input,
.pcr-comments .comment-form textarea{
  width:100%;padding:.9em 1em;border:1px solid var(--pcr-line);
  background:var(--pcr-ivory);border-radius:var(--pcr-radius);font-family:var(--pcr-body);margin-bottom:1rem;
}
.pcr-comments .comment-form input:focus,.pcr-comments .comment-form textarea:focus{outline:none;border-color:var(--pcr-rose-gold);}
.commentlist{list-style:none;padding:0;}
.commentlist li{padding:1.5rem 0;border-bottom:1px solid var(--pcr-line);}

/* Search form */
.pcr-searchform{display:flex;gap:.6rem;}
.pcr-searchform input{flex:1;padding:.9em 1.2em;border:1px solid var(--pcr-line);background:var(--pcr-ivory);border-radius:var(--pcr-radius);font-family:var(--pcr-body);}
.pcr-searchform input:focus{outline:none;border-color:var(--pcr-rose-gold);}

/* Custom-logo sizing */
.custom-logo{max-height:56px;width:auto;}

/* ============================================================
   PAGE HEROES (About / Collection / New Arrivals)
   ============================================================ */
.pcr-page-hero{
  background:linear-gradient(180deg,var(--pcr-cream),var(--pcr-ivory));
  padding:clamp(3rem,8vw,6rem) 0 clamp(2rem,5vw,3.5rem);
  text-align:center;border-bottom:1px solid var(--pcr-line);
}
.pcr-page-hero h1{font-size:clamp(2.4rem,6vw,4rem);line-height:1.05;margin:.4rem 0 .8rem;}
.pcr-page-hero p{max-width:54ch;margin-inline:auto;color:var(--pcr-taupe);}

/* Category pills */
.pcr-cat-pills{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;padding:2rem 0 0;}
.pcr-pill{
  display:inline-block;padding:.55em 1.4em;border:1px solid var(--pcr-line);border-radius:999px;
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pcr-espresso);
  transition:.35s var(--pcr-ease);background:var(--pcr-ivory);
}
.pcr-pill:hover{background:var(--pcr-ink);color:var(--pcr-ivory);border-color:var(--pcr-ink);transform:translateY(-2px);}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.pcr-about-hero{
  background:radial-gradient(120% 120% at 80% 0%,var(--pcr-champagne) 0%,var(--pcr-cream) 45%,var(--pcr-ivory) 100%);
  padding:clamp(4rem,10vw,7rem) 0;text-align:center;position:relative;overflow:hidden;
}
.pcr-about-hero::after{
  content:"";position:absolute;inset:auto -10% -40% -10%;height:60%;
  background:radial-gradient(closest-side,rgba(183,110,121,.14),transparent);pointer-events:none;
}
.pcr-about-hero__inner{max-width:760px;margin-inline:auto;position:relative;z-index:1;}
.pcr-about-hero h1{font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.02;margin:.5rem 0 1rem;}
.pcr-about-hero p{font-size:1.1rem;color:var(--pcr-espresso);max-width:58ch;margin-inline:auto;}

.pcr-about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.pcr-about-grid__img{position:relative;overflow:hidden;border-radius:var(--pcr-radius-lg);}
.pcr-about-grid__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--pcr-ease);}
.pcr-about-grid__img:hover img{transform:scale(1.05);}
.pcr-about-grid__body h2{font-size:clamp(2rem,4.5vw,3rem);line-height:1.08;margin:.3rem 0 1.1rem;}
.pcr-about-grid__body p{color:var(--pcr-espresso);margin-bottom:1rem;line-height:1.85;}

/* Stats band */
.pcr-about-stats{background:var(--pcr-ink);color:var(--pcr-ivory);padding:clamp(2.5rem,6vw,4rem) 0;}
.pcr-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;}
.pcr-stat strong{display:block;font-family:var(--pcr-display);font-size:clamp(2.4rem,5vw,3.4rem);color:var(--pcr-champagne);line-height:1;}
.pcr-stat strong span{font-size:.5em;vertical-align:super;color:var(--pcr-rose-soft);}
.pcr-stat>span{display:block;margin-top:.7rem;font-size:.8rem;letter-spacing:.06em;color:#d8cdbd;max-width:22ch;margin-inline:auto;}

/* Brand-value prose */
.pcr-about-prose{max-width:760px;margin:0 auto 3rem;}
.pcr-about-prose p{font-size:1.06rem;line-height:1.95;color:var(--pcr-espresso);margin-bottom:1.3rem;}
.pcr-about-prose p:first-of-type{font-family:var(--pcr-display);font-size:1.4rem;font-style:italic;line-height:1.6;color:var(--pcr-ink);}

/* Value cards */
.pcr-value-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:1rem;}
.pcr-value-card{
  background:var(--pcr-ivory);border:1px solid var(--pcr-line);border-radius:var(--pcr-radius-lg);
  padding:2rem 1.5rem;text-align:center;transition:.5s var(--pcr-ease);
}
.pcr-value-card:hover{transform:translateY(-6px);box-shadow:var(--pcr-shadow);border-color:transparent;}
.pcr-value-card svg{width:34px;height:34px;color:var(--pcr-rose-gold);margin-bottom:1rem;}
.pcr-value-card h4{font-family:var(--pcr-display);font-size:1.3rem;margin-bottom:.5rem;}
.pcr-value-card p{font-size:.88rem;color:var(--pcr-taupe);line-height:1.7;}

/* About CTA */
.pcr-about-cta{
  background:linear-gradient(135deg,var(--pcr-champagne),var(--pcr-rose-soft));
  color:var(--pcr-ink);text-align:center;padding:clamp(3rem,7vw,5rem) 0;
}
.pcr-about-cta h2{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:.6rem;}
.pcr-about-cta p{color:var(--pcr-espresso);margin-bottom:1.8rem;}
.pcr-about-cta__btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ============================================================
   ENHANCED ANIMATIONS
   ============================================================ */
/* Richer reveal variants */
[data-reveal]{will-change:opacity,transform;}
[data-reveal-delay="5"]{transition-delay:.5s;}
[data-reveal-delay="6"]{transition-delay:.6s;}

/* Buttons: subtle sheen sweep on hover */
.pcr-btn{position:relative;overflow:hidden;}
.pcr-btn::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:left .7s var(--pcr-ease);
}
.pcr-btn:hover::after{left:140%;}

/* Product cards: smoother lift */
.pcr-product{transition:transform .5s var(--pcr-ease);}
.pcr-product:hover{transform:translateY(-4px);}
.pcr-product__media img{transition:transform 1.1s var(--pcr-ease),opacity .6s var(--pcr-ease);}
.pcr-product:hover .pcr-img-main{transform:scale(1.06);}

/* Category tiles: image zoom + caption rise */
.pcr-cat img{transition:transform 1.3s var(--pcr-ease);}
.pcr-cat:hover img{transform:scale(1.08);}
.pcr-cat__body{transition:transform .5s var(--pcr-ease);}
.pcr-cat:hover .pcr-cat__body{transform:translateY(-4px);}

/* Floating hero badge */
@keyframes pcrFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
.pcr-hero__badge{animation:pcrFloat 5s var(--pcr-ease-soft) infinite;}

/* Gentle fade-up keyframe utility (for JS-added .pcr-anim-up) */
@keyframes pcrFadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}

/* Link underline grow */
.pcr-link-underline{position:relative;}
.pcr-link-underline::after{
  content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:currentColor;transition:width .4s var(--pcr-ease);
}
.pcr-link-underline:hover::after{width:100%;}

/* Icon button press feedback */
.pcr-icon-btn{transition:transform .25s var(--pcr-ease),color .25s var(--pcr-ease);}
.pcr-icon-btn:hover{transform:translateY(-2px);color:var(--pcr-rose-gold);}
.pcr-icon-btn:active{transform:scale(.92);}

/* Nav link hover underline */
.pcr-nav a{position:relative;}
.pcr-nav a::after{
  content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--pcr-rose-gold);transition:width .35s var(--pcr-ease);
}
.pcr-nav a:hover::after{width:100%;}

/* Value/feature stagger on stats */
.pcr-stat{transition:transform .5s var(--pcr-ease);}
.pcr-stat:hover{transform:translateY(-4px);}

/* ============================================================
   ABOUT / PAGE RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .pcr-about-grid{grid-template-columns:1fr;}
  .pcr-about-grid__img{max-height:420px;}
  .pcr-stats-grid{grid-template-columns:1fr 1fr;gap:2rem 1rem;}
  .pcr-value-cards{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .pcr-value-cards{grid-template-columns:1fr;}
  .pcr-about-prose p:first-of-type{font-size:1.2rem;}
}
@media (prefers-reduced-motion:reduce){
  .pcr-hero__badge{animation:none;}
  .pcr-btn::after{display:none;}
}

/* ============================================================
   WOOCOMMERCE PRODUCT GRID — ROBUST RESPONSIVE FIX
   Ancestor-independent: works on the homepage [products] shortcode
   AND on shop/archive pages (which add a .woocommerce body class).
   Renders proper product cards: image box, title, price, button.
   ============================================================ */

/* 1) Force OUR responsive grid regardless of WC's columns-N class. */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:2rem 1.5rem !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  width:100% !important;
}
ul.products::before,
ul.products::after{content:none !important;display:none !important;}

/* 2) Each product = a clean vertical card with equal height. */
ul.products li.product{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column;
  text-align:left;
  position:relative;
}

/* 3) Product link + image as a fixed 3:4 media box. */
ul.products li.product a.woocommerce-LoopProduct-link,
ul.products li.product > a:first-of-type{
  display:flex;
  flex-direction:column;
  position:relative;
}
ul.products li.product img{
  width:100% !important;
  aspect-ratio:3/4;
  height:auto !important;
  object-fit:cover;
  display:block !important;
  margin:0 0 1rem !important;
  border-radius:var(--pcr-radius);
  background:var(--pcr-cream);
  transition:transform .9s var(--pcr-ease);
}
ul.products li.product:hover img{transform:scale(1.04);}

/* 4) Title + price + rating. */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2,
ul.products li.product h3{
  font-family:var(--pcr-display) !important;
  font-size:1.16rem !important;
  font-weight:500 !important;
  line-height:1.3 !important;
  margin:0 0 .35rem !important;
  padding:0 !important;
  color:var(--pcr-ink) !important;
}
ul.products li.product a:hover .woocommerce-loop-product__title{color:var(--pcr-rose-gold) !important;}
ul.products li.product .price{
  font-family:var(--pcr-body) !important;
  font-size:1rem !important;
  color:var(--pcr-espresso) !important;
  font-weight:500 !important;
  margin:0 0 .8rem !important;
  display:block;
}
ul.products li.product .price del{color:var(--pcr-muted);font-weight:400;margin-right:.45rem;opacity:.8;}
ul.products li.product .price ins{text-decoration:none;color:var(--pcr-rose-gold);}
ul.products li.product .star-rating{margin:0 0 .6rem;font-size:.85rem;}

/* 5) Push Add-to-Cart to the bottom so cards align — and style it
      (works on the homepage shortcode too, without a .woocommerce ancestor). */
ul.products li.product .button,
ul.products li.product a.add_to_cart_button,
ul.products li.product .added_to_cart{
  margin-top:auto !important;
  width:100%;
  text-align:center;
  padding:.95em 1em !important;
  font-size:.72rem !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
  font-weight:500;
  display:block;
  background:var(--pcr-ink);
  color:var(--pcr-ivory);
  border:none;
  border-radius:var(--pcr-radius);
  transition:.35s var(--pcr-ease);
}
ul.products li.product .button:hover,
ul.products li.product a.add_to_cart_button:hover{
  background:var(--pcr-rose-gold);
  color:#fff;
}
ul.products li.product .added_to_cart{
  margin-top:.5rem !important;
  background:transparent !important;
  color:var(--pcr-ink) !important;
  border:1px solid var(--pcr-line);
}

/* 6) Sale badge position. */
ul.products li.product .pcr-badge,
ul.products li.product span.onsale{
  position:absolute;top:.8rem;left:.8rem;z-index:3;margin:0;
}

/* ============================================================
   RESPONSIVE COLUMN COUNTS (the actual fix)
   4 → 3 → 2 columns as the screen narrows.
   ============================================================ */
@media (max-width:1100px){
  ul.products{grid-template-columns:repeat(3,1fr) !important;gap:1.6rem 1.2rem !important;}
}
@media (max-width:760px){
  ul.products{grid-template-columns:repeat(2,1fr) !important;gap:1.4rem 1rem !important;}
}
@media (max-width:430px){
  ul.products{grid-template-columns:repeat(2,1fr) !important;gap:1.1rem .8rem !important;}
  ul.products li.product .woocommerce-loop-product__title,
  ul.products li.product h2{font-size:1rem !important;}
  ul.products li.product .price{font-size:.9rem !important;}
  ul.products li.product .button{font-size:.66rem !important;letter-spacing:.1em !important;padding:.85em .6em !important;}
}

/* Plain wrapper for the shortcode (no grid of its own). */
.pcr-woo-products{display:block;width:100%;}
