/*
 * Cookie notice: card beside the floating buttons with a round close button (layout of the Long Wang / Khèn notice), in the
 * GMaster colours: soft dark brown-black card, gold border and title, brand red buttons.
 */
.cookie-consent[hidden] { display: none !important; }

.gmaster-cookie-consent {
    --gmaster-cc-bg: rgba(33, 22, 18, 0.97);
    --gmaster-cc-gold: #f2be83;
    --gmaster-cc-red: #a31f1c;
    --gmaster-cc-red-deep: #7d1815;
    position: fixed;
    right: 88px;
    bottom: 20px;
    z-index: 10000;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: min(780px, calc(100vw - 112px));
    max-width: 780px;
    padding: 16px 16px 16px 18px;
    box-sizing: border-box;
    border: 1px solid rgba(242, 190, 131, 0.38);
    border-radius: 14px;
    background: var(--gmaster-cc-bg);
    box-shadow: 0 18px 42px rgba(10, 6, 4, 0.45);
    color: #ece4da;
    font-family: var(--font-primary, 'SVN-Helves', Arial, sans-serif);
    backdrop-filter: blur(10px);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.gmaster-cookie-consent.is-visible { opacity: 1; transform: translateY(0); }

.gmaster-cookie-consent__title { margin: 0 0 4px; color: var(--gmaster-cc-gold); font-size: 16px; line-height: 1.35; font-weight: 600; }
.gmaster-cookie-consent__message { margin: 0; font-family: var(--font-text, 'SVN-Helves', Arial, sans-serif); font-weight: 400; max-width: 62ch; font-size: 15px; line-height: 1.5; font-weight: 400; color: #ece4da; }
.gmaster-cookie-consent__message a { color: var(--gmaster-cc-gold); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.gmaster-cookie-consent__message a:hover { color: #fff; }

.gmaster-cookie-consent__actions { display: inline-flex; align-items: center; gap: 10px; }

.gmaster-cookie-consent__accept,
.gmaster-cookie-consent__close { border: 0; cursor: pointer; font-family: inherit; transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease; }

.gmaster-cookie-consent__accept {
    min-height: 42px;
    padding: 0 22px;
    border-radius: 9999px;
    background: linear-gradient(180deg, var(--gmaster-cc-red) 0%, var(--gmaster-cc-red-deep) 100%);
    color: #fff;
    font-size: 15px;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(163, 31, 28, 0.32);
}

.gmaster-cookie-consent__close {
    position: absolute;
    top: -10px;
    right: -10px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9999px;
    background: var(--gmaster-cc-red);
    color: #fff;
    font-size: 0;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(10, 6, 4, 0.4);
}
.gmaster-cookie-consent__close span { display: none; }
.gmaster-cookie-consent__close::before,
.gmaster-cookie-consent__close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: '';
}
.gmaster-cookie-consent__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.gmaster-cookie-consent__close::after { transform: translate(-50%, -50%) rotate(-45deg); }

.gmaster-cookie-consent__accept:hover,
.gmaster-cookie-consent__close:hover { transform: translateY(-1px); filter: brightness(1.08); }
.gmaster-cookie-consent__accept:active,
.gmaster-cookie-consent__close:active { transform: translateY(0) scale(0.97); }
.gmaster-cookie-consent__accept:focus-visible,
.gmaster-cookie-consent__close:focus-visible { outline: 2px solid var(--gmaster-cc-gold); outline-offset: 2px; }

@media (max-width: 767px) {
    .gmaster-cookie-consent { right: 12px; bottom: 14px; left: 12px; width: auto; grid-template-columns: 1fr; gap: 14px; padding: 15px; }
    .gmaster-cookie-consent__actions { justify-content: space-between; }
    .gmaster-cookie-consent__accept { flex: 1 1 auto; }
}
