/*
  BEADKIN launch consistency layer.
  Conservative card/detail normalization only; keeps existing page design.
*/
.product-card,
.holiday-card,
.story-card,
.collection-card {
  min-height: 100%;
}

.product-card img,
.holiday-card img,
.collection-card img,
.product-preview img,
.product-gallery img {
  object-fit: cover;
}

.product-card h3,
.holiday-card h3,
.collection-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-card p,
.holiday-card p,
.collection-card p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.price,
.product-price,
[data-price] {
  font-variant-numeric: tabular-nums;
}

button,
.btn,
.icon-btn {
  touch-action: manipulation;
}

.bk-unified-product-card {
  position: relative;
}

.bk-capability-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 8px;
}

.bk-capability-tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--accent, #a87945), transparent 62%);
  background: color-mix(in srgb, var(--paper, #fffaf3), white 45%);
  color: color-mix(in srgb, var(--accent, #8b5d2c), #211b17 20%);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.bk-capability-3d {
  background: color-mix(in srgb, var(--accent, #a87945), white 84%);
  border-color: color-mix(in srgb, var(--accent, #a87945), transparent 35%);
}

.bk-unified-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.bk-unified-product-actions button,
.bk-unified-product-actions a,
.bk-unified-detail-actions button,
.bk-unified-detail-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--accent, #a87945), transparent 52%);
  background: rgba(255,255,255,.72);
  color: inherit;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.bk-unified-3d-btn,
.bk-unified-go-3d {
  background: var(--accent, #a87945) !important;
  color: #fff !important;
  border-color: transparent !important;
}

.bk-unified-detail-lock {
  overflow: hidden;
}

.bk-unified-detail-shell[hidden] {
  display: none !important;
}

.bk-unified-detail-shell {
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  opacity: 0;
  transition: opacity .18s ease;
}

.bk-unified-detail-shell.is-open {
  opacity: 1;
}

.bk-unified-detail-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(25,18,12,.54);
  backdrop-filter: blur(10px);
}

.bk-unified-detail-panel {
  position: absolute;
  inset: auto 24px 24px auto;
  width: min(860px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  display: grid;
  grid-template-columns: minmax(240px,.8fr) minmax(0,1fr);
  overflow: auto;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--accent, #a87945), transparent 62%);
  background: linear-gradient(180deg, rgba(255,250,244,.98), rgba(247,238,226,.98));
  box-shadow: 0 34px 100px rgba(34,24,15,.28);
  color: #251b15;
}

.bk-unified-detail-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(60,42,28,.15);
  background: rgba(255,255,255,.82);
  font-size: 26px;
  line-height: 1;
}

.bk-unified-detail-media {
  min-height: 420px;
  background: radial-gradient(circle at 30% 18%, rgba(255,255,255,.6), transparent 30%), #eee2d3;
}

.bk-unified-detail-media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
}

.bk-unified-detail-copy {
  padding: 42px 38px 34px;
}

.bk-unified-detail-copy h2 {
  margin: 12px 0 10px;
  font: 400 clamp(30px, 4vw, 48px)/1.05 Georgia, serif;
}

.bk-unified-detail-price {
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 800;
  color: var(--accent, #a87945);
}

.bk-unified-detail-copy p {
  margin: 0 0 18px;
  color: #6f5c4e;
  line-height: 1.7;
}

.bk-unified-detail-meta {
  display: grid;
  gap: 10px;
  margin: 20px 0;
}

.bk-unified-detail-meta div {
  padding: 12px 0;
  border-top: 1px solid rgba(77,55,38,.13);
}

.bk-unified-detail-meta dt {
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  color: color-mix(in srgb, var(--accent, #a87945), #201812 18%);
}

.bk-unified-detail-meta dd {
  margin: 0;
  color: #382b22;
  line-height: 1.55;
}

.bk-unified-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

body.page-men .bk-unified-detail-panel {
  background: radial-gradient(circle at 80% 0%, rgba(184,135,60,.18), transparent 34%), linear-gradient(180deg,#15110d,#090807);
  color: #f7ecd9;
  border-color: rgba(184,135,60,.38);
}

body.page-men .bk-unified-detail-copy p,
body.page-men .bk-unified-detail-meta dd {
  color: #d7c5ac;
}

body.page-men .bk-unified-detail-meta div {
  border-top-color: rgba(255,230,185,.16);
}

body.page-pet .bk-unified-detail-panel {
  background: linear-gradient(180deg,#fffaf1,#eef3e8);
}

@media (max-width: 760px) {
  .bk-unified-detail-panel {
    inset: auto 12px 12px 12px;
    width: auto;
    grid-template-columns: 1fr;
  }

  .bk-unified-detail-media,
  .bk-unified-detail-media img {
    min-height: 280px;
  }

  .bk-unified-detail-copy {
    padding: 28px 22px 24px;
  }
}

/* BEADKIN all-series product normalization: keep each theme color, unify spacing and detail entry. */
body.page-women{--bk-card-accent:#b77772;--bk-card-accent-2:#e0b382;--bk-card-text:#241a14;--bk-card-muted:#74665c;--bk-card-badge-bg:rgba(255,250,244,.95);--bk-card-badge-text:#6a4327;--bk-card-plus-text:#17100a;}
body.page-collections{--bk-card-accent:#b28a50;--bk-card-accent-2:#d7ad71;--bk-card-text:#241a14;--bk-card-muted:#74665c;--bk-card-badge-bg:rgba(255,250,244,.95);--bk-card-badge-text:#6a4327;--bk-card-plus-text:#17100a;}
body.page-pet{--bk-card-accent:#859376;--bk-card-accent-2:#d9b27e;--bk-card-text:#241a14;--bk-card-muted:#74665c;--bk-card-badge-bg:rgba(255,250,244,.95);--bk-card-badge-text:#6a4327;--bk-card-plus-text:#17100a;}
body.page-men{--bk-card-accent:#b37a2d;--bk-card-accent-2:#e0b45d;--bk-card-text:#f5ead7;--bk-card-muted:#cbbba4;--bk-card-badge-bg:rgba(255,248,232,.95);--bk-card-badge-text:#231507;--bk-card-plus-text:#080604;}
body.page-mystic{--bk-card-accent:#c49b56;--bk-card-accent-2:#e2bd70;--bk-card-text:#f0e7d6;--bk-card-muted:#c7b99f;--bk-card-badge-bg:rgba(255,248,232,.95);--bk-card-badge-text:#231507;--bk-card-plus-text:#080604;}
body.page-holidays{--bk-card-accent:#b78442;--bk-card-accent-2:#ddb783;--bk-card-text:#2d2119;--bk-card-muted:#746257;--bk-card-badge-bg:rgba(255,249,241,.95);--bk-card-badge-text:#6e4328;--bk-card-plus-text:#17100a;}

body.page-women .continuous-product-card,
body.page-collections .continuous-product-card,
body.page-pet .continuous-product-card,
body.page-men .continuous-product-card,
body.page-mystic .product-card,
body.page-holidays .holiday-product-card{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  transition:transform .22s ease!important;
}

body.page-women .continuous-product-card:hover,
body.page-collections .continuous-product-card:hover,
body.page-pet .continuous-product-card:hover,
body.page-men .continuous-product-card:hover,
body.page-mystic .product-card:hover,
body.page-holidays .holiday-product-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:none!important;
}

body.page-women .continuous-product-media,
body.page-collections .continuous-product-media,
body.page-pet .continuous-product-media,
body.page-men .continuous-product-media,
body.page-mystic .product-image,
body.page-holidays .holiday-card-media{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:rgba(255,255,255,.06)!important;
  cursor:pointer!important;
}

body.page-women .continuous-product-media img,
body.page-collections .continuous-product-media img,
body.page-pet .continuous-product-media img,
body.page-men .continuous-product-media img,
body.page-mystic .product-image img,
body.page-holidays .holiday-card-media img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:0!important;
}

body.page-women .continuous-product-media::after,
body.page-collections .continuous-product-media::after,
body.page-pet .continuous-product-media::after,
body.page-men .continuous-product-media::after,
body.page-mystic .product-image::after,
body.page-holidays .holiday-card-media::after{
  content:none!important;
  display:none!important;
}

body.page-women .continuous-product-badge,
body.page-collections .continuous-product-badge,
body.page-pet .continuous-product-badge,
body.page-men .continuous-product-badge,
body.page-mystic .product-badge,
body.page-holidays .holiday-card-badge{
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  z-index:4!important;
  min-height:32px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:var(--sans,Arial,sans-serif)!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:0!important;
  color:var(--bk-card-badge-text)!important;
  background:var(--bk-card-badge-bg)!important;
  border:1px solid rgba(184,139,82,.32)!important;
  box-shadow:0 10px 22px rgba(34,20,10,.12)!important;
}

.bk-unified-plus-action,
body.page-women .women-card-plus,
body.page-collections .pet-card-plus,
body.page-pet .pet-card-plus,
body.page-men .men-card-plus,
body.page-mystic .mystic-card-plus,
body.page-holidays .holiday-card-plus{
  position:absolute!important;
  right:14px!important;
  bottom:14px!important;
  top:auto!important;
  z-index:7!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-family:Arial,sans-serif!important;
  font-size:27px!important;
  font-weight:850!important;
  line-height:1!important;
  color:var(--bk-card-plus-text)!important;
  background:linear-gradient(135deg,var(--bk-card-accent-2),var(--bk-card-accent))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 12px 24px rgba(20,12,6,.20)!important;
  text-decoration:none!important;
  transform:none!important;
}

.bk-unified-plus-action:hover{
  transform:translateY(-1px) scale(1.03)!important;
}

body.page-women .continuous-product-info,
body.page-collections .continuous-product-info,
body.page-pet .continuous-product-info,
body.page-men .continuous-product-info,
body.page-mystic .product-copy,
body.page-holidays .holiday-card-copy,
body.page-holidays .holiday-card-body{
  padding:18px 2px 0!important;
  color:var(--bk-card-text)!important;
  min-height:132px!important;
}

body.page-women .continuous-product-info h3,
body.page-collections .continuous-product-info h3,
body.page-pet .continuous-product-info h3,
body.page-men .continuous-product-info h3,
body.page-mystic .product-copy h3,
body.page-holidays .holiday-card-title,
body.page-holidays .holiday-card-body h3{
  margin:0 0 10px!important;
  font-family:var(--serif,Georgia,serif)!important;
  font-size:clamp(20px,1.45vw,28px)!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:0!important;
  color:var(--bk-card-text)!important;
  min-height:2.36em!important;
}

body.page-women .continuous-product-info p,
body.page-collections .continuous-product-info p,
body.page-pet .continuous-product-info p,
body.page-men .continuous-product-info p,
body.page-mystic .product-copy p,
body.page-holidays .holiday-card-note,
body.page-holidays .holiday-card-body p,
body.page-mystic .rating,
body.page-men .men-swatch-row,
body.page-men .men-note{
  display:none!important;
}

.bk-capability-tags{
  gap:5px!important;
  margin:4px 0 10px!important;
}

.bk-capability-tag{
  min-height:20px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:0!important;
  line-height:1!important;
}

body.page-men .bk-capability-tag,
body.page-mystic .bk-capability-tag{
  background:rgba(255,244,219,.96)!important;
  color:#211407!important;
  border-color:rgba(224,180,93,.38)!important;
}

body.page-women .women-custom-pill,
body.page-men .men-custom-pill,
body.page-mystic .mystic-custom-pill,
body.page-holidays .holiday-card-price em,
body.page-pet .continuous-product-price em,
body.page-collections .continuous-product-price em,
body.page-women .women-product-price-row .women-custom-pill,
body.page-mystic .product-price-row .mini-add,
.bk-unified-product-actions{
  display:none!important;
}

body.page-women .continuous-product-price,
body.page-collections .continuous-product-price,
body.page-pet .continuous-product-price,
body.page-men .continuous-product-price,
body.page-men .men-price-row,
body.page-women .women-product-price-row,
body.page-mystic .product-price-row,
body.page-holidays .holiday-card-price{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin-top:4px!important;
  color:var(--bk-card-accent-2)!important;
  font-family:var(--sans,Arial,sans-serif)!important;
}

body.page-women .continuous-product-price,
body.page-collections .continuous-product-price,
body.page-pet .continuous-product-price,
body.page-men .continuous-product-price,
body.page-women .women-product-price-row strong,
body.page-mystic .product-price-row strong,
body.page-holidays .holiday-card-price strong{
  font-size:clamp(26px,2vw,32px)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
}

body.page-women .continuous-product-price small,
body.page-collections .continuous-product-price small,
body.page-pet .continuous-product-price small,
body.page-men .continuous-product-price small,
body.page-women .women-product-price-row small,
body.page-mystic .product-price-row span,
body.page-holidays .holiday-card-price span{
  font-size:12px!important;
  font-weight:850!important;
  color:var(--bk-card-text)!important;
  opacity:.9!important;
}

body.page-men .bk-unified-detail-panel,
body.page-mystic .bk-unified-detail-panel{
  background:radial-gradient(circle at 82% 0%, rgba(224,180,93,.18), transparent 34%), linear-gradient(180deg,#111820,#070d13)!important;
  color:#f8ecd5!important;
  border-color:rgba(224,180,93,.36)!important;
}

body.page-men .bk-unified-detail-copy p,
body.page-men .bk-unified-detail-meta dd,
body.page-mystic .bk-unified-detail-copy p,
body.page-mystic .bk-unified-detail-meta dd{
  color:#d9c7aa!important;
}

body.page-men .bk-unified-detail-meta div,
body.page-mystic .bk-unified-detail-meta div{
  border-top-color:rgba(255,230,185,.16)!important;
}

@media (max-width: 760px){
  body.page-women .continuous-product-media,
  body.page-collections .continuous-product-media,
  body.page-pet .continuous-product-media,
  body.page-men .continuous-product-media,
  body.page-mystic .product-image,
  body.page-holidays .holiday-card-media{
    border-radius:18px!important;
  }

  .bk-unified-plus-action,
  body.page-women .women-card-plus,
  body.page-collections .pet-card-plus,
  body.page-pet .pet-card-plus,
  body.page-men .men-card-plus,
  body.page-mystic .mystic-card-plus,
  body.page-holidays .holiday-card-plus{
    right:10px!important;
    bottom:10px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    font-size:23px!important;
  }

  body.page-women .continuous-product-info h3,
  body.page-collections .continuous-product-info h3,
  body.page-pet .continuous-product-info h3,
  body.page-men .continuous-product-info h3,
  body.page-mystic .product-copy h3,
  body.page-holidays .holiday-card-title{
    font-size:18px!important;
    min-height:2.4em!important;
  }

  .bk-capability-tag{
    min-height:18px!important;
    padding:0 6px!important;
    font-size:9px!important;
  }
}

/* BEADKIN detail and men-card hotfix: later inline men's rules use body.page-women.page-men. */
.bk-unified-detail-panel{
  inset:32px!important;
  width:auto!important;
  max-width:none!important;
  max-height:none!important;
  min-height:calc(100vh - 64px)!important;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;
  border-radius:28px!important;
  overflow:hidden!important;
}

.bk-unified-detail-media{
  min-height:calc(100vh - 64px)!important;
}

.bk-unified-detail-media img{
  min-height:calc(100vh - 64px)!important;
}

.bk-unified-detail-copy{
  overflow:auto!important;
  padding:clamp(42px,5vw,72px) clamp(34px,4.5vw,64px)!important;
}

.bk-unified-detail-copy h2{
  font-size:clamp(42px,4.8vw,74px)!important;
  line-height:1.02!important;
}

.bk-unified-detail-close{
  top:18px!important;
  right:18px!important;
  width:48px!important;
  height:48px!important;
  z-index:5!important;
  font-size:30px!important;
}

body.page-women.page-men .continuous-product-media .men-card-plus,
body.page-women.page-men .continuous-product-media .men-card-plus.bk-unified-plus-action,
body.page-women.page-men .men-card-plus.bk-unified-plus-action{
  position:absolute!important;
  right:14px!important;
  bottom:14px!important;
  top:auto!important;
  left:auto!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  line-height:1!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:27px!important;
  color:var(--bk-card-plus-text)!important;
  background:linear-gradient(135deg,var(--bk-card-accent-2),var(--bk-card-accent))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 12px 24px rgba(20,12,6,.20)!important;
}

@media (max-width: 900px){
  .bk-unified-detail-panel{
    inset:12px!important;
    min-height:calc(100vh - 24px)!important;
    grid-template-columns:1fr!important;
    overflow:auto!important;
  }

  .bk-unified-detail-media,
  .bk-unified-detail-media img{
    min-height:42vh!important;
    height:42vh!important;
  }

  .bk-unified-detail-copy{
    padding:28px 22px 30px!important;
  }

  .bk-unified-detail-copy h2{
    font-size:clamp(32px,9vw,48px)!important;
  }

  body.page-women.page-men .continuous-product-media .men-card-plus,
  body.page-women.page-men .continuous-product-media .men-card-plus.bk-unified-plus-action,
  body.page-women.page-men .men-card-plus.bk-unified-plus-action{
    right:10px!important;
    bottom:10px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    font-size:23px!important;
  }
}

/* Unified detail modal - tabs + grid for cross-series browsing */
.bk-unified-detail-bottom {
  border-top: 1px solid var(--bk-system-line, rgba(90,62,42,0.14));
  margin-top: 20px;
  padding-top: 16px;
}

.bk-unified-detail-tabs {
  display: flex;
  gap: 18px;
  margin-bottom: 16px;
}

.bk-detail-tab {
  background: none;
  border: 0;
  padding: 6px 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--bk-system-muted, #766456);
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: 0.2s ease;
  letter-spacing: 0.03em;
}

.bk-detail-tab.is-active {
  color: var(--bk-system-ink, #251912);
  border-bottom-color: var(--bk-system-gold, #b78348);
}

.bk-unified-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
