/*!
 * FIRST-Network Store - header icons + cart drawer
 */
:root{--fn-navy:#16253A;--fn-navy-deep:#101D2E;--fn-gold:#D2A64A;--fn-gold-deep:#9C7A28;--fn-ivory:#FBF8F1;--fn-ink:#1B2836;--fn-muted:#66707D;--fn-line:rgba(22,37,58,.11)}

/* ---------- header icons ---------- */
.fn-headicons{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}
.fn-headicons button{font-family:inherit;cursor:pointer;padding:0;border:0;box-shadow:none;-webkit-appearance:none;appearance:none}
.fn-user{position:relative}
.fn-headicons .fn-user-btn,.fn-headicons .fn-cart-btn{position:relative;width:42px;height:42px;border-radius:50%;background:var(--fn-navy) !important;display:inline-flex;align-items:center;justify-content:center;transition:.15s;flex:none}
.fn-headicons .fn-user-btn:hover,.fn-headicons .fn-cart-btn:hover{background:var(--fn-navy-deep) !important;transform:translateY(-1px)}
.fn-user-btn svg,.fn-cart-btn svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fn-headicons .fn-user-initials{font-family:'Playfair Display',serif;font-weight:800;font-size:.95rem;color:var(--fn-navy-deep);background:linear-gradient(140deg,var(--fn-gold),#b8893a) !important;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.fn-cart-count{position:absolute;top:-4px;right:-4px;background:var(--fn-gold);color:var(--fn-navy-deep);font-size:.66rem;font-weight:800;min-width:19px;height:19px;padding:0 5px;border-radius:100px;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans',sans-serif;line-height:1}

.fn-user-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:1200;min-width:238px;background:#fff;border:1px solid var(--fn-line);border-radius:18px;box-shadow:0 26px 60px -30px rgba(16,29,46,.55);padding:8px;text-align:left}
.fn-user-menu[hidden]{display:none}
.fn-user-head{padding:12px 14px 10px;border-bottom:1px solid var(--fn-line);margin-bottom:6px}
.fn-user-head b{display:block;font-size:.92rem;color:var(--fn-navy);font-weight:800}
.fn-user-head span{display:block;font-size:.78rem;color:var(--fn-muted);margin-top:2px;word-break:break-word}
.fn-user-menu a{display:block;padding:10px 14px;border-radius:12px;font-size:.9rem;font-weight:700;color:var(--fn-ink);text-decoration:none}
.fn-user-menu a:hover{background:var(--fn-ivory);color:var(--fn-navy)}
.fn-user-menu a.fn-user-out{color:var(--fn-gold-deep);border-top:1px solid var(--fn-line);border-radius:0 0 12px 12px;margin-top:6px}

/* ---------- drawer ---------- */
.fn-drawer-scrim{position:fixed;inset:0;background:rgba(10,18,29,.5);backdrop-filter:blur(2px);z-index:99998;opacity:0;transition:opacity .25s}
.fn-drawer-scrim.on{opacity:1}
.fn-drawer-scrim[hidden]{display:none}

.fn-drawer{position:fixed;top:0;right:0;height:100%;width:min(430px,100%);background:var(--fn-ivory);z-index:99999;display:flex;flex-direction:column;box-shadow:-30px 0 70px -40px rgba(9,17,28,.85);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);font-family:'Plus Jakarta Sans',sans-serif;color:var(--fn-ink)}
.fn-drawer.on{transform:translateX(0)}
.fn-drawer[hidden]{display:none}

.fn-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--fn-line);flex:none}
.fn-drawer-head h2{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--fn-navy);margin:0}
.fn-drawer-head h2 em{color:var(--fn-gold-deep);font-style:italic}
.fn-drawer-close{width:36px;height:36px;border-radius:50%;background:rgba(22,37,58,.06);display:flex;align-items:center;justify-content:center;flex:none}
.fn-drawer-close:hover{background:rgba(22,37,58,.12)}
.fn-drawer-close svg{width:18px;height:18px;stroke:var(--fn-navy);fill:none;stroke-width:2;stroke-linecap:round}

.fn-drawer-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}
.fn-drawer-count{margin:16px 24px 4px;font-size:.85rem;color:var(--fn-muted)}

.fn-drawer-items{list-style:none;margin:0;padding:8px 24px 0;flex:1}
.fn-drawer-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--fn-line)}
.fn-drawer-item:last-child{border-bottom:0}
.fn-di-thumb{display:block;width:64px;height:64px;border-radius:12px;overflow:hidden;background:var(--fn-navy)}
.fn-di-thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.fn-di-main{display:block;min-width:0}
.fn-di-name{display:block;font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--fn-navy);line-height:1.3}
.fn-di-name a{color:inherit;text-decoration:none}
.fn-di-name a:hover{color:var(--fn-gold-deep)}
.fn-di-meta{display:block;font-size:.75rem;color:var(--fn-muted);margin-top:2px}
.fn-di-meta p{margin:0}
.fn-di-unit{display:block;font-size:.8rem;color:var(--fn-muted);margin-top:2px}
.fn-di-unit .amount{color:var(--fn-muted)}
.fn-di-controls{display:flex;align-items:center;gap:10px;margin-top:10px}
.fn-qty{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--fn-line);border-radius:100px;background:#fff;padding:2px}
.fn-qty button{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--fn-navy);line-height:1}
.fn-qty button:hover{background:var(--fn-ivory)}
.fn-qty button[disabled]{opacity:.35;cursor:not-allowed}
.fn-qty-val{min-width:26px;text-align:center;font-weight:800;font-size:.85rem}
.fn-di-remove{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.fn-di-remove svg{width:16px;height:16px;stroke:var(--fn-muted);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fn-di-remove:hover{background:#fef2f2}
.fn-di-remove:hover svg{stroke:#dc2626}
.fn-di-line{font-family:'Playfair Display',serif;font-weight:700;color:var(--fn-navy);white-space:nowrap}

.fn-drawer-foot{flex:none;padding:18px 24px 24px;border-top:1px solid var(--fn-line);background:#fff}
.fn-drawer-ship{margin:0 0 14px;font-size:.8rem;color:var(--fn-muted);background:var(--fn-ivory);border:1px solid var(--fn-line);border-radius:12px;padding:10px 14px}
.fn-drawer-ship b{color:var(--fn-navy)}
.fn-drawer-ship.is-free{color:#047857;background:#ecfdf5;border-color:#a7f3d0}
.fn-drawer-sub{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.fn-drawer-sub > span:first-child{font-weight:700;color:var(--fn-navy)}
.fn-drawer-subval{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--fn-navy)}
.fn-drawer-note{margin:2px 0 14px;font-size:.75rem;color:var(--fn-muted)}

.fn-drawer-btn{display:flex;align-items:center;justify-content:center;border-radius:100px;padding:14px 24px;font-weight:800;font-size:.92rem;text-decoration:none;margin-bottom:10px}
.fn-drawer-btn:last-child{margin-bottom:0}
.fn-drawer-btn-gold{background:var(--fn-gold);color:var(--fn-navy-deep);box-shadow:0 14px 30px -16px rgba(210,166,74,.9)}
.fn-drawer-btn-gold:hover{filter:brightness(1.05)}
.fn-drawer-btn-ghost{background:none;border:1.5px solid var(--fn-line);color:var(--fn-navy)}
.fn-drawer-btn-ghost:hover{border-color:var(--fn-navy)}

.fn-drawer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 30px;gap:6px}
.fn-drawer-empty svg{width:44px;height:44px;stroke:var(--fn-gold-deep);fill:none;stroke-width:1.4;opacity:.6;margin-bottom:8px}
.fn-drawer-empty p{margin:0;color:var(--fn-muted);font-size:.9rem}
.fn-drawer-empty p b{color:var(--fn-navy);font-size:1.05rem}
.fn-drawer-empty .fn-drawer-btn{margin-top:18px;min-width:190px}

.fn-drawer-msg{flex:none;margin:0;padding:12px 24px;font-size:.85rem;font-weight:700;color:#9a3412;background:#fff7ed;border-top:1px solid #fed7aa}
.fn-drawer-msg[hidden]{display:none}

.fn-drawer.is-busy .fn-drawer-body{opacity:.5;pointer-events:none;transition:opacity .15s}

body.fn-drawer-open{overflow:hidden}

@media(max-width:520px){
	.fn-drawer{width:100%}
	.fn-drawer-item{grid-template-columns:56px 1fr}
	.fn-di-thumb{width:56px;height:56px}
	.fn-di-line{grid-column:2;margin-top:6px}
}

@media(prefers-reduced-motion:reduce){
	.fn-drawer,.fn-drawer-scrim{transition:none}
}
/* ---------- defensive resets: the theme styles bare header/aside/ul/li ---------- */
#fn-cart-drawer,#fn-cart-drawer *{box-sizing:border-box}
#fn-cart-drawer .fn-drawer-head{position:static !important;top:auto !important;left:auto !important;right:auto !important;width:auto !important;z-index:auto !important;margin:0 !important;background:transparent !important;box-shadow:none !important;border-radius:0 !important;max-width:none !important}
#fn-cart-drawer .fn-drawer-body,#fn-cart-drawer .fn-drawer-foot{position:static !important}
#fn-cart-drawer ul.fn-drawer-items{list-style:none !important;margin:0 !important}
#fn-cart-drawer li.fn-drawer-item{margin:0 !important;list-style:none !important}
#fn-cart-drawer li.fn-drawer-item::marker{content:none}
#fn-cart-drawer h2{text-transform:none !important;letter-spacing:0 !important}
#fn-cart-drawer p{max-width:none !important}
/* ================================================================
 * v2.1 - header icon alignment + site-native drawer styling
 * These rules come last and intentionally override the earlier block.
 * ================================================================ */

/* ---------- header icons ---------- */
.nav-right .fn-headicons,.fn-headicons{display:flex !important;align-items:center !important;align-self:center !important;gap:8px !important;height:44px;margin-left:6px;margin-right:6px;padding-left:16px;border-left:1px solid rgba(22,37,58,.13)}
.fn-headicons .fn-user{display:flex !important;align-items:center !important;height:44px;position:relative}
.fn-headicons .fn-user-btn,.fn-headicons .fn-cart-btn{width:44px !important;height:44px !important;flex:none;align-self:center}
.fn-headicons .fn-user-initials{width:44px !important;height:44px !important;font-size:1rem !important}
.fn-headicons .fn-user-btn svg,.fn-headicons .fn-cart-btn svg{width:20px;height:20px}
.fn-headicons .fn-cart-count{top:-2px;right:-2px;min-width:20px;height:20px;font-size:.68rem;border:2px solid #F2EFE8}

@media(max-width:820px){
	.fn-headicons{padding-left:10px;margin-left:2px;margin-right:2px;gap:6px}
	.fn-headicons .fn-user-btn,.fn-headicons .fn-cart-btn,.fn-headicons .fn-user-initials{width:40px !important;height:40px !important}
}

/* ---------- drawer: match the cart page ---------- */
.fn-drawer{background:#FBF8F1}
.fn-drawer-head{padding:24px 24px 18px}
.fn-drawer-head h2{font-size:1.7rem}

.fn-drawer-count{margin:18px 24px 0;font-size:.9rem;color:#66707D}

/* line items become white cards, as on the cart page */
.fn-drawer-items{padding:14px 22px 6px;display:flex;flex-direction:column;gap:12px}
.fn-drawer-item{background:#fff;border:1px solid rgba(22,37,58,.11);border-radius:18px;padding:14px;box-shadow:0 18px 40px -34px rgba(16,29,46,.5);gap:14px;align-items:center}
.fn-drawer-item:last-child{border-bottom:1px solid rgba(22,37,58,.11)}
.fn-di-thumb{width:60px;height:60px;border-radius:12px}
.fn-di-name{font-size:1.02rem}
.fn-di-unit{font-size:.86rem;color:#66707D;margin-top:3px}
.fn-di-controls{margin-top:10px}
.fn-qty{background:#FBF8F1;border-color:rgba(22,37,58,.13)}
.fn-di-line{font-size:1.05rem}

/* footer summary mirrors .fncart-sumrows / .fncart-total */
.fn-drawer-foot{background:#fff;border-top:1px solid rgba(22,37,58,.11);padding:20px 24px 24px}
.fn-drawer-ship{background:rgba(63,94,84,.09);border:1px solid rgba(63,94,84,.22);color:#3F5E54;font-size:.8rem;font-weight:700;padding:10px 14px;border-radius:12px;margin:0 0 16px}
.fn-drawer-ship b{color:#3F5E54}
.fn-drawer-ship.is-free{background:rgba(63,94,84,.09);border-color:rgba(63,94,84,.22);color:#3F5E54}
.fn-drawer-sub{border-top:1px solid rgba(22,37,58,.11);padding-top:14px;align-items:baseline}
.fn-drawer-sub > span:first-child{font-weight:800;color:#16253A;font-size:.95rem}
.fn-drawer-subval{font-size:1.6rem}
.fn-drawer-note{margin:4px 0 16px;font-size:.76rem;color:#66707D}
.fn-drawer-btn{padding:15px 24px;font-size:.95rem;border-radius:100px}
.fn-drawer-btn-gold{box-shadow:0 14px 30px -16px rgba(210,166,74,.9)}

/* empty state */
.fn-drawer-empty svg{stroke:#9C7A28}
.fn-drawer-empty p b{font-family:'Playfair Display',serif;font-size:1.2rem;color:#16253A}

/* in-drawer message uses the site notice language */
.fn-drawer-msg{background:#fff;border-top:1px solid rgba(22,37,58,.11);color:#16253A;font-weight:700;font-size:.85rem;padding:14px 24px}
.fn-drawer-msg::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#D2A64A;margin-right:9px;vertical-align:middle}