/* Gift-card catalogue and cart additions. Kept separate from the original visual foundation. */
.cart-nav { display:inline-flex; align-items:center; gap:.42rem; }
.cart-count { display:inline-grid; min-width:1.35rem; height:1.35rem; place-items:center; padding:0 .24rem; border-radius:99px; color:var(--navy); background:var(--mint); font-size:.68rem; line-height:1; }
.catalog-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:-.9rem 0 1.65rem; }
.catalog-search { flex:1 1 210px; max-width:290px; }.catalog-search input { width:100%; padding:.68rem .8rem; border:1px solid #c9d6e2; border-radius:.45rem; color:var(--navy); outline:none; }.catalog-search input:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(56,189,248,.13); }
.category-filters { display:flex; flex:5 1 460px; flex-wrap:wrap; gap:.45rem; }.category-filter { padding:.48rem .68rem; border:1px solid #cad7e4; border-radius:99px; color:#50617a; background:white; font-size:.74rem; font-weight:800; }.category-filter span { margin-left:.2rem; color:#8498ad; }.category-filter.active { border-color:var(--navy); color:white; background:var(--navy); }.category-filter:disabled { cursor:not-allowed; opacity:.5; }.cart-shortcut { margin-left:auto; padding:.62rem .9rem; font-size:.78rem; }
.gift-product-grid { align-items:stretch; }.gift-card { display:flex; flex-direction:column; overflow:hidden; }.gift-card.unavailable { opacity:.72; }.gift-preview { position:relative; display:grid; flex:0 0 auto; width:100%; height:118px; place-items:center; overflow:hidden; color:white; background:linear-gradient(128deg,#0c1a3a,#215080); }.gift-preview:after { content:''; position:absolute; right:-18px; bottom:-35px; width:110px; height:110px; border:15px solid rgba(53,242,177,.55); transform:rotate(45deg); }.gift-preview span { position:relative; z-index:1; max-width:80%; color:var(--mint); font-family:'DM Mono',monospace; font-size:.76rem; font-weight:700; letter-spacing:.1em; text-align:center; }.gift-preview img { position:relative; z-index:1; width:100%; height:100%; object-fit:cover; background:#13254f; }.gift-steam { background:linear-gradient(128deg,#101d41,#205d91); }.gift-phonepe { background:linear-gradient(128deg,#2a115c,#6731a2); }.gift-amazon-prime { background:linear-gradient(128deg,#102545,#1266a1); }.gift-appstore-itunes { background:linear-gradient(128deg,#14345f,#3987ba); }.gift-google-play { background:linear-gradient(128deg,#123844,#17756a); }
.gift-card .product-content { display:flex; flex:1; flex-direction:column; }.product-meta { display:flex; flex-wrap:wrap; gap:.35rem; margin:0 0 .6rem; }.product-meta span { padding:.18rem .42rem; border-radius:99px; color:#416078; background:#edf5fa; font-size:.64rem; font-weight:800; }.product-variant { margin:.15rem 0 .3rem; color:#496780; font-size:.8rem; font-weight:800; }.gift-card .product-price { margin:.3rem 0 .6rem; }.product-description { min-height:2.7em; margin:0 0 .55rem; color:#617189; font-size:.75rem; line-height:1.45; }.product-delivery { margin:auto 0 .55rem; padding-top:.7rem; border-top:1px solid var(--line); color:#48677d; font-size:.7rem; line-height:1.45; }.activation-details { margin:0 0 .75rem; color:#5a6d84; font-size:.7rem; }.activation-details summary { color:#1b94cc; cursor:pointer; font-weight:800; }.activation-details p { max-height:110px; margin:.35rem 0 0; overflow:auto; line-height:1.45; }.product-unavailable { margin:.1rem 0 .8rem; color:#a12b35; font-size:.73rem; font-weight:800; }.catalog-empty { padding:2rem; color:#596c84; border:1px dashed #c4d1de; border-radius:.7rem; text-align:center; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; align-items:start; }.cart-panel { overflow:hidden; border:1px solid #d8e3ed; border-radius:11px; background:white; box-shadow:0 8px 25px rgba(11,22,51,.045); }.cart-items { display:grid; }.cart-line { display:grid; grid-template-columns:116px minmax(0,1fr) 180px; gap:1rem; align-items:center; padding:1rem; border-bottom:1px solid var(--line); }.cart-line:last-child { border-bottom:0; }.cart-line .gift-preview { width:116px; height:86px; border-radius:.5rem; }.cart-line-main h2 { margin:.08rem 0; color:var(--navy); font-size:1rem; }.cart-line-main>p:last-child:not(.product-unavailable) { margin:.1rem 0; color:#64758c; font-size:.78rem; }.cart-line-controls { display:grid; justify-items:end; gap:.28rem; color:var(--navy); font-size:.83rem; }.cart-line-controls input { width:70px; padding:.38rem .45rem; border:1px solid #c9d6e2; border-radius:.35rem; color:var(--navy); font-weight:800; text-align:center; }.cart-line-total { font-size:.95rem; font-weight:800; }.cart-line.unavailable { background:#fffafb; }.cart-empty { padding:3rem 1.3rem; text-align:center; }.cart-empty h2 { margin:0; color:var(--navy); }.cart-empty p { color:#64758c; }.cart-summary { position:sticky; top:1.2rem; display:grid; gap:1rem; }.cart-summary .button-outline { margin-top:-.2rem; }.is-disabled { pointer-events:none; cursor:not-allowed; opacity:.5; }
.checkout-items { display:grid; gap:.75rem; margin:0 0 1rem; }.checkout-item { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:.6rem; align-items:center; padding:.65rem 0; border-bottom:1px solid var(--line); }.checkout-item .gift-preview { width:48px; height:40px; border-radius:.35rem; }.checkout-item .gift-preview span { font-size:.48rem; }.checkout-item>div:nth-child(2) { display:grid; gap:.08rem; }.checkout-item>div:nth-child(2) strong { color:var(--navy); font-size:.78rem; line-height:1.3; }.checkout-item>div:nth-child(2) span { color:#687991; font-size:.68rem; }.checkout-item>strong { color:var(--navy); font-size:.8rem; }.checkout-item.unavailable { color:#a12b35; }.delivered-items { display:grid; gap:.8rem; margin:1.15rem 0; text-align:left; }.delivered-item { padding:1rem; border:1px solid var(--line); border-radius:.65rem; background:#fbfdff; }.delivered-item-title { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.delivered-item-title h2 { margin:0; color:var(--navy); font-size:1rem; }.delivered-item-title p { margin:.18rem 0 0; color:#60718a; font-size:.74rem; }.delivered-item-title>strong { color:var(--navy); white-space:nowrap; font-size:.84rem; }.code-list { display:grid; gap:.55rem; margin-top:.8rem; }.gift-code { display:grid; grid-template-columns:110px minmax(0,1fr); gap:.25rem .7rem; align-items:center; padding:.7rem; border-radius:.42rem; background:#edf8f4; }.gift-code span { color:#527168; font-size:.68rem; font-weight:800; }.gift-code code { overflow-wrap:anywhere; color:#0e6048; font-size:.88rem; font-weight:800; }.gift-code small { grid-column:2; color:#58756d; font-size:.67rem; }.code-pending,.private-order-note { color:#64758c; font-size:.76rem; }.private-order-note { margin-top:1.25rem; }
.admin-login { display:grid; width:min(440px,100%); gap:1rem; padding:1.4rem; border:1px solid #d8e3ed; border-radius:.7rem; background:white; box-shadow:0 8px 25px rgba(11,22,51,.045); }.admin-login label { display:grid; gap:.35rem; color:#42546e; font-size:.78rem; font-weight:800; }.admin-login input { padding:.72rem .8rem; border:1px solid #c9d6e2; border-radius:.4rem; color:var(--navy); }.admin-actions { display:flex; align-items:center; gap:1rem; margin:0 0 1rem; }.admin-orders,.admin-detail { overflow:hidden; border:1px solid #d8e3ed; border-radius:.7rem; background:#fff; box-shadow:0 8px 25px rgba(11,22,51,.045); }.admin-table-head,.admin-order-row { display:grid; grid-template-columns:1.2fr 1.2fr .9fr .7fr 1fr; gap:.8rem; align-items:center; width:100%; padding:.8rem 1rem; color:#52647d; border:0; border-bottom:1px solid var(--line); background:white; text-align:left; font-size:.74rem; }.admin-table-head { color:#687b91; background:#f3f8fc; font-size:.65rem; font-weight:800; text-transform:uppercase; }.admin-order-row:hover { background:#f8fcff; }.admin-order-row span { display:grid; gap:.05rem; }.admin-order-row strong { color:var(--navy); }.admin-order-row small { color:#77899d; font-size:.65rem; }.admin-status { color:#135f4d; font-weight:800; }.admin-detail { margin-top:1rem; padding:1.25rem; }.admin-detail-head,.admin-customer { display:flex; justify-content:space-between; gap:2rem; }.admin-detail h2 { margin:0; color:var(--navy); }.admin-customer { color:#53647a; font-size:.8rem; }.admin-item { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); color:#52647d; font-size:.78rem; }.admin-item h3 { margin:0; color:var(--navy); font-size:.9rem; }.admin-item h3 small { color:#687b91; font-weight:500; }.admin-item code { overflow-wrap:anywhere; }.admin-item details { margin-top:.6rem; }.admin-item summary { cursor:pointer; color:var(--navy); font-weight:800; }.admin-item li { margin:.3rem 0; overflow-wrap:anywhere; }
@media (max-width:900px) { .cart-layout { grid-template-columns:1fr; }.cart-summary { position:static; grid-row:1; }.cart-shortcut { margin-left:0; }.admin-table-head { display:none; }.admin-order-row { grid-template-columns:1fr 1fr; }.admin-order-row span:nth-child(3),.admin-order-row span:nth-child(4),.admin-order-row span:nth-child(5) { display:none; } }
@media (max-width:680px) { .catalog-tools { align-items:stretch; }.catalog-search { max-width:none; }.category-filters { flex-basis:100%; }.cart-shortcut { width:100%; }.cart-line { grid-template-columns:74px minmax(0,1fr); gap:.75rem; }.cart-line .gift-preview { width:74px; height:72px; }.cart-line-controls { grid-column:1 / -1; grid-template-columns:1fr auto auto auto; align-items:center; justify-items:start; padding-left:82px; }.cart-line-controls .text-button { justify-self:end; }.checkout-item { grid-template-columns:42px minmax(0,1fr) auto; }.gift-code { grid-template-columns:1fr; }.gift-code small { grid-column:auto; } }
