/* ============================================================
   Offers & Deals (/nile-cruise-offers/) — page-UNIQUE CSS. Ported
   from prototype 10-offers-deals.html. Reviews/FAQ reuse sections.css.
   Scoped .nct-main.
   ============================================================ */

/* Perks strip */
.nct-main .perks{background:var(--ink);color:#fff}
.nct-main .perks-in{display:grid;grid-template-columns:repeat(4,1fr)}
.nct-main .perk{display:flex;align-items:center;gap:.85rem;padding:1.2rem clamp(1rem,2.4vw,1.8rem);border-right:1px solid rgba(255,255,255,.1)}
.nct-main .perk:last-child{border-right:0}
.nct-main .perk .pk-ic{width:42px;height:42px;border-radius:11px;background:rgba(40,160,248,.18);display:grid;place-items:center;flex:0 0 auto}
.nct-main .perk .pk-ic svg{width:21px;height:21px;stroke:var(--light);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nct-main .perk b{display:block;font-size:.98rem;font-weight:600;line-height:1.1;color:#fff}
.nct-main .perk small{font-size:.76rem;color:#8fa3c8}
@media(max-width:820px){.nct-main .perks-in{grid-template-columns:1fr 1fr}.nct-main .perk:nth-child(2){border-right:0}.nct-main .perk:nth-child(1),.nct-main .perk:nth-child(2){border-bottom:1px solid rgba(255,255,255,.1)}}
@media(max-width:420px){.nct-main .perk small{display:none}.nct-main .perk{padding:1rem .9rem;gap:.6rem}}

/* Offer cards */
.nct-main .offers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:980px){.nct-main .offers{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.nct-main .offers{grid-template-columns:1fr}}
.nct-main .offer{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 22px rgba(15,29,61,.07);transition:transform .35s,box-shadow .35s;cursor:pointer}
.nct-main .offer:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(15,29,61,.16)}
.nct-main .offer-overlay{position:absolute;inset:0;z-index:4}
.nct-main .offer-img{position:relative;aspect-ratio:16/10;overflow:hidden}
.nct-main .offer-img img{width:100%;height:100%;object-fit:cover;transition:.7s}
.nct-main .offer:hover .offer-img img{transform:scale(1.07)}
.nct-main .offer-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(9,16,35,.55),transparent 55%)}
.nct-main .offer-disc{position:absolute;top:12px;right:12px;z-index:2;background:var(--no);color:#fff;font-weight:700;width:58px;height:58px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 8px 20px rgba(240,80,110,.4)}
.nct-main .offer-disc .dp{font-size:1.15rem}
.nct-main .offer-disc .do{font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;opacity:.9;font-weight:600}
.nct-main .offer-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--orange);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.42em .85em;border-radius:999px}
.nct-main .offer-badge.premium{background:linear-gradient(135deg,#7b3ff2,#b06bff)}
.nct-main .offer-tag{position:absolute;bottom:12px;left:12px;z-index:2;background:rgba(255,255,255,.95);color:var(--deep);font-size:.72rem;font-weight:600;padding:.35em .8em;border-radius:999px}
.nct-main .offer-body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}
.nct-main .offer-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted);margin-bottom:.5rem}
.nct-main .offer-meta svg{width:14px;height:14px;stroke:var(--light);fill:none;stroke-width:2}
.nct-main .offer h3{font-size:1.18rem;font-weight:600;line-height:1.22;letter-spacing:-.01em;margin-bottom:1rem;flex:1;color:var(--ink)}
.nct-main .offer-price{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.3rem}
.nct-main .offer-price .was{font-size:1rem;color:var(--muted);text-decoration:line-through;text-decoration-color:var(--no);font-weight:500}
.nct-main .offer-price .now{font-size:1.7rem;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.nct-main .offer-price .now span{font-size:.74rem;font-weight:400;color:var(--muted)}
.nct-main .offer-save{font-size:.82rem;font-weight:600;color:var(--ok);margin-bottom:1.1rem;display:flex;align-items:center;gap:.35rem}
.nct-main .offer-save svg{width:15px;height:15px;stroke:var(--ok);fill:none;stroke-width:2.4}
.nct-main .offer .btn{width:100%;margin-top:auto;justify-content:center}

/* Urgency banner */
.nct-main .urgency{background:linear-gradient(135deg,var(--deep),var(--light));border-radius:28px;padding:clamp(2rem,4vw,3.2rem);color:#fff;position:relative;overflow:hidden;text-align:center}
.nct-main .urgency::before{content:"";position:absolute;top:-40%;right:-10%;width:50%;height:180%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 60%);pointer-events:none}
.nct-main .urgency::after{content:"";position:absolute;bottom:-50%;left:-8%;width:44%;height:180%;background:radial-gradient(circle,rgba(255,210,138,.18),transparent 60%);pointer-events:none}
.nct-main .urgency .ur-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.18);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.5em 1.1em;border-radius:999px;margin-bottom:1.1rem;position:relative}
.nct-main .urgency .ur-badge svg{width:16px;height:16px;stroke:#ffd28a;fill:none;stroke-width:2.4}
.nct-main .urgency h2{font-size:clamp(1.7rem,3.6vw,2.7rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:.7rem;position:relative;color:#fff}
.nct-main .urgency h2 .hl{color:#ffd28a}
.nct-main .urgency p{font-size:1.08rem;opacity:.92;max-width:54ch;margin:0 auto 1.6rem;font-weight:300;position:relative}
.nct-main .urgency .ur-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;position:relative}
.nct-main .btn-lg{padding:1.05em 2.1em;font-size:1rem}

/* How to redeem */
.nct-main .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;counter-reset:st}
@media(max-width:820px){.nct-main .steps{grid-template-columns:1fr}}
.nct-main .step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.8rem 1.6rem;position:relative;counter-increment:st;transition:.3s}
.nct-main .step:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(15,29,61,.1)}
.nct-main .step-no{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--deep),var(--light));color:#fff;font-size:1.2rem;font-weight:700;display:grid;place-items:center;margin-bottom:1rem;box-shadow:0 10px 24px rgba(24,64,224,.24)}
.nct-main .step-no::before{content:counter(st)}
.nct-main .step h3{font-size:1.15rem;font-weight:600;margin-bottom:.45rem;color:var(--ink)}
.nct-main .step p{font-size:.94rem;color:var(--muted);line-height:1.6}
.nct-main .step-arrow{position:absolute;top:2.3rem;right:-1.1rem;z-index:3;color:var(--light)}
@media(max-width:820px){.nct-main .step-arrow{display:none}}
.nct-main .step-arrow svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.4}
