/* Botanical card using the original shop illustrations and shared design tokens. */
.flower-card{display:grid;grid-template-columns:86px minmax(0,1fr) 260px;align-items:center;gap:26px;margin:24px 0 32px;padding:28px;border:1px solid var(--border-strong);border-radius:16px;background:var(--panel-alt)}
.flower-card-emblem{width:80px;height:auto;mix-blend-mode:multiply}
.flower-card-body{min-width:0}
.flower-card-body h2{margin:0;font:500 clamp(30px,3vw,38px)/1.1 var(--display);letter-spacing:-.015em}
.flower-card-body>p{margin-top:10px;color:var(--text-soft);font-size:14px;line-height:1.6}
.flower-card-slots{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:22px 0 0;padding:0;list-style:none}
.loyalty-stamp{display:grid;justify-items:center;gap:10px;min-width:0}
.loyalty-stamp img{width:38px;height:62px;object-fit:contain;mix-blend-mode:multiply;opacity:.6}
.loyalty-stamp span{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--border-strong);border-radius:50%;color:var(--text-soft);font:400 11px/1 var(--sans)}
.loyalty-stamp.is-done img{opacity:1;filter:saturate(.7)}
.loyalty-stamp.is-done span{border-color:#aeb8a4;color:var(--forest)}
.flower-card-reward{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:16px 12px;align-self:stretch;padding-left:24px;border-left:1px solid var(--border-strong)}
.flower-card-gift{width:84px;height:auto;mix-blend-mode:multiply}
.flower-card-reward h3{margin:0;font:500 25px/1.05 var(--display)}
.flower-card-reward p{margin-top:9px;color:var(--text-soft);font-size:13px;line-height:1.55}
.flower-card-reward .button{grid-column:1/-1;min-height:42px;padding-inline:14px;font-size:13px}
.flower-card-reward .text-link{display:inline-block;margin-top:10px;font-size:13px}
.loyalty-rules{max-width:860px}
.referral-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin:24px 0}
.referral-card h2{margin-top:0}.referral-share{min-width:0}.referral-share label{display:block;margin-bottom:8px}.referral-controls{display:flex;gap:10px}.referral-controls input{flex:1;min-width:0;width:100%;padding:12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--panel-alt);font:inherit}.referral-controls .button{flex-shrink:0}.referral-status{min-height:1.5em;margin:8px 0 0}
.referral-qr{margin-top:12px}.referral-qr summary{width:fit-content;max-width:100%;white-space:normal;list-style:none;cursor:pointer}.referral-qr summary::-webkit-details-marker{display:none}.referral-qr-preview{margin-top:16px;display:grid;justify-items:center;gap:12px;padding:16px;border:1px solid var(--border-strong);border-radius:16px;background:var(--panel-alt);text-align:center}.referral-qr-preview img{display:block;width:280px;max-width:100%;height:auto;background:white}.referral-qr-preview p{margin:0}.referral-qr-preview .button{max-width:100%;white-space:normal}
@media(max-width:900px){.referral-card{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.referral-controls{flex-direction:column}.referral-controls .button{width:100%}}
.loyalty-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:0;margin:32px auto;padding:28px 32px;border:1px solid var(--border-strong);border-radius:16px;background:var(--panel-alt)}
.loyalty-banner::before{content:none}
.loyalty-banner h2{margin:0 0 8px;font:500 34px/1.1 var(--display)}
.loyalty-banner p{margin:0;color:var(--text-soft);font-size:14px}
.loyalty-banner .button{flex-shrink:0;max-width:100%;margin-top:0;white-space:normal}
.loyalty-banner .button-primary{color:#fff}
.loyalty-gift-photo{width:100%;aspect-ratio:1/1.1;object-fit:cover;border-radius:20px}
.loyalty-gift-sizes{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.loyalty-gift-sizes .button{min-width:0;max-width:100%;padding:8px 12px;white-space:normal;overflow-wrap:anywhere}
.loyalty-gift-note{padding:16px;border-radius:16px;background:var(--panel-alt)}
@media(max-width:1100px){.flower-card{grid-template-columns:76px minmax(0,1fr);gap:24px}.flower-card-emblem{width:72px}.flower-card-slots{max-width:680px}.flower-card-reward{grid-column:1/-1;grid-template-columns:76px minmax(0,1fr) auto;padding:22px 0 0;border-left:0;border-top:1px solid var(--border-strong);gap:20px}.flower-card-gift{width:72px}.flower-card-reward .button{grid-column:auto}.flower-card-reward h3{font-size:28px}}
@media(max-width:600px){.flower-card{grid-template-columns:minmax(0,1fr);gap:22px;padding:24px 20px}.flower-card-emblem{display:none}.flower-card-body h2{font-size:32px}.flower-card-body>p{max-width:290px;font-size:13px}.flower-card-slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 8px}.loyalty-stamp img{width:36px;height:58px}.loyalty-stamp{gap:8px}.flower-card-reward{grid-template-columns:84px minmax(0,1fr);gap:18px 16px}.flower-card-gift{width:84px}.flower-card-reward h3{font-size:25px}.flower-card-reward .button{grid-column:1/-1}.loyalty-banner{display:block;padding:24px 20px}.loyalty-banner h2{font-size:30px}.loyalty-banner .button{margin-top:18px}}
