/* NikkiFlower Gift Messages tool — scoped to .nf-gm */
.nf-gm{--red:#c40d11;--red-dk:#9a0a0d;--red-50:#fff1f0;--teal:#0eb9cb;--teal-dk:#067a86;--teal-50:#e7f8fa;--ink:#1d2125;--muted:#5d6670;--line:#ecdfdc;--bg:#fbf8f7;--card:#fff;--r:16px;--sh:0 1px 2px rgba(60,20,20,.05),0 10px 28px -12px rgba(60,20,20,.14)}
.nf-gm,.nf-gm *{box-sizing:border-box}
.nf-gm{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.nf-gm a{color:var(--red)}
.nf-gm button,.nf-gm input,.nf-gm select{font:inherit;color:inherit}
.nf-gm svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nf-gm svg .fill{fill:currentColor;stroke:none}
.nf-gm [lang=hi],.nf-gm [lang=mr]{font-family:"Noto Sans Devanagari",system-ui,sans-serif}
.nf-gm [lang=bn]{font-family:"Noto Sans Bengali",system-ui,sans-serif}
.nf-gm [lang=ta]{font-family:"Noto Sans Tamil",system-ui,sans-serif}
.nf-gm [lang=gu]{font-family:"Noto Sans Gujarati",system-ui,sans-serif}
.nf-gm .wrap{max-width:none;margin:0;padding:0}
.nf-gm .crumbs{font-size:13px;color:var(--muted);padding:14px 0 0;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.nf-gm .crumbs a{color:var(--muted);text-decoration:none}
.nf-gm .crumbs a:hover{color:var(--red)}
.nf-gm .crumbs i{font-style:normal;opacity:.5}
.nf-gm .crumbs span{color:var(--ink)}
.nf-gm .hero{padding:14px 0 6px}
.nf-gm .eyebrow{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.nf-gm .eyebrow span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-dk);background:var(--teal-50);padding:4px 10px;border-radius:999px}
.nf-gm .eyebrow span[lang]{text-transform:none;letter-spacing:0;font-size:13px}
.nf-gm h1{font-size:27px;line-height:1.18;letter-spacing:-.015em;margin:0 0 10px;font-weight:800}
.nf-gm .native{font-size:20px;font-weight:600;color:var(--red);margin:0 0 10px}
.nf-gm .intro{color:var(--muted);margin:0;max-width:62ch}
.nf-gm h2{font-size:19px;line-height:1.3;margin:0 0 12px;letter-spacing:-.01em}
.nf-gm .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.nf-gm .tool{padding:16px;margin:18px 0 16px;display:grid;gap:14px}
.nf-gm .grid3,.nf-gm .grid2{display:grid;gap:12px;grid-template-columns:1fr}
.nf-gm .fld{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
.nf-gm .fld em{font-style:normal;font-weight:500;opacity:.8}
.nf-gm .fld select,.nf-gm .fld input{width:100%;height:46px;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:0 14px;font-size:16px;font-weight:500;color:var(--ink);outline:none;transition:border-color .15s}
.nf-gm .fld select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c40d11' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
.nf-gm .fld select:focus,.nf-gm .fld input:focus{border-color:var(--teal)}
.nf-gm .toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.nf-gm .tb-right{display:flex;gap:10px;align-items:center}
.nf-gm .seg{display:flex;background:var(--red-50);border-radius:12px;padding:3px;gap:2px;flex:1 1 auto;min-width:0}
.nf-gm .seg button{flex:1;border:0;background:transparent;padding:8px 6px;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}
.nf-gm .seg button[aria-pressed=true]{background:#fff;color:var(--red);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.nf-gm .switch{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;cursor:pointer;user-select:none}
.nf-gm .switch input{position:absolute;opacity:0;pointer-events:none}
.nf-gm .switch .knob{width:40px;height:24px;border-radius:99px;background:#d9cfcd;position:relative;transition:background .15s}
.nf-gm .switch .knob::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.nf-gm .switch input:checked+.knob{background:var(--teal)}
.nf-gm .switch input:checked+.knob::after{transform:translateX(16px)}
.nf-gm .switch input:focus-visible+.knob{outline:2px solid var(--teal);outline-offset:2px}
.nf-gm .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .08s,background .15s,border-color .15s}
.nf-gm .btn:hover{border-color:#d8c6c2}
.nf-gm .btn:active{transform:scale(.98)}
.nf-gm .btn:disabled{opacity:.55;cursor:progress}
.nf-gm .btn.red{background:var(--red);border-color:var(--red);color:#fff}
.nf-gm .btn.red:hover{background:var(--red-dk)}
.nf-gm .btn.outline{border-color:var(--red);color:var(--red)}
.nf-gm .btn.ghost{border-color:transparent;background:var(--teal-50);color:var(--teal-dk)}
.nf-gm .btn.wa{color:#128c4b}
.nf-gm .btn.big{min-height:50px;font-size:16px;width:100%}
.nf-gm .btn.white{background:#fff;border-color:#fff;color:var(--red)}
.nf-gm .btn.white-o{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.nf-gm .list{display:grid;gap:14px}
.nf-gm .msg{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh)}
.nf-gm .msg-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.nf-gm .tag{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;display:inline-flex;gap:6px;align-items:baseline}
.nf-gm .tag small{font-weight:600;opacity:.75}
.nf-gm .tag-short{background:var(--teal-50);color:var(--teal-dk)}
.nf-gm .tag-heartfelt{background:var(--red-50);color:var(--red)}
.nf-gm .tag-long{background:#f1eeee;color:#4a4f55}
.nf-gm .cc{font-size:12px;color:var(--muted)}
.nf-gm .msg-text{white-space:pre-line;font-size:17px;line-height:1.75;margin:12px 0 14px;overflow-wrap:anywhere}
.nf-gm .msg-act{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nf-gm .msg-act .gift{grid-column:1/-1}
.nf-gm .msg-act.odd .btn:last-child{grid-column:1/-1}
.nf-gm .more-wrap{display:flex;justify-content:center;margin:16px 0 6px}
.nf-gm .more-wrap .btn[hidden]{display:none}
.nf-gm .cta{margin:28px 0 8px;padding:22px 18px;border-radius:20px;color:#fff;background:radial-gradient(120% 140% at 100% 0%,rgba(14,185,203,.45) 0,rgba(14,185,203,0) 45%),linear-gradient(135deg,#c40d11,#8f080b);display:grid;gap:16px}
.nf-gm .cta h2{color:#fff;font-size:20px;margin:0 0 6px}
.nf-gm .cta p{margin:0;opacity:.92;font-size:15px}
.nf-gm .cta-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nf-gm .cta-btns .btn:first-child{grid-column:1/-1}
.nf-gm .block{margin:30px 0 0}
.nf-gm .chips{display:flex;flex-wrap:wrap;gap:8px}
.nf-gm .chip{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}
.nf-gm .chip:hover{border-color:var(--red);color:var(--red)}
.nf-gm .chip.on{background:var(--red);border-color:var(--red);color:#fff}
.nf-gm .tips ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.nf-gm .tips li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;padding:12px 14px;color:#3a4148}
.nf-gm .faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 8px;padding:0 14px}
.nf-gm .faq summary{cursor:pointer;font-weight:700;padding:13px 0;list-style:none;display:flex;justify-content:space-between;gap:10px}
.nf-gm .faq summary::-webkit-details-marker{display:none}
.nf-gm .faq summary::after{content:"+";color:var(--red);font-size:20px;line-height:1}
.nf-gm .faq details[open] summary::after{content:"\2212"}
.nf-gm .faq details p{margin:0 0 14px;color:#3a4148}
.nf-gm .related h2{margin-top:22px}
.nf-gm .quick{margin-top:16px}
.nf-gm .occ-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.nf-gm .occ-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:var(--ink);display:grid;gap:2px;transition:border-color .15s,transform .1s}
.nf-gm .occ-card:hover{border-color:var(--red);transform:translateY(-1px)}
.nf-gm .occ-card .em{font-size:24px}
.nf-gm .occ-card small{color:var(--muted)}
.nf-gm .lang-grid{display:grid;gap:12px;margin-top:18px}
.nf-gm .lang-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh)}
.nf-gm .lang-card h2{margin:0}
.nf-gm .lang-card h2 a{color:var(--ink);text-decoration:none}
.nf-gm .lang-card h2 span{color:var(--red);font-weight:600;margin-left:4px}
.nf-gm .lang-card .msg-text{font-size:16px;color:#3a4148}
.nf-gm .rel-table{display:grid;gap:10px;margin-top:18px}
.nf-gm .rel-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.nf-gm .rel-row h2{font-size:16px;margin:0 0 10px}
.nf-gm .rel-row h2 a{color:var(--ink);text-decoration:none}
.nf-gm .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}
.nf-gm .stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.nf-gm .stat b{display:block;font-size:24px}
.nf-gm .stat span{font-size:13px;color:var(--muted)}
.nf-gm .small{font-size:13px;color:var(--muted)}
.nf-gm .code{background:#1d2125;color:#e6e6e6;padding:14px;border-radius:12px;overflow:auto;font-size:13px}
.nf-gm .tbl{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}
.nf-gm .tbl table{border-collapse:collapse;width:100%;font-size:13px}
.nf-gm .tbl th,.nf-gm .tbl td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.nf-gm .tbl td.warn{color:var(--red);font-weight:800}
.nf-gm #gm-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,30px);opacity:0;background:#1d2125;color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;font-weight:600;z-index:50;transition:all .2s;max-width:calc(100% - 32px);text-align:center;pointer-events:none}
.nf-gm #gm-toast.show{opacity:1;transform:translate(-50%,0)}
@media (min-width:600px){
.nf-gm h1{font-size:34px}
.nf-gm .grid3{grid-template-columns:repeat(3,1fr)}
.nf-gm .grid2{grid-template-columns:1fr 1fr}
.nf-gm .tool{padding:20px}
.nf-gm .msg{padding:20px}
.nf-gm .msg-act{display:flex;flex-wrap:wrap}
.nf-gm .msg-act .gift,.nf-gm .msg-act.odd .btn:last-child{grid-column:auto}
.nf-gm .cta{grid-template-columns:1.3fr 1fr;align-items:center;padding:26px}
.nf-gm .occ-grid{grid-template-columns:repeat(3,1fr)}
.nf-gm .lang-grid{grid-template-columns:1fr 1fr}
.nf-gm .stats{grid-template-columns:repeat(5,1fr)}
.nf-gm .seg{flex:0 1 auto}
}
@media (min-width:860px){
.nf-gm .occ-grid{grid-template-columns:repeat(4,1fr)}
}
@media (prefers-reduced-motion:reduce){
.nf-gm,.nf-gm *{transition:none!important;scroll-behavior:auto!important}
}

/* Site chrome + mobile layout */
.nf-gm-page .content { background: #fbf8f7; }
.nf-gm-page .tnc_pages { overflow-x: hidden; padding: 8px 0 40px; }
.nf-gm-page .nf-gm .crumbs { display: none; }
.nf-gm-page .tnc_pages .nf-gm h1,
.nf-gm-page .tnc_pages .nf-gm h2,
.nf-gm-page .tnc_pages .nf-gm h3 {
  padding-bottom: 0;
  color: inherit;
}
.nf-gm-page .tnc_pages .nf-gm p {
  padding-bottom: 0;
  font-size: inherit;
  color: inherit;
  line-height: inherit;
}
.nf-gm {
  -webkit-text-size-adjust: 100%;
}
.nf-gm .wrap { max-width: none; margin: 0; padding: 0; }
.nf-gm .seg { -webkit-overflow-scrolling: touch; overflow-x: auto; }
.nf-gm .fld select,
.nf-gm .fld input { min-height: 44px; font-size: 16px; }
.nf-gm a.btn,
.nf-gm button.btn {
  background-image: none;
  text-shadow: none;
  box-shadow: none;
  line-height: 1.2;
  white-space: nowrap;
  vertical-align: middle;
}
.nf-gm .btn.big { white-space: normal; }
.nf-gm .btn { min-height: 44px; }
.nf-gm .cta-btns { min-width: 0; }
.nf-gm .msg-act .btn { min-width: 0; }
@media (max-width: 479px) {
  .nf-gm h1 { font-size: 24px; line-height: 1.22; }
  .nf-gm .intro { font-size: 15px; }
  .nf-gm .occ-grid { grid-template-columns: 1fr 1fr; }
  .nf-gm .toolbar { align-items: stretch; }
  .nf-gm .tb-right { width: 100%; justify-content: space-between; flex-wrap: wrap; }
  .nf-gm .seg { width: 100%; }
  .nf-gm .cta { padding: 18px 14px; }
  .nf-gm .cta h2 { font-size: 18px; }
}
@media (max-width: 359px) {
  .nf-gm .occ-grid { grid-template-columns: 1fr; }
  .nf-gm .msg-act { grid-template-columns: 1fr; }
  .nf-gm .cta-btns { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .nf-gm-page .scroll_top,
  .nf-gm-page .scroll_top1 { display: none !important; }
  .nf-gm-page .tnc_pages .container { width: 100%; max-width: 100%; }
  .nf-gm { padding-bottom: 24px; }
}
