/* ===== The Grand Dynamic Holidays — Apply Membership Widget ===== */
:root{--gdg:#c9a84c;--gdgl:#e8c96a;--gdgd:#a87c28;--gdblack:#0c0c0b;--gdcard:#141412;--gdmuted:#9c9a92;--gdline:rgba(201,168,76,.22)}

/* floating teaser + circular badge (matches screenshot: teaser bubble + gold ring badge) */
.gd-mem-fab{position:fixed;right:22px;bottom:96px;z-index:700;display:flex;align-items:center;gap:0}
.gd-mem-teaser{max-width:230px;background:rgba(12,12,11,.92);border:1px solid var(--gdline);border-radius:14px;padding:12px 16px;font-size:12.5px;color:#f5f4f0;margin-right:-18px;padding-right:34px;opacity:0;transform:translateX(14px);pointer-events:none;transition:opacity .4s,transform .4s;box-shadow:0 14px 34px rgba(0,0,0,.4)}
.gd-mem-fab.show .gd-mem-teaser{opacity:1;transform:translateX(0);pointer-events:all}
.gd-mem-teaser .close-t{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--gdmuted);cursor:pointer;font-size:13px}
.gd-mem-teaser{position:relative}

.gd-mem-badge{position:relative;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#1c1c19,#0c0c0b);border:2px solid var(--gdg);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;box-shadow:0 10px 28px rgba(201,168,76,.28);animation:gdBadgePulse 2.6s infinite;transition:transform .3s}
.gd-mem-badge:hover{transform:scale(1.06)}
.gd-mem-badge svg{width:20px;height:20px;fill:var(--gdg);margin-bottom:2px}
.gd-mem-badge span{font-size:8.5px;font-weight:800;letter-spacing:.5px;color:var(--gdgl);text-align:center;line-height:1.2}
@keyframes gdBadgePulse{0%{box-shadow:0 0 0 0 rgba(201,168,76,.45)}70%{box-shadow:0 0 0 14px rgba(201,168,76,0)}100%{box-shadow:0 0 0 0 rgba(201,168,76,0)}}

@media (max-width:600px){
    .gd-mem-fab{right:14px;bottom:86px}
    .gd-mem-badge{width:66px;height:66px}
    .gd-mem-badge svg{width:16px;height:16px}
    .gd-mem-badge span{font-size:7.5px}
    .gd-mem-teaser{display:none}
}

/* modal overlay */
.gd-mem-overlay{position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.86);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .35s}
.gd-mem-overlay.open{opacity:1;pointer-events:all}
.gd-mem-modal{position:relative;max-width:440px;width:100%;max-height:88vh;overflow-y:auto;overflow-x:hidden;background:
    radial-gradient(circle at 15% -10%, rgba(201,168,76,.14), transparent 42%),
    radial-gradient(circle at 105% 110%, rgba(201,168,76,.10), transparent 45%),
    linear-gradient(180deg,rgba(22,22,19,.98),rgba(10,10,9,.995));
    border:1px solid var(--gdline);border-radius:20px;padding:0 24px 22px;
    transform:scale(.9) translateY(24px);opacity:0;
    transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s;
    box-shadow:0 30px 90px rgba(0,0,0,.6), 0 0 0 1px rgba(201,168,76,.08) inset, 0 0 0 6px rgba(201,168,76,.05);
    scrollbar-width:thin;scrollbar-color:var(--gdg) transparent}
.gd-mem-overlay.open .gd-mem-modal{transform:scale(1) translateY(0);opacity:1}
.gd-mem-modal::-webkit-scrollbar{width:5px}
.gd-mem-modal::-webkit-scrollbar-track{background:transparent;margin:20px 0}
.gd-mem-modal::-webkit-scrollbar-thumb{background:linear-gradient(var(--gdg),var(--gdgd));border-radius:10px}
.gd-mem-modal::-webkit-scrollbar-thumb:hover{background:var(--gdgl)}
.gd-mem-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--gdg),var(--gdgl),var(--gdg),transparent);border-radius:20px 20px 0 0}
.gd-mem-modal::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(201,168,76,.10) 1px, transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 55%);mask-image:linear-gradient(180deg,#000 0%,transparent 55%);border-radius:20px}

.gd-mem-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--gdline);color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s;z-index:2}
.gd-mem-close:hover{background:var(--gdg);color:#0c0c0b;transform:rotate(90deg)}

.gd-mem-modal h2{position:relative;font-family:'Playfair Display',serif;color:var(--gdg);font-size:22px;margin:0 0 4px;padding-top:78px;text-align:center;opacity:0;animation:gdFieldIn .5s ease-out .05s forwards}
.gd-mem-modal h2::before{content:'';position:absolute;top:32px;left:50%;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#1e1e1a,#0b0b0a) padding-box, linear-gradient(135deg,var(--gdgl),var(--gdgd)) border-box;border:1.5px solid transparent;box-shadow:0 10px 26px rgba(201,168,76,.25)}
.gd-mem-modal h2::after{content:'';position:absolute;top:47px;left:50%;transform:translateX(-50%);width:15px;height:15px;background:var(--gdg);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 16L3 5l5.5 4L12 3l3.5 6L21 5l-2 11H5zm0 2h14v2H5v-2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 16L3 5l5.5 4L12 3l3.5 6L21 5l-2 11H5zm0 2h14v2H5v-2z'/%3E%3C/svg%3E") center/contain no-repeat}
.gd-mem-modal .sub{position:relative;color:var(--gdmuted);font-size:12px;margin-bottom:18px;text-align:center;line-height:1.5;opacity:0;animation:gdFieldIn .5s ease-out .1s forwards}
.gd-mem-modal form{position:relative}

@keyframes gdFieldIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
#gdMemForm > *{opacity:0;animation:gdFieldIn .45s ease-out forwards}
#gdMemForm > *:nth-child(1){animation-delay:.12s}
#gdMemForm > *:nth-child(2){animation-delay:.16s}
#gdMemForm > *:nth-child(3){animation-delay:.20s}
#gdMemForm > *:nth-child(4){animation-delay:.24s}
#gdMemForm > *:nth-child(5){animation-delay:.28s}
#gdMemForm > *:nth-child(6){animation-delay:.32s}
#gdMemForm > *:nth-child(7){animation-delay:.36s}
#gdMemForm > *:nth-child(8){animation-delay:.40s}
#gdMemForm > *:nth-child(9){animation-delay:.44s}
#gdMemForm > *:nth-child(10){animation-delay:.48s}

.gd-field{width:100%;background:rgba(255,255,255,.035) no-repeat 13px center;background-size:15px 15px;border:1px solid var(--gdline);color:#f5f4f0;padding:10px 14px 10px 37px;border-radius:10px;font-size:13.5px;margin-bottom:7px;font-family:'Inter',sans-serif;transition:border-color .25s,background-color .25s,box-shadow .25s}
.gd-field:focus{outline:none;border-color:var(--gdg);background-color:rgba(201,168,76,.06);box-shadow:0 0 0 3px rgba(201,168,76,.12)}
#gd-name{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 12c2.7 0 4.9-2.2 4.9-4.9S14.7 2.2 12 2.2 7.1 4.4 7.1 7.1 9.3 12 12 12zm0 2.5c-3.3 0-9.9 1.7-9.9 5v2.3h19.8V19.5c0-3.3-6.6-5-9.9-5z'/%3E%3C/svg%3E")}
#gd-email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E")}
#gd-phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M6.6 10.8c1.4 2.7 3.6 5 6.3 6.3l2.1-2.1c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.5.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1-9.4 0-17-7.6-17-17 0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.5.1.4 0 .8-.3 1.1l-2.1 2.1z'/%3E%3C/svg%3E")}
#gd-city{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5c-1.4 0-2.5-1.1-2.5-2.5S10.6 6.5 12 6.5s2.5 1.1 2.5 2.5S13.4 11.5 12 11.5z'/%3E%3C/svg%3E")}
.gd-err{color:#e8746a;font-size:11px;margin:4px 0 8px 3px;display:none}
.gd-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.gd-radio-group{margin-bottom:12px}
.gd-radio-group .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:1.5px;color:var(--gdg);font-weight:700;margin-bottom:7px}
.gd-radio-row{display:flex;gap:8px;flex-wrap:wrap}
.gd-radio-row label{position:relative;display:flex;align-items:center;gap:6px;font-size:12.5px;color:#d8d7d0;cursor:pointer;padding:7px 15px;border:1px solid var(--gdline);border-radius:30px;background:rgba(255,255,255,.03);transition:.25s}
.gd-radio-row label:hover{border-color:var(--gdg);background:rgba(201,168,76,.06)}
.gd-radio-row input[type=radio]{accent-color:var(--gdg);width:14px;height:14px}
.gd-radio-row label:has(input:checked){border-color:var(--gdg);background:rgba(201,168,76,.12);color:#f5f4f0;box-shadow:0 4px 14px rgba(201,168,76,.15)}

.gd-check-row{display:flex;align-items:flex-start;gap:8px;margin:6px 0 16px;font-size:11.5px;color:var(--gdmuted);padding:10px 12px;background:rgba(255,255,255,.025);border:1px solid var(--gdline);border-radius:9px}
.gd-check-row input{margin-top:2px;accent-color:var(--gdg);width:15px;height:15px;flex-shrink:0}
.gd-check-row a{color:var(--gdgl);text-decoration:underline}

.gd-submit{position:relative;width:100%;background:linear-gradient(135deg,var(--gdgl),var(--gdg) 45%,var(--gdgd));color:#0c0c0b;font-weight:800;padding:14px;border:none;border-radius:50px;font-size:13.5px;cursor:pointer;transition:transform .25s,box-shadow .25s;letter-spacing:.6px;text-transform:uppercase;box-shadow:0 10px 26px rgba(201,168,76,.22)}
.gd-submit:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(201,168,76,.38)}
.gd-submit:active{transform:translateY(-1px)}
.gd-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}

@media (max-width:480px){
    .gd-mem-modal{max-width:100%;border-radius:18px;padding:0 18px 18px}
    .gd-mem-modal h2{font-size:20px;padding-top:58px}
    .gd-field{padding:9px 12px 9px 34px;font-size:13px}
}

.gd-success{display:none;text-align:center;padding:20px 0}
.gd-success.show{display:block;animation:gdPop .5s cubic-bezier(.22,1,.36,1) both}
@keyframes gdPop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
.gd-success svg{width:56px;height:56px;fill:#3ecf72;margin-bottom:14px}
.gd-success h3{font-family:'Playfair Display',serif;color:#f5f4f0;font-size:20px;margin-bottom:6px}
.gd-success p{color:var(--gdmuted);font-size:13.5px}
