/* =========================================================
   THE POLITICAL RIFT — GOLD CSS PACKAGE
   SINGLE PRODUCT — MUSEUM MODE
   BLOCK TEMPLATE (NO INLINE DEPENDENCY, NO GHOST TILES)
========================================================= */

:root{
  --pr-bg:#fdf6e3;
  --pr-text:#333333;
  --pr-muted:rgba(51,51,51,0.65);
  --pr-accent:#ff6f00;

  --pr-card-a:rgba(255,255,255,0.35);
  --pr-card-b:rgba(255,255,255,0.45);
  --pr-border:rgba(0,0,0,0.06);
  --pr-rule:rgba(0,0,0,0.08);

  --pr-radius-lg:26px;
  --pr-radius-md:22px;

  --pr-shadow-hero:0 24px 80px rgba(0,0,0,0.22);
  --pr-shadow-card:0 16px 46px rgba(0,0,0,0.08);
  --pr-shadow-card-2:0 18px 60px rgba(0,0,0,0.08);
}

/* Safety (scoped) */
body.single-product *{ box-sizing:border-box; }

/* ================================
   PAGE SHELL
================================ */
body.single-product{
  background:var(--pr-bg);
  color:var(--pr-text);
}

body.single-product .wp-site-blocks{
  padding:36px 20px;
}

/* Wrapper */
body.single-product .pr-artifact-wrap{
  max-width:1400px;
  margin:0 auto;
  overflow:visible !important;
}

/* =========================================================
   LAYOUT (ONE SYSTEM ONLY)
========================================================= */
body.single-product .pr-artifact-wrap .pr-artifact-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:72px;
}

/* Left column */
body.single-product .pr-artifact-wrap .pr-artifact-media{
  position:relative;
  flex:0 0 55%;
  max-width:55%;
}

/* Right column */
body.single-product .pr-artifact-wrap .pr-artifact-info{
  flex:0 0 45%;
  max-width:45%;
  margin-left:auto;
  width:100%;

  /* Hard lock: stops theme “plaque centering” bleed */
  text-align:left !important;
}

/* ================================
   IMAGE
================================ */
body.single-product .wp-block-woocommerce-product-image-gallery img{
  width:100%;
  height:auto;
  border-radius:var(--pr-radius-lg);
  box-shadow:var(--pr-shadow-hero);
  display:block;
}

/* Hide zoom trigger */
body.single-product .woocommerce-product-gallery__trigger{
  display:none !important;
}

/* ================================
   TITLE (POST TITLE BLOCK)
   Hardens against theme link coloring
================================ */
body.single-product .pr-artifact-wrap .wp-block-post-title,
body.single-product .pr-artifact-wrap .wp-block-post-title a,
body.single-product .pr-artifact-wrap h1.pr-artifact-title,
body.single-product .pr-artifact-wrap h1.pr-artifact-title a{
  display:block !important;
  margin:0 0 6px;
  font-size:30px;
  line-height:1.15;
  font-weight:800;
  color:var(--pr-text) !important;
  text-decoration:none !important;
}

/* ================================
   BYLINE
================================ */
body.single-product .pr-artifact-wrap .pr-artifact-byline{
  font-size:13px;
  color:var(--pr-muted);
  margin:0 0 12px;
}

/* ================================
   PRICE
================================ */
body.single-product .pr-artifact-wrap .wp-block-woocommerce-product-price{
  text-align:left;
  margin:0 0 6px;
  font-size:18px;
  color:var(--pr-muted);
}

body.single-product .pr-artifact-wrap .wp-block-woocommerce-product-price *{
  text-align:left !important;
}

/* Strike when deaccessioned (hook class from your shortcode/plugin) */
body.single-product .pr-artifact-wrap .rift-price--deaccessioned,
body.single-product .pr-artifact-wrap .rift-price--deaccessioned .amount{
  text-decoration:line-through;
  text-decoration-color:var(--pr-accent);
  text-decoration-thickness:2px;
}

/* ================================
   DEACCESSIONED UI (badge + notice)
================================ */
body.single-product .pr-artifact-wrap .rift-deaccessioned-badge{
  position:absolute;
  top:16px;
  left:16px;
  z-index:30;
  pointer-events:none;
}

body.single-product .pr-artifact-wrap .rift-deaccessioned-badge span{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:0.08em;
  font-weight:800;
  text-transform:uppercase;
  background:rgba(255,111,0,0.16);
  border:1px solid rgba(255,111,0,0.35);
  color:var(--pr-text);
  box-shadow:0 10px 28px rgba(0,0,0,0.12);
}

body.single-product .pr-artifact-wrap .rift-deaccessioned-notice{
  margin:6px 0 18px;
  font-size:12px;
  line-height:1.55;
  font-weight:500;
  color:rgba(51,51,51,0.78);
  padding:0;
}

/* ================================
   ADD TO CART
================================ */
body.single-product .pr-artifact-wrap .wp-block-woocommerce-add-to-cart-form{
  margin:10px 0 12px;
}

/* ================================
   CONTEXT HEADING + BODY
================================ */
body.single-product .pr-artifact-wrap h2.wp-block-heading{
  margin:18px 0 10px;
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:rgba(51,51,51,0.55);
}

/* Woo description block: force normal body flow */
body.single-product .pr-artifact-wrap .wp-block-woocommerce-product-description,
body.single-product .pr-artifact-wrap .wp-block-woocommerce-product-description *{
  text-align:left !important;
  max-width:none !important;
}

body.single-product .pr-artifact-wrap .wp-block-woocommerce-product-description p{
  margin:0 !important;
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  letter-spacing:normal;
  text-transform:none;
  color:var(--pr-text);
}

/* =========================================================
   ARCHIVE RECORD (from [rift_archive_record])
========================================================= */
body.single-product .pr-artifact-wrap .rift-archive-record{
  margin-top:22px;
}

body.single-product .pr-artifact-wrap .rift-archive-title{
  display:block;
  padding:22px 24px 12px;
  background:var(--pr-card-a);
  border:1px solid var(--pr-border);
  border-bottom:none;
  border-radius:var(--pr-radius-lg) var(--pr-radius-lg) 0 0;
  box-shadow:var(--pr-shadow-card-2);
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  font-weight:800;
}

body.single-product .pr-artifact-wrap .rift-archive-item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:10px 24px;
  background:var(--pr-card-a);
  border-left:1px solid var(--pr-border);
  border-right:1px solid var(--pr-border);
  border-top:1px solid var(--pr-rule);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:rgba(51,51,51,0.70);
}

body.single-product .pr-artifact-wrap .rift-archive-label{
  flex:0 0 auto;
}

body.single-product .pr-artifact-wrap .rift-archive-value{
  flex:1 1 auto;
  text-align:right;
  font-size:15px;
  text-transform:none;
  letter-spacing:0;
  color:var(--pr-text);
  font-weight:700;
}

body.single-product .pr-artifact-wrap .rift-archive-item:last-of-type{
  border-bottom:1px solid var(--pr-border);
  border-radius:0 0 var(--pr-radius-lg) var(--pr-radius-lg);
  padding-bottom:16px;
}

/* =========================================================
   STATEMENT (from [rift_statement])
========================================================= */
body.single-product .pr-artifact-wrap .rift-statement-title{
  margin-top:22px;
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:rgba(51,51,51,0.70);
}

body.single-product .pr-artifact-wrap .rift-statement-text{
  margin-top:10px;
  padding:22px 24px;
  background:var(--pr-card-b);
  border-radius:var(--pr-radius-md);
  border:1px solid var(--pr-border);
  border-left:6px solid var(--pr-accent);
  box-shadow:var(--pr-shadow-card);
  font-size:18px;
  line-height:1.8;
  color:var(--pr-text);
}

/* =========================================================
   RELATED REPORTING (from [rift_related_reporting])
========================================================= */
body.single-product .pr-artifact-wrap .rift-related-title{
  margin-top:22px;
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:rgba(51,51,51,0.70);
}

body.single-product .pr-artifact-wrap .rift-related-grid{
  display:grid !important;
  margin-top:12px;
  gap:18px !important;
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)) !important;
  align-items:stretch !important;
  justify-content:start !important;
}

body.single-product .pr-artifact-wrap .rift-related-grid > p,
body.single-product .pr-artifact-wrap .rift-related-grid > br{
  display:none !important;
}

body.single-product .pr-artifact-wrap .rift-related-grid > *:empty{
  display:none !important;
}

body.single-product .pr-artifact-wrap .rift-related-grid > *{
  min-width:0 !important;
  margin:0 !important;
  justify-self:stretch !important;
}

body.single-product .pr-artifact-wrap .rift-related-grid > a,
body.single-product .pr-artifact-wrap .rift-related-grid > * > a{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  height:100% !important;
  background:var(--pr-card-b) !important;
  border:1px solid var(--pr-border) !important;
  border-radius:var(--pr-radius-md) !important;
  box-shadow:var(--pr-shadow-card) !important;
  text-decoration:none !important;
  color:var(--pr-text) !important;
  overflow:hidden !important;
}

body.single-product .pr-artifact-wrap .rift-related-grid > a{
  padding:14px !important;
  gap:10px !important;
}

body.single-product .pr-artifact-wrap .rift-related-body{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  padding:12px 14px 14px !important;
  flex:1 1 auto !important;
}

body.single-product .pr-artifact-wrap .rift-related-grid a *{
  margin:0 !important;
}

body.single-product .pr-artifact-wrap .rift-related-thumb{
  width:100% !important;
  height:140px !important;
  overflow:hidden !important;
}

body.single-product .pr-artifact-wrap .rift-related-thumb img{
  width:100% !important;
  height:140px !important;
  object-fit:cover !important;
  object-position:top center !important;
  display:block !important;
}

body.single-product .pr-artifact-wrap .rift-related-card-title,
body.single-product .pr-artifact-wrap .rift-related-title-text{
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:var(--pr-text) !important;
}

body.single-product .pr-artifact-wrap .rift-related-excerpt{
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:4 !important;
  -webkit-box-orient:vertical !important;
  color:rgba(51,51,51,0.68) !important;
  font-size:12px !important;
  line-height:1.55 !important;
}

body.single-product .pr-artifact-wrap .rift-related-body .rift-related-excerpt{
  margin-top:auto !important;
}

body.single-product .pr-artifact-wrap .rift-related-grid a:hover{
  border-color:rgba(255,111,0,0.35) !important;
  transform:translateY(-1px);
}

/* ================================
   MOBILE STACK
================================ */
@media (max-width:900px){
  body.single-product .wp-site-blocks{
    padding:26px 16px;
  }

  body.single-product .pr-artifact-wrap{
    max-width:100%;
  }

  body.single-product .pr-artifact-wrap .pr-artifact-grid{
    gap:18px;
  }

  body.single-product .pr-artifact-wrap .pr-artifact-media,
  body.single-product .pr-artifact-wrap .pr-artifact-info{
    flex:0 0 100%;
    max-width:100%;
    margin-left:0;
  }
}

/* =========================================================
   FOOTER (optional, only if your theme uses these classes)
========================================================= */
.pr-footer{
  max-width:1200px;
  margin:60px auto 40px;
  padding:24px 20px;
  text-align:center;
  color:rgba(51,51,51,0.75);
  font-size:13px;
  line-height:1.7;
  width:100%;
  clear:both;
}

.pr-footer-text{ margin:0 0 14px; font-size:13px; font-weight:500; }

.pr-footer-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  margin:10px 0 16px;
}

.pr-footer-links a{
  font-size:12px;
  letter-spacing:0.04em;
  font-weight:600;
  text-decoration:none;
  color:var(--pr-accent, #ff6f00);
}

.pr-footer-links a:hover{ text-decoration:underline; }

.pr-footer-copy{
  margin:0;
  font-size:11px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:rgba(51,51,51,0.55);
}

@media (max-width:600px){
  .pr-footer{ margin:40px auto 28px; padding:20px 16px; }
  .pr-footer-links{ gap:12px; }
}