
:root {
  --teal-deep:#f5f7f6; --teal-dark:#ffffff; --teal-mid:#e8f5e9;
  --teal-soft:#2e7d32; --teal-light:#388e3c; --teal-glow:rgba(44,106,79,0.15);
  --cream:#EEEADE; --cream-dk:#E4DED0; --cream-card:#F5F1E8;
  --gold:#8B6914; --gold-lt:#B8900A;
  --red:#C0392B; --green:#2D6A4F; --blue:#2980B9;
  --txt:#1C2B22; --txt-mid:#3A5A45; --txt-soft:#5A7A65; --txt-dark:#1C2B22; --txt-dark-mid:#3A5A45;
  --shadow:0 8px 32px rgba(28,58,42,0.15);
  --shadow-h:0 16px 48px rgba(28,58,42,0.25);
  --radius:16px;
  --sp-xs:4px; --sp-sm:8px; --sp-md:14px; --sp-lg:24px; --sp-xl:40px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{font-family:'DM Sans',sans-serif;background:#f5f7f6;color:#1b1b1b;min-height:100vh;}
/* ── BACKGROUND ── */
.bg{position:fixed;inset:0;z-index:0;background:#f5f7f6;}
.bg::before{content:'';display:none;}
.bg::after{content:'';display:none;}
#root{position:relative;z-index:1;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-thumb{background:rgba(44,106,79,0.3);border-radius:4px;}
/* ── TOAST ── */
.toast-stack{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;}
.toast{background:rgba(28,58,42,0.95);backdrop-filter:blur(16px);border:1px solid rgba(46,125,50,0.35);
  border-radius:10px;padding:10px 18px;color:#fff;font-size:13px;display:flex;align-items:center;gap:8px;
  animation:toastIn 0.3s ease;box-shadow:0 8px 24px rgba(0,0,0,0.3);pointer-events:all;}
.toast.success{border-color:rgba(90,122,46,0.4);}
.toast.error{border-color:rgba(192,57,43,0.4);}
@keyframes toastIn{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:none;}}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
/* ── MODAL ── */
.modal-backdrop{position:fixed;inset:0;z-index:500;background:rgba(28,40,30,0.6);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn 0.2s ease;}
.modal{background:#F5F1E8;border-radius:18px;padding:28px;width:100%;max-width:520px;
  max-height:88vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,0.4);animation:slideUp 0.25s ease;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
.modal h2{font-family:'Outfit',sans-serif;font-size:22px;color:#1C2B22;margin-bottom:18px;}
.modal-close{float:right;background:none;border:none;font-size:32px;cursor:pointer;color:var(--txt-soft);margin-top:-4px;}
/* ── FORM ELEMENTS ── */
.field{margin-bottom:14px;}
.field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--txt-soft);margin-bottom:5px;font-weight:700;}
.field input,.field textarea,.field select{
  width:100%;padding:9px 13px;border-radius:8px;
  border:1px solid rgba(139,101,52,0.2);
  background:#fff;color:#1C2B22;font-size:13px;font-family:'DM Sans',sans-serif;
  outline:none;transition:border-color 0.2s;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#276749;}
.field textarea{min-height:80px;resize:vertical;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn{padding:9px 20px;border-radius:24px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;
  font-size:20.8px;font-weight:700;transition:all 0.2s;letter-spacing:0.5px;}
.btn-primary{background:var(--teal-soft);color:white;box-shadow:0 4px 14px rgba(139,101,52,0.35);}
.btn-primary:hover{background:#1C3A2A;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--txt-soft);border:1px solid rgba(0,0,0,0.12);}
.btn-ghost:hover{background:rgba(0,0,0,0.05);}
.btn-danger{background:var(--red);color:white;}
.btn-danger:hover{background:#a93226;transform:translateY(-1px);}
.btn-row{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap;}
/* ── HEADER ── */
.hdr{background:#ffffff;border-bottom:1px solid #e2ece5;padding:0 28px;
  position:sticky;top:0;z-index:50;box-shadow:0 1px 12px rgba(46,125,50,0.07);overflow:visible;}
.hdr-top{position:relative;height:210px;padding:0 32px;overflow:visible;display:flex;align-items:center;justify-content:space-between;}
.brand{position:absolute;left:25%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:1;}
.logo-ring{display:flex;align-items:center;flex-shrink:0;border:none;background:transparent;box-shadow:none;border-radius:0;overflow:visible;}
.logo-ring:hover{opacity:0.85;transition:opacity 0.2s;}
@keyframes logo-pulse{0%,100%{box-shadow:0 0 0 6px rgba(46,125,50,0.2),0 0 28px rgba(46,125,50,0.4);}50%{box-shadow:0 0 0 10px rgba(46,125,50,0.28),0 0 45px rgba(46,125,50,0.55);}}
.monjardin-btn{transition:transform 0.18s cubic-bezier(.34,1.56,.64,1),box-shadow 0.2s;}
.monjardin-btn.pulsing{animation:logo-pulse 1.2s ease-in-out infinite;transform:scale(1.06);}
.monjardin-btn:active{transform:scale(0.97);}
  50%{box-shadow:0 0 0 10px rgba(196,148,74,0.25),0 0 55px rgba(72,201,176,0.75),0 0 90px rgba(196,148,74,0.25);}
}
.logo-ring{animation:none;}
.bloom-logo-img{height:206px;width:auto;object-fit:contain;display:block;transition:transform 0.35s ease,filter 0.35s ease;position:relative;z-index:2;}
.brand-txt{display:none !important;}.brand-txt .eye{display:none;}
.brand-txt h1{font-family:'Outfit',sans-serif;font-size:20px;font-weight:900;color:#1b1b1b;letter-spacing:4px;text-transform:uppercase;text-shadow:0 0 20px rgba(46,125,50,0.3);margin:0;line-height:1;}
.brand-txt .sub{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:2px;color:#5f6b6d;font-style:normal;font-weight:400;margin-top:2px;}
.hdr-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.count-badge{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32 !important;font-weight:800;
  border-radius:20px;padding:6px 14px;color:#A8D8BE;font-size:12px;letter-spacing:1px;white-space:nowrap;}
.hdr-btn{padding:7px 15px;border-radius:20px;border:1px solid #e2ece5;background:#f5f7f6;
  color:#2e7d32;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;
  letter-spacing:0.4px;transition:all 0.2s;white-space:nowrap;font-weight:600;}
.hdr-btn:hover{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7;}
.hdr-btn.accent{background:linear-gradient(135deg,#2e7d32,#1565c0);color:#fff;border-color:transparent;}
/* ── HDR BAR (search / filters row) ── */
.hdr-bar{display:flex;align-items:center;gap:0;padding:0;border-top:1px solid #eef2ef;flex-wrap:nowrap;overflow-x:clip;background:#ffffff;}
.hdr-bar::-webkit-scrollbar{display:none;}
.hdr-controls{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:8px 28px;flex-wrap:wrap;}
.hdr-controls::-webkit-scrollbar{display:none;}
.search{padding:9px 20px;background:#ffffff;border:1.5px solid #d4e6d6;
  border-radius:26px;color:#1b1b1b;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;
  transition:all 0.2s;width:220px;flex-shrink:0;line-height:1.4;}
.search::placeholder{color:#5f6b6d;}
.search:focus{border-color:#388e3c;background:#fff;box-shadow:0 0 0 3px rgba(46,125,50,0.1);}
.cat-pills{display:contents;}
.pill{padding:8px 18px;border-radius:22px;border:1px solid #a5d6a7;
  background:#f5f7f6;color:#2e7d32;font-size:13px;cursor:pointer;
  font-family:'DM Sans',sans-serif;letter-spacing:0.3px;font-weight:600;
  transition:all 0.18s;white-space:nowrap;flex-shrink:0;line-height:1.3;}
.pill:hover{color:#1b5e20;border-color:#2e7d32;background:#e8f5e9;}
.pill.on{background:linear-gradient(135deg,#2e7d32,#1565c0);border-color:transparent;color:white;font-weight:800;
  box-shadow:0 2px 12px rgba(46,125,50,0.35);}
/* ── CONTROLS ── */
.ctrl-row{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;align-items:center;}
.srch-wrap{position:relative;flex:1;min-width:170px;max-width:340px;}
.srch-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#276749;font-size:19.2px;pointer-events:none;}
.srch{width:100%;padding:10px 16px 10px 38px;background:white;border:1px solid rgba(44,106,79,0.2);
  border-radius:24px;color:#1C2B22;font-size:20.8px;font-family:'DM Sans',sans-serif;outline:none;transition:all 0.2s;}
.srch::placeholder{color:rgba(28,43,34,0.4);}
.srch:focus{border-color:#276749;background:white;}
.cats{display:flex;gap:8px;flex-wrap:wrap;}
.cat{padding:8px 18px;border-radius:18px;border:1px solid rgba(44,106,79,0.22);
  background:white;color:#5A7A65;font-size:17.6px;cursor:pointer;
  font-family:'DM Sans',sans-serif;letter-spacing:0.5px;transition:all 0.2s;}
.cat:hover{color:#1C2B22;border-color:#276749;background:#E8F4EE;}
.cat.on{background:#276749;border-color:#276749;color:white;
  box-shadow:0 2px 10px rgba(44,106,79,0.3);}
.sort-sel{padding:9px 16px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);
  border-radius:22px;color:#2e7d32;font-size:12px;font-family:'DM Sans',sans-serif;
  outline:none;cursor:pointer;font-weight:600;}
.sort-sel option{background:#1a3a28;color:#fff;}
/* ── LAYOUT ── */
.layout{display:flex;min-height:calc(100vh - 148px);}
.sidebar{flex:0 0 auto;width:100%;max-width:380px;padding:18px 14px;
  overflow-y:auto;border-right:1px solid rgba(28,58,42,0.12);
  background:#F0EBE0;}
.sidebar.wide{max-width:none;flex:1;}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;}
.grid.full{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;}
/* ── PLANT CARD ── */
.card{background:var(--cream-card);color:#0d0d0d;border-radius:var(--radius);cursor:pointer;overflow:hidden;
  border:2px solid transparent;transition:all 0.22s cubic-bezier(0.34,1.4,0.64,1);
  box-shadow:0 4px 16px rgba(0,0,0,0.1);}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-h);}
.card.sel{border-color:#276749;box-shadow:0 8px 28px rgba(44,106,79,0.25);}
.card-img{height:160px;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card-img .svg-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.card-img .svg-wrap svg{width:100%;height:100%;object-fit:cover;}
.photo-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,0.32));}
.ref-badge{position:absolute;top:7px;right:7px;background:rgba(44,106,79,0.9);
  color:white;font-size:12px;padding:2px 6px;border-radius:6px;letter-spacing:1px;font-weight:700;}
.card-add-photo{position:absolute;bottom:7px;right:7px;background:rgba(0,0,0,0.5);
  backdrop-filter:blur(4px);color:white;border:none;border-radius:8px;
  padding:3px 8px;font-size:14.4px;cursor:pointer;opacity:0;transition:opacity 0.2s;font-family:'DM Sans',sans-serif;}
.card:hover .card-add-photo{opacity:1;}
.card-body{padding:14px 15px 14px;}
.card-name{font-family:'Outfit',sans-serif;font-size:14px;font-weight:700;color:#1a1a1a;line-height:1.35;margin-top:2px;font-style:normal;}
.card-latin{font-size:11.5px;font-weight:600;color:#E8540A;line-height:1.35;font-style:italic;margin-top:2px;}
.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
.card-cat{font-size:10px;padding:4px 11px;border-radius:11px;font-weight:700;letter-spacing:0.5px;}
.card-del{background:none;border:none;cursor:pointer;color:#ccc;font-size:19.2px;padding:2px 4px;
  border-radius:4px;opacity:0;transition:all 0.2s;}
.card:hover .card-del{opacity:1;}
.card-del:hover{color:var(--red);background:rgba(192,57,43,0.08);}
.card-notes-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);
  display:inline-block;margin-left:5px;vertical-align:middle;flex-shrink:0;}
/* ── DETAIL ── */
.detail{flex:1;overflow-y:auto;overflow-x:hidden;background:#F5F1E8;}
.detail-inner{padding:32px 36px;max-width:900px;box-sizing:border-box;}
.top-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
.back-btn{display:inline-flex;align-items:center;gap:5px;background:white;
  border:1px solid rgba(44,106,79,0.3);padding:6px 13px;border-radius:18px;cursor:pointer;
  color:#276749;font-size:19.2px;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.back-btn:hover{background:#E8F4EE;}
.tabs{display:flex;gap:8px;flex-wrap:wrap;}
.tab{padding:8px 20px;border-radius:22px;border:1px solid rgba(44,106,79,0.25);
  background:white;color:#5A7A65;font-size:13px;cursor:pointer;
  font-family:'DM Sans',sans-serif;letter-spacing:0.4px;font-weight:600;transition:all 0.2s;line-height:1.3;}
.tab:hover{border-color:#276749;color:#276749;background:#E8F4EE;}
.tab.on{background:#276749;border-color:#276749;color:white;
  box-shadow:0 4px 14px rgba(44,106,79,0.3);}
.detail-illus{width:340px;height:400px;flex-shrink:0;border-radius:14px;overflow:hidden;
  border:1px solid rgba(0,0,0,0.06);box-shadow:0 8px 32px rgba(0,0,0,0.12);
  display:flex;align-items:center;justify-content:center;}
.detail-name{font-family:'Outfit',sans-serif;font-size:clamp(22px,3.5vw,32px);
  font-weight:700;color:#1C2B22;margin-bottom:3px;}
.detail-latin{font-style:normal !important;color:#276749 !important;font-size:24px !important;font-weight:700 !important;margin-bottom:14px;}
.gold-line{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:16px 0;opacity:0.35;}
.detail-desc{color:#2C3E30;line-height:1.85;font-size:14px;}
.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:16px 0;}
.spec{background:white;border-radius:9px;padding:10px 13px;border:1px solid rgba(44,106,79,0.1);
  box-shadow:0 2px 6px rgba(0,0,0,0.04);}
.spec-lbl{font-size:14.4px;color:#5A7A65;letter-spacing:0.8px;margin-bottom:2px;text-transform:uppercase;}
.spec-val{font-size:20px;font-weight:700;color:#1a1a1a;font-family:'Outfit',sans-serif;}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.tag{padding:4px 12px;border-radius:18px;font-size:17.6px;font-weight:700;letter-spacing:0.3px;}
/* ── NOTES ── */
.notes-area{width:100%;min-height:140px;padding:14px;border-radius:12px;
  border:1px solid rgba(44,106,79,0.2);background:white;resize:vertical;
  font-family:'DM Sans',sans-serif;font-size:13px;color:#1C2B22;outline:none;transition:border 0.2s;}
.notes-area:focus{border-color:var(--teal-soft);}
.notes-save{margin-top:10px;padding:9px 22px;background:#276749;color:white;
  border:none;border-radius:20px;cursor:pointer;font-size:13px;font-family:'DM Sans',sans-serif;
  font-weight:700;transition:all 0.2s;}
.notes-save:hover{background:#1C3A2A;}
/* ── PROJECTS PANEL ── */
.proj-panel{padding:26px 30px;max-width:800px;}
.proj-panel h2{font-family:'Outfit',sans-serif;font-size:35.2px;color:#1C2B22;margin-bottom:6px;}
.proj-panel .sub{color:#5A7A65;font-size:20.8px;margin-bottom:20px;}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.proj-card{background:white;border:1px solid rgba(44,106,79,0.15);
  border-radius:12px;padding:16px;cursor:pointer;transition:all 0.2s;}
.proj-card:hover{background:#E8F4EE;border-color:#276749;transform:translateY(-2px);}
.proj-card h3{font-family:'Outfit',sans-serif;font-size:24px;color:#1C2B22;margin-bottom:4px;}
.proj-card p{font-size:17.6px;color:#5A7A65;}
.proj-new{background:rgba(44,106,79,0.06);border:1px dashed rgba(44,106,79,0.3);
  border-radius:12px;padding:16px;cursor:pointer;text-align:center;transition:all 0.2s;color:#276749;}
.proj-new:hover{background:rgba(44,106,79,0.12);border-color:#276749;}
/* ── PRINT ── */
@media print {
  .bg,.hdr,.sidebar,.back-btn,.tabs,.card-add-photo,.card-del,.hdr-btn{display:none!important;}
  .layout{display:block;}
  .detail{background:white!important;}
  .detail-inner{padding:20px!important;max-width:100%!important;}
  body{background:white!important;}
}
/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.fade-up{animation:fadeUp 0.3s ease forwards;}
.empty{text-align:center;padding:50px 20px;color:rgba(28,43,34,0.45);font-style:italic;}
/* ── PROGRESS BAR ── */
.care-bar-wrap{margin-top:6px;}
.care-bar-lbl{font-size:14.4px;color:var(--txt-soft);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:3px;}
.care-bar{height:5px;background:#E8E0CC;border-radius:3px;overflow:hidden;}
.care-bar-fill{height:100%;border-radius:3px;transition:width 0.6s ease;}
/* ── RESPONSIVE ── */
@media(max-width:900px){
  .sidebar{max-width:100%;border-right:none;width:100%;padding:10px 10px !important;}
  .layout{flex-direction:column;position:relative;}
  .detail{min-height:100vh;position:fixed;inset:0;z-index:999;overflow-y:auto;
    background:var(--bg);top:0;left:0;right:0;bottom:0;}  .detail-inner,.proj-panel{padding:18px 16px;}
  .grid{grid-template-columns:repeat(2,1fr) !important; gap:10px;}
  .grid.full{grid-template-columns:repeat(2,1fr) !important;}
  .back-btn{position:sticky;top:8px;z-index:10;margin-bottom:12px;}
  .card-img{height:140px !important;}
  .card-body{padding:10px !important;}
  .card-name{font-size:19.2px !important;}
  .card-latin{font-size:16px !important;}
  /* Compact header on mobile */
  .hdr-top{padding:6px 10px !important;}
  .logo-ring img{height:44px !important;}
  .brand-txt h1{font-size:22px !important;letter-spacing:1px !important;}
  .brand-txt .sub{display:none !important;}
  .brand-txt .eye{display:none !important;}
  .social-links{display:none !important;}
  /* Nav — scrollable horizontal strip */
  .view-switch{
    display:flex;gap:4px;align-items:center;
    flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    padding:4px 10px 6px;
    scrollbar-width:none;-ms-overflow-style:none;
    border-top:1px solid rgba(255,255,255,0.06);
    background:rgba(0,0,0,0.15);
  }
  .view-switch::-webkit-scrollbar{display:none;}
  .view-tab{padding:5px 10px !important;font-size:11px !important;white-space:nowrap;flex-shrink:0;}
  .nav-divider{display:none !important;}
  /* Lang buttons compact */
  .hdr-top > div:last-child{gap:4px !important;}
  /* Search bar row */
  .hdr-bar{padding:6px 10px 4px;gap:6px;flex-wrap:wrap;}
  .search{font-size:14px !important;padding:6px 10px !important;min-width:0;flex:1;}
  .sort-sel{font-size:11px !important;padding:6px 8px !important;max-width:130px;}
  .hdr-btn{padding:5px 8px !important;font-size:11px !important;}
  .count-badge{font-size:12px !important;padding:4px 8px !important;flex-shrink:0;}
  /* Pills */
  
  
  .pill{padding:6px 12px !important;font-size:12px !important;white-space:nowrap;flex-shrink:0;}
  /* Header non-sticky on mobile */
  .hdr{position:relative !important;top:auto !important;z-index:50 !important;}
  .card-add-photo{display:none !important;}
  .layout{min-height:auto !important;}
  body.detail-open header.hdr{display:none !important;}
  .card-del{opacity:0.6 !important;}
  .card-img .svg-wrap{width:100% !important;height:100% !important;}
  /* Nav dropdown position fix on mobile */
  .nav-dropdown-menu{left:16px !important;min-width:190px;}
}
/* quote btn show on hover */
.card:hover .card-del { opacity: 1; }
.card:hover .card-quote-btn { opacity: 1; }
.view-switch{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;padding:6px 0 8px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none;}
.view-switch::-webkit-scrollbar{display:none !important;}
.view-tab{padding:8px 16px;border-radius:24px;border:1px solid transparent;background:transparent;color:#5f6b6d;font-size:13px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.3px;transition:all 0.18s;white-space:nowrap;display:flex;align-items:center;gap:6px;line-height:1.3;}
.view-tab:hover{color:#1b1b1b;background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.15);}
.view-tab.on{background:rgba(46,125,50,0.2);color:#7ed6a8;border-color:rgba(46,125,50,0.45);box-shadow:0 2px 12px rgba(46,125,50,0.25);}
.view-tab.vt-play{color:rgba(244,208,63,0.75);}
.view-tab.vt-learn{color:rgba(180,220,255,0.75);}
.view-tab.vt-play.on{background:rgba(244,208,63,0.15);color:#F4D03F;border-color:rgba(244,208,63,0.35);box-shadow:0 2px 10px rgba(244,208,63,0.2);}
.view-tab.vt-agent{color:rgba(155,114,207,0.7);}
.view-tab.vt-agent.on{background:rgba(155,114,207,0.15);color:#C39BD3;border-color:rgba(155,114,207,0.35);}
.view-tab.vt-disease{color:rgba(248,113,113,0.75);}
.view-tab.vt-disease.on{background:rgba(248,113,113,0.15);color:#fca5a5;border-color:rgba(248,113,113,0.4);box-shadow:0 2px 10px rgba(248,113,113,0.2);}
.nav-divider{width:1px;height:20px;background:rgba(255,255,255,0.08);margin:0 2px;flex-shrink:0;}
/* ── Collection dropdown ─────────────────────────────── */
.nav-dropdown{position:relative;overflow:visible;}
.nav-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:999999;min-width:210px;background:#0e2018;border:1px solid rgba(46,125,50,0.25);border-radius:14px;padding:6px;box-shadow:0 16px 48px rgba(0,0,0,0.7);display:flex;flex-direction:column;gap:2px;}
.nav-dropdown-menu button{display:flex;align-items:center;gap:9px;padding:9px 13px;border-radius:9px;border:none;background:transparent;color:#5f6b6d;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:700;cursor:pointer;width:100%;text-align:left;transition:all 0.15s;white-space:nowrap;}
.nav-dropdown-menu button:hover{background:rgba(46,125,50,0.12);color:#7ed6a8;}
.nav-dropdown-menu button.sub-on{background:rgba(46,125,50,0.18);color:#7ed6a8;}
.nav-dropdown-menu .sub-divider{height:1px;background:rgba(255,255,255,0.07);margin:4px 0;}
.view-tab.vt-collection.on{background:rgba(46,125,50,0.22);color:#7ed6a8;border-color:rgba(46,125,50,0.5);}
.view-tab.vt-collection .caret{font-size:9px;opacity:0.6;margin-left:1px;transition:transform 0.2s;}
.view-tab.vt-collection.open .caret{transform:rotate(180deg);}
/* Fix dropdown option readability in dark panels */
select option{background:#1a2e22;color:#d8ede3;}
select{color-scheme:dark;}
.shop-view{max-width:1100px;margin:0 auto;}
.shop-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.shop-card{background:var(--cream-card);color:#0d0d0d;border-radius:var(--radius);overflow:hidden;border:2px solid transparent;transition:all 0.22s;box-shadow:0 4px 16px rgba(0,0,0,0.1);}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:rgba(42,157,143,0.15);}
.shop-card-img{height:155px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.shop-badge{position:absolute;top:9px;left:9px;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;}
.shop-low-stock{position:absolute;top:9px;right:9px;background:rgba(201,168,76,0.85);color:white;font-size:14.4px;font-weight:700;padding:3px 8px;border-radius:8px;letter-spacing:0.3px;}
.shop-card-body{padding:13px 14px 14px;}
.shop-card-name{font-family:'Outfit',sans-serif;font-size:22.4px;font-weight:600;color:#1a1a1a;margin-bottom:2px;}
.shop-card-latin{font-size:16px;color:#3a5a58;font-style:italic;margin-bottom:7px;}
.shop-card-desc{font-size:18.4px;color:#2c4a47;line-height:1.6;margin-bottom:11px;min-height:36px;}
.shop-size-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px;}
.shop-size-btn{padding:4px 11px;border-radius:14px;border:1px solid rgba(139,101,52,0.2);background:transparent;color:#3a6a68;font-size:16px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.16s;}
.shop-size-btn:hover{border-color:var(--teal-soft);color:var(--teal-mid);}
.shop-size-btn.on{background:var(--teal-soft);border-color:var(--teal-soft);color:white;}
.shop-buy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.shop-price{font-family:'Outfit',sans-serif;font-size:32px;font-weight:700;color:#1a1a1a;}
.shop-stock-txt{font-size:15.2px;color:#3a5a58;margin-top:1px;}
.qty-ctrl{display:flex;align-items:center;gap:0;border:1px solid rgba(139,101,52,0.2);border-radius:20px;overflow:hidden;}
.qty-ctrl button{background:none;border:none;width:28px;height:28px;cursor:pointer;font-size:24px;color:var(--teal-mid);transition:background 0.15s;font-family:'DM Sans',sans-serif;}
.qty-ctrl button:hover{background:rgba(42,157,143,0.1);}
.qty-ctrl span{font-size:20.8px;font-weight:700;min-width:22px;text-align:center;color:var(--txt);}
.shop-add-btn{padding:7px 14px;background:var(--teal-soft);color:white;border:none;border-radius:20px;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;transition:all 0.2s;white-space:nowrap;}
.shop-add-btn:hover:not(:disabled){background:var(--teal-mid);transform:translateY(-1px);}
.shop-add-btn:disabled{opacity:0.4;cursor:not-allowed;}
.cart-backdrop{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,0.55);backdrop-filter:blur(5px);}
.cart-drawer{position:absolute;right:0;top:0;bottom:0;width:min(400px,100vw);background:var(--cream-card);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,0.25);animation:slideIn 0.25s ease;}
@keyframes slideIn{from{transform:translateX(100%);}to{transform:none;}}
.cart-hdr{padding:20px 22px 16px;border-bottom:1px solid rgba(42,157,143,0.12);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.cart-hdr h2{font-family:'Outfit',sans-serif;font-size:32px;color:var(--txt);}
.cart-items{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px;}
.cart-item{display:flex;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(42,157,143,0.1);}
.cart-footer{padding:16px 20px;border-top:1px solid rgba(42,157,143,0.12);background:#fafaf8;flex-shrink:0;}
.checkout-btn{width:100%;padding:13px;background:var(--teal-soft);color:white;border:none;border-radius:12px;font-size:22.4px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;letter-spacing:0.5px;}
.checkout-btn:hover:not(:disabled){background:var(--teal-mid);}
.checkout-btn:disabled{opacity:0.4;cursor:not-allowed;}
.card:hover .card-del{opacity:1;}
@media(max-width:600px){.shop-grid{grid-template-columns:repeat(2,1fr);gap:10px;}.shop-hero{padding:18px 0 16px;}}
/* ── VIEW SWITCH ── */
.view-switch{display:flex;background:rgba(44,106,79,0.07);border:1px solid rgba(44,106,79,0.2);border-radius:22px;padding:3px;gap:0;}
.view-tab{padding:5px 16px;border-radius:18px;border:none;background:transparent;color:#5A7A65;font-size:19.2px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.5px;transition:all 0.2s;}
.view-tab.on{background:var(--teal-soft);color:white;box-shadow:0 2px 8px rgba(44,106,79,0.4);}
.view-tab:hover:not(.on){color:#1C2B22;}
/* ── SHOP ── */
.shop-view{max-width:1100px;margin:0 auto;}
.shop-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.shop-card{background:var(--cream-card);color:#0d0d0d;border-radius:var(--radius);overflow:hidden;border:2px solid transparent;transition:all 0.22s;box-shadow:0 4px 16px rgba(0,0,0,0.1);}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:rgba(42,157,143,0.15);}
.shop-card-img{height:155px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.shop-badge{position:absolute;top:9px;left:9px;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;}
.shop-low-stock{position:absolute;top:9px;right:9px;background:rgba(201,168,76,0.85);color:white;font-size:14.4px;font-weight:700;padding:3px 8px;border-radius:8px;}
.shop-card-body{padding:13px 14px 14px;}
.shop-card-name{font-family:'Outfit',sans-serif;font-size:22.4px;font-weight:600;color:#1a1a1a;margin-bottom:2px;}
.shop-card-latin{font-size:16px;color:#3a5a58;font-style:italic;margin-bottom:7px;}
.shop-card-desc{font-size:18.4px;color:#2c4a47;line-height:1.6;margin-bottom:11px;min-height:36px;}
.shop-size-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px;}
.shop-size-btn{padding:4px 11px;border-radius:14px;border:1px solid rgba(139,101,52,0.2);background:transparent;color:#3a6a68;font-size:16px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.16s;}
.shop-size-btn:hover{border-color:var(--teal-soft);color:var(--teal-mid);}
.shop-size-btn.on{background:var(--teal-soft);border-color:var(--teal-soft);color:white;}
.shop-buy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.shop-price{font-family:'Outfit',sans-serif;font-size:32px;font-weight:700;color:#1a1a1a;}
.shop-stock-txt{font-size:15.2px;color:#3a5a58;margin-top:1px;}
.qty-ctrl{display:flex;align-items:center;border:1px solid rgba(139,101,52,0.2);border-radius:20px;overflow:hidden;}
.qty-ctrl button{background:none;border:none;width:28px;height:28px;cursor:pointer;font-size:24px;color:var(--teal-mid);font-family:'DM Sans',sans-serif;}
.qty-ctrl button:hover{background:rgba(42,157,143,0.1);}
.qty-ctrl span{font-size:20.8px;font-weight:700;min-width:22px;text-align:center;color:var(--txt);}
.shop-add-btn{padding:7px 14px;background:var(--teal-soft);color:white;border:none;border-radius:20px;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;transition:all 0.2s;white-space:nowrap;}
.shop-add-btn:hover:not(:disabled){background:var(--teal-mid);transform:translateY(-1px);}
.shop-add-btn:disabled{opacity:0.4;cursor:not-allowed;}
/* ── CART ── */
.cart-backdrop{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,0.55);backdrop-filter:blur(5px);}
.cart-drawer{position:absolute;right:0;top:0;bottom:0;width:min(400px,100vw);background:var(--cream-card);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,0.25);animation:slideIn 0.25s ease;}
@keyframes slideIn{from{transform:translateX(100%);}to{transform:none;}}
.cart-hdr{padding:20px 22px 16px;border-bottom:1px solid rgba(42,157,143,0.12);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.cart-hdr h2{font-family:'Outfit',sans-serif;font-size:32px;color:var(--txt);}
.cart-items{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px;}
.cart-item{display:flex;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(42,157,143,0.1);}
.cart-footer{padding:16px 20px;border-top:1px solid rgba(42,157,143,0.12);background:#fafaf8;flex-shrink:0;}
.checkout-btn{width:100%;padding:13px;background:var(--teal-soft);color:white;border:none;border-radius:12px;font-size:22.4px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.checkout-btn:hover:not(:disabled){background:var(--teal-mid);}
.checkout-btn:disabled{opacity:0.4;cursor:not-allowed;}
/* ── PALETTE ── */
.palette-view{max-width:1100px;margin:0 auto;}
.pal-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.pal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
.pal-card{background:#1a1a2e;color:#fff;border-radius:18px;overflow:hidden;cursor:pointer;border:2px solid rgba(255,255,255,0.08);transition:all 0.25s cubic-bezier(0.34,1.3,0.64,1);box-shadow:0 8px 32px rgba(0,0,0,0.3);}
.pal-card:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(0,0,0,0.5);border-color:rgba(196,148,74,0.5);}
.pal-card-scene{height:260px;position:relative;overflow:hidden;}
.pal-card-overlay{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;pointer-events:none;}
.pal-style-badge{background:rgba(0,0,0,0.45);backdrop-filter:blur(6px);color:white;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;text-transform:uppercase;}
.pal-season-badge{background:rgba(42,157,143,0.65);backdrop-filter:blur(6px);color:white;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;}
.pal-card:hover .pal-photo-btn{opacity:1!important;}
.pal-card-body{padding:16px 18px 18px;}
.pal-card-name{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:3px;text-shadow:0 1px 4px rgba(0,0,0,0.5);}
.pal-card-subtitle{font-size:14px;color:#5f6b6d;font-style:italic;margin-bottom:5px;}
.pal-card-mood{font-size:13px;color:#5f6b6d;letter-spacing:0.3px;margin-bottom:12px;}
.pal-swatches{display:flex;height:20px;border-radius:10px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 6px rgba(0,0,0,0.1);}
.pal-swatch{flex:1;}
.pal-plants-row{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;}
.pal-plant-chip{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:8px;background:#f0ede4;border:1px solid transparent;}
.pal-chip-name{font-size:17.6px;font-weight:800;color:#0d0d0d;line-height:1.2;}
.pal-chip-role{font-size:14.4px;color:#1a3530;text-transform:uppercase;letter-spacing:0.5px;}
.pal-view-btn{width:100%;padding:8px 0;border-radius:20px;border:1px solid;background:transparent;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.5px;transition:all 0.2s;}
.pal-view-btn:hover{opacity:0.7;}
.card:hover .card-del{opacity:1;}
@media(max-width:600px){.shop-grid,.pal-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
.view-switch{display:flex;background:rgba(44,106,79,0.07);border:1px solid rgba(44,106,79,0.2);border-radius:22px;padding:3px;gap:0;}
.view-tab{padding:5px 14px;border-radius:18px;border:none;background:transparent;color:#5A7A65;font-size:18.4px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.5px;transition:all 0.2s;}
.view-tab.on{background:var(--teal-soft);color:white;box-shadow:0 2px 8px rgba(44,106,79,0.4);}
.view-tab:hover:not(.on){color:#1C2B22;}
.shop-view{max-width:1100px;margin:0 auto;}
.shop-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.shop-card{background:var(--cream-card);color:#0d0d0d;border-radius:var(--radius);overflow:hidden;border:2px solid transparent;transition:all 0.22s;box-shadow:0 4px 16px rgba(0,0,0,0.1);}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:rgba(42,157,143,0.15);}
.shop-card-img{height:155px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.shop-badge{position:absolute;top:9px;left:9px;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;}
.shop-low-stock{position:absolute;top:9px;right:9px;background:rgba(201,168,76,0.85);color:white;font-size:14.4px;font-weight:700;padding:3px 8px;border-radius:8px;}
.shop-card-body{padding:13px 14px 14px;}
.shop-card-name{font-family:'Outfit',sans-serif;font-size:22.4px;font-weight:600;color:#1a1a1a;margin-bottom:2px;}
.shop-card-latin{font-size:16px;color:#3a5a58;font-style:italic;margin-bottom:7px;}
.shop-card-desc{font-size:18.4px;color:#2c4a47;line-height:1.6;margin-bottom:11px;min-height:36px;}
.shop-size-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px;}
.shop-size-btn{padding:4px 11px;border-radius:14px;border:1px solid rgba(139,101,52,0.2);background:transparent;color:#3a6a68;font-size:16px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.16s;}
.shop-size-btn:hover{border-color:var(--teal-soft);color:var(--teal-mid);}
.shop-size-btn.on{background:var(--teal-soft);border-color:var(--teal-soft);color:white;}
.shop-buy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.shop-price{font-family:'Outfit',sans-serif;font-size:32px;font-weight:700;color:#1a1a1a;}
.shop-stock-txt{font-size:15.2px;color:#3a5a58;margin-top:1px;}
.qty-ctrl{display:flex;align-items:center;border:1px solid rgba(139,101,52,0.2);border-radius:20px;overflow:hidden;}
.qty-ctrl button{background:none;border:none;width:28px;height:28px;cursor:pointer;font-size:24px;color:var(--teal-mid);font-family:'DM Sans',sans-serif;}
.qty-ctrl button:hover{background:rgba(42,157,143,0.1);}
.qty-ctrl span{font-size:20.8px;font-weight:700;min-width:22px;text-align:center;color:var(--txt);}
.shop-add-btn{padding:7px 14px;background:var(--teal-soft);color:white;border:none;border-radius:20px;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;transition:all 0.2s;white-space:nowrap;}
.shop-add-btn:hover:not(:disabled){background:var(--teal-mid);transform:translateY(-1px);}
.shop-add-btn:disabled{opacity:0.4;cursor:not-allowed;}
.cart-backdrop{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,0.55);backdrop-filter:blur(5px);}
.cart-drawer{position:absolute;right:0;top:0;bottom:0;width:min(400px,100vw);background:var(--cream-card);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,0.25);animation:slideIn 0.25s ease;}
@keyframes slideIn{from{transform:translateX(100%);}to{transform:none;}}
.cart-hdr{padding:20px 22px 16px;border-bottom:1px solid rgba(42,157,143,0.12);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.cart-hdr h2{font-family:'Outfit',sans-serif;font-size:32px;color:var(--txt);}
.cart-items{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px;}
.cart-item{display:flex;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(42,157,143,0.1);}
.cart-footer{padding:16px 20px;border-top:1px solid rgba(42,157,143,0.12);background:#fafaf8;flex-shrink:0;}
.checkout-btn{width:100%;padding:13px;background:var(--teal-soft);color:white;border:none;border-radius:12px;font-size:22.4px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.checkout-btn:hover:not(:disabled){background:var(--teal-mid);}
.checkout-btn:disabled{opacity:0.4;cursor:not-allowed;}
.palette-view{max-width:1100px;margin:0 auto;}
.pal-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.pal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
.pal-card{background:#1a1a2e;color:#fff;border-radius:18px;overflow:hidden;cursor:pointer;border:2px solid rgba(255,255,255,0.08);transition:all 0.25s cubic-bezier(0.34,1.3,0.64,1);box-shadow:0 8px 32px rgba(0,0,0,0.3);}
.pal-card:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(0,0,0,0.5);border-color:rgba(196,148,74,0.5);}
.pal-card-scene{height:260px;position:relative;overflow:hidden;}
.pal-card-overlay{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;pointer-events:none;}
.pal-style-badge{background:rgba(0,0,0,0.45);backdrop-filter:blur(6px);color:white;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;text-transform:uppercase;}
.pal-season-badge{background:rgba(42,157,143,0.65);backdrop-filter:blur(6px);color:white;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;}
.pal-card-body{padding:16px 18px 18px;}
.pal-card-name{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:3px;text-shadow:0 1px 4px rgba(0,0,0,0.5);}
.pal-card-subtitle{font-size:14px;color:#5f6b6d;font-style:italic;margin-bottom:5px;}
.pal-card-mood{font-size:13px;color:#5f6b6d;letter-spacing:0.3px;margin-bottom:12px;}
.pal-swatches{display:flex;height:20px;border-radius:10px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 6px rgba(0,0,0,0.1);}
.pal-swatch{flex:1;}
.pal-plants-row{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;}
.pal-plant-chip{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:8px;background:#f0ede4;border:1px solid transparent;}
.pal-chip-name{font-size:17.6px;font-weight:800;color:#0d0d0d;line-height:1.2;}
.pal-chip-role{font-size:14.4px;color:#1a3530;text-transform:uppercase;letter-spacing:0.5px;}
.pal-view-btn{width:100%;padding:8px 0;border-radius:20px;border:1px solid;background:transparent;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.5px;transition:all 0.2s;}
.pal-view-btn:hover{opacity:0.7;}
.card:hover .card-del{opacity:1;}
@media(max-width:600px){.shop-grid,.pal-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
/* ══════════════════════════════════════════
   ÉPOPÉE DE FLORAISON — REDESIGN v2
   ══════════════════════════════════════════ */
.bloom-view { max-width:1280px; margin:0 auto; font-family:'DM Sans',sans-serif; }

/* Hero */
.bloom-hero { display:flex; gap:28px; flex-wrap:wrap; align-items:flex-start; padding:28px 0 24px; border-bottom:1px solid rgba(0,0,0,0.07); margin-bottom:24px; }

/* Controls bar */
.bloom-controls { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:18px; padding:14px 16px; background:rgba(255,255,255,0.7); border:1px solid rgba(0,0,0,0.07); border-radius:20px; backdrop-filter:blur(8px); }

/* Calendar card */
.bloom-calendar-card { background:#fff; border:1px solid rgba(0,0,0,0.08); border-radius:24px; overflow:hidden; box-shadow:0 4px 24px rgba(0,0,0,0.06); }

/* Season header */
.bloom-season-bar { display:flex; border-bottom:1px solid rgba(0,0,0,0.06); }
.bloom-season-block { flex:1; padding:8px 0; text-align:center; font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }

/* Month header */
.bloom-month-row { display:flex; align-items:center; border-bottom:1px solid rgba(0,0,0,0.05); background:rgba(0,0,0,0.01); }
.bloom-label-w { width:200px; flex-shrink:0; }
.bloom-month-hdr { flex:1; text-align:center; font-size:12px; font-weight:700; padding:10px 0; cursor:pointer; transition:all 0.15s; letter-spacing:0.3px; color:#888; }
.bloom-month-hdr.active { color:#276749; font-weight:900; }
.bloom-icon-w { width:36px; flex-shrink:0; }

/* Plant row */
.bloom-row { display:flex; align-items:center; border-top:1px solid rgba(0,0,0,0.04); transition:background 0.12s; }
.bloom-row:hover { background:rgba(0,0,0,0.015); }
.bloom-label { width:200px; flex-shrink:0; display:flex; align-items:center; gap:10px; padding:8px 12px; }
.bloom-plant-name { font-size:13px; font-weight:700; color:#1a2a1a; line-height:1.2; }
.bloom-plant-latin { font-size:10px; color:#888; font-style:italic; margin-top:1px; }
.bloom-plant-type { font-size:10px; font-weight:600; margin-top:2px; }

/* Cells */
.bloom-cell { flex:1; height:46px; margin:3px 1.5px; border-radius:8px; cursor:pointer; transition:all 0.15s; position:relative; }
.bloom-cell.empty { background:rgba(0,0,0,0.03) !important; cursor:default; border:1px dashed rgba(0,0,0,0.06); }
.bloom-cell:hover:not(.empty) { filter:brightness(1.1); transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,0.15); }

/* Legend */
.bloom-legend { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px 16px; border-top:1px solid rgba(0,0,0,0.06); background:rgba(0,0,0,0.02); }

/* Sidebar */
.bloom-sidebar { width:220px; flex-shrink:0; display:flex; flex-direction:column; gap:14px; }
.bloom-sidebar-card { background:#fff; border:1px solid rgba(0,0,0,0.08); border-radius:20px; padding:18px; box-shadow:0 2px 12px rgba(0,0,0,0.05); }

/* Stats */
.bloom-stats { display:flex; gap:10px; flex-wrap:wrap; padding:20px 0 0; }
.bloom-stat { flex:1; min-width:90px; background:#fff; border:1px solid rgba(0,0,0,0.08); border-radius:18px; padding:16px 12px; display:flex; flex-direction:column; align-items:center; cursor:pointer; transition:all 0.18s; box-shadow:0 2px 8px rgba(0,0,0,0.04); }
.bloom-stat:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,0.1); }
.bloom-stat.active { background:#f0faf4; border-color:#276749; box-shadow:0 4px 16px rgba(39,103,73,0.15); }

@media (max-width:700px) {
  .bloom-label-w, .bloom-label { width:100px !important; }
  .bloom-plant-latin { display:none; }
  .bloom-sidebar { display:none; }
  .bloom-cell { height:28px; }
}
  .bloom-hero { padding: 18px 0 16px; }
}
.view-switch{display:flex;background:rgba(44,106,79,0.07);border:1px solid rgba(44,106,79,0.2);border-radius:22px;padding:3px;gap:0;}
.view-tab{padding:5px 13px;border-radius:18px;border:none;background:transparent;color:#5f6b6d;font-size:17.6px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.5px;transition:all 0.2s;}
.view-tab.on{background:var(--teal-soft);color:white;box-shadow:0 2px 8px rgba(44,106,79,0.4);}
.view-tab:hover:not(.on){color:#1C2B22;}
.shop-view{max-width:1100px;margin:0 auto;}
.shop-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.shop-card{background:var(--cream-card);color:#0d0d0d;border-radius:var(--radius);overflow:hidden;border:2px solid transparent;transition:all 0.22s;box-shadow:0 4px 16px rgba(0,0,0,0.1);}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:rgba(42,157,143,0.15);}
.shop-card-img{height:155px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.shop-badge{position:absolute;top:9px;left:9px;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;}
.shop-low-stock{position:absolute;top:9px;right:9px;background:rgba(201,168,76,0.85);color:white;font-size:14.4px;font-weight:700;padding:3px 8px;border-radius:8px;}
.shop-card-body{padding:13px 14px 14px;}
.shop-card-name{font-family:'Outfit',sans-serif;font-size:22.4px;font-weight:600;color:#1a1a1a;margin-bottom:2px;}
.shop-card-latin{font-size:16px;color:#3a5a58;font-style:italic;margin-bottom:7px;}
.shop-card-desc{font-size:18.4px;color:#2c4a47;line-height:1.6;margin-bottom:11px;min-height:36px;}
.shop-size-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px;}
.shop-size-btn{padding:4px 11px;border-radius:14px;border:1px solid rgba(139,101,52,0.2);background:transparent;color:#3a6a68;font-size:16px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.16s;}
.shop-size-btn:hover{border-color:var(--teal-soft);color:var(--teal-mid);}
.shop-size-btn.on{background:var(--teal-soft);border-color:var(--teal-soft);color:white;}
.shop-buy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.shop-price{font-family:'Outfit',sans-serif;font-size:32px;font-weight:700;color:#1a1a1a;}
.shop-stock-txt{font-size:15.2px;color:#3a5a58;margin-top:1px;}
.qty-ctrl{display:flex;align-items:center;border:1px solid rgba(139,101,52,0.2);border-radius:20px;overflow:hidden;}
.qty-ctrl button{background:none;border:none;width:28px;height:28px;cursor:pointer;font-size:24px;color:var(--teal-mid);font-family:'DM Sans',sans-serif;}
.qty-ctrl button:hover{background:rgba(42,157,143,0.1);}
.qty-ctrl span{font-size:20.8px;font-weight:700;min-width:22px;text-align:center;color:var(--txt);}
.shop-add-btn{padding:7px 14px;background:var(--teal-soft);color:white;border:none;border-radius:20px;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;transition:all 0.2s;white-space:nowrap;}
.shop-add-btn:hover:not(:disabled){background:var(--teal-mid);transform:translateY(-1px);}
.shop-add-btn:disabled{opacity:0.4;cursor:not-allowed;}
.cart-backdrop{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,0.55);backdrop-filter:blur(5px);}
.cart-drawer{position:absolute;right:0;top:0;bottom:0;width:min(400px,100vw);background:var(--cream-card);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,0.25);animation:slideIn 0.25s ease;}
@keyframes slideIn{from{transform:translateX(100%);}to{transform:none;}}
.cart-hdr{padding:20px 22px 16px;border-bottom:1px solid rgba(42,157,134,0.12);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.cart-hdr h2{font-family:'Outfit',sans-serif;font-size:32px;color:var(--txt);}
.cart-items{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px;}
.cart-item{display:flex;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(42,157,143,0.1);}
.cart-footer{padding:16px 20px;border-top:1px solid rgba(42,157,143,0.12);background:#fafaf8;flex-shrink:0;}
.checkout-btn{width:100%;padding:13px;background:var(--teal-soft);color:white;border:none;border-radius:12px;font-size:22.4px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.checkout-btn:hover:not(:disabled){background:var(--teal-mid);}
.checkout-btn:disabled{opacity:0.4;cursor:not-allowed;}
.palette-view{max-width:1100px;margin:0 auto;}
.pal-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.pal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
.pal-card{background:#1a1a2e;color:#fff;border-radius:18px;overflow:hidden;cursor:pointer;border:2px solid rgba(255,255,255,0.08);transition:all 0.25s cubic-bezier(0.34,1.3,0.64,1);box-shadow:0 8px 32px rgba(0,0,0,0.3);}
.pal-card:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(0,0,0,0.5);border-color:rgba(196,148,74,0.5);}
.pal-card-scene{height:260px;position:relative;overflow:hidden;}
.pal-card-overlay{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;pointer-events:none;}
.pal-style-badge{background:rgba(0,0,0,0.45);backdrop-filter:blur(6px);color:white;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;text-transform:uppercase;}
.pal-season-badge{background:rgba(42,157,143,0.65);backdrop-filter:blur(6px);color:white;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;}
.pal-card-body{padding:16px 18px 18px;}
.pal-card-name{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:3px;text-shadow:0 1px 4px rgba(0,0,0,0.5);}
.pal-card-subtitle{font-size:14px;color:#5f6b6d;font-style:italic;margin-bottom:5px;}
.pal-card-mood{font-size:13px;color:#5f6b6d;letter-spacing:0.3px;margin-bottom:12px;}
.pal-swatches{display:flex;height:20px;border-radius:10px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 6px rgba(0,0,0,0.1);}
.pal-swatch{flex:1;}
.pal-plants-row{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;}
.pal-plant-chip{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:8px;background:#f0ede4;border:1px solid transparent;}
.pal-chip-name{font-size:17.6px;font-weight:800;color:#0d0d0d;line-height:1.2;}
.pal-chip-role{font-size:14.4px;color:#1a3530;text-transform:uppercase;letter-spacing:0.5px;}
.pal-view-btn{width:100%;padding:8px 0;border-radius:20px;border:1px solid;background:transparent;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.5px;transition:all 0.2s;}
.pal-view-btn:hover{opacity:0.7;}
.card:hover .card-del{opacity:1;}
@media(max-width:640px){.shop-grid,.pal-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
.view-switch{display:flex;background:rgba(44,106,79,0.07);border:1px solid rgba(44,106,79,0.2);border-radius:22px;padding:3px;gap:0;}
.view-tab{padding:5px 13px;border-radius:18px;border:none;background:transparent;color:#5f6b6d;font-size:17.6px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.5px;transition:all 0.2s;}
.view-tab.on{background:var(--teal-soft);color:white;box-shadow:0 2px 8px rgba(44,106,79,0.4);}
.view-tab:hover:not(.on){color:#1C2B22;}
.shop-view{max-width:1100px;margin:0 auto;}
.shop-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.shop-card{background:var(--cream-card);color:#0d0d0d;border-radius:var(--radius);overflow:hidden;border:2px solid transparent;transition:all 0.22s;box-shadow:0 4px 16px rgba(0,0,0,0.1);}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h);border-color:rgba(42,157,143,0.15);}
.shop-card-img{height:155px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.shop-badge{position:absolute;top:9px;left:9px;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;}
.shop-low-stock{position:absolute;top:9px;right:9px;background:rgba(201,168,76,0.85);color:white;font-size:14.4px;font-weight:700;padding:3px 8px;border-radius:8px;}
.shop-card-body{padding:13px 14px 14px;}
.shop-card-name{font-family:'Outfit',sans-serif;font-size:22.4px;font-weight:600;color:#1a1a1a;margin-bottom:2px;}
.shop-card-latin{font-size:16px;color:#3a5a58;font-style:italic;margin-bottom:7px;}
.shop-card-desc{font-size:18.4px;color:#2c4a47;line-height:1.6;margin-bottom:11px;min-height:36px;}
.shop-size-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px;}
.shop-size-btn{padding:4px 11px;border-radius:14px;border:1px solid rgba(139,101,52,0.2);background:transparent;color:#3a6a68;font-size:16px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.16s;}
.shop-size-btn:hover{border-color:var(--teal-soft);color:var(--teal-mid);}
.shop-size-btn.on{background:var(--teal-soft);border-color:var(--teal-soft);color:white;}
.shop-buy-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.shop-price{font-family:'Outfit',sans-serif;font-size:32px;font-weight:700;color:#1a1a1a;}
.shop-stock-txt{font-size:15.2px;color:#3a5a58;margin-top:1px;}
.qty-ctrl{display:flex;align-items:center;border:1px solid rgba(139,101,52,0.2);border-radius:20px;overflow:hidden;}
.qty-ctrl button{background:none;border:none;width:28px;height:28px;cursor:pointer;font-size:24px;color:var(--teal-mid);font-family:'DM Sans',sans-serif;}
.qty-ctrl button:hover{background:rgba(42,157,143,0.1);}
.qty-ctrl span{font-size:20.8px;font-weight:700;min-width:22px;text-align:center;color:var(--txt);}
.shop-add-btn{padding:7px 14px;background:var(--teal-soft);color:white;border:none;border-radius:20px;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;transition:all 0.2s;white-space:nowrap;}
.shop-add-btn:hover:not(:disabled){background:var(--teal-mid);transform:translateY(-1px);}
.shop-add-btn:disabled{opacity:0.4;cursor:not-allowed;}
.cart-backdrop{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,0.55);backdrop-filter:blur(5px);}
.cart-drawer{position:absolute;right:0;top:0;bottom:0;width:min(400px,100vw);background:var(--cream-card);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,0.25);animation:slideIn 0.25s ease;}
@keyframes slideIn{from{transform:translateX(100%);}to{transform:none;}}
.cart-hdr{padding:20px 22px 16px;border-bottom:1px solid rgba(42,157,143,0.12);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.cart-hdr h2{font-family:'Outfit',sans-serif;font-size:32px;color:var(--txt);}
.cart-items{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px;}
.cart-item{display:flex;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(42,157,143,0.1);}
.cart-footer{padding:16px 20px;border-top:1px solid rgba(42,157,143,0.12);background:#fafaf8;flex-shrink:0;}
.checkout-btn{width:100%;padding:13px;background:var(--teal-soft);color:white;border:none;border-radius:12px;font-size:22.4px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s;}
.checkout-btn:hover:not(:disabled){background:var(--teal-mid);}
.checkout-btn:disabled{opacity:0.4;cursor:not-allowed;}
.palette-view{max-width:1100px;margin:0 auto;}
.pal-hero{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:28px 0 22px;border-bottom:1px solid rgba(44,106,79,0.12);margin-bottom:22px;}
.pal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
.pal-card{background:#1a1a2e;color:#fff;border-radius:18px;overflow:hidden;cursor:pointer;border:2px solid rgba(255,255,255,0.08);transition:all 0.25s cubic-bezier(0.34,1.3,0.64,1);box-shadow:0 8px 32px rgba(0,0,0,0.3);}
.pal-card:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(0,0,0,0.5);border-color:rgba(196,148,74,0.5);}
.pal-card-scene{height:260px;position:relative;overflow:hidden;}
.pal-card-overlay{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;pointer-events:none;}
.pal-style-badge{background:rgba(0,0,0,0.45);backdrop-filter:blur(6px);color:white;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;letter-spacing:0.5px;text-transform:uppercase;}
.pal-season-badge{background:rgba(42,157,143,0.65);backdrop-filter:blur(6px);color:white;font-size:14.4px;font-weight:700;padding:3px 9px;border-radius:10px;}
.pal-card-body{padding:16px 18px 18px;}
.pal-card-name{font-family:'Outfit',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:3px;text-shadow:0 1px 4px rgba(0,0,0,0.5);}
.pal-card-subtitle{font-size:14px;color:#5f6b6d;font-style:italic;margin-bottom:5px;}
.pal-card-mood{font-size:13px;color:#5f6b6d;letter-spacing:0.3px;margin-bottom:12px;}
.pal-swatches{display:flex;height:20px;border-radius:10px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 6px rgba(0,0,0,0.1);}
.pal-swatch{flex:1;}
.pal-plants-row{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;}
.pal-plant-chip{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:8px;background:#f0ede4;border:1px solid transparent;}
.pal-chip-name{font-size:17.6px;font-weight:800;color:#0d0d0d;line-height:1.2;}
.pal-chip-role{font-size:14.4px;color:#1a3530;text-transform:uppercase;letter-spacing:0.5px;}
.pal-view-btn{width:100%;padding:8px 0;border-radius:20px;border:1px solid;background:transparent;cursor:pointer;font-size:19.2px;font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:0.5px;transition:all 0.2s;}
.pal-view-btn:hover{opacity:0.7;}
.card:hover .card-del{opacity:1;}
@media(max-width:640px){.shop-grid,.pal-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
.save-btn{position:relative;transition:all 0.2s;}
.save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(201,168,76,0.3)!important;}
.save-btn:active{transform:scale(0.96);}
@keyframes savePulse{0%{box-shadow:0 0 0 0 rgba(201,168,76,0.5);}70%{box-shadow:0 0 0 10px rgba(201,168,76,0);}100%{box-shadow:0 0 0 0 rgba(201,168,76,0);}}
.save-btn.pulse{animation:savePulse 0.6s ease;}
@keyframes slideUp{from{transform:translateX(-50%) translateY(20px);opacity:0;}to{transform:translateX(-50%) translateY(0);opacity:1;}}
.lang-switcher-btn{display:flex;align-items:center;gap:5px;padding:5px 13px;
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);
  border-radius:20px;cursor:pointer;color:white;font-size:20.8px;
  font-family:'DM Sans',sans-serif;font-weight:700;transition:all 0.2s;white-space:nowrap;}
.lang-switcher-btn:hover{background:rgba(255,255,255,0.16);}
@keyframes slideUp{from{transform:translateX(-50%) translateY(20px);opacity:0;}to{transform:translateX(-50%) translateY(0);opacity:1;}}
.social-links{display:none;}
.social-btn{display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.1);
  color:#5f6b6d;text-decoration:none;transition:all 0.2s;border:1px solid rgba(255,255,255,0.15);}
.social-btn:hover{background:var(--teal-soft);color:white;transform:translateY(-1px);}
.social-links{display:none;}
.social-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.1);color:#5f6b6d;text-decoration:none;transition:all 0.2s;border:1px solid rgba(255,255,255,0.15);}
.social-btn:hover{background:var(--teal-soft);color:white;transform:translateY(-1px);}
/* Mobile touch improvements */
@media(max-width:700px){
  .card { -webkit-tap-highlight-color: rgba(196,148,74,0.2); touch-action: manipulation; }
  .card:active { transform: scale(0.97); opacity: 0.9; }
  .detail { padding-top: env(safe-area-inset-top, 0); }
}
@media(max-width:700px){
  .back-btn {
    display: flex !important;
    align-items: center;
    gap: 6px;
    position: sticky;
    top: 12px;
    z-index: 10;
    padding: 10px 18px !important;
    font-size: 22.4px !important;
    background: var(--teal-soft) !important;
    color: white !important;
    border-radius: 24px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
    margin-bottom: 16px;
    font-weight: 700;
  }
  .top-bar {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}
@media(max-width:900px){
  .mob-hidden { display: none !important; }
}
/* ── White/cream card text overrides ── */
.spec{background:white !important;}
[style*="background:white"] *,[style*="background:"white""] *{color:#1a1a1a;}
.care-bar-label{color:#1a1a1a !important;}
.notes-area{color:#1a1a1a !important;background:#fff !important;}
.notes-save{color:#fff !important;}
/* ── Ensure detail panel text is light ── */
.detail-name, .detail-latin, .detail-desc{color:#1C2B22 !important;}
.detail-name{color:#1C2B22 !important;}
.detail-latin{color:#E8540A !important;font-size:25.6px !important;font-weight:600 !important;}
.detail-desc{color:#2C3E30 !important;}
.gold-line{opacity:0.5;}
.tag{border:1px solid currentColor !important;}
.tab{color:#5A7A65 !important;background:white !important;border-color:rgba(44,106,79,0.25) !important;}
.tab.on{color:white !important;background:#276749 !important;border-color:#276749 !important;}

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
@keyframes panelSlideUp{0%{opacity:0;transform:translateY(20px) scale(0.97)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}
.white-space-fix {
  white-space: pre-line;
}


/* BloomMate Logo Energy Animations */
@keyframes greenPulse {
  0%   { filter: saturate(1) brightness(1) drop-shadow(0 0 0px rgba(76,175,80,0)); transform: scale(1); }
  8%   { filter: saturate(1.8) brightness(1.2) drop-shadow(0 0 14px rgba(76,175,80,0.85)) drop-shadow(0 0 26px rgba(76,175,80,0.4)); transform: scale(1.05); }
  16%  { filter: saturate(1.1) brightness(1.04) drop-shadow(0 0 4px rgba(76,175,80,0.3)); transform: scale(0.98); }
  26%  { filter: saturate(1.7) brightness(1.18) drop-shadow(0 0 16px rgba(76,175,80,0.9)) drop-shadow(0 0 30px rgba(76,175,80,0.45)); transform: scale(1.06); }
  40%  { filter: saturate(1) brightness(1) drop-shadow(0 0 0px rgba(76,175,80,0)); transform: scale(1); }
  100% { filter: saturate(1) brightness(1) drop-shadow(0 0 0px rgba(76,175,80,0)); transform: scale(1); }
}
@keyframes bluePulse {
  0%   { filter: saturate(1) brightness(1) drop-shadow(0 0 0px rgba(79,163,209,0)); }
  8%   { filter: saturate(1.8) brightness(1.2) drop-shadow(0 0 14px rgba(79,163,209,0.9)) drop-shadow(0 0 28px rgba(79,163,209,0.45)); }
  16%  { filter: saturate(1.1) brightness(1.04) drop-shadow(0 0 4px rgba(79,163,209,0.3)); }
  26%  { filter: saturate(1.7) brightness(1.18) drop-shadow(0 0 16px rgba(79,163,209,0.95)) drop-shadow(0 0 32px rgba(79,163,209,0.5)); }
  40%  { filter: saturate(1) brightness(1) drop-shadow(0 0 0px rgba(79,163,209,0)); }
  100% { filter: saturate(1) brightness(1) drop-shadow(0 0 0px rgba(79,163,209,0)); }
}
@keyframes logoScale {
  0%   { transform: scale(1); }
  8%   { transform: scale(1.05); }
  16%  { transform: scale(0.98); }
  26%  { transform: scale(1.06); }
  40%  { transform: scale(1); }
  100% { transform: scale(1); }
}
.logo-energy-active {
  animation: greenPulse 1.4s ease-in-out infinite, bluePulse 1.4s ease-in-out 0.15s infinite, logoScale 1.4s ease-in-out infinite !important;
}

/* ═══════════════════════════════════════════════════════════════
   BM-MOTION v2 — Elegant, organic, nature-inspired animation layer
   ═══════════════════════════════════════════════════════════════ */

/* 0 ── Accessibility gate */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* 1 ── Smooth scroll */
html { scroll-behavior: smooth; }

/* 2 ── Ambient header glow (visible inside the white header) */
@keyframes bmHdrGlow {
  0%,100% { opacity: 0.55; transform: scale(1) translate(0,0); }
  33%     { opacity: 0.70; transform: scale(1.12) translate(18px,-12px); }
  66%     { opacity: 0.45; transform: scale(0.92) translate(-10px,8px); }
}
@keyframes bmHdrGlow2 {
  0%,100% { opacity: 0.40; transform: scale(1) translate(0,0); }
  50%     { opacity: 0.60; transform: scale(1.15) translate(-20px,10px); }
}
.hdr-top::before {
  content: '';
  position: absolute;
  width: 340px; height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(46,125,50,0.10) 0%, transparent 65%);
  filter: blur(50px);
  top: -80px; left: -40px;
  pointer-events: none;
  animation: bmHdrGlow 18s ease-in-out infinite;
}
.hdr-top::after {
  content: '';
  position: absolute;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139,105,20,0.08) 0%, transparent 65%);
  filter: blur(45px);
  top: 30px; right: 60px;
  pointer-events: none;
  animation: bmHdrGlow2 22s ease-in-out infinite;
}

/* 3 ── Staggered card entrance */
@keyframes bmCardIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.bm-stagger {
  animation: bmCardIn 0.55s cubic-bezier(0.16,1,0.3,1) both;
  animation-play-state: paused;
}
.bm-stagger.bm-visible {
  animation-play-state: running;
}

/* Scroll reveal */
.bm-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s cubic-bezier(0.16,1,0.3,1),
              transform 0.55s cubic-bezier(0.16,1,0.3,1);
}
.bm-reveal.bm-visible { opacity: 1; transform: translateY(0); }

/* 4 ── Enhanced card hover + image zoom */
.card { will-change: transform, box-shadow; }
.card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 48px rgba(28,58,42,0.16) !important;
}
.card-img img {
  transition: transform 0.55s cubic-bezier(0.16,1,0.3,1);
}
.card:hover .card-img img { transform: scale(1.05); }

.shop-card { will-change: transform, box-shadow; }
.shop-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 22px 52px rgba(28,58,42,0.18) !important;
}
.shop-card-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.55s cubic-bezier(0.16,1,0.3,1);
}
.shop-card:hover .shop-card-img img { transform: scale(1.06); }

.pal-card { will-change: transform; }
.pal-card:hover {
  transform: translateY(-9px) scale(1.01) !important;
  box-shadow: 0 28px 64px rgba(0,0,0,0.55) !important;
}
.pal-card-scene img {
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.pal-card:hover .pal-card-scene img { transform: scale(1.05); }

.proj-card {
  will-change: transform;
  transition: all 0.25s cubic-bezier(0.34,1.3,0.64,1) !important;
}
.proj-card:hover { transform: translateY(-5px) !important; }

/* 5 ── Header scroll shadow */
.hdr { transition: box-shadow 0.3s ease; }
.hdr-scrolled {
  box-shadow: 0 6px 28px rgba(28,58,42,0.14) !important;
}

/* 6 ── Logo gentle idle float */
@keyframes bmLogoFloat {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(-10px); }
}
.bloom-logo-img {
  animation: bmLogoFloat 4s ease-in-out infinite;
}
.bloom-logo-img:hover {
  animation: none !important;
  filter: drop-shadow(0 8px 22px rgba(46,125,50,0.32)) !important;
  transform: scale(1.04) !important;
  transition: transform 0.3s cubic-bezier(0.34,1.4,0.64,1),
              filter 0.3s ease !important;
}

/* 7 ── Button active flash */
.btn-primary, .shop-add-btn, .checkout-btn, .notes-save {
  position: relative;
  overflow: hidden;
}
.btn-primary::after, .shop-add-btn::after,
.checkout-btn::after, .notes-save::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.22);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.btn-primary:active::after, .shop-add-btn:active::after,
.checkout-btn:active::after, .notes-save:active::after {
  opacity: 1;
  transition: none;
}

/* 8 ── Gold line shimmer */
@keyframes bmGoldShimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.gold-line {
  background: linear-gradient(90deg,
    transparent 0%, rgba(139,105,20,0.2) 30%,
    var(--gold) 45%, rgba(184,144,10,0.9) 50%,
    var(--gold) 55%, rgba(139,105,20,0.2) 70%,
    transparent 100%
  ) !important;
  background-size: 220% 100% !important;
  animation: bmGoldShimmer 3.5s ease-in-out infinite !important;
  opacity: 0.5 !important;
}

/* 9 ── Tab / pill active bounce */
@keyframes bmBounce {
  0%   { transform: scale(1); }
  35%  { transform: scale(0.93); }
  65%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}
.tab.on      { animation: bmBounce 0.24s cubic-bezier(0.34,1.4,0.64,1); }
.pill.on     { animation: bmBounce 0.22s cubic-bezier(0.34,1.4,0.64,1); }
.view-tab.on { animation: bmBounce 0.22s cubic-bezier(0.34,1.4,0.64,1); }

/* 10 ── Search input lift on focus */
.search {
  transition: all 0.22s cubic-bezier(0.34,1.3,0.64,1) !important;
}
.search:focus { transform: translateY(-1px); }

/* 11 ── Spec card transition */
.spec {
  transition: opacity 0.4s ease, transform 0.4s ease, box-shadow 0.2s ease;
}

/* 12 ── Back button entrance */
.back-btn {
  animation: fadeUp 0.3s cubic-bezier(0.16,1,0.3,1) both;
}

/* 13 ── Hdr btn hover lift */
.hdr-btn {
  transition: all 0.2s cubic-bezier(0.34,1.3,0.64,1) !important;
}
.hdr-btn:hover { transform: translateY(-1px); }

/* 14 ── Pill hover lift */
.pill {
  transition: all 0.18s cubic-bezier(0.34,1.3,0.64,1) !important;
}
.pill:hover:not(.on) { transform: translateY(-1px); }

