/* Fichas V2: layout only, never an alternate source for technical claims.
   Shared by Ruby, Scarlet, Oxblood and Carmine. Unscored/care items keep
   their existing caution wording and no grade is inferred from category. */
.product.product-v2 .product-body{display:flex;flex-direction:column;gap:12px}
.product.product-v2 .v2-group{min-width:0}
.product.product-v2 .v2-group-intro{display:grid;gap:5px}
.product.product-v2 .v2-group-intro h3{margin:2px 0 4px;line-height:1.3}
.product.product-v2 .v2-group:not(.v2-group-intro){
  padding-top:12px;border-top:1px solid rgba(255,255,255,.13);
  display:grid;gap:8px
}
.product.product-v2 .v2-group-heading{
  margin:0;color:#E9B9C5;font-size:.76rem;line-height:1.4;
  font-weight:750;letter-spacing:.04em
}
.product.product-v2 .v2-group-details .product-tech{
  border-top:0;padding:0;margin:0;display:grid;gap:2px
}
.product.product-v2 .v2-group-details .product-tech strong{font-size:.78rem}
.product.product-v2 .v2-group-know{
  background:rgba(224,98,132,.07);
  border-left:3px solid var(--display-accent,var(--accent));
  border-top:1px solid rgba(255,255,255,.13);
  padding:12px;border-radius:0 10px 10px 0
}
.product.product-v2 .v2-group-know .product-tech{border-top:0;padding:0;margin:0}
.product.product-v2 .v2-group-reviews .product-curation{margin:0}
.product.product-v2 .v2-group-commerce .product-bottom{margin-top:0}
.product.product-v2 .v2-group-commerce .product-disclosure{margin-top:0}
html[data-theme="light"] .product.product-v2 .v2-group:not(.v2-group-intro){border-top-color:rgba(43,39,36,.16)}
html[data-theme="light"] .product.product-v2 .v2-group-heading{color:#71243F}
html[data-theme="light"] .product.product-v2 .v2-group-know{
  background:#F9EFF1;border-top-color:rgba(43,39,36,.16)
}
@media(max-width:680px){
  .product.product-v2 .product-body{gap:10px}
  .product.product-v2 .v2-group:not(.v2-group-intro){padding-top:10px}
  .product.product-v2 .v2-group-know{padding:10px}
}

.product.product-v2 .v2-safe-pick{
  display:inline-flex;justify-self:start;border-radius:999px;
  padding:4px 9px;border:1px solid #BA6B84;background:#3B1626;
  color:#FFE8EE;font-size:.72rem;font-weight:800;letter-spacing:.02em
}
html[data-theme="light"] .product.product-v2 .v2-safe-pick{
  border-color:#B5788D;background:#F9E5EC;color:#681C3A
}

/* Preserve the empty Puerto Rico commercial placeholder without a blank V2 section. */
.product.product-v2 .v2-empty-commercial-slot{display:none}

/* Carmine: inherited formula warnings and flavor/size values remain legible
   and scoped inside the same details/care anatomy used by Ruby cards. */
.product.product-v2 .v2-group-details .product-flavors{margin:0}
.product.product-v2 .v2-group-know .formula-verification-note{margin:0;min-width:0}
.product.product-v2 .v2-group-know .formula-verification-note p{overflow-wrap:anywhere}

/* V2 section heading replaces only identical nested caution labels.
   The hidden attribute also removes the repeated text from accessibility trees. */
.product.product-v2 .v2-group-know .product-tech-caveat > strong[hidden]{display:none!important}

/* Variant purchase options: predictable two-row layout on phones and desktops.
   The visible name occupies exactly the first row; price and arrow occupy
   the second even when a long variant would otherwise wrap. The full name
   remains in the link's accessible label. */
.product-choice-links a.product-choice-priced{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:5px}
.product-choice-links .product-choice-name{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-choice-links .product-choice-amount-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.product-choice-links .product-choice-amount{font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.product-choice-links .product-choice-arrow{flex:none;white-space:nowrap}


/* TD-0044: concise cards with native <details> disclosures (no JS state).
   Essential precautions and commercial disclosures remain visible; only
   previously rendered, optional information is collapsed. */
.product.product-v2 .v2-disclosure{
  min-width:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  overflow:hidden;
}
.product.product-v2 .v2-disclosure > summary{
  position:relative;
  display:list-item;
  list-style-position:inside;
  padding:12px 14px;
  color:var(--text,#F2E7EC);
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
  line-height:1.4;
  overflow-wrap:anywhere;
  -webkit-tap-highlight-color:transparent;
}
.product.product-v2 .v2-disclosure > summary:hover{
  background:rgba(255,255,255,.07);
}
.product.product-v2 .v2-disclosure > summary:focus-visible{
  outline:3px solid var(--display-accent,#E2749C);
  outline-offset:-3px;
}
.product.product-v2 .v2-disclosure[open]{
  padding-bottom:10px;
}
.product.product-v2 .v2-disclosure[open] > summary{
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:9px;
}
.product.product-v2 .v2-disclosure > :not(summary){
  margin:7px 13px;
}
.product.product-v2 .v2-disclosure .product-tech{
  display:grid;
  gap:2px;
  border-top:0;
  padding:0;
  min-width:0;
}
.product.product-v2 .v2-disclosure .product-tech strong{font-size:.78rem}
.product.product-v2 .v2-disclosure .product-curation,
.product.product-v2 .v2-disclosure .product-warranty{margin:7px 13px}
.product.product-v2 .v2-disclosure-choices .product-choice-links{display:grid}
.product.product-v2 .v2-group-know .product-tech-caveat,
.product.product-v2 .v2-group-know .formula-verification-note{
  display:block;
}
html[data-theme="light"] .product.product-v2 .v2-disclosure{
  background:rgba(65,37,51,.035);
  border-color:rgba(43,39,36,.25);
}
html[data-theme="light"] .product.product-v2 .v2-disclosure > summary{color:#4A2432}
html[data-theme="light"] .product.product-v2 .v2-disclosure > summary:hover{background:rgba(65,37,51,.065)}
@media(max-width:680px){
  .product.product-v2 .v2-disclosure > summary{min-height:44px;padding:12px}
}


/* TD-0044 revision: the user's scan order is brand, product name, price, sizes.
   Any missing or PR-blocked price remains absent; do not paint placeholders. */
.product.product-v2 .v2-group-intro .product-bottom{
  margin:4px 0 2px;
  gap:10px;
}
.product.product-v2 .v2-group-intro .product-tech-size{
  margin:3px 0 5px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}
.product.product-v2 .v2-group-intro .product-tech-size strong{
  display:block;
  color:var(--text,#E7E9EC);
  font-size:.76rem;
}
.product.product-v2 .v2-group-intro .product-tech-size p{
  overflow-wrap:anywhere;
}
html[data-theme="light"] .product.product-v2 .v2-group-intro .product-tech-size{
  border-color:rgba(43,39,36,.2);
  background:rgba(65,37,51,.035);
}
html[data-theme="light"] .product.product-v2 .v2-group-intro .product-tech-size strong{
  color:#4A2432;
}

/* Mobile reading: remove nested frames, retain native disclosure controls and
   caution accents, and keep source attributions readable without smaller text. */
.product-review-sources{list-style:none;padding:0;display:grid;gap:12px}
.product-review-sources li{line-height:1.55;overflow-wrap:anywhere}
.product-review-sources a{text-decoration:underline;text-underline-offset:3px}
.product.product-v2 .product-tech + .product-tech{margin-top:10px}
.product.product-v2 .product-vibration{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.product.product-v2 .product-vibration p{margin:0}
@media(max-width:680px){
  .product.product-v2 .product-body{padding:12px}
  .product.product-v2 .v2-disclosure{border:0;border-radius:0;background:transparent}
  .product.product-v2 .v2-disclosure > summary{padding:10px 0}
  .product.product-v2 .v2-disclosure > :not(summary),
  .product.product-v2 .v2-disclosure .product-curation,
  .product.product-v2 .v2-disclosure .product-warranty{margin:8px 0}
  .product.product-v2 .v2-disclosure .product-curation{border:0;background:transparent;padding:0}
  .product.product-v2 .v2-group-know{padding:10px}
}
