@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--navy:#071522;--navy2:#0c2130;--gold:#ffb62e;--gold2:#ffd36c;--cream:#fff7e8;--muted:#aebdca;--line:rgba(255,182,46,.28);--green:#22c77a;--red:#ff6464}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#fff;font-family:'DM Sans',sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,76px);border-bottom:1px solid var(--line);background:rgba(4,14,23,.92);gap:15px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.2px}.brand small{display:block;font-size:9px;letter-spacing:1.7px;color:var(--gold);font-weight:700}.brand-mark{width:43px;height:43px;border:2px solid var(--gold);border-radius:14px;display:grid;place-items:center;color:var(--gold);font-family:'Playfair Display',serif;font-weight:800;font-size:18px;box-shadow:0 0 18px #ffb62e22}.nav-link{color:var(--gold);font-weight:700}.hero{max-width:1250px;margin:auto;padding:60px 28px 54px;display:grid;grid-template-columns:1.08fr .92fr;gap:38px;align-items:center;min-height:590px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase}.hero h1,.member-head h1{font-size:clamp(42px,5.3vw,70px);line-height:1.02;letter-spacing:-2.6px;margin:17px 0}.hero h1 span,.section-heading h2 span,.member-head h1 span{color:var(--gold)}.hero-copy>p{font-size:17px;color:#c2ccd4;max-width:510px}.pills{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0}.pills span{font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:100px;color:#ffe2a2}.shop-box{margin-top:30px;padding:20px 22px;background:#102536;border:1px solid var(--line);border-radius:18px;max-width:580px}.shop-box p{color:#c8d3dc;font-size:13px;margin:8px 0}.shop-box a:not(.btn){color:var(--gold2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer;transition:transform .18s,filter .18s}.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.btn-gold{background:linear-gradient(135deg,#ffcf55,#ffab13);color:#1b170d;box-shadow:0 8px 24px #ffb62e22}.btn-outline{border-color:var(--gold);color:var(--gold);background:transparent;margin-top:8px}.btn-full{width:100%;margin-top:8px}.hero-art{min-height:460px;position:relative;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 50% 45%,#173b4c 0,#0a1d2b 48%,#071522 80%);display:grid;place-items:center;overflow:hidden}.hero-art:before,.hero-art:after{content:"";position:absolute;inset:20px;border:1px solid #ffb62e55;border-radius:22px;transform:rotate(-5deg)}.hero-art:after{transform:rotate(5deg);inset:35px}.cake-circle{z-index:1;width:245px;height:245px;border-radius:50%;display:grid;place-items:center;font-size:130px;background:radial-gradient(circle,#203e4c,#0b1925);border:1px solid #ffb62e88;box-shadow:0 0 70px #ffb62e24}.floating{position:absolute;z-index:2;background:var(--gold);color:#20180a;border-radius:12px;padding:11px 17px;font-weight:900;box-shadow:0 12px 35px #0008}.f1{top:23%;right:8%;transform:rotate(8deg);font-size:20px}.f2{left:8%;bottom:25%;background:#102a39;border:1px solid var(--gold);color:var(--gold);font-size:11px;letter-spacing:1px}.cake-caption{position:absolute;bottom:36px;right:28px;text-align:right;color:#ffe4aa;font-family:'Playfair Display',serif;font-size:22px;font-style:italic;z-index:3}.join-section{background:#f7f8fb;color:#101b28;padding:66px 24px 80px}.section-heading{text-align:center;margin-bottom:35px}.section-heading h2{font-size:clamp(32px,4vw,45px);margin:8px 0}.section-heading p,.muted{color:#647386}.join-grid{max-width:990px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}.form-card{background:#fff;padding:28px;border:1px solid #e3e7ed;border-radius:22px;box-shadow:0 16px 45px #0d253b0b;color:#101b28}.form-card h3{margin:0 0 5px;font-size:22px}.form-card .muted{font-size:13px;margin:0 0 22px}.form-card label,.admin-login label{display:block;font-size:13px;font-weight:700;margin:15px 0;color:#253447}.form-card input,.form-card textarea,.form-card select,.admin-login input,.search-form input{display:block;width:100%;margin-top:7px;padding:14px 13px;border:1px solid #d9e0e8;background:#f7f9fc;border-radius:11px;outline:none;color:#152333}.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:#e6a622;box-shadow:0 0 0 3px #ffbf3a25}.fineprint{display:block;font-size:11px;color:#778596;line-height:1.6;margin-top:15px}.preview-card{border-radius:22px;background:radial-gradient(circle at 90% 10%,#18394a,#071522 65%);border:2px solid var(--gold);padding:25px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:380px;box-shadow:0 20px 50px #0b203322}.preview-card:before{content:"";position:absolute;inset:12px;border:1px solid #ffb62e55;border-radius:14px;pointer-events:none}.card-top{display:flex;justify-content:space-between;gap:8px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:1px}.preview-title{font-family:'Playfair Display',serif;font-size:32px;line-height:1.12;margin:25px 0}.preview-title strong{color:var(--gold)}.preview-offers{display:flex;flex-wrap:wrap;gap:7px}.preview-offers span{display:grid;place-items:center;min-width:50px;min-height:50px;padding:8px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-weight:900;font-size:12px}.preview-bottom{text-align:center;color:#ffe3a1;font-size:10px;letter-spacing:.6px;margin-top:24px}.rules{max-width:1120px;margin:auto;padding:35px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.rules>div{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;background:#0d2130;padding:17px;border:1px solid var(--line);border-radius:15px}.rule-icon{grid-row:span 2;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--gold);background:#ffb62e15;font-weight:900}.rules small{color:var(--muted);font-size:11px}footer{text-align:center;padding:24px;color:#8e9eae;border-top:1px solid #ffffff10;font-size:12px}footer b{color:var(--gold)}.error,.success{padding:12px 14px;border-radius:10px;margin:12px 0;font-size:13px}.error{background:#fff0f0;color:#b42323;border:1px solid #ffcaca}.success{background:#e7fff1;color:#126a3d;border:1px solid #a8e7c1}
/* customer card */.card-page{background:radial-gradient(circle at 50% 0,#123142 0,#071522 55%)}.status-chip{font-size:10px;color:#a6f2cb;border:1px solid #1c8b60;padding:7px 10px;border-radius:100px}.card-main{max-width:850px;margin:0 auto;padding:38px 20px 55px}.member-head{text-align:center;margin-bottom:27px}.member-head h1{font-size:clamp(30px,5vw,46px);letter-spacing:-1.5px;margin:10px}.member-head p{color:var(--muted);font-size:12px}.loyalty-card{padding:27px;border-radius:23px;border:2px solid var(--gold);background:radial-gradient(circle at 90% 0,#183c4b,#071522 60%);box-shadow:0 25px 65px #0005;position:relative;overflow:hidden}.loyalty-card:before{content:"";position:absolute;inset:10px;border:1px solid #ffb62e55;border-radius:15px;pointer-events:none}.loyalty-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-logo{font-size:13px;font-weight:900;line-height:1;color:var(--gold)}.mini-logo b{font-size:18px}.card-label{text-align:right;color:#ffcd62;letter-spacing:2px;font-size:11px;font-weight:800}.loyalty-card-title{font-family:'Playfair Display',serif;font-size:clamp(27px,5vw,44px);line-height:1.05;margin:30px 0;color:#fff}.loyalty-card-title strong{color:var(--gold)}.loyalty-card-offers{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.stamp{min-width:0;min-height:112px;padding:12px 5px;border:1px solid var(--gold);border-radius:13px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#102838}.stamp-icon{font-size:23px;color:var(--gold)}.stamp b{font-size:14px;color:var(--gold2);margin:5px 0 2px}.stamp small{font-size:9px;color:#c5d1da}.stamp.used{filter:grayscale(1);opacity:.43;background:#101a22;border-style:dashed}.stamp.used b{text-decoration:line-through;color:#b4bdc6}.card-terms{text-align:center;color:#ffe1a0;font-size:10px;letter-spacing:.7px;margin-top:22px;line-height:1.8}.offers-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:36px 0 16px}.offers-heading h2{margin:4px 0;font-size:27px}.count-pill{border:1px solid var(--line);border-radius:100px;padding:7px 12px;color:var(--gold);font-size:12px;white-space:nowrap}.offer-list{display:grid;gap:10px}.offer-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);background:#0d2332;border-radius:15px}.offer-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#ffb62e18;font-size:24px}.offer-info{flex:1;min-width:0}.offer-info h3{margin:0;color:var(--gold);font-size:16px}.offer-info p{margin:3px 0 0;color:#b6c4cf;font-size:12px}.offer-state{font-size:10px;font-weight:900;color:#9ef1c3;letter-spacing:.4px}.offer-used{opacity:.45;border-style:dashed}.offer-used .offer-info h3{color:#b9c2ca;text-decoration:line-through}.offer-used .offer-state{color:#bdc5cd}.notice{margin-top:20px;padding:17px 19px;border-radius:14px;background:#102536;border:1px solid #ffffff14;color:#c2cdd6;font-size:12px}.notice b{color:#ffcd62}.notice p{margin:6px 0}.share-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.share-actions .btn{flex:1}.card-page footer{margin-top:0}
/* admin */.admin-body{background:#f3f6fa;color:#142334;min-height:100vh}.admin-top{background:#071522;color:#fff;padding:15px clamp(18px,4vw,50px);display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-top>div{font-size:12px;color:#b8c5d0}.admin-top>div a{color:var(--gold)}.admin-wrap{max-width:1450px;margin:auto;padding:32px clamp(16px,3vw,40px)}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.admin-heading h1,.admin-wrap>h1,.admin-form-wrap h1{margin:5px 0;font-size:32px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stats>div{background:#fff;padding:20px;border-radius:16px;border:1px solid #e4eaf0;box-shadow:0 8px 25px #10243b08}.stats small{display:block;color:#667689;font-size:12px}.stats strong{display:block;font-size:30px;margin-top:5px;color:#142334}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid #e2e8ef;border-radius:16px;padding:18px;min-width:0}.panel h2{margin:0 0 15px;font-size:17px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-align:left;color:#607184;background:#f6f8fb;font-weight:800}th,td{padding:11px 10px;border-bottom:1px solid #edf0f4}td a{color:#205fe8;font-weight:700}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.admin-actions .btn{border-color:#d6dee8;color:#26394d;background:#fff}.admin-login{max-width:420px;margin:8vh auto;background:#fff;padding:30px;border-radius:20px;box-shadow:0 18px 60px #0c223018}.admin-login h1{margin:15px 0 0}.admin-login .brand-mark{background:#071522}.admin-login .back-link{display:block;text-align:center;margin-top:18px}.admin-form-wrap{max-width:650px;margin:35px auto;padding:0 16px}.admin-form-wrap .form-card{margin-top:20px}.back-link{display:inline-block;color:#2861ce;font-weight:700;margin-bottom:14px}.search-form{display:flex;gap:10px;max-width:540px;margin:18px 0}.search-form input{margin:0;background:#fff}.btn-small{padding:7px 10px;background:#eef2f8;color:#142334;border:1px solid #dce4ec;font-size:11px}.inline-check{display:flex!important;align-items:center;gap:7px;font-weight:500!important}.inline-check input{width:auto!important;margin:0!important}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:42px;gap:24px}.hero-art{min-height:340px}.cake-circle{width:190px;height:190px;font-size:100px}.f1{top:15%}.join-grid{grid-template-columns:1fr}.preview-card{min-height:330px}.rules{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.admin-heading{align-items:flex-start;flex-direction:column}.topbar{height:68px}.loyalty-card-offers{grid-template-columns:repeat(3,1fr)}.stamp{min-height:95px}.loyalty-card-title{margin:23px 0}.admin-top{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.topbar{padding:0 14px}.brand{font-size:13px}.brand-mark{width:38px;height:38px}.nav-link{font-size:12px}.hero{padding:34px 17px}.hero h1{font-size:43px}.hero-art{min-height:300px}.pills span{font-size:10px}.shop-box{padding:16px}.join-section{padding:48px 15px}.form-card{padding:22px}.preview-title{font-size:28px}.stats>div{padding:15px}.stats strong{font-size:24px}.card-main{padding:28px 13px}.loyalty-card{padding:20px 15px}.loyalty-card-offers{grid-template-columns:repeat(2,1fr)}.stamp{min-height:85px}.offer-row{padding:12px;gap:10px}.offer-icon{width:40px;height:40px}.offer-state{font-size:9px}.share-actions{flex-direction:column}.admin-wrap{padding:22px 12px}.admin-login{margin:5vh 14px}.search-form{flex-direction:column}}
a.btn.btn-google-review {
    border: 2px solid #ffb21a !important;
    border-radius: 16px !important;
    background: transparent !important;
    color: #ffb21a !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 24px !important;
    text-decoration: none !important;
    box-shadow: 0 0 0 1px rgba(255, 178, 26, 0.15) !important;
}

a.btn.btn-google-review:hover {
    background: #ffb21a !important;
    color: #071521 !important;
}/* AL HAWIYAH CAMP BRAND OVERRIDES */
:root{--navy:#17100b;--navy2:#26170f;--gold:#c88b36;--gold2:#f2cf91;--cream:#fff4df;--muted:#c4b29d;--line:rgba(216,157,75,.32)}
body{background:#17100b;color:#fff8ed}.topbar{background:rgba(20,13,9,.96);border-color:#9a652e55}.brand-logo{width:58px;height:54px;object-fit:contain;display:block;flex:0 0 auto}.brand small{color:#e5b66f}.nav-link{color:#f0c783}.hero{max-width:1320px;min-height:630px}.hero h1 span,.section-heading h2 span,.member-head h1 span{color:#e4ad61}.hero-copy>p{color:#ddcbb5}.eyebrow{color:#e4b56f}.pills span{border-color:#bd874b66;color:#f4d7a8}.shop-box{background:#2a1b12;border-color:#a66e3766}.shop-box p{color:#ddcbb5}.shop-box a:not(.btn){color:#f3c77f}.hero-art{min-height:480px;border-color:#b67c3d;background:linear-gradient(180deg,#26130e 0%,#9c4e22 44%,#e69a3d 61%,#3b2115 62%,#160e09 100%);border-radius:26px;box-shadow:0 25px 70px #0008}.hero-art:before{inset:16px;border-color:#f1c37c66;transform:none}.hero-art:after{display:none}.desert-sun{position:absolute;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,#fff2bf 0,#f5b74d 52%,#d8792c 75%,transparent 76%);top:28%;left:24%;filter:drop-shadow(0 0 35px #ffb64d99)}.desert-dunes{position:absolute;bottom:0;left:-5%;width:115%;height:48%;background:linear-gradient(160deg,#bd7435,#4b2818 70%);clip-path:polygon(0 47%,18% 26%,35% 49%,52% 15%,70% 46%,87% 22%,100% 39%,100% 100%,0 100%)}.camp-tent{position:absolute;z-index:2;right:12%;bottom:24%;font-size:160px;line-height:1;color:#f4c17a;text-shadow:0 0 20px #ffbd5d99}.hero-badge{position:absolute;z-index:3;top:12%;right:8%;text-align:center;padding:15px 21px;border:1px solid #f3ca8b;border-radius:14px;background:#21130dbb;color:#f4d39e;font-size:11px;letter-spacing:2px}.hero-badge strong{font-family:'Playfair Display',serif;font-size:20px;letter-spacing:1px}.hero-caption{position:absolute;z-index:3;bottom:24px;left:25px;color:#ffedce;font-family:'Playfair Display',serif;font-size:23px;font-style:italic;text-shadow:0 2px 9px #000}
.join-section{background:#f8f1e7}.section-heading .eyebrow{color:#9a632a}.form-card{box-shadow:0 18px 55px #51321612}.form-card input:focus{border-color:#bd833a;box-shadow:0 0 0 3px #bd833a22}.btn-gold{background:linear-gradient(135deg,#f1cf91,#b8792d);color:#25170d;box-shadow:0 8px 24px #8b572522}.preview-card,.loyalty-card{background:radial-gradient(circle at 90% 0,#56351f,#1a100b 66%);border-color:#d4a15c}.preview-card:before,.loyalty-card:before{border-color:#d5a15d66}.preview-title strong,.card-label,.mini-logo,.stamp b,.offer-info h3{color:#f0c783}.preview-offers span,.stamp{border-color:#d5a15d;color:#f2ca89;background:#2b1b11}.preview-bottom,.card-terms{color:#f3d7a8}.rules{max-width:1160px}.rules>div{background:#281a11;border-color:#95612f66}.rule-icon{color:#f0c783;background:#d59a4b18}.rules small{color:#c9b69f}footer{color:#bba58c;border-color:#ffffff18}footer b{color:#e9bc78}.card-page{background:radial-gradient(circle at 50% 0,#53321d 0,#17100b 58%)}.status-chip{color:#f4d49e;border-color:#a9793e}.mini-logo{width:min(245px,65%)}.mini-logo img{display:block;width:100%;height:74px;object-fit:contain;object-position:left center}.loyalty-card-title strong{color:#e7b66e}.stamp.used{background:#1a130f}.notice{background:#2b1b11;border-color:#8d5c3266;color:#ddcbb5}.notice b{color:#f0c783}.count-pill{color:#f0c783;border-color:#a9783f}.offer-row{background:#281a11;border-color:#8e603866}.offer-info p{color:#d0bda6}.offer-icon{background:#d59a4b18}.share-actions .btn-outline{border-color:#d09a53;color:#f0c783}.admin-top{background:#1a100b}.admin-top .brand-logo{width:50px;height:46px}.admin-login .admin-logo{width:160px;height:130px;object-fit:contain;display:block;margin:auto}.admin-login .brand-mark{display:none}
@media(max-width:800px){.hero-art{min-height:360px}.camp-tent{font-size:125px}.desert-sun{width:110px;height:110px}.brand-logo{width:48px;height:46px}}
@media(max-width:480px){.brand-logo{width:42px;height:42px}.brand{gap:8px}.hero-art{min-height:310px}.camp-tent{font-size:105px}.hero-badge{top:9%;right:6%;padding:10px 13px}.hero-caption{font-size:19px}}
/* LOGO SIZE FIX */
.loyalty-card-head img,
.loyalty-card img {
    width: 75px !important;
    height: 75px !important;
    max-width: 75px !important;
    object-fit: contain !important;
    display: block;
}

/* CARD HEIGHT & SPACING */
.loyalty-card {
    padding: 18px !important;
}

/* STAMP BOX SIZE */
.loyalty-card-offers .stamp {
    min-height: 75px !important;
    padding: 8px 5px !important;
}
/* Fix Al Hawiyah Camp logo size */
.loyalty-card-head img,
.loyalty-card img {
    width: 100px !important;
    height: 100px !important;
    max-width: 100px !important;
    max-height: 100px !important;
    object-fit: contain !important;
    display: block;
}

/* Reduce loyalty card spacing */
.loyalty-card {
    padding: 18px !important;
}

/* Keep logo properly aligned */
.loyalty-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}