/* Review 40: compact catalogue fiche and immediate bottom comparison drawer. */

.strain-ficha-dialog{
  box-sizing:border-box;
  width:min(1220px,calc(100% - 32px));
  max-height:min(94dvh,920px)!important;
}
.strain-ficha-dialog[open]{
  height:max-content!important;
  grid-template-rows:auto auto!important;
  align-content:start;
}
.strain-ficha-dialog .strain-ficha-head{padding:10px 16px}
.strain-ficha-dialog .strain-ficha-head h2{font-size:clamp(24px,2.8vw,34px)}
.strain-ficha-dialog .strain-ficha-close{width:42px;height:42px}
.strain-ficha-dialog .strain-ficha-body{
  display:grid;
  grid-template-columns:minmax(360px,.92fr) minmax(460px,1.08fr);
  grid-template-rows:auto;
  gap:12px;
  align-items:start;
  min-height:0;
  max-height:calc(min(94dvh,920px) - 70px);
  overflow-x:hidden;
  overflow-y:auto;
  padding:10px 14px 14px;
  overscroll-behavior:contain;
}
.strain-ficha-dialog .strain-ficha-column{
  display:grid;
  min-width:0;
  gap:8px;
  align-content:start;
  align-self:start;
}
.strain-ficha-dialog .strain-ficha-column--media{grid-column:1}
.strain-ficha-dialog .strain-ficha-column--information{grid-column:2}
.strain-ficha-dialog .strain-ficha-column--media>.strain-ficha-visuals{
  min-height:0;
  margin:0;
  align-self:start;
}
.strain-ficha-dialog .strain-ficha-visuals>.product-primary-visual{
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16/10;
  overflow:hidden;
}
.strain-ficha-dialog .strain-ficha-visuals .product-primary-visual--flower>.strain-visual-photo{
  position:absolute;
  inset:0;
  box-sizing:border-box;
  width:100%;
  height:100%;
  min-height:0;
  padding:10px;
  object-fit:contain!important;
  object-position:center;
  clip-path:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:none!important;
  transform:none!important;
}
.strain-ficha-dialog .strain-ficha-column--information>.strain-ficha-content{
  display:grid;
  min-width:0;
  gap:6px;
  align-self:start;
}
.strain-ficha-dialog .strain-ficha-identity{min-height:0;padding:0}
.strain-ficha-dialog .strain-ficha-producer{margin:0}
.strain-ficha-dialog .catalog-product-brief{margin:0;padding:7px 8px}
.strain-ficha-dialog .catalog-product-brief__title{display:none}
.strain-ficha-dialog .catalog-product-brief__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.strain-ficha-dialog .catalog-product-brief__item{padding:4px 6px}
.strain-ficha-dialog .catalog-product-brief dt{font:800 12px/1.2 var(--sans);letter-spacing:.07em}
.strain-ficha-dialog .catalog-product-brief dd{margin:2px 0 0;font:700 13px/1.25 var(--sans)}
.strain-ficha-dialog .strain-ficha-terpenes{margin:0;padding:7px 8px}
.strain-ficha-dialog .strain-ficha-terpenes .catalog-profile{font:800 12px/1.15 var(--sans)}
.strain-ficha-dialog .strain-ficha-terpene-note{margin:2px 0 0;font:600 12px/1.3 var(--sans)}
.strain-ficha-dialog .strain-ficha-terpenes .strain-terpene-bars.catalog-potency--has-donut{
  grid-template-columns:52px minmax(0,1fr);
  gap:6px;
  margin-top:4px;
}
.strain-ficha-dialog .strain-ficha-terpenes .catalog-terpene-donut{width:50px}
.strain-ficha-dialog .strain-ficha-terpenes .catalog-terpene-donut::after{inset:9px}
.strain-ficha-dialog .strain-ficha-terpenes .catalog-terpene-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.strain-ficha-dialog .strain-ficha-terpenes .catalog-terpene-chip{gap:3px;padding:3px 5px;font-size:12px;line-height:1.2}
.strain-ficha-dialog .strain-ficha-lower{gap:5px}
.strain-ficha-dialog .strain-price-cta{min-height:38px;padding:6px 10px;font-size:12px}

/* The story starts immediately below the contained flower. */
.strain-ficha-dialog .strain-ficha-column--media>.strain-ficha-biography{
  min-width:0;
  align-self:start;
  margin:0;
  border:1px solid rgba(239,140,175,.28);
  border-left:3px solid #df7e9e;
  border-radius:12px;
  padding:12px 14px;
  background:linear-gradient(135deg,rgba(223,126,158,.11),rgba(24,14,23,.55));
}
.strain-ficha-dialog .strain-ficha-biography__title{
  margin:0 0 6px;
  color:#fff1f6;
  font:600 21px/1.12 var(--tr-role-display,var(--serif));
}
.strain-ficha-dialog .strain-ficha-biography__text{
  margin:0;
  color:#eee2e8;
  font:400 14px/1.46 var(--tr-role-body,var(--sans));
  overflow-wrap:break-word;
}

/* Prescription notation stays on the right and uses the dark site palette. */
.strain-ficha-dialog .strain-ficha-column--information>.strain-recipe.strain-rpw-guide{
  display:grid;
  min-width:0;
  grid-template-columns:minmax(150px,.48fr) minmax(0,1.52fr)!important;
  grid-template-areas:"head paper" "note paper"!important;
  gap:6px 9px!important;
  align-self:start;
  margin:0;
  padding:9px 10px;
}
.strain-ficha-dialog .strain-rpw-guide__head{
  display:grid;
  grid-area:head;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  align-content:start;
}
.strain-ficha-dialog .strain-rpw-guide__kicker{font-size:12px;letter-spacing:.1em}
.strain-ficha-dialog .strain-rpw-guide__title{font-size:19px!important;line-height:1.08!important}
.strain-ficha-dialog .strain-rpw-guide__badge{
  justify-self:start;
  max-width:none;
  margin-top:3px;
  padding:3px 7px;
  text-align:left;
  font-size:12px;
  line-height:1.15!important;
  text-transform:none;
}
.strain-ficha-dialog .strain-rpw-guide__paper{
  display:grid;
  min-width:0;
  grid-area:paper;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  border-color:rgba(239,140,175,.42);
  padding:7px;
  color:#fff1f6;
  background:linear-gradient(145deg,#351025,#1d0d19);
  box-shadow:0 12px 28px rgba(6,1,5,.42),inset 0 0 0 1px rgba(255,173,205,.08);
}
.strain-ficha-dialog .strain-rpw-guide__line{
  gap:2px;
  border-color:rgba(247,177,204,.25);
  padding:6px 7px;
  background:linear-gradient(135deg,rgba(111,30,70,.5),rgba(58,18,43,.72));
}
.strain-ficha-dialog .strain-rpw-guide__line--product,
.strain-ficha-dialog .strain-rpw-guide__line--dose{grid-column:1/-1}
.strain-ficha-dialog .strain-rpw-guide__label{color:#f7bbd0;font-size:12px;letter-spacing:.06em}
.strain-ficha-dialog .strain-rpw-guide__value,
.strain-ficha-dialog .strain-rpw-guide__value--muted,
.strain-ficha-dialog .strain-ficha-column--information>.strain-recipe.strain-rpw-guide .strain-rpw-guide__wording,
.strain-ficha-dialog .strain-ficha-column--information>.strain-recipe.strain-rpw-guide .strain-rpw-guide__notation{
  color:#fff1f6;
  font-size:13px;
  line-height:1.3;
}
.strain-ficha-dialog .strain-rpw-guide__help{color:#e8c9d6;font-size:12px;line-height:1.3}
.strain-ficha-dialog .strain-rpw-guide__medical-note{grid-area:note;align-self:start;font-size:12px;line-height:1.34}
.strain-ficha-dialog .strain-rpw-guide__registered>.strain-copy-recipe{
  border-color:rgba(247,187,208,.42);
  color:#ffd4e2;
  background:rgba(104,30,66,.55);
}
.strain-ficha-dialog .strain-rpw-guide__registered>.strain-copy-recipe:hover{
  border-color:#ffb3cf;
  color:#240a19;
  background:#ffb3cf;
}
.strain-ficha-dialog .strain-rpw-guide__registered>.strain-copy-status{color:#b7edcf}

/* Selecting a card opens a fixed comparison drawer in place. */
.catalog-compare-tray{
  position:fixed!important;
  z-index:700;
  right:max(12px,env(safe-area-inset-right));
  bottom:max(12px,env(safe-area-inset-bottom));
  left:max(12px,env(safe-area-inset-left));
  box-sizing:border-box;
  width:min(1180px,calc(100vw - 24px));
  max-height:min(62dvh,560px);
  margin:0 auto!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:7px 12px!important;
  overflow-y:auto;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:18px!important;
  padding:12px!important;
  background:rgba(14,11,18,.96)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.72),0 0 0 1px rgba(239,140,175,.12)!important;
  backdrop-filter:blur(24px) saturate(1.35)!important;
  -webkit-backdrop-filter:blur(24px) saturate(1.35)!important;
  overscroll-behavior:contain;
}
.catalog-compare-tray[hidden]{display:none!important}
body.has-catalog-compare{padding-bottom:118px}
body.has-catalog-compare-expanded{padding-bottom:min(62dvh,560px)}
.catalog-compare-intro h3{font-size:20px}
.catalog-compare-intro p{margin-top:2px}
.catalog-compare-intro{grid-column:1}
.catalog-compare-count{padding:5px 8px;font-size:12px}
.catalog-compare-selected{gap:6px}
.catalog-compare-tray[data-expanded="true"] .catalog-compare-selected{display:none}
.catalog-compare-chip{min-height:38px;padding:3px 4px 3px 7px;font-size:12px}
.catalog-compare-chip__thumb,
.catalog-inline-card__thumb{
  display:grid;
  flex:none;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;
  background:#090a0f;
}
.catalog-compare-chip__thumb{width:32px;height:32px}
.catalog-inline-card__thumb{width:46px;height:46px}
.catalog-compare-chip__image,
.catalog-inline-card__image{
  display:block;
  box-sizing:border-box;
  width:100%;
  height:100%;
  padding:3px;
  object-fit:contain;
  object-position:center;
  clip-path:none;
  -webkit-mask-image:none;
  mask-image:none;
  filter:none;
  transform:none;
}
.catalog-compare-actions{grid-column:3;gap:6px;align-items:center}
.catalog-compare-clear,
.catalog-compare-open{min-height:38px;padding:6px 10px;font-size:12px!important;text-transform:none}
.catalog-compare-status{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.catalog-inline-comparison{
  grid-column:1/-1!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding-top:9px;
}
.catalog-inline-card{grid-template-rows:auto auto auto auto;gap:7px;padding:10px!important}
.catalog-inline-card:hover{transform:none!important}
.catalog-inline-card__identity{display:flex;min-width:0;gap:8px;align-items:center}
.catalog-inline-card__identity-copy{min-width:0}
.catalog-inline-card__head h4{font-size:17px}
.catalog-inline-card__head p{margin-top:2px;font-size:12px}
.catalog-inline-facts{gap:4px}
.catalog-inline-fact dt{font-size:12px}
.catalog-inline-fact dd{margin-top:2px;font-size:12px;line-height:1.3}
.catalog-inline-terpenes{gap:4px}
.catalog-inline-terpenes .catalog-terpene-chip{padding:4px 5px;font-size:12px}
.catalog-inline-prescription{padding-top:6px}
.catalog-inline-prescription code{max-height:2.9em;font-size:12px;line-height:1.35}

@media(max-width:900px){
  .strain-ficha-dialog{width:min(760px,calc(100% - 24px))}
  .strain-ficha-dialog .strain-ficha-body{
    grid-template-columns:minmax(0,1fr);
  }
  .strain-ficha-dialog .strain-ficha-column--media,
  .strain-ficha-dialog .strain-ficha-column--information{grid-column:1}
  .catalog-inline-comparison{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:580px){
  .strain-ficha-dialog{width:100%;max-width:none;max-height:96dvh!important;margin:0}
  .strain-ficha-dialog[open]{height:96dvh!important;grid-template-rows:auto minmax(0,1fr)!important}
  .strain-ficha-dialog .strain-ficha-head{padding:9px 12px}
  .strain-ficha-dialog .strain-ficha-body{max-height:none;gap:7px;padding:8px 10px 12px}
  .strain-ficha-dialog .strain-ficha-visuals>.product-primary-visual{aspect-ratio:4/3}
  .strain-ficha-dialog .catalog-product-brief__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strain-ficha-dialog .strain-ficha-terpenes .catalog-terpene-legend{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strain-ficha-dialog .strain-ficha-column--information>.strain-recipe.strain-rpw-guide{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"head" "paper" "note"!important;
  }
  .strain-ficha-dialog .strain-rpw-guide__paper{grid-template-columns:minmax(0,1fr)}
  .strain-ficha-dialog .strain-rpw-guide__line,
  .strain-ficha-dialog .strain-rpw-guide__line--product,
  .strain-ficha-dialog .strain-rpw-guide__line--dose{grid-column:1}
  .catalog-compare-tray{
    right:0;
    bottom:0;
    left:0;
    width:100%;
    max-height:72dvh;
    border-width:1px 0 0!important;
    border-radius:18px 18px 0 0!important;
    padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;
  }
  body.has-catalog-compare{padding-bottom:132px}
  body.has-catalog-compare-expanded{padding-bottom:72dvh}
  .catalog-compare-intro p{display:none}
  .catalog-compare-selected{grid-column:1/-1}
  .catalog-compare-actions{grid-column:1/-1;justify-content:stretch}
  .catalog-compare-actions>*{flex:1 1 0}
  .catalog-inline-card{padding:9px!important}
}

@media(max-width:380px){
  .strain-ficha-dialog .catalog-product-brief__list,
  .strain-ficha-dialog .strain-ficha-terpenes .catalog-terpene-legend{grid-template-columns:minmax(0,1fr)}
}

@media(prefers-reduced-motion:reduce){.catalog-compare-tray{scroll-behavior:auto}}
