/* Thiền Café — botanical journal. Palette shared across every surface. */
:root{--ngoc:#234b35;--vang:#c49342;--hong:#b83f60;--kem:#faf6eb;--than:#283b2c;--mam:#9bb295;--kem2:#f2eadb;--kem3:#ddd8c5;--mo:#676552;--trang:#fffdf7;--serif:'Fraunces',Georgia,serif;--bo:14px;--bong:none}
body{background:var(--kem);color:var(--than);padding-bottom:calc(100px + env(safe-area-inset-bottom))}h1,h2,h3{letter-spacing:-.025em}button,a,input,textarea{touch-action:manipulation}button{transition:background .15s,color .15s}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--hong);outline-offset:4px}button:disabled{cursor:default}.ui-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}
.wrap{max-width:1120px;padding:0 32px}.header{padding:24px 0;gap:12px;border-bottom:1px solid var(--kem3);margin-bottom:28px}.header h1{font-size:24px;line-height:1.3}.header small{font-size:11px;margin-top:5px;letter-spacing:.025em}.h1-icon{width:36px;height:36px;vertical-align:-7px;margin-right:9px;border-radius:0}.icon-btn{background:transparent;border:1px solid var(--kem3);border-radius:50%;width:44px;height:44px;flex-shrink:0}
.garden-hero{isolation:isolate;position:relative;min-height:300px;margin:0 0 32px;border-radius:18px;overflow:hidden;background:url('vuon-hong-v1.webp') center 55%/cover;display:flex;align-items:flex-end}.garden-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--ngoc),transparent 85%)}.garden-title{padding:28px;color:var(--trang);text-align:left}.garden-title span{font:500 10px var(--sans);text-transform:uppercase;letter-spacing:.18em}.garden-title h2{font-size:34px;line-height:1.2;margin:10px 0 8px;color:var(--trang)}.garden-title p{font:400 13px var(--sans);margin:0;line-height:1.6}
.card{background:var(--trang);border:1px solid var(--kem3);box-shadow:none;border-radius:14px;padding:24px;margin:20px 0}.story-card{background:transparent;border:0;padding:0;margin:0 0 28px}.story-card h2{font-size:30px;line-height:1.25;text-align:left}.story-card>.muted{margin:12px 0 26px!important;text-align:left;font-size:13px;line-height:1.8}.muted{color:var(--mo);font-size:13px;line-height:1.7}label.nhan{font-size:12px;margin:18px 0 8px;letter-spacing:.01em;color:var(--mo)}.input{background:var(--trang);border:1px solid var(--kem3);border-radius:10px;padding:13px 14px;min-width:0}.input:focus{border-color:var(--ngoc);box-shadow:0 0 0 2px var(--kem2)}.story-card textarea{min-height:176px;padding:18px;font-size:16px;line-height:1.9;resize:vertical;border-radius:12px}.row>div{min-width:0}
.btn{min-height:48px;padding:13px 18px;border-radius:10px;font-size:14px;font-weight:500;gap:10px}.btn.rose{background:var(--hong);color:var(--trang)}.btn.nhe{background:var(--trang);color:var(--ngoc);border:1px solid var(--kem3)}.btn.do{background:var(--trang);border-color:var(--kem3);color:var(--hong)}#nutGoiY{width:auto;min-height:44px;border:0;background:none;color:var(--ngoc);padding:9px 0;text-align:left;font-size:12px;justify-content:flex-start;margin-top:7px!important}#nutGoiY:after{content:'→';margin-left:8px}#nutGieo{margin-top:6px}
.seed-picked{padding:10px 0;color:var(--ngoc);font-size:12px;line-height:1.7;border-bottom:1px solid var(--kem3);margin-bottom:16px}.seed-picker{margin:0;padding:0;border:0}.nhom-tieu{margin:20px 0 9px;justify-content:space-between;flex-wrap:wrap;gap:4px}.nhom-tieu b{font:500 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ngoc)!important}.nhom-tieu span{font-size:11px;color:var(--mo)}#khoChip .chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#khoChip .chip{min-height:50px;max-width:100%;border:1px solid var(--kem3);border-radius:10px;padding:11px 10px;background:var(--trang);color:var(--than);font-size:12px;font-weight:400;text-align:left;line-height:1.55;gap:8px;white-space:normal}.chip .n{color:var(--mo);font-size:10px;border:1px solid var(--kem3);border-radius:50%;width:21px;height:21px;display:inline-grid;place-items:center;flex-shrink:0}#khoChip .chip.on{background:var(--ngoc);border-color:var(--ngoc);color:var(--trang)}#khoChip .chip.on .n{color:var(--trang);border-color:var(--mam)}.goi-y{border-radius:10px;padding:16px 18px;background:var(--kem2);font-size:13px;line-height:1.8;margin-top:16px}.goi-y b{font:500 14px var(--sans)}.goi-y ul{color:var(--mo);margin-top:10px}.suggestions{margin:8px 0 16px}.suggestion{width:100%;text-align:left;padding:14px;background:var(--trang);border:1px solid var(--kem3);border-radius:10px;margin-top:8px;line-height:1.7;font-size:13px}.suggestion span{display:block;font-size:12px;color:var(--mo);margin-top:6px}.suggestion[aria-pressed=true]{border-color:var(--ngoc);background:var(--kem2)}
.anh-luoi{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.anh-them{background:var(--trang);border-color:var(--mam);border-radius:10px;font-size:11px;min-height:56px;align-content:center;gap:5px}.anh-them .e{font-size:18px}.anh-o{border-radius:10px}.anh-o .x{background:var(--ngoc);color:var(--trang)}
.coffee-invite{display:flex;align-items:center;gap:16px;width:100%;background:var(--kem2);border:1px solid var(--kem3);border-radius:14px;padding:22px;text-align:left;margin:20px 0}.coffee-invite .cup{color:var(--ngoc);display:grid;place-items:center;width:42px;height:42px}.coffee-invite .cup .ui-icon{width:30px;height:30px}.coffee-invite b{font-family:var(--serif);font-size:22px;font-weight:500;display:block}.coffee-invite small{font-size:12px;line-height:1.7;color:var(--mo);display:block;margin-top:4px}.coffee-invite>span:last-child{margin-left:auto}.mini{padding:16px 0;gap:14px}.mini .t b{font-size:13px;font-weight:500}.mini .t p{font-size:14px;line-height:1.7}.mini .t small{font-size:11px}.mini .th{border-radius:12px;background:var(--kem2);font-size:18px}
.nav{background:var(--trang);border-top:1px solid var(--kem3);padding:8px 16px calc(8px + env(safe-area-inset-bottom));backdrop-filter:none}.nav .in{max-width:520px;gap:8px}.nav button{font-size:11px;gap:6px;min-height:54px;padding:6px 12px;border-radius:10px;font-weight:400}.nav button .e{display:grid;place-items:center}.nav button.on{background:var(--kem2);color:var(--ngoc)}.ban{margin:36px 0 8px;font-size:10px;color:var(--mo);text-align:center}
#manThien,#manVuon{max-width:760px;margin:0 auto}.nghi-thuc{position:relative;isolation:isolate;overflow:hidden;background:var(--ngoc);border-radius:18px;padding:36px 28px;margin:0 0 24px;box-shadow:none;color:var(--trang)}.nghi-thuc:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.12;background:url('vuon-hong-v1.webp') center/cover}.nghi-thuc .ly{margin-bottom:20px}.nghi-thuc .ly .ui-icon{width:32px;height:32px}.nghi-thuc h2{font-size:30px;line-height:1.3;color:var(--trang);max-width:460px;margin-bottom:16px}.nghi-thuc p{font-size:13px;line-height:1.9;max-width:550px;opacity:1;margin:7px 0}.hat-the{padding:28px}.hat-dau{gap:12px}.hat-dau .huy{background:var(--kem2);width:42px;height:42px;border-radius:50%;font-size:20px}.hat-dau .ten{font-size:21px;line-height:1.4}.hat-dau .ngay{font-size:11px;margin-top:4px}.hat-dau .nhom{font:400 10px var(--sans);display:inline-block;background:var(--kem2);color:var(--ngoc);padding:3px 7px}.hat-noi{font-family:var(--serif);font-size:22px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0}.anh-cuon{margin-top:22px}.anh-cuon img{height:270px;border-radius:12px}.tach{gap:10px;margin-top:24px}.tach button{min-height:52px;background:var(--kem2);border:1px solid var(--kem3);color:var(--ngoc);border-radius:10px}.tach button.on{background:var(--ngoc);color:var(--trang)}.tach button .ui-icon{width:22px;height:22px}.tach-nhan{font-size:11px;margin-top:8px}.thien-confirm{margin-top:24px}.xong{padding:36px 24px}.xong h3{font-size:27px;line-height:1.4;margin:16px 0}.xong .e{font-size:0}.xong .e:before{content:'✓';font-family:var(--serif);font-size:36px;color:var(--ngoc)}.tuoi-xong{line-height:1.7}
.garden-heading{padding:0 0 24px;margin:0;border-radius:0;background:none;border-bottom:1px solid var(--kem3)}.garden-heading h2{font-size:36px;line-height:1.25}.garden-heading p{font-size:13px;color:var(--mo);line-height:1.8;max-width:460px;margin:12px 0 0}.tabs{background:var(--kem2);border-radius:10px;margin:24px 0 20px;padding:4px}.tabs button{min-height:40px;font-size:12px;border-radius:7px;font-weight:500}.tabs button.on{background:var(--trang);box-shadow:none}.garden-journal{background:transparent;border:0;padding:0;margin-top:0}.garden-journal label{margin-top:0}.garden-journal>.input{background:var(--trang)}#luoiAnhVuon{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}#luoiAnhVuon .o{border:0;padding:0;min-width:0;display:block;border-radius:10px;background:var(--kem2)}#luoiAnhVuon .b{background:var(--trang);color:var(--than);border-radius:6px;padding:2px 4px;filter:none;font-size:13px}.rose-memory{display:flex;align-items:center;gap:16px;text-align:left;width:100%;padding:22px 0;border:0;border-bottom:1px solid var(--kem3);background:transparent}.rose-memory .bloom{width:64px;height:72px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:var(--kem2);color:var(--ngoc);font-size:25px}.rose-memory .bloom img{width:100%;height:100%;object-fit:cover;border-radius:10px}.rose-memory .words{flex:1;min-width:0}.rose-memory b{font-family:var(--serif);font-size:21px;font-weight:500}.rose-memory p{margin:6px 0;font-size:14px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rose-memory small{font-size:11px;color:var(--mo)}.garden-stats{background:transparent;box-shadow:none;margin-top:28px}.garden-stats summary{padding:3px 0;min-height:44px;align-content:center;cursor:pointer;color:var(--ngoc);font-size:13px}.garden-stats .so-luoi{margin:16px 0}.so-o{border:1px solid var(--kem3);border-radius:10px;box-shadow:none;padding:15px 4px}.so-o b{font-size:28px}.so-o span{font-size:10px}.hat-hang{min-height:55px}.hat-hang .t b{font-size:12px}.empty-garden{padding:50px 16px;text-align:center;font-size:14px;line-height:1.9}.empty-garden .flower{font-size:0}.empty-garden .flower:before{content:'';display:block;margin:0 auto 22px;width:64px;height:64px;background:url('bieu-tuong.svg') center/contain no-repeat}
.pl-khoi{padding:14px 0;margin-top:22px}.pl-khoi summary{font-size:13px;font-weight:500;flex-wrap:wrap}.pl-tom{font-size:11px;line-height:1.7}.pl-khoi .chips{gap:7px}.chip.pl{font-size:12px;font-weight:400;min-height:44px;border-radius:8px;background:var(--trang);border-color:var(--kem3)}.chip.pl.on{background:var(--ngoc);color:var(--trang)}.the-phu .tag{font-size:10px;border-radius:5px;padding:3px 6px;background:var(--kem2);color:var(--mo)}.the-phu .tag.xn,.the-phu .tag.kc{color:var(--hong)}.the-phu .tag.tien{color:var(--ngoc)}.loc-vuon{gap:12px;margin-top:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.loc-vuon>div{min-width:0}.loc-vuon select.input,.loc-vuon input.input{width:100%;font-size:13px;min-height:44px}.loc-tom .tag{border-radius:6px;min-height:32px;padding:6px 10px}.nut-yt{background:var(--trang);font-weight:500;font-size:12px}.yt-xem{background:var(--trang)}select.input{background-color:var(--trang)}.loc-filters{margin:16px 0;border-bottom:1px solid var(--kem3);padding:0 0 12px}.loc-filters>summary{font-size:13px;color:var(--ngoc);min-height:44px;align-content:center;cursor:pointer}.loc-filters[open]{padding-bottom:20px}
.dang-nhap{max-width:1040px;margin:40px auto;padding:0 32px;min-height:calc(100dvh - 100px);justify-content:center;align-items:center}.dang-nhap:before{content:'';display:block;width:100%;height:260px;background:url('vuon-hong-v1.webp') center/cover;border-radius:18px;margin-bottom:24px}.dang-nhap .logo{display:none}.logo-img{width:180px;max-height:190px;margin:0 auto 12px}.dang-nhap>p{font-size:13px;line-height:1.9;max-width:340px;margin:15px auto 20px}.dang-nhap .card{width:100%;max-width:400px;border:0;background:transparent;padding:0;margin:0}.dang-nhap .card label{margin-top:8px}.ma-nhap{font:500 26px var(--sans);letter-spacing:7px}
.modal{background:color-mix(in srgb,var(--ngoc) 40%,transparent)}.modal .hop{max-width:650px;background:var(--trang);padding:22px 24px calc(28px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;box-shadow:none}.modal .hop>.icon-btn{margin-left:auto;margin-bottom:12px}.modal .keo{display:none}.modal .chips{gap:8px}.modal .chip{min-height:44px;font-size:12px;padding:10px}.modal .hat-noi{font-size:21px}.toast{max-width:calc(100vw - 32px);width:max-content;border-radius:12px;background:var(--ngoc);color:var(--trang);font-size:13px;padding:14px 18px;box-shadow:none}.lightbox .x{min-width:44px;min-height:44px}
@media(min-width:960px){body{padding-bottom:48px}.header{padding-right:425px;margin-bottom:36px;min-height:92px}.nav{position:absolute;top:25px;bottom:auto;left:auto;right:max(32px,calc((100vw - 1056px)/2));width:400px;border:0;background:transparent;padding:0}.nav .in{gap:4px}.nav button{flex-direction:row;gap:8px;justify-content:center;min-height:44px;padding:10px 12px;border-radius:9px;font-size:12px}.nav .ui-icon{width:19px;height:19px}#manGieo{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:60px;align-items:start}.garden-hero{grid-column:1;grid-row:1;min-height:480px;margin:0 0 4px}.garden-title{padding:28px}.garden-title h2{font-size:38px}.story-card{grid-column:2;grid-row:1/span 3;padding-top:4px}.story-card h2{font-size:33px}.coffee-invite{grid-column:1;grid-row:2;margin:20px 0}#homNayDaGieo{grid-column:1;grid-row:3}.story-card textarea{min-height:180px}#manVuon{max-width:900px}#luoiAnhVuon{grid-template-columns:repeat(5,minmax(0,1fr))}.loc-vuon{grid-template-columns:repeat(3,minmax(0,1fr))}.dang-nhap{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:190px 90px auto;column-gap:80px;align-content:center}.dang-nhap:before{grid-column:1;grid-row:1/span 3;height:600px;margin:0}.dang-nhap .logo-img{grid-column:2;justify-self:center}.dang-nhap>p,.dang-nhap .card{grid-column:2}.dang-nhap>p{margin:0 auto}.dang-nhap .card{align-self:start}}
@media(max-width:600px){.wrap{padding:0 20px}.header{padding:18px 0;margin-bottom:20px}.header h1{font-size:21px}.garden-hero{min-height:220px;margin-bottom:28px}.garden-title{padding:20px}.garden-title h2{font-size:28px}.garden-title span{font-size:9px}.garden-title p{font-size:11px}.story-card h2{font-size:28px}.card{padding:20px}.story-card{padding:0}.nhom-tieu{margin-top:18px}#khoChip .chip{font-size:12px;padding:10px 8px;gap:6px;min-height:50px}.chip .n{width:18px;height:18px;font-size:9px}.hat-the{padding:22px 18px}.hat-noi{font-size:20px;line-height:1.85}.nghi-thuc{padding:26px 22px}.nghi-thuc h2{font-size:27px}.nghi-thuc p{font-size:13px}.hat-dau .ten{font-size:18px}.hat-dau .nhom{margin-left:0}.garden-heading h2{font-size:31px}.rose-memory b{font-size:19px}.rose-memory .bloom{width:56px;height:66px}.coffee-invite{padding:20px 16px;gap:10px}.coffee-invite b{font-size:21px}.coffee-invite small{font-size:11px}.garden-journal{padding:0}.dang-nhap{padding:0 24px;margin:24px auto}.dang-nhap:before{height:200px;margin-bottom:20px}.modal .hop{padding-left:20px;padding-right:20px}.anh-cuon img{height:220px}}
@media(max-width:350px){.wrap{padding:0 16px}#khoChip .chips{grid-template-columns:1fr}.nhom-tieu span{font-size:10px}.story-card h2{font-size:26px}.so-luoi{grid-template-columns:repeat(2,1fr)}.coffee-invite .cup{width:28px}.coffee-invite b{font-size:19px}.garden-title h2{font-size:26px}.loc-vuon{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Rose atelier — visual refinement only; controls and data flow stay intact. */
:root {
  --hairline: color-mix(in srgb, var(--vang) 38%, var(--kem3));
  --paper-shadow: 0 12px 40px color-mix(in srgb, var(--ngoc) 6%, transparent);
}
body { background: var(--kem); }
h1,h2,h3 { font-weight: 400; }
.header { border-color: var(--hairline); }
.header h1 { font-weight: 500; }
.header small { letter-spacing: .07em; }
.garden-hero {
  border-radius: 120px 120px 12px 12px;
  border: 1px solid var(--hairline);
  box-shadow: var(--paper-shadow);
  background-position: center;
}
.garden-hero::before {
  content: ''; position: absolute; inset: 10px;
  border: 1px solid color-mix(in srgb, var(--trang) 55%, transparent);
  border-radius: 110px 110px 5px 5px;
  pointer-events: none;
}
.garden-hero::after {
  background: linear-gradient(0deg, var(--ngoc), color-mix(in srgb, var(--ngoc) 35%, transparent) 45%, transparent 80%);
}
.garden-title { padding: 36px; }
.garden-title h2 { font-size: 46px; font-weight: 400; letter-spacing: -.04em; }
.garden-title span { color: var(--trang); letter-spacing: .22em; }
.garden-title p { font-family: var(--serif); font-size: 17px; font-style: italic; }
.garden-title span::before { content: ''; display: block; width: 36px; height: 1px; background: var(--vang); margin-bottom: 20px; }
.story-card h2 { font-weight: 400; }
.story-card > .muted { font-size: 14px; }
.story-card textarea { font-family: var(--serif); font-size: 19px; line-height: 1.85; }
.input { border-radius: 6px; border-color: var(--hairline); }
.input::placeholder { color: var(--mo); opacity: .8; }
.btn { border-radius: 6px; letter-spacing: .015em; }
#nutGieo,.thien-confirm { min-height: 54px; box-shadow: 0 4px 12px color-mix(in srgb, var(--ngoc) 12%, transparent); }
#khoChip .chip { border-radius: 6px; border-color: var(--hairline); }
#khoChip .chip .n { border-color: var(--hairline); color: var(--mo); }
#khoChip .chip.on { background: var(--ngoc); border-color: var(--ngoc); }
#khoChip .chip.on .n { color: var(--trang); border-color: var(--vang); }
.nhom-tieu b { letter-spacing: .15em; }
.goi-y { background: var(--trang); border: 1px solid var(--hairline); border-left: 3px solid var(--vang); border-radius: 0 8px 8px 0; }
.pl-khoi { border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); padding: 18px 0; }
#plVideo { border-left: 3px solid var(--vang); }
.coffee-invite { background: var(--ngoc); border-color: var(--ngoc); color: var(--trang); border-radius: 8px; padding: 26px; }
.coffee-invite .cup { color: var(--vang); }
.coffee-invite small { color: var(--trang); opacity: .85; }
.coffee-invite b { font-weight: 400; font-size: 26px; }
#homNayDaGieo .card { border-radius: 8px; border-color: var(--hairline); }
.nav button.on { background: var(--ngoc); color: var(--trang); }
.nav button { border-radius: 6px; }
.garden-heading {
  position: relative; overflow: hidden; isolation: isolate;
  padding: 42px 36px; background: var(--ngoc); color: var(--trang);
  border: 1px solid var(--hairline); border-radius: 12px;
}
.garden-heading::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, var(--ngoc) 20%, transparent), url('vuon-hong-v1.webp') right center/cover;
  opacity: .22;
}
.garden-heading::after { content: ''; position: absolute; inset: 9px; border: 1px solid color-mix(in srgb, var(--vang) 55%, transparent); border-radius: 5px; pointer-events: none; }
.garden-heading h2 { font-size: 44px; font-weight: 400; color: var(--trang); }
.garden-heading p { color: var(--trang); font-size: 14px; }
.tabs { background: transparent; border-bottom: 1px solid var(--hairline); border-radius: 0; gap: 8px; padding: 0 0 12px; }
.tabs button { border-radius: 5px; }
.tabs button.on { background: var(--ngoc); color: var(--trang); }
.loc-filters { background: var(--trang); border: 1px solid var(--hairline); border-radius: 8px; padding: 22px; margin-bottom: 24px; }
.loc-filters h3 { font-size: 23px!important; }
.loc-vuon { margin-top: 16px; }
#luoiAnhVuon { gap: 12px; margin: 24px 0; }
#luoiAnhVuon .o { padding: 5px; background: var(--trang); border: 1px solid var(--hairline); border-radius: 4px; box-shadow: 0 3px 9px color-mix(in srgb, var(--ngoc) 5%, transparent); }
#luoiAnhVuon .o img { border-radius: 1px; }
#luoiAnhVuon .b { bottom: 9px; right: 9px; border-radius: 50%; width: 28px; height: 28px; display: grid; place-items: center; padding: 0; }
.rose-memory { gap: 20px; padding: 26px 0; }
.rose-memory .bloom { border-radius: 4px; width: 78px; height: 86px; }
.rose-memory .bloom img { border-radius: 4px; }
.rose-memory b { font-size: 24px; font-weight: 400; }
.rose-memory p { line-height: 1.85; }
.nghi-thuc { border-radius: 12px; border: 1px solid var(--hairline); padding: 42px 36px; }
.nghi-thuc::after { content: ''; position: absolute; inset: 9px; border: 1px solid color-mix(in srgb, var(--vang) 55%, transparent); border-radius: 5px; pointer-events: none; }
.nghi-thuc .ly { color: var(--vang); }
.nghi-thuc h2 { font-size: 38px; font-weight: 400; }
.hat-the { border-radius: 8px; border-color: var(--hairline); box-shadow: var(--paper-shadow); padding: 32px; }
.hat-noi { font-size: 24px; line-height: 1.9; }
.anh-cuon img { border-radius: 4px; }
.tach button { border-radius: 6px; border-color: var(--hairline); }
.modal .hop { border-top: 2px solid var(--vang); }
.dang-nhap::before { border-radius: 180px 180px 8px 8px; border: 1px solid var(--hairline); box-shadow: var(--paper-shadow); }
@media (hover:hover) {
  #khoChip .chip:not(.on):hover,.chip.pl:not(.on):hover { background: var(--kem2); border-color: var(--vang); }
  .rose-memory:hover { background: var(--trang); }
  #luoiAnhVuon .o:hover { border-color: var(--vang); }
  .btn:hover { filter: brightness(1.05); }
}
@media (min-width:960px) {
  #manGieo { column-gap: 40px; grid-template-columns: minmax(0,.85fr) minmax(0,1.1fr); }
  .garden-hero { min-height: 560px; }
  .story-card { background: var(--trang); border: 1px solid var(--hairline); border-radius: 8px; padding: 32px; box-shadow: var(--paper-shadow); }
  .story-card h2 { font-size: 36px; }
  #luoiAnhVuon { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .nav button.on { background: var(--ngoc); }
}
@media (max-width:600px) {
  .garden-hero { min-height: 300px; border-radius: 90px 90px 8px 8px; }
  .garden-hero::before { border-radius: 80px 80px 3px 3px; }
  .garden-title { padding: 28px; }
  .garden-title h2 { font-size: 38px; }
  .garden-title p { font-size: 15px; }
  .story-card h2 { font-size: 31px; }
  .coffee-invite { padding: 22px 16px; }
  .coffee-invite b { font-size: 23px; }
  .garden-heading { padding: 30px 24px; }
  .garden-heading h2 { font-size: 33px; }
  .loc-filters { padding: 18px 14px; }
  #luoiAnhVuon { gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rose-memory { gap: 14px; }
  .rose-memory b { font-size: 21px; }
  .rose-memory .bloom { width: 62px; height: 74px; }
  .nghi-thuc { padding: 30px 24px; }
  .nghi-thuc h2 { font-size: 30px; }
  .hat-the { padding: 24px 18px; }
  .hat-noi { font-size: 21px; }
  .dang-nhap::before { height: 260px; border-radius: 100px 100px 8px 8px; }
}
@media (max-width:350px) {
  .story-card h2 { font-size: 28px; }
  .garden-heading h2 { font-size: 29px; }
  .garden-title h2 { font-size: 34px; }
}
