/* ══════════════════════════════════════════════════════════════════════
   GIFT CARDS — Phase 2 of the Gift Management Module
   ══════════════════════════════════════════════════════════════════════ */

/* ── Landing (/gift-cards) ─────────────────────────────────────────── */
.gc-landing { padding:72px 0 56px; text-align:center; }
.gc-landing .gc-eye { font-size:12px; letter-spacing:3px; color:var(--gold); text-transform:uppercase; margin-bottom:14px; }
.gc-landing .gc-h { font-family:"Playfair Display", serif; font-size:48px; line-height:1.12; color:var(--ink); margin:0 0 16px; }
.gc-landing .gc-h em { font-style:italic; color:var(--gold); }
.gc-landing .gc-lede { font-size:16px; line-height:1.7; color:var(--ink-mute); max-width:640px; margin:0 auto 28px; }
.gc-cta { display:inline-block; background:var(--emerald,#0E5C46); color:#fff; padding:14px 36px; border-radius:999px; text-decoration:none; font-size:13px; letter-spacing:2px; text-transform:uppercase; }
.gc-cta:hover { background:var(--ink); }

/* ── Design tiles (landing + buy form preview) ──────────────────────── */
.gc-designs { padding:32px 0; }
.gc-h2 { font-family:"Playfair Display", serif; font-size:30px; text-align:center; margin:0 0 28px; color:var(--ink); }
.gc-design-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.gc-design-tile { display:block; background:var(--gc-bg); border:1px solid #efe7d4; border-radius:14px; padding:28px; text-decoration:none; color:var(--ink); transition:transform .25s, box-shadow .25s; }
.gc-design-tile:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.08); }
.gc-design-art { background:#fff; border:1px solid var(--gc-accent); border-radius:10px; padding:36px 20px; text-align:center; min-height:200px; display:flex; flex-direction:column; justify-content:center; }
.gc-design-script { font-family:"Brush Script MT", cursive, serif; font-size:30px; color:var(--gc-accent); line-height:1.05; }
.gc-design-divider { width:48px; height:1px; background:var(--gc-accent); opacity:.45; margin:14px auto; }
.gc-design-meta { font-size:11px; letter-spacing:3px; color:#7a6840; text-transform:uppercase; }
.gc-design-label { text-align:center; font-family:"Playfair Display", serif; font-size:18px; margin-top:16px; color:var(--ink); }

/* ── Amount chips ───────────────────────────────────────────────────── */
.gc-amounts { padding:48px 0; }
.gc-chip-row { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.gc-chip { display:inline-block; padding:12px 22px; border:1px solid var(--gold-bdr,#d8cdb8); border-radius:999px; text-decoration:none; color:var(--ink); font-size:14px; }
.gc-chip:hover { background:var(--cream-warm,#f5f0e6); }
.gc-chip-alt { background:var(--emerald,#0E5C46); color:#fff; border-color:var(--emerald,#0E5C46); }

/* ── How it works ───────────────────────────────────────────────────── */
.gc-explain { padding:48px 0 80px; }
.gc-steps { max-width:600px; margin:0 auto; font-size:15px; line-height:1.85; color:var(--ink-mute); padding-left:18px; }
.gc-steps strong { color:var(--ink); }

/* ── Configurator (/gift-cards/buy) ─────────────────────────────────── */
.gc-buy { padding:48px 0 80px; }
.gc-back { color:var(--dim); text-decoration:none; font-size:13px; }
.gc-buy-h { font-family:"Playfair Display", serif; font-size:34px; margin:14px 0 26px; }
.gc-errors { background:#fff5f0; border:1px solid #b73c3c; color:#b73c3c; padding:12px 16px; border-radius:8px; margin-bottom:16px; font-size:13px; }
.gc-form-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:32px; align-items:flex-start; }
.gc-step { border:1px solid #efe7d4; border-radius:10px; padding:18px 20px; margin-bottom:16px; }
.gc-step legend { font-family:"Playfair Display", serif; font-size:17px; padding:0 8px; color:var(--ink); }
.gc-step label { display:block; margin:10px 0; }
.gc-step label > span { display:block; font-size:12px; letter-spacing:1px; color:var(--dim); margin-bottom:4px; text-transform:uppercase; }
.gc-step input[type=text], .gc-step input[type=email], .gc-step input[type=tel], .gc-step input[type=number], .gc-step input[type=date], .gc-step textarea {
  width:100%; padding:9px 12px; border:1px solid var(--gold-bdr,#d8cdb8); border-radius:6px; font-size:14px; font-family:inherit;
}
.gc-help { font-size:11px; color:var(--dim); margin-top:4px; }

.gc-design-row { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:10px; }
.gc-design-radio { cursor:pointer; }
.gc-design-radio input { display:none; }
.gc-design-radio-art { background:var(--gc-bg); border:2px solid transparent; border-radius:8px; padding:18px 8px; text-align:center; min-height:88px; display:flex; align-items:center; justify-content:center; }
.gc-design-radio input:checked + .gc-design-radio-art { border-color:var(--gc-accent); box-shadow:0 0 0 4px rgba(0,0,0,.04); }
.gc-design-radio .gc-design-script { font-size:18px; }
.gc-design-radio-label { text-align:center; font-size:12px; color:var(--dim); margin-top:6px; }

.gc-amount-modes { display:flex; gap:14px; margin:10px 0 14px; }
.gc-mode-radio { display:flex; align-items:center; gap:6px; cursor:pointer; font-size:13px; }
.gc-preset-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.gc-preset input { display:none; }
.gc-preset span { display:block; text-align:center; padding:10px 6px; border:1px solid var(--gold-bdr,#d8cdb8); border-radius:6px; font-size:13px; cursor:pointer; }
.gc-preset input:checked + span { background:var(--emerald,#0E5C46); color:#fff; border-color:var(--emerald,#0E5C46); }
.gc-custom-row { margin-top:8px; }

.gc-submit { background:var(--emerald,#0E5C46); color:#fff; padding:14px 28px; border:none; border-radius:999px; font-size:13px; letter-spacing:2px; text-transform:uppercase; cursor:pointer; }
.gc-submit:hover { background:var(--ink); }

/* ── Live preview card ──────────────────────────────────────────────── */
.gc-preview-col { position:sticky; top:24px; }
.gc-preview-title { font-size:11px; letter-spacing:3px; color:var(--dim); text-transform:uppercase; margin-bottom:10px; text-align:center; }
.gc-preview-card { background:var(--gc-bg); border:1px solid #e8dcc0; border-radius:14px; overflow:hidden; max-width:380px; margin:0 auto; box-shadow:0 12px 28px rgba(0,0,0,.07); }
.gc-preview-strip { background:var(--gc-accent); color:#fff; font-size:11px; letter-spacing:3px; padding:10px 0; text-align:center; text-transform:uppercase; }
.gc-preview-script { font-family:"Brush Script MT", cursive, serif; font-size:34px; text-align:center; color:var(--gc-accent); margin:24px 0 6px; }
.gc-preview-name { font-family:"Playfair Display", serif; font-size:24px; text-align:center; color:var(--gc-ink); margin-bottom:8px; }
.gc-preview-from { text-align:center; font-size:11px; letter-spacing:2px; color:#7a6840; text-transform:uppercase; margin-bottom:16px; }
.gc-preview-msg { padding:0 32px 16px; font-style:italic; font-size:13px; text-align:left; color:var(--gc-ink); border-left:3px solid var(--gc-accent); margin:0 24px 16px; }
.gc-preview-msg:empty { display:none; }
.gc-preview-divider { width:48px; height:1px; background:var(--gc-accent); opacity:.4; margin:8px auto 16px; }
.gc-preview-amount-label { font-size:11px; letter-spacing:3px; text-align:center; color:#7a6840; text-transform:uppercase; }
.gc-preview-amount { font-family:"Playfair Display", serif; font-size:30px; text-align:center; color:var(--gc-ink); padding:6px 0 12px; }
.gc-preview-code { font-family:"Courier New", monospace; font-size:16px; text-align:center; color:var(--gc-accent); padding:8px 0 24px; letter-spacing:1.5px; }

/* Status pills (admin index + show) */
.pill-pending_payment { background:#f5e6c8; color:#7a5b1a; }
.pill-scheduled       { background:#e3edf7; color:#1d4e8c; }
.pill-active          { background:#dcf2e4; color:#0E5C46; }
.pill-partially_redeemed { background:#fff4d6; color:#8a6a1d; }
.pill-redeemed        { background:#e6e6e6; color:#444; }
.pill-expired         { background:#f1d6d6; color:#8a1d1d; }
.pill-cancelled       { background:#f4d6c8; color:#8a3e1a; }

/* ── Responsive ─────────────────────────────────────────────────────── */
@media (max-width:900px) {
  .gc-landing .gc-h { font-size:34px; }
  .gc-design-grid  { grid-template-columns:1fr; }
  .gc-design-row   { grid-template-columns:1fr; }
  .gc-form-grid    { grid-template-columns:1fr; }
  .gc-preset-grid  { grid-template-columns:repeat(2,1fr); }
  .gc-preview-col  { position:static; }
}

/* ══════════════════════════════════════════════════════════════════════
   WHATSAPP CHANNEL — right column of the AI + WhatsApp section
   (dark ink theme — must read against rgba(229,211,171,*) cream tokens)
   ══════════════════════════════════════════════════════════════════════ */
.aiw-col-channel { padding-left:24px; }
.aic-grid {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:28px;
  align-items:flex-start;
  margin-top:8px;
}

/* QR frame — gold corners on a soft cream backdrop so the orange QR
   reads cleanly against the dark section background */
.aic-qr-wrap { display:flex; flex-direction:column; align-items:center; }
.aic-qr-frame {
  position:relative;
  background:var(--cream-light, #f6efe1);
  border-radius:14px;
  padding:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  display:inline-block;
}
.aic-qr-img { display:block; width:190px; height:190px; border-radius:6px; }

/* Gold L-shaped corner accents (matches the wac-corner pattern but smaller) */
.aic-corner {
  position:absolute; width:18px; height:18px; pointer-events:none;
  border:1.5px solid var(--gold, #C8A668);
}
.aic-corner-tl { top:-3px;  left:-3px;  border-right:0; border-bottom:0; border-radius:6px 0 0 0; }
.aic-corner-tr { top:-3px;  right:-3px; border-left:0;  border-bottom:0; border-radius:0 6px 0 0; }
.aic-corner-bl { bottom:-3px; left:-3px;  border-right:0; border-top:0;    border-radius:0 0 0 6px; }
.aic-corner-br { bottom:-3px; right:-3px; border-left:0;  border-top:0;    border-radius:0 0 6px 0; }

.aic-qr-cap {
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--fb);
  font-size:11px;
  letter-spacing:.6px;
  color:rgba(229,211,171,.68);
  text-align:center;
  max-width:200px;
  line-height:1.45;
}
.aic-qr-cap svg {
  width:14px; height:14px;
  fill:none;
  stroke:var(--gold, #C8A668);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}

/* Right-of-QR column: perks + CTA + foot line */
.aic-meta { display:flex; flex-direction:column; gap:14px; min-width:0; }
.aic-perks {
  list-style:none;
  margin:0; padding:0;
  display:flex; flex-direction:column; gap:9px;
}
.aic-perks li {
  display:flex;
  align-items:flex-start;
  gap:11px;
  font-family:var(--fb);
  font-size:13.5px;
  line-height:1.5;
  color:rgba(229,211,171,.86);
}
.aic-perk-dot {
  flex:0 0 auto;
  width:6px; height:6px; margin-top:7px;
  border-radius:50%;
  background:var(--gold, #C8A668);
  box-shadow:0 0 0 3px rgba(200,166,104,.18);
}

.aic-cta {
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 22px;
  border-radius:50px;
  background:#25D366;        /* WhatsApp green — a deliberate signal */
  color:#fff;
  font-family:var(--fb);
  font-size:13px;
  font-weight:600;
  letter-spacing:.4px;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(37,211,102,.25);
  transition:transform .15s, box-shadow .2s, background .2s;
}
.aic-cta:hover { background:#1ebe5b; transform:translateY(-1px); box-shadow:0 8px 22px rgba(37,211,102,.34); }
.aic-cta svg { width:16px; height:16px; fill:#fff; }

.aic-foot {
  font-family:var(--fb);
  font-size:11.5px;
  color:rgba(229,211,171,.55);
  letter-spacing:.2px;
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width:880px) {
  .aiw-col-channel { padding-left:0; }
  .aic-grid {
    grid-template-columns:1fr;
    gap:22px;
    justify-items:center;
    text-align:center;
  }
  .aic-perks li { text-align:left; }
  .aic-cta { align-self:center; }
  .aic-meta { align-items:center; }
}
