/* Bloom to Perfume - Universal Ingredient Guide
   Install/enqueue this ONCE site-wide.
   Individual ingredient articles should NOT reproduce this CSS. */

.btp-ingredient-guide,
.btp-ingredient-guide *,
.btp-ingredient-guide *::before,
.btp-ingredient-guide *::after {
  box-sizing:border-box !important;
}

.btp-ingredient-guide {
  --btp-ink:#302a2d;
  --btp-muted:#75696f;
  --btp-leaf:#375746;
  --btp-leaf-soft:#eef4ee;
  --btp-accent:#a94f6c;
  --btp-accent-dark:#78364f;
  --btp-accent-soft:#f5eaf0;
  --btp-cream:#fffaf2;
  --btp-gold:#b98945;
  --btp-line:rgba(71,53,60,.13);
  --btp-shadow:0 12px 30px rgba(71,48,56,.06);

  display:block !important;
  width:100% !important;
  max-width:758px !important;
  margin:0 auto !important;
  padding:22px 18px 0 !important;
  color:var(--btp-ink) !important;
  background:transparent !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.62 !important;
  text-align:left !important;
}

.btp-ingredient-guide > *:first-child { margin-top:0 !important; }
.btp-ingredient-guide > *:last-child { margin-bottom:0 !important; }

.btp-ingredient-guide p,
.btp-ingredient-guide ul,
.btp-ingredient-guide ol,
.btp-ingredient-guide dl,
.btp-ingredient-guide figure,
.btp-ingredient-guide blockquote { margin-top:0 !important; }

.btp-ingredient-guide p {
  margin:0 0 14px !important;
  padding:0 !important;
  color:inherit !important;
  font:inherit !important;
}

.btp-ingredient-guide p:last-child,
.btp-ingredient-guide li:last-child,
.btp-ingredient-guide dd:last-child { margin-bottom:0 !important; }

.btp-ingredient-guide h2,
.btp-ingredient-guide h3 {
  display:block !important;
  margin-top:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--btp-leaf) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-style:normal !important;
  font-weight:500 !important;
  text-transform:none !important;
  text-decoration:none !important;
  letter-spacing:-.02em !important;
  text-shadow:none !important;
}

.btp-ingredient-guide h2 {
  margin:0 0 10px !important;
  font-size:2.25rem !important;
  line-height:1.08 !important;
}

.btp-ingredient-guide h3 {
  margin:0 0 8px !important;
  font-size:1.3rem !important;
  line-height:1.18 !important;
}

.btp-ingredient-guide strong { color:inherit !important; font-weight:700 !important; }

.btp-ingredient-guide .btp-eyebrow,
.btp-ingredient-guide .btp-pill,
.btp-ingredient-guide .btp-note-name,
.btp-ingredient-guide .btp-product-brand,
.btp-ingredient-guide .btp-product-meta {
  font-family:Arial,Helvetica,sans-serif !important;
}

/* Opening */
.btp-ingredient-guide .btp-opening {
  position:relative !important;
  overflow:hidden !important;
  margin:0 0 28px !important;
  padding:30px !important;
  border:1px solid var(--btp-line) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 92% 13%,rgba(255,255,255,.86) 0 5%,transparent 5.5%),
    linear-gradient(135deg,#fff9f4 0%,var(--btp-accent-soft) 60%,#f7efd8 100%) !important;
  box-shadow:var(--btp-shadow) !important;
}

.btp-ingredient-guide .btp-opening::after {
  content:attr(data-watermark) !important;
  position:absolute !important;
  right:-5px !important;
  bottom:-22px !important;
  color:color-mix(in srgb,var(--btp-accent) 8%,transparent) !important;
  font:700 70px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:-.05em !important;
  pointer-events:none !important;
}

.btp-ingredient-guide .btp-opening-inner {
  position:relative !important;
  z-index:1 !important;
}

.btp-ingredient-guide .btp-eyebrow {
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 0 10px !important;
  color:var(--btp-accent) !important;
  font-size:.72rem !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

.btp-ingredient-guide .btp-eyebrow::before {
  content:"" !important;
  flex:0 0 28px !important;
  width:28px !important;
  height:1px !important;
  background:var(--btp-gold) !important;
}

.btp-ingredient-guide .btp-deck {
  margin:0 !important;
  color:#5b4e54 !important;
  font-size:1.22rem !important;
  line-height:1.52 !important;
}

.btp-ingredient-guide .btp-pills {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin:17px 0 0 !important;
  padding:0 !important;
}

.btp-ingredient-guide .btp-pill {
  display:inline-block !important;
  margin:0 !important;
  padding:7px 10px !important;
  border:1px solid color-mix(in srgb,var(--btp-accent) 15%,transparent) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.8) !important;
  color:var(--btp-accent-dark) !important;
  font-size:.76rem !important;
  line-height:1 !important;
  font-weight:700 !important;
}

/* Sections */
.btp-ingredient-guide .btp-section {
  display:block !important;
  margin:0 0 30px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

.btp-ingredient-guide .btp-section-head {
  margin:0 0 14px !important;
  padding:0 !important;
}

.btp-ingredient-guide .btp-section-intro {
  margin:8px 0 0 !important;
  color:var(--btp-muted) !important;
  font-size:.96rem !important;
  line-height:1.52 !important;
}

/* Cards/grids */
.btp-ingredient-guide .btp-stack,
.btp-ingredient-guide .btp-two-col,
.btp-ingredient-guide .btp-product-grid {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
}

.btp-ingredient-guide .btp-card {
  margin:0 !important;
  padding:22px !important;
  border:1px solid var(--btp-line) !important;
  border-radius:17px !important;
  background:#fff !important;
  box-shadow:0 7px 20px rgba(71,48,56,.04) !important;
}

.btp-ingredient-guide .btp-card.soft { background:var(--btp-cream) !important; }

/* Facts */
.btp-ingredient-guide .btp-fact-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:14px 0 0 !important;
}

.btp-ingredient-guide .btp-fact {
  padding:11px 12px !important;
  border:1px solid var(--btp-line) !important;
  border-radius:11px !important;
  background:#fff !important;
}

.btp-ingredient-guide .btp-fact small {
  display:block !important;
  margin:0 0 2px !important;
  color:var(--btp-accent) !important;
  font:700 .66rem/1.2 Arial,Helvetica,sans-serif !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.btp-ingredient-guide .btp-fact strong {
  display:block !important;
  color:var(--btp-leaf) !important;
  font-size:.93rem !important;
  line-height:1.3 !important;
  font-weight:600 !important;
}

/* Scent characteristics */
.btp-ingredient-guide .btp-scent-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
}

.btp-ingredient-guide .btp-scent {
  position:relative !important;
  overflow:hidden !important;
  padding:19px !important;
  border:1px solid var(--btp-line) !important;
  border-radius:15px !important;
  background:linear-gradient(180deg,#fff,#fffbf8) !important;
}

.btp-ingredient-guide .btp-scent::after {
  content:"" !important;
  position:absolute !important;
  width:52px !important;
  height:52px !important;
  right:-22px !important;
  top:-20px !important;
  border:1px solid color-mix(in srgb,var(--btp-accent) 18%,transparent) !important;
  border-radius:50% !important;
}

.btp-ingredient-guide .btp-scent strong {
  display:block !important;
  margin:0 0 5px !important;
  color:var(--btp-leaf) !important;
  font-size:1rem !important;
  line-height:1.28 !important;
}

.btp-ingredient-guide .btp-scent p {
  margin:0 !important;
  color:var(--btp-muted) !important;
  font-size:.87rem !important;
  line-height:1.45 !important;
}

.btp-ingredient-guide .btp-callout {
  display:block !important;
  margin:14px 0 0 !important;
  padding:16px 18px !important;
  border-left:4px solid var(--btp-gold) !important;
  border-radius:0 14px 14px 0 !important;
  background:linear-gradient(90deg,#fff6e8,#fffaf4) !important;
  color:#5f5458 !important;
  font-size:.93rem !important;
  line-height:1.52 !important;
}

/* Lists */
.btp-ingredient-guide .btp-mini-list {
  margin:11px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}

.btp-ingredient-guide .btp-mini-list li {
  position:relative !important;
  margin:0 0 7px !important;
  padding:0 0 0 19px !important;
  color:#65575d !important;
  font-size:.92rem !important;
  line-height:1.48 !important;
}

.btp-ingredient-guide .btp-mini-list li::before {
  content:"•" !important;
  position:absolute !important;
  left:2px !important;
  color:var(--btp-gold) !important;
}

/* Dark perfumery panel */
.btp-ingredient-guide .btp-dark {
  position:relative !important;
  overflow:hidden !important;
  padding:27px !important;
  border-radius:20px !important;
  background:linear-gradient(145deg,var(--btp-accent-dark),var(--btp-leaf)) !important;
  color:#f8f4ef !important;
}

.btp-ingredient-guide .btp-dark .btp-eyebrow { color:#f2d6e1 !important; }
.btp-ingredient-guide .btp-dark h2 { color:#fffaf4 !important; }
.btp-ingredient-guide .btp-dark p { color:rgba(255,255,255,.82) !important; }

.btp-ingredient-guide .btp-role-grid {
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
  margin:14px 0 0 !important;
}

.btp-ingredient-guide .btp-role {
  padding:12px 13px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.055) !important;
}

.btp-ingredient-guide .btp-role strong {
  display:block !important;
  margin:0 0 2px !important;
  color:#f8d5e2 !important;
}

.btp-ingredient-guide .btp-role span {
  display:block !important;
  color:rgba(255,255,255,.74) !important;
  font:400 .84rem/1.42 Arial,Helvetica,sans-serif !important;
}

/* btp_pair shortcode layout */
.btp-ingredient-guide .btp-pairings {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
}

.btp-ingredient-guide .btp-pairings .btp-pairing,
.btp-ingredient-guide .btp-pairings a.btp-pairing,
.btp-ingredient-guide .btp-pairings .btp-pairing--linked,
.btp-ingredient-guide .btp-pairings .btp-pairing--missing {
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 105px !important;
  align-items:stretch !important;
  min-height:112px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(55,87,70,.10) !important;
  border-radius:14px !important;
  background:var(--btp-leaf-soft) !important;
  color:#425247 !important;
  text-decoration:none !important;
}

.btp-ingredient-guide .btp-pairing-content {
  grid-column:1 !important;
  grid-row:1 !important;
  align-self:center !important;
  min-width:0 !important;
  padding:15px 13px 15px 15px !important;
}

.btp-ingredient-guide .btp-pairing-content strong {
  display:block !important;
  margin:0 0 4px !important;
  color:var(--btp-leaf) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1rem !important;
  line-height:1.25 !important;
}

.btp-ingredient-guide .btp-pairing-content p,
.btp-ingredient-guide .btp-pairing-content span:not(.btp-pairing-more) {
  margin:0 !important;
  color:#68766d !important;
  font:400 .79rem/1.38 Arial,Helvetica,sans-serif !important;
}

.btp-ingredient-guide .btp-pairing-image-wrap {
  position:relative !important;
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  align-self:stretch !important;
  width:105px !important;
  min-width:105px !important;
  min-height:112px !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-left:1px solid rgba(55,87,70,.08) !important;
  background:#dfeadf !important;
}

.btp-ingredient-guide .btp-pairing-image-wrap img,
.btp-ingredient-guide img.btp-pairing-image {
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  box-shadow:none !important;
}

.btp-ingredient-guide .btp-pairing-more,
.btp-ingredient-guide a .btp-pairing-more,
.btp-ingredient-guide a:link .btp-pairing-more,
.btp-ingredient-guide a:visited .btp-pairing-more,
.btp-ingredient-guide a:hover .btp-pairing-more,
.btp-ingredient-guide a:active .btp-pairing-more {
  display:inline-flex !important;
  flex-flow:row nowrap !important;
  align-items:center !important;
  gap:4px !important;
  width:auto !important;
  max-width:100% !important;
  margin:7px 0 0 !important;
  padding:0 !important;
  color:var(--btp-accent) !important;
  font:800 .69rem/1.25 Arial,Helvetica,sans-serif !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

.btp-ingredient-guide .btp-pairing-more *,
.btp-ingredient-guide .btp-pairing-more span {
  display:inline !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:inherit !important;
  white-space:nowrap !important;
}

.btp-ingredient-guide a.btp-pairing:hover {
  border-color:rgba(55,87,70,.22) !important;
  background:#e8f1e9 !important;
  text-decoration:none !important;
}

.btp-ingredient-guide .btp-pairing--missing {
  grid-template-columns:1fr !important;
}

.btp-ingredient-guide .btp-pairing--missing .btp-pairing-image-wrap {
  display:none !important;
}

/* Product cards */
.btp-ingredient-guide .btp-product {
  display:block !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid var(--btp-line) !important;
  border-radius:19px !important;
  background:#fff !important;
  color:var(--btp-ink) !important;
  box-shadow:var(--btp-shadow) !important;
}

.btp-ingredient-guide a.btp-product,
.btp-ingredient-guide a.btp-product:link,
.btp-ingredient-guide a.btp-product:visited,
.btp-ingredient-guide a.btp-product:hover,
.btp-ingredient-guide a.btp-product:active {
  color:var(--btp-ink) !important;
  text-decoration:none !important;
}

.btp-ingredient-guide .btp-product-top {
  display:grid !important;
  grid-template-columns:132px minmax(0,1fr) !important;
  min-height:180px !important;
  border-bottom:1px solid var(--btp-line) !important;
  background:linear-gradient(135deg,#fff8fb,var(--btp-accent-soft),#fbf0df) !important;
}

.btp-ingredient-guide .btp-product-image {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:15px !important;
}

.btp-ingredient-guide .btp-product-image img {
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:148px !important;
  margin:auto !important;
  border:0 !important;
  box-shadow:none !important;
  mix-blend-mode:multiply !important;
}

.btp-ingredient-guide .btp-product-intro {
  align-self:center !important;
  padding:18px 18px 18px 2px !important;
}

.btp-ingredient-guide .btp-product-brand {
  color:var(--btp-accent) !important;
  font-size:.68rem !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
}

.btp-ingredient-guide .btp-product h3 {
  margin:5px 0 6px !important;
  color:var(--btp-leaf) !important;
  font-size:1.5rem !important;
  line-height:1.15 !important;
}

.btp-ingredient-guide .btp-product-meta {
  color:#7c6d73 !important;
  font-size:.76rem !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}

.btp-ingredient-guide .btp-product-body {
  padding:21px !important;
  background:#fff !important;
}

.btp-ingredient-guide .btp-note-list {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
  margin:13px 0 !important;
}

.btp-ingredient-guide .btp-note-row {
  display:grid !important;
  grid-template-columns:62px minmax(0,1fr) !important;
  gap:8px !important;
  padding:8px 10px !important;
  border-radius:10px !important;
  background:#fdf8fb !important;
}

.btp-ingredient-guide .btp-note-name {
  color:var(--btp-accent) !important;
  font-size:.66rem !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

.btp-ingredient-guide .btp-notes {
  color:#665a5f !important;
  font-size:.86rem !important;
  line-height:1.38 !important;
}

.btp-ingredient-guide .btp-role-note {
  padding:13px 14px !important;
  border-radius:12px !important;
  background:var(--btp-cream) !important;
  color:#5e5257 !important;
  font-size:.87rem !important;
  line-height:1.48 !important;
}

/* Comparison */
.btp-ingredient-guide .btp-compare {
  display:grid !important;
  grid-template-columns:1fr !important;
  overflow:hidden !important;
  border:1px solid var(--btp-line) !important;
  border-radius:16px !important;
  background:#fff !important;
}

.btp-ingredient-guide .btp-compare > div {
  padding:18px !important;
  border-bottom:1px solid var(--btp-line) !important;
}

.btp-ingredient-guide .btp-compare > div:last-child { border-bottom:0 !important; }
.btp-ingredient-guide .btp-compare > div:nth-child(odd) { background:var(--btp-accent-soft) !important; }
.btp-ingredient-guide .btp-compare > div:nth-child(even) { background:#f7faf7 !important; }

.btp-ingredient-guide .btp-compare dt {
  margin:8px 0 0 !important;
  color:var(--btp-accent) !important;
  font:800 .66rem/1.2 Arial,Helvetica,sans-serif !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}

.btp-ingredient-guide .btp-compare dd {
  margin:2px 0 0 !important;
  color:#665b60 !important;
  font-size:.89rem !important;
  line-height:1.45 !important;
}

/* FAQ */
.btp-ingredient-guide .btp-faq {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
}

.btp-ingredient-guide details {
  margin:0 !important;
  padding:0 15px !important;
  border:1px solid var(--btp-line) !important;
  border-radius:12px !important;
  background:#fff !important;
}

.btp-ingredient-guide summary {
  display:list-item !important;
  padding:13px 0 !important;
  color:var(--btp-leaf) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1rem !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  cursor:pointer !important;
}

.btp-ingredient-guide details p {
  margin:0 0 14px !important;
  color:var(--btp-muted) !important;
  font-size:.89rem !important;
  line-height:1.48 !important;
}

/* Closing */
.btp-ingredient-guide .btp-closing {
  padding:27px 25px !important;
  border:1px solid var(--btp-line) !important;
  border-radius:19px !important;
  background:linear-gradient(135deg,var(--btp-accent-soft),#f9f0db) !important;
  text-align:center !important;
}

.btp-ingredient-guide .btp-closing .btp-eyebrow { justify-content:center !important; }
.btp-ingredient-guide .btp-closing h2 { font-size:2rem !important; }

/* Common WordPress theme defense */
.entry-content .btp-ingredient-guide > *,
.wp-block-post-content .btp-ingredient-guide > *,
.post-content .btp-ingredient-guide > *,
.article-content .btp-ingredient-guide > * {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

@media (max-width:620px) {
  .btp-ingredient-guide {
    max-width:100% !important;
    padding:16px 12px 0 !important;
    font-size:15px !important;
  }

  .btp-ingredient-guide h2 { font-size:1.95rem !important; }
  .btp-ingredient-guide .btp-opening { padding:24px !important; }
  .btp-ingredient-guide .btp-fact-grid,
  .btp-ingredient-guide .btp-scent-grid,
  .btp-ingredient-guide .btp-pairings { grid-template-columns:1fr !important; }

  .btp-ingredient-guide .btp-pairings .btp-pairing,
  .btp-ingredient-guide .btp-pairings a.btp-pairing {
    grid-template-columns:minmax(0,1fr) 96px !important;
  }

  .btp-ingredient-guide .btp-pairing-image-wrap {
    width:96px !important;
    min-width:96px !important;
  }

  .btp-ingredient-guide .btp-product-top {
    grid-template-columns:105px minmax(0,1fr) !important;
    min-height:160px !important;
  }

  .btp-ingredient-guide .btp-product-image img { max-height:122px !important; }
}
