/* Gianni & Fetch — shared cart drawer (used on every page) */
.gf-ov{position:fixed;inset:0;background:rgba(20,20,20,.45);opacity:0;visibility:hidden;transition:.3s;z-index:200;}
.gf-ov.open{opacity:1;visibility:visible;}
.gf-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--ivory,#F6F1E7);z-index:201;
  transform:translateX(100%);transition:.35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;
  box-shadow:-20px 0 60px -20px rgba(0,0,0,.4);font-family:"Montserrat",Arial,sans-serif;}
.gf-drawer.open{transform:translateX(0);}
.gf-drawer .dhd{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid rgba(20,20,20,.12);}
.gf-drawer .dhd h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:20px;color:var(--ink,#141414);}
.gf-drawer .dhd .x{background:none;border:0;font-size:24px;cursor:pointer;line-height:1;color:var(--ink,#141414);}
.gf-ship{padding:16px 26px;background:var(--ivory-deep,#ECE4D4);}
.gf-ship .t{font-size:12px;font-weight:600;margin-bottom:8px;color:var(--ink,#141414);}
.gf-ship .t b{color:var(--red,#C0272D);}
.gf-ship .t.done b{color:#2e9e4f;}
.gf-ship .bar{height:6px;background:#fff;border-radius:20px;overflow:hidden;}
.gf-ship .bar i{display:block;height:100%;width:0;background:var(--red,#C0272D);border-radius:20px;transition:.4s;}
.gf-ship .bar i.done{background:#2e9e4f;}
.gf-items{flex:1;overflow-y:auto;padding:8px 26px;}
.gf-item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid rgba(20,20,20,.1);}
.gf-item .th{width:66px;height:82px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.gf-item .th .m{width:56%;height:48%;-webkit-mask:url(Gianniandfetch_monogram.svg) center/contain no-repeat;mask:url(Gianniandfetch_monogram.svg) center/contain no-repeat;}
.gf-item .th.ink{background:#161616;} .gf-item .th.ink .m{background:rgba(246,241,231,.14);}
.gf-item .th.ivory{background:var(--ivory-deep,#ECE4D4);} .gf-item .th.ivory .m{background:rgba(20,20,20,.16);}
.gf-item .th.white{background:#f2f2f2;} .gf-item .th.white .m{background:rgba(20,20,20,.16);}
.gf-item .th.red{background:var(--red,#C0272D);} .gf-item .th.red .m{background:rgba(255,255,255,.2);}
.gf-item .info{flex:1;}
.gf-item .info .nm{font-family:"DM Serif Display",Georgia,serif;font-size:16px;color:var(--ink,#141414);}
.gf-item .info .var{font-size:11.5px;color:var(--muted,#8a8073);margin:2px 0 8px;}
.gf-item .info .row{display:flex;align-items:center;justify-content:space-between;}
.gf-item .miniqty{display:flex;align-items:center;border:1px solid rgba(20,20,20,.2);border-radius:2px;}
.gf-item .miniqty button{width:26px;height:26px;background:none;border:0;cursor:pointer;font-size:14px;color:var(--ink,#141414);}
.gf-item .miniqty span{width:22px;text-align:center;font-size:12px;font-weight:600;}
.gf-item .pr{font-weight:600;font-size:14px;color:var(--ink,#141414);}
.gf-item .rm{font-size:10.5px;color:var(--muted,#8a8073);text-decoration:underline;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;margin-top:6px;display:inline-block;}
.gf-cross{padding:16px 26px;border-top:1px solid rgba(20,20,20,.12);background:#fff;}
.gf-cross .lbl{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#8a8073);margin-bottom:10px;}
.gf-cross .x2{display:flex;align-items:center;gap:12px;}
.gf-cross .x2 .t{width:44px;height:52px;border-radius:3px;background:#fff;border:1px solid rgba(20,20,20,.12);display:flex;align-items:center;justify-content:center;}
.gf-cross .x2 .t .m{width:56%;height:48%;-webkit-mask:url(Gianniandfetch_monogram.svg) center/contain no-repeat;mask:url(Gianniandfetch_monogram.svg) center/contain no-repeat;background:rgba(20,20,20,.14);}
.gf-cross .x2 .nm{flex:1;font-size:13px;font-weight:600;color:var(--ink,#141414);}
.gf-cross .x2 .nm span{display:block;font-weight:500;color:var(--muted,#8a8073);font-size:11.5px;}
.gf-cross .x2 .add{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red,#C0272D);cursor:pointer;border:1.4px solid var(--red,#C0272D);padding:8px 12px;border-radius:2px;background:none;transition:.2s;}
.gf-cross .x2 .add:hover{background:var(--red,#C0272D);color:#fff;}
.gf-foot{padding:20px 26px 24px;border-top:1px solid rgba(20,20,20,.12);background:var(--ivory,#F6F1E7);}
.gf-foot .sub{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;}
.gf-foot .sub .l{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted,#8a8073);}
.gf-foot .sub .v{font-family:"DM Serif Display",Georgia,serif;font-size:22px;color:var(--ink,#141414);}
.gf-foot .note{font-size:11px;color:var(--muted,#8a8073);margin-bottom:14px;}
.gf-foot .co{display:block;width:100%;text-align:center;font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  padding:16px;background:var(--red,#C0272D);color:#fff;border:1.5px solid var(--red,#C0272D);border-radius:2px;text-decoration:none;cursor:pointer;transition:.2s;}
.gf-foot .co:hover{background:transparent;color:var(--red,#C0272D);}
.gf-foot .guar{text-align:center;font-size:11px;color:var(--ink-soft,#3a3a3a);margin-top:12px;}
.gf-foot .guar::before{content:"\2713 ";color:var(--red,#C0272D);font-weight:700;}
.gf-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--muted,#8a8073);font-size:14px;line-height:1.6;}
.gf-empty .m{width:70px;height:60px;-webkit-mask:url(Gianniandfetch_monogram.svg) center/contain no-repeat;mask:url(Gianniandfetch_monogram.svg) center/contain no-repeat;background:rgba(20,20,20,.14);margin-bottom:18px;}
.gf-empty a{display:inline-block;margin-top:20px;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--ink,#141414);padding:13px 26px;border-radius:2px;text-decoration:none;}
.gf-toast{position:fixed;right:24px;bottom:24px;background:var(--ink,#141414);color:var(--ivory,#F6F1E7);padding:16px 22px;border-radius:5px;
  box-shadow:0 20px 44px -18px rgba(0,0,0,.6);font-family:"Montserrat",Arial,sans-serif;font-size:13px;font-weight:600;
  transform:translateY(30px);opacity:0;transition:.35s;z-index:300;border-left:3px solid var(--red,#C0272D);pointer-events:none;}
.gf-toast.show{transform:translateY(0);opacity:1;}
@media(max-width:560px){.gf-drawer{width:100%;}}
