.gg-hero,
.gg-search,
.gg-shop-card,
.gg-mini-hp,
.gg-form,
.gg-link-kit,
.gg-free-listing,
.gg-dual article {
    box-sizing: border-box;
    border: 1px solid rgba(255, 214, 102, .24);
    background: linear-gradient(145deg, rgba(22, 6, 18, .94), rgba(8, 4, 12, .98));
    color: #fff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.gg-hero {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    padding: clamp(56px, 8vw, 104px) clamp(20px, 5vw, 72px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    isolation: isolate;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .14), rgba(0, 0, 0, .62)),
        radial-gradient(circle at 18% 18%, rgba(255, 20, 139, .62), transparent 25%),
        radial-gradient(circle at 78% 16%, rgba(255, 207, 74, .46), transparent 23%),
        radial-gradient(circle at 55% 72%, rgba(94, 0, 255, .34), transparent 34%),
        linear-gradient(135deg, #070006 0%, #250018 42%, #050006 100%);
}

.gg-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(115deg, transparent 0 35%, rgba(255, 228, 118, .28) 38%, transparent 44%),
        linear-gradient(70deg, transparent 0 58%, rgba(255, 36, 142, .2) 60%, transparent 66%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 86px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 58px);
    opacity: .92;
}

.gg-hero::after {
    content: "OSAKA NIGHT  MEN'S ESTHE  FUZOKU  GIRAGIRA";
    position: absolute;
    right: -90px;
    bottom: 36px;
    z-index: -1;
    transform: rotate(-8deg);
    color: rgba(255, 222, 122, .1);
    font-size: clamp(42px, 7vw, 92px);
    font-weight: 900;
    white-space: nowrap;
    text-shadow: 0 0 28px rgba(255, 37, 142, .28);
}

.gg-spark {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(100deg, transparent 0 12%, rgba(255, 255, 255, .08) 13%, transparent 18%),
        radial-gradient(circle at 12% 72%, rgba(255,255,255,.9) 0 2px, transparent 3px),
        radial-gradient(circle at 28% 48%, rgba(255,44,145,.86) 0 3px, transparent 4px),
        radial-gradient(circle at 42% 24%, rgba(255,221,112,.95) 0 2px, transparent 3px),
        radial-gradient(circle at 64% 42%, rgba(255,255,255,.8) 0 1px, transparent 3px),
        radial-gradient(circle at 74% 66%, rgba(255,68,157,.95) 0 2px, transparent 3px),
        radial-gradient(circle at 88% 24%, rgba(255,219,99,.8) 0 3px, transparent 5px),
        radial-gradient(circle at 92% 38%, rgba(255,255,255,.9) 0 1px, transparent 2px);
}

.gg-menu {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
}

.gg-menu-toggle {
    display: grid;
    width: 66px;
    min-height: 58px;
    padding: 10px 12px 8px;
    align-content: center;
    gap: 5px;
    border: 1px solid rgba(255, 214, 102, .55);
    border-radius: 4px;
    background: rgba(12, 0, 10, .82);
    color: #ffd76d;
    cursor: pointer;
    box-shadow: 0 0 22px rgba(255, 43, 145, .32);
}

.gg-menu-toggle span {
    display: block;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #fff7c4, #ff2d88);
}

.gg-menu-toggle b {
    margin-top: 1px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0;
}

.gg-menu-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(74vw, 260px);
    padding: 8px;
    border: 1px solid rgba(255, 214, 102, .45);
    border-radius: 4px;
    background: linear-gradient(145deg, rgba(31, 0, 21, .97), rgba(6, 0, 8, .98));
    box-shadow: 0 20px 48px rgba(0, 0, 0, .55), 0 0 28px rgba(255, 43, 145, .24);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.gg-menu.is-open .gg-menu-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gg-menu-panel a {
    display: block;
    padding: 13px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.gg-menu-panel a:last-child {
    border-bottom: 0;
}

.gg-menu-panel a:hover,
.gg-menu-panel a:focus {
    background: rgba(255, 45, 136, .18);
    color: #ffd76d;
}

.wp-block-navigation {
    display: none !important;
}

.wp-block-page-list a[href*="/free-listing/"] {
    display: none;
}

.wp-block-page-list li:has(a[href*="/free-listing/"]) {
    display: none;
}

.gg-footer-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 34px 0 0;
    padding: 18px;
    border: 1px solid rgba(255, 214, 102, .24);
    background: linear-gradient(145deg, rgba(22, 6, 18, .94), rgba(8, 4, 12, .98));
    box-shadow: 0 18px 50px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.gg-footer-menu a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid rgba(255, 214, 102, .45);
    border-radius: 4px;
    color: #ffd76d;
    font-weight: 800;
    text-decoration: none;
}

.gg-footer-menu a:hover,
.gg-footer-menu a:focus {
    background: rgba(255, 45, 136, .18);
    color: #fff;
}

.gg-listing-banner {
    position: relative;
    display: grid;
    width: min(100%, 760px);
    min-height: 118px;
    align-content: center;
    justify-items: center;
    padding: 20px clamp(18px, 5vw, 54px);
    overflow: hidden;
    border: 1px solid rgba(255, 214, 102, .45);
    border-radius: 4px;
    color: #ffd76d;
    text-decoration: none;
    text-align: center;
    background:
        linear-gradient(100deg, transparent 0 16%, rgba(255, 255, 255, .16) 18%, transparent 24%),
        radial-gradient(circle at 18% 25%, rgba(255, 45, 136, .22), transparent 25%),
        radial-gradient(circle at 82% 18%, rgba(255, 214, 102, .22), transparent 24%),
        linear-gradient(135deg, rgba(36, 3, 24, .98), rgba(9, 2, 10, .98));
    box-shadow: 0 18px 42px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .16);
}

.gg-listing-banner::before {
    content: "GIRAGIRA PARTNER";
    position: absolute;
    right: -18px;
    bottom: -4px;
    color: rgba(255, 255, 255, .08);
    font-size: clamp(30px, 6vw, 72px);
    font-weight: 1000;
    line-height: 1;
    white-space: nowrap;
}

.gg-listing-banner::after {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(255, 255, 255, .16);
    pointer-events: none;
}

.gg-listing-banner-kicker,
.gg-listing-banner-copy,
.gg-listing-banner strong {
    position: relative;
    z-index: 1;
}

.gg-listing-banner-kicker {
    color: #fff1aa;
    font-size: 13px;
    font-weight: 900;
}

.gg-listing-banner strong {
    margin-top: 4px;
    color: #fff;
    font-size: clamp(26px, 5vw, 46px);
    font-weight: 1000;
    line-height: 1.05;
    text-shadow: 0 3px 0 #9d003f, 0 0 24px rgba(255, 45, 136, .72);
}

.gg-listing-banner-copy {
    margin-top: 8px;
    color: #ffd76d;
    font-size: clamp(13px, 2.4vw, 17px);
    font-weight: 800;
}

.gg-listing-banner:hover,
.gg-listing-banner:focus {
    background: rgba(255, 45, 136, .18);
    color: #fff;
    transform: translateY(-1px);
}

.gg-kicker {
    margin: 0 0 12px;
    color: #ffd76d;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
}

.gg-logo {
    display: inline-grid;
    width: min(100%, 840px);
    justify-items: center;
    align-self: flex-start;
    padding: 8px 0 0;
    transform: skew(-6deg);
}

.gg-logo-ruby {
    display: inline-block;
    margin: 0 0 4px;
    padding: 3px 18px 4px;
    border: 1px solid rgba(255, 230, 149, .65);
    background: rgba(18, 0, 13, .82);
    color: #ffe48c;
    font-size: clamp(13px, 1.8vw, 20px);
    font-weight: 900;
    line-height: 1.1;
    text-shadow: 0 0 10px rgba(255, 55, 158, .75);
}

.gg-logo-main {
    display: block;
    position: relative;
    color: #fff5c7;
    font-size: clamp(58px, 11vw, 140px);
    font-weight: 1000;
    line-height: .86;
    letter-spacing: 0;
    font-family: Impact, "Arial Black", system-ui, sans-serif;
    -webkit-text-stroke: clamp(1px, .18vw, 3px) #3b0019;
    text-shadow:
        0 2px 0 #ff2b91,
        0 5px 0 #8b0038,
        0 0 12px rgba(255, 255, 255, .96),
        0 0 28px rgba(255, 36, 142, .92),
        0 0 52px rgba(255, 212, 93, .72);
}

.gg-logo-main::before {
    content: "GIRAGIRA";
    position: absolute;
    inset: 0;
    z-index: -1;
    transform: translate(10px, 12px);
    color: #4e001f;
    -webkit-text-stroke: 0;
    text-shadow: 0 0 22px rgba(0, 0, 0, .8);
}

.gg-logo-main::after {
    content: "";
    position: absolute;
    left: 4%;
    right: 4%;
    top: 12%;
    height: 18%;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .92), transparent);
    opacity: .6;
}

.gg-hero-actions,
.gg-shop-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.gg-btn,
.gg-search button,
.gg-form button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid rgba(255, 214, 102, .5);
    border-radius: 4px;
    background: #160612;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.gg-btn-primary,
.gg-search button,
.gg-form button {
    background: linear-gradient(135deg, #ffd76d, #ff9f1c);
    color: #22000d;
}

.gg-btn-hot {
    background: linear-gradient(135deg, #ff2d88, #b9004b);
    border-color: rgba(255, 111, 181, .75);
}

.gg-dual,
.gg-shop-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0;
}

.gg-dual article {
    padding: 28px;
}

.gg-dual span,
.gg-shop-label {
    color: #ffbbda;
    font-size: 12px;
    font-weight: 700;
}

.gg-dual h2,
.gg-shop-card h2,
.gg-mini-hp h2,
.gg-form h2 {
    margin: 8px 0 12px;
    color: #fff;
    font-size: 26px;
    letter-spacing: 0;
}

.gg-search {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr) auto;
    gap: 12px;
    align-items: end;
    padding: 18px;
    margin: 24px 0;
}

.gg-search label,
.gg-form label,
.giragira-admin-fields label {
    display: grid;
    gap: 6px;
}

.gg-search span,
.gg-form span {
    color: #ffd76d;
    font-size: 13px;
    font-weight: 700;
}

.gg-search input,
.gg-search select,
.gg-form input,
.gg-form select,
.gg-form textarea {
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 214, 102, .28);
    border-radius: 4px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    padding: 10px 12px;
}

.gg-search option,
.gg-form option {
    color: #111;
}

.gg-link-kit {
    margin: 34px 0 24px;
    padding: clamp(20px, 4vw, 34px);
}

.gg-link-kit-head {
    text-align: center;
}

.gg-link-kit-head span,
.gg-link-code span {
    color: #ffd76d;
    font-size: 12px;
    font-weight: 900;
}

.gg-link-kit h2 {
    margin: 6px 0 8px;
    color: #fff;
    font-size: clamp(24px, 4vw, 40px);
    line-height: 1.1;
}

.gg-link-kit p {
    margin: 0 auto;
    max-width: 680px;
    color: rgba(255, 255, 255, .82);
    font-weight: 700;
}

.gg-link-kit-preview {
    display: flex;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin: 22px auto 18px;
    padding: 10px;
    border: 1px solid rgba(255, 214, 102, .3);
    border-radius: 4px;
    background: rgba(255, 255, 255, .08);
}

.gg-link-kit-preview img {
    display: block;
    max-width: 100%;
    height: auto;
}

.gg-link-code {
    display: grid;
    gap: 8px;
}

.gg-link-code textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255, 214, 102, .28);
    border-radius: 4px;
    padding: 12px;
    background: rgba(7, 3, 9, .72);
    color: #fff;
    font-size: 13px;
    resize: vertical;
}

.gg-free-listing {
    margin: 24px 0;
    padding: clamp(24px, 5vw, 48px);
}

.gg-free-hero {
    text-align: center;
}

.gg-free-hero span {
    color: #ffd76d;
    font-size: 13px;
    font-weight: 900;
}

.gg-free-hero h2 {
    margin: 8px 0 12px;
    color: #fff;
    font-size: clamp(34px, 7vw, 70px);
    line-height: 1;
    text-shadow: 0 3px 0 #9d003f, 0 0 28px rgba(255, 45, 136, .58);
}

.gg-free-hero p {
    max-width: 760px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .84);
    font-weight: 800;
    line-height: 1.85;
}

.gg-free-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 28px;
}

.gg-free-steps article {
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(255, 214, 102, .22);
    border-radius: 4px;
    background: rgba(255, 255, 255, .07);
}

.gg-free-steps b {
    color: #ffd76d;
    font-size: 13px;
}

.gg-free-steps h3 {
    margin: 8px 0;
    color: #fff;
    font-size: 20px;
}

.gg-free-steps p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-weight: 700;
    line-height: 1.7;
}

.gg-free-cta {
    display: flex;
    justify-content: center;
    margin: 0 0 34px;
}

.gg-link-banner-page {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.gg-link-banner-hero,
.gg-link-banner-section,
.gg-link-banner-contact {
    box-sizing: border-box;
    border: 1px solid rgba(178, 124, 43, .34);
    border-radius: 4px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(248, 238, 226, .92)),
        radial-gradient(circle at 18% 16%, rgba(255, 255, 255, .86), transparent 28%);
    color: #2c1720;
    box-shadow: 0 20px 48px rgba(94, 58, 26, .16), inset 0 1px 0 rgba(255, 255, 255, .92);
}

.gg-link-banner-hero {
    margin: 24px 0;
    padding: clamp(28px, 6vw, 62px);
}

.gg-link-banner-hero-copy {
    max-width: 780px;
}

.gg-link-banner-hero-copy > span,
.gg-link-banner-heading > span,
.gg-link-banner-contact span {
    color: #9d5e19;
    font-size: 13px;
    font-weight: 900;
}

.gg-link-banner-hero h1 {
    margin: 10px 0 14px;
    color: #2c1720;
    font-size: clamp(36px, 7vw, 72px);
    line-height: 1;
    letter-spacing: 0;
}

.gg-link-banner-hero p,
.gg-link-banner-heading p,
.gg-link-banner-contact p {
    max-width: 760px;
    margin: 0;
    color: #4b303a;
    font-weight: 800;
    line-height: 1.85;
}

.gg-link-banner-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.gg-link-banner-points span {
    padding: 8px 12px;
    border: 1px solid rgba(154, 101, 36, .26);
    border-radius: 4px;
    background: rgba(255, 255, 255, .62);
    color: #9d5e19;
    font-weight: 900;
}

.gg-link-banner-section {
    margin: 24px 0;
    padding: clamp(22px, 4vw, 38px);
}

.gg-link-banner-heading {
    margin-bottom: 22px;
    text-align: center;
}

.gg-link-banner-heading h2,
.gg-link-banner-contact h2 {
    margin: 8px 0 10px;
    color: #2c1720;
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1.15;
}

.gg-link-banner-request,
.gg-link-banner-list {
    display: grid;
    gap: 16px;
}

.gg-link-banner-request {
    grid-template-columns: repeat(3, 1fr);
}

.gg-link-banner-request article,
.gg-link-banner-card {
    border: 1px solid rgba(154, 101, 36, .22);
    border-radius: 4px;
    background: rgba(255, 255, 255, .58);
}

.gg-link-banner-request article {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.gg-link-banner-request strong {
    color: #2c1720;
    font-size: 18px;
}

.gg-link-banner-request span {
    color: #4b303a;
    font-weight: 700;
    line-height: 1.7;
}

.gg-link-banner-list {
    grid-template-columns: 1fr;
}

.gg-link-banner-card {
    display: grid;
    grid-template-columns: minmax(220px, 42%) 1fr;
    gap: 18px;
    align-items: center;
    padding: 18px;
}

.gg-link-banner-card-preview {
    display: flex;
    justify-content: center;
    min-width: 0;
    padding: 16px;
    border-radius: 4px;
    background: rgba(255, 255, 255, .76);
    overflow: auto;
}

.gg-link-banner-card-preview img {
    display: block;
    max-width: 100%;
    height: auto;
}

.gg-link-banner-card-body h3 {
    margin: 0 0 8px;
    color: #2c1720;
    font-size: 22px;
}

.gg-link-banner-card-body p {
    margin: 0 0 14px;
    color: #4b303a;
    font-weight: 700;
}

.gg-link-banner-card-body label {
    display: grid;
    gap: 8px;
}

.gg-link-banner-card-body label span {
    color: #9d5e19;
    font-size: 12px;
    font-weight: 900;
}

.gg-link-banner-card-body textarea {
    width: 100%;
    min-height: 94px;
    box-sizing: border-box;
    border: 1px solid rgba(154, 101, 36, .32);
    border-radius: 4px;
    padding: 12px;
    background: rgba(255, 255, 255, .84);
    color: #2c1720;
    font-size: 13px;
    resize: vertical;
}

.gg-link-banner-contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 24px 0 34px;
    padding: clamp(22px, 4vw, 38px);
}

.gg-link-banner-contact a {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 4px;
    background: linear-gradient(135deg, #ff4b9c, #9d5e19);
    color: #fff;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 14px 26px rgba(122, 70, 20, .2);
}

.gg-shop-card,
.gg-mini-hp {
    overflow: hidden;
}

.gg-shop-card {
    display: grid;
    grid-template-columns: 220px 1fr;
}

.gg-mini-hp {
    margin: 28px 0;
}

.gg-shop-media {
    min-height: 190px;
    background: linear-gradient(135deg, #24001a, #0c0008);
}

.gg-shop-image {
    width: 100%;
    height: 100%;
    min-height: 190px;
    object-fit: cover;
    display: block;
}

.gg-shop-image-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffd76d;
    font-weight: 900;
}

.gg-shop-main {
    padding: 20px;
}

.gg-shop-catch {
    color: #ffeef7;
    font-weight: 700;
}

.gg-shop-meta {
    display: grid;
    gap: 8px;
    margin: 16px 0;
}

.gg-shop-meta div {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 10px;
}

.gg-shop-meta dt {
    color: #ffd76d;
    font-weight: 700;
}

.gg-shop-meta dd {
    margin: 0;
    color: #fff;
}

.gg-shop-features,
.gg-shop-body {
    color: #f8dfec;
    line-height: 1.8;
}

.gg-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 22px;
    margin: 28px 0;
}

.gg-form h2,
.gg-form .gg-full,
.gg-form .gg-check,
.gg-form button,
.gg-notice {
    grid-column: 1 / -1;
}

.gg-check {
    display: flex !important;
    grid-template-columns: auto 1fr !important;
    align-items: center;
    color: #fff;
}

.gg-check input {
    width: auto;
    min-height: auto;
}

.gg-notice {
    padding: 12px 14px;
    border-radius: 4px;
    font-weight: 700;
}

.gg-ok {
    background: #0f5d2d;
    color: #fff;
}

.gg-ng {
    background: #8a1434;
    color: #fff;
}

.gg-empty {
    color: #fff;
    padding: 20px;
}

.gg-age-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .86);
}

.gg-age-modal.is-open {
    display: flex;
}

.gg-age-box {
    max-width: 460px;
    padding: 26px;
    border: 1px solid rgba(255, 214, 102, .5);
    background: linear-gradient(145deg, #200016, #050006);
    color: #fff;
    text-align: center;
}

.gg-age-box h2 {
    margin-top: 0;
    color: #ffd76d;
}

@media (max-width: 900px) {
    .gg-search,
    .gg-shop-card,
    .gg-dual,
    .gg-shop-grid,
    .gg-free-steps,
    .gg-link-banner-request,
    .gg-link-banner-card,
    .gg-form {
        grid-template-columns: 1fr;
    }

    .gg-link-banner-contact {
        display: grid;
    }

    .gg-link-banner-contact a {
        width: 100%;
        box-sizing: border-box;
    }

    .gg-hero {
        min-height: 440px;
    }
}

/* White stone and aged-gold theme */
body:has(.gg-age-scope),
body:has(.gg-search),
body:has(.gg-shop-card),
body:has(.gg-mini-hp),
body:has(.gg-form),
body:has(.gg-link-kit) {
    overflow-x: hidden;
    background:
        radial-gradient(circle at 15% 8%, rgba(255, 214, 102, .18), transparent 22%),
        radial-gradient(circle at 88% 14%, rgba(255, 45, 136, .13), transparent 20%),
        linear-gradient(135deg, #fffdf8 0%, #f6efe5 42%, #fff9f1 100%);
}

.gg-hero,
.gg-search,
.gg-shop-card,
.gg-mini-hp,
.gg-form,
.gg-link-kit,
.gg-free-listing,
.gg-dual article,
.gg-footer-menu {
    border-color: rgba(178, 124, 43, .34);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(248, 238, 226, .92)),
        radial-gradient(circle at 18% 16%, rgba(255, 255, 255, .86), transparent 28%);
    color: #2c1720;
    box-shadow: 0 20px 48px rgba(94, 58, 26, .16), inset 0 1px 0 rgba(255, 255, 255, .92);
}

.gg-hero {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 246, 238, .72)),
        radial-gradient(circle at 15% 16%, rgba(255, 45, 136, .22), transparent 24%),
        radial-gradient(circle at 78% 12%, rgba(203, 130, 28, .22), transparent 25%),
        radial-gradient(circle at 58% 72%, rgba(139, 89, 48, .16), transparent 33%),
        linear-gradient(135deg, #fffefd 0%, #efe1d1 46%, #fff8ef 100%);
}

.gg-hero::before {
    background-image:
        linear-gradient(115deg, transparent 0 34%, rgba(190, 126, 40, .2) 38%, transparent 45%),
        linear-gradient(70deg, transparent 0 58%, rgba(255, 55, 158, .12) 60%, transparent 67%),
        repeating-linear-gradient(90deg, rgba(118, 81, 45, .08) 0 1px, transparent 1px 88px),
        repeating-linear-gradient(0deg, rgba(118, 81, 45, .055) 0 1px, transparent 1px 60px);
    opacity: .88;
}

.gg-hero::after {
    color: rgba(124, 82, 38, .1);
    text-shadow: 0 0 28px rgba(255, 45, 136, .16);
}

.gg-spark {
    background:
        radial-gradient(circle at 8% 28%, rgba(133, 93, 55, .08) 0 28px, transparent 29px),
        radial-gradient(circle at 78% 26%, rgba(177, 109, 38, .1) 0 42px, transparent 43px),
        linear-gradient(100deg, transparent 0 12%, rgba(255, 255, 255, .5) 13%, transparent 18%),
        radial-gradient(circle at 12% 72%, rgba(255,255,255,.94) 0 2px, transparent 3px),
        radial-gradient(circle at 28% 48%, rgba(255,44,145,.44) 0 3px, transparent 4px),
        radial-gradient(circle at 42% 24%, rgba(191,132,38,.42) 0 2px, transparent 3px),
        radial-gradient(circle at 74% 66%, rgba(255,68,157,.34) 0 2px, transparent 3px),
        radial-gradient(circle at 88% 24%, rgba(190,126,40,.35) 0 3px, transparent 5px);
}

.gg-menu-toggle,
.gg-menu-panel {
    border-color: rgba(154, 101, 36, .48);
    background: rgba(255, 252, 247, .92);
    color: #8a4d0f;
    box-shadow: 0 16px 34px rgba(122, 70, 20, .18), 0 0 22px rgba(255, 45, 136, .12);
}

.gg-menu-toggle span {
    background: linear-gradient(90deg, #9d5e19, #ff4b9c);
}

.gg-menu-panel {
    background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(244, 230, 216, .98));
}

.gg-menu-panel a {
    border-bottom-color: rgba(122, 70, 20, .12);
    color: #2c1720;
}

.gg-menu-panel a:hover,
.gg-menu-panel a:focus {
    background: rgba(255, 45, 136, .1);
    color: #9d5e19;
}

.gg-logo-ruby {
    border-color: rgba(157, 94, 25, .54);
    background: rgba(255, 255, 255, .72);
    color: #9d5e19;
    text-shadow: 0 0 9px rgba(255, 45, 136, .36);
}

.gg-logo-main {
    color: #fff7c8;
    -webkit-text-stroke-color: #7b4214;
    text-shadow:
        0 2px 0 #ff4b9c,
        0 5px 0 #9d5e19,
        0 0 10px rgba(255, 255, 255, .96),
        0 0 24px rgba(255, 55, 158, .58),
        0 0 46px rgba(191, 132, 38, .46);
}

.gg-logo-main::before {
    color: rgba(124, 75, 24, .34);
    text-shadow: 0 0 18px rgba(122, 70, 20, .28);
}

.gg-dual span,
.gg-shop-label,
.gg-search span,
.gg-form span,
.gg-link-kit-head span,
.gg-link-code span,
.gg-free-hero span,
.gg-free-steps b,
.gg-shop-meta dt {
    color: #9d5e19;
}

.gg-dual h2,
.gg-shop-card h2,
.gg-mini-hp h2,
.gg-form h2,
.gg-link-kit h2,
.gg-free-hero h2,
.gg-free-steps h3 {
    color: #2c1720;
}

.gg-search input,
.gg-search select,
.gg-form input,
.gg-form select,
.gg-form textarea {
    border-color: rgba(154, 101, 36, .32);
    background: rgba(255, 255, 255, .76);
    color: #2c1720;
}

.gg-link-kit-preview {
    border-color: rgba(154, 101, 36, .24);
    background: rgba(255, 255, 255, .58);
}

.gg-link-code textarea {
    border-color: rgba(154, 101, 36, .32);
    background: rgba(255, 255, 255, .82);
    color: #2c1720;
}

.gg-shop-catch,
.gg-shop-features,
.gg-shop-body,
.gg-dual article p,
.gg-link-kit p,
.gg-free-hero p,
.gg-free-steps p,
.gg-shop-meta dd,
.gg-check,
.gg-empty {
    color: #4b303a;
}

.gg-shop-media {
    background:
        radial-gradient(circle at 24% 20%, rgba(255, 255, 255, .72), transparent 24%),
        linear-gradient(135deg, #e7d2bd, #fff8ef);
}

.gg-shop-image-empty {
    color: #9d5e19;
}

.gg-footer-menu a {
    border-color: rgba(154, 101, 36, .38);
    color: #9d5e19;
    background: rgba(255, 255, 255, .46);
}

.gg-footer-menu a:hover,
.gg-footer-menu a:focus {
    background: rgba(255, 45, 136, .1);
    color: #2c1720;
}

.gg-listing-banner {
    border-color: rgba(154, 101, 36, .38);
    color: #9d5e19;
    background:
        linear-gradient(100deg, transparent 0 14%, rgba(255, 255, 255, .68) 18%, transparent 24%),
        radial-gradient(circle at 16% 20%, rgba(255, 45, 136, .2), transparent 25%),
        radial-gradient(circle at 86% 18%, rgba(191, 132, 38, .24), transparent 25%),
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(235, 218, 199, .96));
    box-shadow: 0 18px 42px rgba(122, 70, 20, .2), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.gg-listing-banner strong {
    color: #fff7c8;
    text-shadow:
        0 2px 0 #ff4b9c,
        0 5px 0 #9d5e19,
        0 0 16px rgba(255, 255, 255, .98),
        0 0 34px rgba(255, 55, 158, .54);
}

.gg-listing-banner-kicker,
.gg-listing-banner-copy {
    color: #8a4d0f;
}

.gg-listing-banner:hover,
.gg-listing-banner:focus {
    background:
        linear-gradient(100deg, transparent 0 14%, rgba(255, 255, 255, .8) 18%, transparent 24%),
        radial-gradient(circle at 16% 20%, rgba(255, 45, 136, .26), transparent 25%),
        radial-gradient(circle at 86% 18%, rgba(191, 132, 38, .28), transparent 25%),
        linear-gradient(135deg, rgba(255, 255, 255, .99), rgba(242, 226, 210, .98));
    color: #2c1720;
}

.gg-age-modal {
    background: rgba(255, 250, 244, .86);
}

.gg-age-box {
    border-color: rgba(154, 101, 36, .42);
    background: linear-gradient(145deg, #fff, #f5e5d6);
    color: #2c1720;
    box-shadow: 0 20px 60px rgba(122, 70, 20, .22);
}

.gg-age-box h2 {
    color: #9d5e19;
}

/* Stronger first-view billboard treatment */
.gg-hero {
    min-height: clamp(540px, 68vh, 760px);
    padding-top: clamp(72px, 9vw, 126px);
    padding-bottom: clamp(72px, 9vw, 126px);
    border: 2px solid rgba(174, 111, 28, .4);
    background:
        linear-gradient(90deg, rgba(255,255,255,.74) 0 16%, rgba(255,255,255,.14) 38%, rgba(255,255,255,.78) 100%),
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .96) 0 16%, rgba(255, 239, 190, .58) 17% 29%, transparent 44%),
        radial-gradient(circle at 18% 22%, rgba(255, 45, 136, .34), transparent 28%),
        radial-gradient(circle at 84% 17%, rgba(190, 126, 40, .32), transparent 26%),
        radial-gradient(circle at 58% 76%, rgba(255, 45, 136, .18), transparent 36%),
        linear-gradient(135deg, #fff 0%, #f2ddc6 45%, #fff8ed 100%);
    box-shadow:
        0 28px 70px rgba(105, 62, 18, .2),
        inset 0 0 0 8px rgba(255, 255, 255, .5),
        inset 0 0 0 12px rgba(184, 118, 28, .08);
}

.gg-hero::before {
    background-image:
        linear-gradient(105deg, transparent 0 14%, rgba(255, 55, 158, .18) 15%, rgba(255, 255, 255, .72) 22%, transparent 31%),
        linear-gradient(68deg, transparent 0 49%, rgba(178, 111, 25, .2) 52%, rgba(255, 255, 255, .72) 58%, transparent 68%),
        linear-gradient(0deg, rgba(255,255,255,.46), transparent 38%, rgba(255,255,255,.5)),
        repeating-linear-gradient(90deg, rgba(122, 78, 35, .085) 0 1px, transparent 1px 96px),
        repeating-linear-gradient(0deg, rgba(122, 78, 35, .06) 0 1px, transparent 1px 68px);
    opacity: 1;
}

.gg-hero::after {
    right: -130px;
    bottom: 12px;
    color: rgba(131, 83, 38, .13);
    font-size: clamp(62px, 9vw, 132px);
    text-shadow: 0 0 30px rgba(255, 45, 136, .22);
}

.gg-spark {
    background:
        radial-gradient(circle at 50% 43%, rgba(255, 255, 255, .95) 0 72px, transparent 190px),
        radial-gradient(circle at 13% 28%, rgba(255, 45, 136, .16) 0 64px, transparent 66px),
        radial-gradient(circle at 82% 26%, rgba(177, 109, 38, .18) 0 72px, transparent 74px),
        linear-gradient(100deg, transparent 0 12%, rgba(255, 255, 255, .76) 13%, transparent 20%),
        radial-gradient(circle at 12% 72%, rgba(255,255,255,.96) 0 2px, transparent 3px),
        radial-gradient(circle at 26% 52%, rgba(255,44,145,.62) 0 3px, transparent 5px),
        radial-gradient(circle at 42% 24%, rgba(191,132,38,.62) 0 2px, transparent 4px),
        radial-gradient(circle at 74% 66%, rgba(255,68,157,.48) 0 2px, transparent 4px),
        radial-gradient(circle at 88% 24%, rgba(190,126,40,.5) 0 3px, transparent 6px);
}

.gg-logo {
    width: min(100%, 920px);
    align-self: center;
}

.gg-logo-ruby {
    padding-inline: 24px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 8px 22px rgba(124, 75, 24, .12);
}

.gg-logo-main {
    font-size: clamp(72px, 13vw, 172px);
    text-shadow:
        0 3px 0 #ff4b9c,
        0 8px 0 #9d5e19,
        0 14px 20px rgba(94, 58, 26, .28),
        0 0 14px rgba(255, 255, 255, .98),
        0 0 34px rgba(255, 55, 158, .66),
        0 0 72px rgba(191, 132, 38, .6);
}

.gg-hero-actions {
    justify-content: center;
    margin-top: 38px;
}

.gg-hero-actions .gg-btn {
    min-height: 58px;
    padding-inline: 30px;
    font-size: 18px;
    box-shadow: 0 14px 28px rgba(122, 70, 20, .2);
}
