/* Shared presentation for gift purchase, payment status and the activated card. */
.gift-page{margin:0;background:#f8f7f4;color:#292723;font:500 13px/1.7 Spartan,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.gift-page *{box-sizing:border-box}
.gift-page [hidden]{display:none!important}
:where(.gift-page a){color:inherit}
.gift-page button,.gift-page input,.gift-page textarea{font:inherit}
.gift-page button{cursor:pointer}
.gift-page a:focus-visible,.gift-page button:focus-visible,.gift-page input:focus-visible,.gift-page textarea:focus-visible{outline:3px solid #e89b59;outline-offset:4px}
.gift-header{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1120px;padding:28px 32px;margin:auto;border-bottom:1px solid #e5e2dc}
.gift-header img{display:block;width:140px;height:auto}
.gift-nav-link,.gift-back{text-decoration:none;font-size:11px}:where(.gift-nav-link,.gift-back){color:#69655e}
.gift-nav-link span{margin-left:12px}.gift-nav-link:hover,.gift-back:hover{color:#a54500!important}
.gift-main{max-width:1060px;margin:auto;padding:48px 32px 0}
.gift-heading{margin-bottom:35px;max-width:720px}
.gift-eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#a74509;margin:0 0 13px}
.gift-heading h1{font-size:34px;line-height:1.3;letter-spacing:-1.4px;margin:0 0 13px;font-weight:700}
.gift-heading>p:last-child{font-size:13px;color:#77716a;line-height:1.8;margin-bottom:0}
.gift-page h2{font-size:18px;letter-spacing:-.5px;line-height:1.5;margin:0 0 18px;font-weight:700}
.gift-buy-grid,.gift-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.gift-preview{min-width:0}
:where(.gift-card-art){color:#fff6e9;background:#302c26}
:where(.gift-card-art){color:#fff6e9;background:#302c26}
.gift-card-art{position:relative;overflow:hidden;isolation:isolate;min-height:250px;border-radius:20px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 28px #302c2615}
.gift-card-art:before,.gift-card-art:after{content:"";position:absolute;z-index:-1;width:280px;height:280px;border-radius:50%;border:1px solid #a9906842;right:-125px;top:-100px}
.gift-card-art:after{width:380px;height:380px;right:-170px;top:-142px}
.gift-card-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.gift-card-top>span:first-child{font-size:19px;font-weight:700;letter-spacing:-1px}.gift-card-top>span:last-child{font-size:9px;letter-spacing:2.5px;color:#dbcbb4}
.gift-card-bottom{position:relative;z-index:1}.gift-card-caption{display:block;color:#cfc1ae;font-size:10px;margin-bottom:9px}.gift-card-bottom strong{display:block;font-size:29px;line-height:1.35;font-weight:600;letter-spacing:-1px;overflow-wrap:anywhere;max-width:82%}
.gift-card-mark{position:absolute;width:116px;height:134px;right:16px;bottom:12px;color:#e6a767;opacity:.65;z-index:-1}
.gift-panel{background:#fff;border:1px solid #e6e2dc;border-radius:18px;padding:30px;min-width:0;box-shadow:0 3px 16px #302c2603}
.gift-panel>p,.gift-card-description p{font-size:12px;line-height:1.9;color:#77716a}
.gift-product{border-bottom:1px solid #eeeae4;margin-bottom:23px;padding-bottom:20px}.gift-product-name{font-weight:600;font-size:12px;display:flex;align-items:center;gap:9px}.gift-product input{accent-color:#b3520a}
.gift-product p{color:#77716a;font-size:11px;line-height:1.9;margin:9px 0}.gift-validity{display:block;color:#6c6356;font-size:10px}
.gift-label{display:block;font-size:11px;font-weight:600;margin-bottom:9px}
.gift-amount-field{display:flex;align-items:center;border:1px solid #d8d2c8;border-radius:9px;background:#fff;overflow:hidden}.gift-amount-field:focus-within{outline:2px solid #e89b59;outline-offset:2px}.gift-amount-field input{width:100%;min-width:0;border:0;outline:none!important;padding:14px;font-size:19px;color:#292723;font-weight:600;background:transparent}.gift-amount-field>span{padding:0 16px;font-size:12px;color:#77716a}
.gift-help{font-size:10px;color:#77716a;line-height:1.9;margin:9px 0 0}
.gift-amount-options{display:flex;gap:8px;margin-top:15px}.gift-amount-options button{flex:1;padding:10px 5px;border:1px solid #e4dfd7;border-radius:8px;background:#fff;color:#6e6355;font-size:11px;min-height:44px}.gift-amount-options button[aria-pressed=true]{background:#f5ede3;border-color:#bfa78b;color:#4d3925}
.gift-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;border-radius:10px;min-height:50px;padding:14px 17px;border:1px solid transparent;font-size:12px!important;font-weight:700!important;line-height:1.6;text-align:center;text-decoration:none}
:where(.gift-button-primary){background:#ff7100;color:#fff}.gift-button-primary{justify-content:space-between}.gift-button-primary:not(.gift-restaurant-button):hover{background:#ed6900}.gift-button-secondary{background:#fff;border-color:#dcd6cd;color:#574838}.gift-button-secondary:hover{background:#faf7f2}
.gift-pay{margin-top:25px}.gift-payment-note{font-size:9px;line-height:1.8;color:#82796e;text-align:center;margin:13px 3px 0}
.gift-how{padding:29px 8px 0}.gift-how h2{font-size:16px}.gift-how ol{list-style:none;padding:0;margin:0;display:grid;gap:19px}.gift-how li{display:flex;align-items:flex-start;gap:14px}.gift-how li>span{flex:none;width:28px;height:28px;border:1px solid #dcd4c8;border-radius:50%;display:grid;place-items:center;color:#8d5a2d;font-size:10px}.gift-how strong{font-size:11px;font-weight:600}.gift-how p{margin:3px 0 0;font-size:11px;color:#81786d;line-height:1.8}
.gift-history{margin-top:52px}.gift-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.gift-section-heading h2{margin:0}.gift-section-heading>span{font-size:10px;color:#8a8176}
.gift-purchase-list{border:1px solid #e5e0d8;background:white;border-radius:14px;overflow:hidden}.gift-purchase-row{display:flex;gap:17px;align-items:center;padding:21px 24px;text-decoration:none}.gift-purchase-row+.gift-purchase-row{border-top:1px solid #eeeae3}.gift-purchase-row:hover{background:#fcfaf6}.gift-mini-icon{width:38px;height:38px;border-radius:10px;background:#f5f0e8;display:grid;place-items:center;color:#99754f;font-size:20px;flex:none}.gift-purchase-info{flex:1;min-width:0}.gift-purchase-info strong{display:block;font-size:12px;font-weight:600}.gift-purchase-info time{display:block;color:#8d847a;font-size:10px;margin-top:4px}.gift-row-arrow{font-size:19px;color:#978773}
.gift-status{display:inline-flex;align-items:center;gap:7px;border-radius:20px;padding:6px 10px;font-size:9px;line-height:1.5;white-space:nowrap;max-width:100%}.gift-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.gift-status--success{color:#396d50;background:#eaf3ec}.gift-status--pending{color:#90601b;background:#fbf0db}.gift-status--neutral{color:#6b655c;background:#f0ede8}
.gift-empty{padding:26px;color:#756c61;font-size:12px}.gift-empty p{margin-bottom:0;font-size:11px}
.gift-back{display:inline-flex;align-items:center;gap:9px}.gift-heading--detail{margin-top:28px}
.gift-card-description{padding:26px 0 0}.gift-card-description h2{font-size:15px;margin-bottom:9px}.gift-card-description p{margin:0}
.gift-facts{margin:22px 0 0;border-top:1px solid #e5dfd5;font-size:11px}.gift-facts>div{display:flex;justify-content:space-between;gap:18px;padding-top:14px}.gift-facts dt{color:#84776a}.gift-facts dd{margin:0;text-align:right}
.gift-balance{margin:23px 0}.gift-balance>span{display:block;font-size:11px;color:#81756a;margin-bottom:7px}.gift-balance>strong{display:block;font-size:30px;letter-spacing:-1.2px;font-weight:700;line-height:1.4}
.gift-code-section{border-top:1px solid #eeeae4;padding-top:23px}.gift-code{width:100%;min-width:0;border:1px dashed #cfc4b5;border-radius:9px;background:#faf8f4;font:600 15px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.7px;color:#433727;padding:15px 12px;text-align:center}.gift-copy{margin-top:12px}.gift-copy-status{display:block;min-height:24px;font-size:10px;color:#396d50;margin-top:4px}.gift-code-section .gift-help{margin-top:0}
.gift-use{margin-top:24px;padding-top:22px;border-top:1px solid #eeeae4}.gift-use h2{font-size:13px;margin-bottom:8px}.gift-use p{font-size:11px;line-height:1.9;color:#77716a;margin:0}
.gift-status-title{margin-top:25px!important}.gift-payment-amount{margin:24px 0;border-top:1px solid #eeeae4;border-bottom:1px solid #eeeae4;padding:18px 0}.gift-payment-amount>div{display:flex;align-items:center;justify-content:space-between;gap:18px}.gift-payment-amount dt{font-size:11px;color:#81776c}.gift-payment-amount dd{font-size:22px;font-weight:700;margin:0;letter-spacing:-.7px}.gift-payment-actions .gift-help{margin:24px 0 10px;text-align:center}
.gift-reference{margin-top:35px;border-top:1px solid #e5dfd5;padding-top:18px;font-size:10px;color:#8a8075;display:flex;flex-wrap:wrap;gap:8px 16px}.gift-reference code{font:11px/1.8 ui-monospace,monospace;overflow-wrap:anywhere;min-width:0;user-select:all}
.gift-notice{background:#fbf0dd;color:#775726;border:1px solid #eadbbf;border-radius:10px;padding:15px 18px;margin:0 0 23px;font-size:11px;line-height:1.8}.gift-panel .gift-notice{margin-top:18px}
.gift-footer{max-width:1060px;margin:auto;padding:40px 32px 28px;font-size:10px;color:#9b9185;text-align:center}
.gift-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.gift-code{display:block;resize:none;overflow-wrap:anywhere;word-break:break-all;white-space:pre-wrap}
@media(max-width:760px){.gift-buy-grid,.gift-detail-grid{grid-template-columns:1fr;gap:26px}.gift-main{max-width:560px;padding:30px 22px 0}.gift-header{padding:22px}.gift-header img{width:120px}.gift-heading h1{font-size:28px;letter-spacing:-1px}.gift-heading{margin-bottom:27px}.gift-preview .gift-how{display:none}.gift-card-art{min-height:200px;padding:25px}.gift-panel{padding:25px}.gift-history{margin-top:35px}.gift-section-heading{display:block}.gift-section-heading>span{display:block;margin-top:7px}.gift-purchase-row{padding:18px;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:6px 12px}.gift-mini-icon{grid-column:1;grid-row:1/3}.gift-purchase-info{grid-column:2}.gift-purchase-row>.gift-status{grid-column:2;justify-self:start;margin:0}.gift-row-arrow{grid-column:3;grid-row:1/3;margin:0}.gift-card-description{padding-top:21px}.gift-facts{margin-top:18px}.gift-reference{margin-top:26px}.gift-footer{padding:30px 22px}.gift-heading--detail{margin-top:24px}}
@media(max-width:380px){.gift-main{padding-left:16px;padding-right:16px}.gift-panel{padding:20px}.gift-card-art{padding:22px}.gift-card-bottom strong{font-size:26px}.gift-code{font-size:13px!important}.gift-heading h1{font-size:25px}}

/* Restaurant colours use the existing Onlinemeny classes; keep gift-page geometry. */
.gift-restaurant-brand{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:0;font-weight:700}
.gift-restaurant-brand img{width:auto;max-width:120px;max-height:60px;object-fit:contain}
.gift-restaurant-brand span{overflow-wrap:anywhere;line-height:1.5}
.gift-page--restaurant .gift-nav-link{flex:none}
.gift-page--restaurant .gift-eyebrow{color:inherit}
.gift-card-art--restaurant .gift-card-top>span:last-child,.gift-card-art--restaurant .gift-card-caption,.gift-card-art--restaurant .gift-card-mark{color:inherit;opacity:.7}
.gift-card-top>span:first-child{min-width:0;overflow-wrap:anywhere}
.gift-card-top>span:last-child{flex:none}
.gift-restaurant-button.btn-primary{background:#000;color:#febe00}
.gift-restaurant-button:hover{filter:brightness(.94)}
.gift-login{margin:35px auto 0;max-width:480px;scroll-margin-top:24px}
.gift-login-input{display:block;width:100%;padding:12px;border:1px solid #d8d2c8;border-radius:8px;margin-bottom:18px;background:#fff;color:#292723}
.gift-login-status{min-height:24px;font-size:11px}
.gift-payment-feedback{margin:18px 0 0}.gift-payment-feedback .gift-button{margin-top:12px}.gift-payment-feedback .gift-help{margin:0}
@media(max-width:760px){.gift-restaurant-brand{gap:10px;font-size:11px}.gift-restaurant-brand img{max-width:75px;max-height:45px}.gift-page--restaurant .gift-header{gap:12px}.gift-card-top>span:first-child{font-size:16px}}

/* Restaurant colours use the existing Onlinemeny classes; keep gift-page geometry. */
.gift-restaurant-brand{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:0;font-weight:700}
.gift-restaurant-brand img{width:auto;max-width:120px;max-height:60px;object-fit:contain}
.gift-restaurant-brand span{overflow-wrap:anywhere;line-height:1.5}
.gift-page--restaurant .gift-nav-link{flex:none}
.gift-page--restaurant .gift-eyebrow{color:inherit}
.gift-card-art--restaurant .gift-card-top>span:last-child,.gift-card-art--restaurant .gift-card-caption,.gift-card-art--restaurant .gift-card-mark{color:inherit;opacity:.7}
.gift-card-top>span:first-child{min-width:0;overflow-wrap:anywhere}
.gift-card-top>span:last-child{flex:none}
.gift-restaurant-button.btn-primary{background:#000;color:#febe00}
.gift-restaurant-button:hover{filter:brightness(.94)}
.gift-login{margin:35px auto 0;max-width:480px;scroll-margin-top:24px}
.gift-login-input{display:block;width:100%;padding:12px;border:1px solid #d8d2c8;border-radius:8px;margin-bottom:18px;background:#fff;color:#292723}
.gift-login-status{min-height:24px;font-size:11px}
@media(max-width:760px){.gift-restaurant-brand{gap:10px;font-size:11px}.gift-restaurant-brand img{max-width:75px;max-height:45px}.gift-page--restaurant .gift-header{gap:12px}.gift-card-top>span:first-child{font-size:16px}}
