:root {
    --cp-forest: #173f2b;
    --cp-forest-2: #245b3c;
    --cp-forest-3: #397552;
    --cp-ivory: #f8f5ee;
    --cp-sand: #ece5d8;
    --cp-warm: #d7772c;
    --cp-text: #1f2924;
    --cp-muted: #68736d;
    --cp-line: #e5e7e2;
    --cp-white: #ffffff;
    --cp-radius-lg: 28px;
    --cp-radius-md: 18px;
    --cp-shadow: 0 18px 50px rgba(24, 48, 35, 0.12);
    --cp-container: 1360px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--cp-text);
    background: var(--cp-white);
    font-family: Pretendard, "Noto Sans KR", "Malgun Gothic", Arial, sans-serif;
    line-height: 1.55;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

button {
    cursor: pointer;
}

.cp-container {
    width: min(calc(100% - 48px), var(--cp-container));
    margin: 0 auto;
}

.cp-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid rgba(31, 41, 36, 0.08);
    backdrop-filter: blur(14px);
}

.cp-header__inner {
    min-height: 76px;
    display: flex;
    align-items: center;
    gap: 36px;
}

.cp-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--cp-forest);
    font-weight: 900;
    letter-spacing: -0.02em;
}

.cp-brand__mark {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 2px solid var(--cp-forest);
    border-radius: 10px 10px 13px 13px;
    font-size: 14px;
}

.cp-brand__text {
    font-size: 20px;
}

.cp-nav {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-left: auto;
    font-size: 14px;
    font-weight: 700;
}

.cp-nav a {
    color: #33423a;
}

.cp-nav a:hover {
    color: var(--cp-forest-3);
}

.cp-login {
    padding: 10px 18px;
    border: 1px solid var(--cp-line);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
}

.cp-hero {
    position: relative;
    min-height: 640px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(120deg, rgba(13, 45, 28, 0.92) 0%, rgba(20, 66, 40, 0.68) 42%, rgba(102, 82, 49, 0.30) 100%),
        radial-gradient(circle at 78% 30%, rgba(237, 191, 117, 0.24), transparent 26%),
        linear-gradient(160deg, #426951 0%, #b6aa83 55%, #d7b273 100%);
}

.cp-hero::before,
.cp-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.cp-hero::before {
    width: 720px;
    height: 390px;
    right: -60px;
    bottom: -120px;
    background: rgba(255,255,255,0.08);
    border-radius: 55% 45% 0 0;
    transform: rotate(-9deg);
}

.cp-hero::after {
    width: 420px;
    height: 420px;
    right: 8%;
    top: 2%;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
}

.cp-hero__content {
    position: relative;
    z-index: 2;
    padding: 70px 0 88px;
}

.cp-eyebrow,
.cp-section-kicker {
    margin: 0 0 8px;
    color: #dfeadf;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.18em;
}

.cp-hero h1 {
    max-width: 780px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.08;
    letter-spacing: -0.055em;
}

.cp-hero__lead {
    margin: 20px 0 34px;
    color: rgba(255,255,255,0.86);
    font-size: 19px;
}

.cp-search-panel {
    max-width: 860px;
    padding: 18px;
    background: rgba(255,255,255,0.97);
    border-radius: 24px;
    box-shadow: var(--cp-shadow);
}

.cp-search-row {
    display: flex;
    gap: 10px;
}

.cp-search-input {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 58px;
    padding: 0 18px;
    border: 1px solid var(--cp-line);
    border-radius: 15px;
    background: #fff;
}

.cp-search-icon {
    color: var(--cp-muted);
    font-size: 24px;
}

.cp-search-input input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--cp-text);
    font-size: 16px;
}

.cp-btn {
    min-width: 130px;
    border: 0;
    border-radius: 15px;
    padding: 0 20px;
    font-weight: 900;
}

.cp-btn--primary {
    color: #fff;
    background: var(--cp-forest);
}

.cp-distance,
.cp-category {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cp-distance {
    margin-top: 15px;
}

.cp-distance button,
.cp-category button {
    border: 1px solid var(--cp-line);
    background: #fff;
    color: #425149;
    border-radius: 999px;
    padding: 9px 15px;
    font-size: 13px;
    font-weight: 800;
}

.cp-distance button.is-active {
    color: #fff;
    border-color: var(--cp-forest);
    background: var(--cp-forest);
}

.cp-category {
    margin-top: 10px;
}

.cp-category button {
    border-radius: 12px;
    background: var(--cp-ivory);
}

.cp-section {
    padding: 88px 0;
}

.cp-section--soft {
    background: var(--cp-ivory);
}

.cp-section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: 30px;
}

.cp-section-head h2,
.cp-feature h2,
.cp-business-card h2 {
    margin: 0;
    color: var(--cp-text);
    letter-spacing: -0.035em;
}

.cp-section-head h2 {
    font-size: 34px;
}

.cp-section-head p,
.cp-feature p,
.cp-business-card p {
    color: var(--cp-muted);
}

.cp-section-head .cp-section-kicker,
.cp-business-card .cp-section-kicker {
    color: var(--cp-forest-3);
}

.cp-section-head > a,
.cp-feature > a {
    color: var(--cp-forest);
    font-weight: 900;
}

.cp-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.cp-camp-card {
    overflow: hidden;
    border: 1px solid var(--cp-line);
    border-radius: var(--cp-radius-md);
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.cp-camp-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(25, 50, 36, 0.10);
}

.cp-camp-card__image {
    height: 190px;
    position: relative;
    background:
        linear-gradient(145deg, rgba(24,63,43,.20), rgba(213,160,89,.22)),
        linear-gradient(135deg, #63846d, #b8b082);
}

.cp-camp-card__image--2 {
    background:
        linear-gradient(145deg, rgba(24,63,43,.14), rgba(213,160,89,.18)),
        linear-gradient(135deg, #7894a0, #6a8a70 55%, #d0c18f);
}

.cp-camp-card__image--3 {
    background:
        linear-gradient(145deg, rgba(24,63,43,.18), rgba(213,160,89,.16)),
        linear-gradient(135deg, #355e47, #7c986b 60%, #c2b083);
}

.cp-camp-card__image--4 {
    background:
        linear-gradient(145deg, rgba(24,63,43,.25), rgba(213,160,89,.20)),
        linear-gradient(135deg, #1d2d27, #655b43 60%, #b97944);
}

.cp-camp-card__image span {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 7px 10px;
    color: #fff;
    background: rgba(18, 58, 38, 0.86);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.cp-camp-card__body {
    padding: 18px;
}

.cp-camp-card h3 {
    margin: 0 0 7px;
    font-size: 18px;
}

.cp-camp-card p {
    margin: 0;
    color: var(--cp-muted);
    font-size: 14px;
}

.cp-camp-card__meta {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--cp-line);
    color: var(--cp-forest-3);
    font-size: 12px;
    font-weight: 800;
}

.cp-feature-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cp-feature {
    min-height: 310px;
    padding: 42px;
    border: 1px solid rgba(23,63,43,.08);
    border-radius: var(--cp-radius-lg);
    background: #fff;
}

.cp-feature__label {
    display: inline-flex;
    margin-bottom: 20px;
    padding: 7px 11px;
    border-radius: 999px;
    color: var(--cp-forest);
    background: #e7efe9;
    font-size: 12px;
    font-weight: 900;
}

.cp-feature h2 {
    font-size: 34px;
    line-height: 1.2;
}

.cp-feature p {
    max-width: 520px;
}

.cp-business-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}

.cp-business-card {
    min-height: 270px;
    padding: 34px;
    border: 1px solid var(--cp-line);
    border-radius: 22px;
    background: #fff;
}

.cp-business-card--accent {
    color: #fff;
    border-color: var(--cp-forest);
    background: var(--cp-forest);
}

.cp-business-card--accent h2,
.cp-business-card--accent p,
.cp-business-card--accent .cp-section-kicker {
    color: #fff;
}

.cp-footer {
    padding: 54px 0 24px;
    color: rgba(255,255,255,0.86);
    background: #123321;
}

.cp-footer__grid {
    display: grid;
    grid-template-columns: 1.15fr 1.8fr .9fr;
    gap: 44px;
}

.cp-footer__brand {
    color: #fff;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: -0.03em;
}

.cp-footer__tagline {
    margin: 10px 0 6px;
    color: rgba(255,255,255,.72);
}

.cp-footer__family-label {
    margin: 0;
    color: #d6c8a7;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
}

.cp-footer__company,
.cp-footer__family {
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 13px;
}

.cp-footer__company strong,
.cp-footer__family strong {
    color: #fff;
    margin-bottom: 3px;
}

.cp-footer__family a {
    width: fit-content;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(255,255,255,.25);
}

.cp-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 38px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.62);
    font-size: 12px;
}

.cp-footer__copyright {
    margin-left: auto;
}

@media (max-width: 1050px) {
    .cp-nav {
        display: none;
    }

    .cp-login {
        margin-left: auto;
    }

    .cp-cards,
    .cp-business-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .cp-footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 720px) {
    .cp-container {
        width: min(calc(100% - 28px), var(--cp-container));
    }

    .cp-header__inner {
        min-height: 66px;
    }

    .cp-brand__text {
        font-size: 17px;
    }

    .cp-login {
        padding: 8px 13px;
    }

    .cp-hero {
        min-height: 660px;
    }

    .cp-hero__content {
        padding: 55px 0 70px;
    }

    .cp-hero h1 {
        font-size: 42px;
    }

    .cp-hero__lead {
        font-size: 16px;
    }

    .cp-search-row {
        flex-direction: column;
    }

    .cp-btn {
        min-height: 52px;
    }

    .cp-distance {
        display: grid;
        grid-template-columns: repeat(5, minmax(0,1fr));
        gap: 5px;
    }

    .cp-distance button {
        padding: 9px 4px;
        font-size: 11px;
    }

    .cp-category {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .cp-section {
        padding: 60px 0;
    }

    .cp-section-head {
        align-items: start;
    }

    .cp-section-head h2,
    .cp-feature h2 {
        font-size: 28px;
    }

    .cp-cards,
    .cp-feature-grid,
    .cp-business-grid,
    .cp-footer__grid {
        grid-template-columns: 1fr;
    }

    .cp-feature,
    .cp-business-card {
        min-height: 0;
        padding: 28px;
    }

    .cp-footer__copyright {
        width: 100%;
        margin-left: 0;
    }
}

/* CAMPINGZONE 1.0.2 CAMPSITE LIST */
.cp-page-hero {
    padding: 66px 0 38px;
    background:
        radial-gradient(circle at 82% 18%, rgba(215,119,44,.13), transparent 22%),
        linear-gradient(135deg, #f6f3eb 0%, #edf3ed 100%);
    border-bottom: 1px solid var(--cp-line);
}

.cp-page-hero__eyebrow {
    margin: 0 0 8px;
    color: var(--cp-forest-3);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
}

.cp-page-hero h1 {
    margin: 0;
    font-size: clamp(34px, 4vw, 54px);
    letter-spacing: -.05em;
}

.cp-page-hero p {
    max-width: 720px;
    margin: 14px 0 0;
    color: var(--cp-muted);
}

.cp-filter-panel {
    margin-top: 28px;
    padding: 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px 120px;
    gap: 10px;
    background: rgba(255,255,255,.95);
    border: 1px solid rgba(23,63,43,.08);
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(24,48,35,.07);
}

.cp-filter-panel input,
.cp-filter-panel select {
    width: 100%;
    min-height: 50px;
    padding: 0 15px;
    border: 1px solid var(--cp-line);
    border-radius: 12px;
    outline: 0;
    background: #fff;
    color: var(--cp-text);
}

.cp-filter-panel input:focus,
.cp-filter-panel select:focus {
    border-color: var(--cp-forest-3);
    box-shadow: 0 0 0 3px rgba(57,117,82,.10);
}

.cp-filter-panel button {
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--cp-forest);
    font-weight: 900;
}

.cp-list-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 22px;
}

.cp-list-meta strong {
    font-size: 19px;
}

.cp-list-meta span {
    color: var(--cp-muted);
    font-size: 13px;
}

.cp-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.cp-list-card {
    overflow: hidden;
    border: 1px solid var(--cp-line);
    border-radius: 20px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.cp-list-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(24,48,35,.10);
}

.cp-list-card__visual {
    position: relative;
    aspect-ratio: 16 / 10;
    background:
        radial-gradient(circle at 70% 30%, rgba(231,184,102,.26), transparent 25%),
        linear-gradient(145deg, #345e45 0%, #739071 52%, #c2ad78 100%);
}

.cp-list-card__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    background: rgba(18,51,33,.88);
    font-size: 11px;
    font-weight: 900;
}

.cp-list-card__body {
    padding: 18px;
}

.cp-list-card__body h2 {
    margin: 0;
    font-size: 19px;
    letter-spacing: -.025em;
}

.cp-list-card__address {
    margin: 7px 0 0;
    color: var(--cp-muted);
    font-size: 13px;
}

.cp-list-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px;
}

.cp-list-card__chips span {
    padding: 6px 8px;
    border-radius: 999px;
    color: var(--cp-forest);
    background: #edf4ee;
    font-size: 11px;
    font-weight: 800;
}

.cp-list-card__footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--cp-line);
    color: var(--cp-muted);
    font-size: 12px;
}

.cp-empty {
    min-height: 320px;
    display: grid;
    place-items: center;
    padding: 42px;
    text-align: center;
    border: 1px dashed #cfd8d0;
    border-radius: 22px;
    background: #fbfcfa;
}

.cp-empty__icon {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    margin: 0 auto 18px;
    border-radius: 22px;
    color: var(--cp-forest);
    background: #e9f1ea;
    font-size: 30px;
    font-weight: 900;
}

.cp-empty h2 {
    margin: 0;
    font-size: 24px;
}

.cp-empty p {
    max-width: 560px;
    margin: 10px auto 0;
    color: var(--cp-muted);
}

.cp-domain-summary {
    margin-top: 26px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
}

.cp-domain-summary article {
    padding: 18px;
    border: 1px solid var(--cp-line);
    border-radius: 16px;
    background: #fff;
}

.cp-domain-summary strong {
    display: block;
    color: var(--cp-forest);
    font-size: 24px;
}

.cp-domain-summary span {
    color: var(--cp-muted);
    font-size: 12px;
}

@media (max-width: 920px) {
    .cp-list-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .cp-filter-panel {
        grid-template-columns: 1fr 160px;
    }

    .cp-filter-panel button {
        min-height: 50px;
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .cp-page-hero {
        padding: 44px 0 28px;
    }

    .cp-filter-panel,
    .cp-list-grid,
    .cp-domain-summary {
        grid-template-columns: 1fr;
    }

    .cp-filter-panel button {
        grid-column: auto;
    }

    .cp-list-meta {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* CAMPINGZONE 1.0.3 MEMBER / AUTH */
.cp-header-user {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cp-header-user__join,
.cp-header-user__name {
    color: var(--cp-forest);
    font-size: 13px;
    font-weight: 850;
}

.cp-auth-page {
    min-height: calc(100vh - 76px);
    padding: 76px 0 90px;
    background:
        radial-gradient(circle at 10% 12%, rgba(57,117,82,.12), transparent 25%),
        radial-gradient(circle at 88% 22%, rgba(215,119,44,.10), transparent 23%),
        var(--cp-ivory);
}

.cp-auth-wrap {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(420px, .8fr);
    align-items: center;
    gap: 70px;
}

.cp-auth-wrap--login {
    min-height: 620px;
}

.cp-auth-intro h1 {
    margin: 0;
    font-size: clamp(40px, 5vw, 68px);
    line-height: 1.08;
    letter-spacing: -.055em;
}

.cp-auth-intro > p:not(.cp-page-hero__eyebrow) {
    max-width: 570px;
    margin: 22px 0 0;
    color: var(--cp-muted);
    font-size: 17px;
}

.cp-auth-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 30px;
}

.cp-auth-benefits span {
    padding: 9px 12px;
    border: 1px solid #dbe4db;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--cp-forest);
    font-size: 12px;
    font-weight: 850;
}

.cp-auth-card {
    padding: 34px;
    border: 1px solid rgba(23,63,43,.09);
    border-radius: 26px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 24px 70px rgba(24,48,35,.12);
}

.cp-auth-card h2 {
    margin: 0;
    font-size: 28px;
    letter-spacing: -.035em;
}

.cp-auth-card__lead {
    margin: 8px 0 24px;
    color: var(--cp-muted);
    font-size: 14px;
}

.cp-form {
    display: grid;
    gap: 16px;
}

.cp-field {
    display: grid;
    gap: 7px;
}

.cp-field > span {
    color: #33433a;
    font-size: 13px;
    font-weight: 850;
}

.cp-field input {
    width: 100%;
    min-height: 52px;
    padding: 0 14px;
    border: 1px solid var(--cp-line);
    border-radius: 12px;
    outline: 0;
    background: #fff;
    color: var(--cp-text);
}

.cp-field input:focus {
    border-color: var(--cp-forest-3);
    box-shadow: 0 0 0 3px rgba(57,117,82,.10);
}

.cp-field small {
    color: var(--cp-muted);
    font-size: 11px;
}

.cp-consent-box {
    display: grid;
    gap: 10px;
    padding: 15px;
    border-radius: 14px;
    background: #f6f8f5;
}

.cp-consent-box label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #4c5a52;
    font-size: 12px;
}

.cp-consent-box input {
    margin-top: 2px;
}

.cp-form-submit {
    min-height: 54px;
    border: 0;
    border-radius: 13px;
    color: #fff;
    background: var(--cp-forest);
    font-weight: 900;
}

.cp-form-submit:hover {
    background: var(--cp-forest-2);
}

.cp-auth-card__bottom {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--cp-line);
    color: var(--cp-muted);
    text-align: center;
    font-size: 13px;
}

.cp-auth-card__bottom a {
    color: var(--cp-forest);
    font-weight: 900;
}

.cp-form-alert {
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #eef4ef;
    color: var(--cp-forest);
    font-size: 13px;
    font-weight: 750;
}

.cp-form-alert--error {
    background: #fff0ee;
    color: #982f22;
}

.cp-form-alert--success {
    background: #eaf4ed;
    color: #215d3a;
}

.cp-mypage-hero {
    padding: 70px 0 50px;
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(217,167,89,.16), transparent 23%),
        linear-gradient(135deg, #173f2b 0%, #2f6647 100%);
}

.cp-mypage-hero .cp-page-hero__eyebrow {
    color: #dbe9df;
}

.cp-mypage-hero h1 {
    margin: 0;
    font-size: clamp(36px, 4vw, 56px);
    letter-spacing: -.05em;
}

.cp-mypage-hero p {
    margin: 12px 0 0;
    color: rgba(255,255,255,.75);
}

.cp-profile-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.cp-profile-summary > div {
    padding: 20px;
    border: 1px solid var(--cp-line);
    border-radius: 16px;
    background: #fff;
}

.cp-profile-summary__label {
    display: block;
    margin-bottom: 8px;
    color: var(--cp-muted);
    font-size: 11px;
    font-weight: 800;
}

.cp-profile-summary strong {
    color: var(--cp-text);
    font-size: 16px;
}

.cp-mypage-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 16px;
}

.cp-mypage-card {
    min-height: 240px;
    padding: 24px;
    border: 1px solid var(--cp-line);
    border-radius: 19px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.cp-mypage-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(24,48,35,.09);
}

.cp-mypage-card > span {
    color: var(--cp-forest-3);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
}

.cp-mypage-card h2 {
    margin: 12px 0 8px;
    font-size: 21px;
}

.cp-mypage-card p {
    margin: 0;
    color: var(--cp-muted);
    font-size: 13px;
}

.cp-mypage-card b {
    display: inline-block;
    margin-top: 25px;
    color: var(--cp-forest);
    font-size: 12px;
}

.cp-account-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 24px;
    padding: 24px;
    border: 1px solid var(--cp-line);
    border-radius: 18px;
    background: var(--cp-ivory);
}

.cp-account-card h2 {
    margin: 0;
    font-size: 18px;
}

.cp-account-card p {
    margin: 4px 0 0;
    color: var(--cp-muted);
    font-size: 13px;
}

.cp-account-card > a {
    padding: 10px 14px;
    border: 1px solid #d5ddd6;
    border-radius: 11px;
    background: #fff;
    color: var(--cp-forest);
    font-size: 12px;
    font-weight: 850;
}

@media (max-width: 1080px) {
    .cp-auth-wrap {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .cp-auth-intro {
        max-width: 760px;
    }

    .cp-profile-summary,
    .cp-mypage-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 720px) {
    .cp-header-user__join {
        display: none;
    }

    .cp-auth-page {
        padding: 46px 0 60px;
    }

    .cp-auth-wrap {
        grid-template-columns: 1fr;
    }

    .cp-auth-intro h1 {
        font-size: 38px;
    }

    .cp-auth-card {
        padding: 24px;
        border-radius: 20px;
    }

    .cp-profile-summary,
    .cp-mypage-grid {
        grid-template-columns: 1fr;
    }

    .cp-account-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* CAMPINGZONE 1.0.4 MAIN UX / VISUAL SYSTEM */
.cp-home {
    overflow: hidden;
}

.cp-home-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(115deg, rgba(13,45,28,.96) 0%, rgba(21,66,40,.91) 42%, rgba(28,75,48,.58) 72%, rgba(20,48,34,.54) 100%),
        #173f2b;
}

.cp-home-hero__content {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(520px, .9fr);
    align-items: center;
    gap: 70px;
    padding: 86px 0 96px;
}

.cp-home-eyebrow,
.cp-home-kicker {
    margin: 0 0 10px;
    color: #9fd0af;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-home-hero__copy h1 {
    margin: 0;
    max-width: 720px;
    font-size: clamp(54px, 5.8vw, 82px);
    line-height: 1.04;
    letter-spacing: -.065em;
}

.cp-home-hero__copy h1 em {
    color: #f0c889;
    font-style: normal;
}

.cp-home-hero__lead {
    max-width: 610px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 1.75;
}

.cp-home-hero__quick {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}

.cp-home-hero__quick span {
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    color: rgba(255,255,255,.77);
    background: rgba(255,255,255,.06);
    font-size: 11px;
    font-weight: 800;
    backdrop-filter: blur(10px);
}

.cp-home-search {
    position: relative;
    padding: 24px;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 28px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 30px 80px rgba(7,30,18,.28);
}

.cp-home-search__top {
    display: grid;
    grid-template-columns: minmax(0,1fr) 132px;
    gap: 10px;
}

.cp-home-search__input {
    min-height: 60px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 17px;
    border: 1px solid #dfe4de;
    border-radius: 15px;
    background: #fff;
}

.cp-home-search__icon {
    position: relative;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 2px solid #587066;
    border-radius: 50%;
}

.cp-home-search__icon::after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: -3px;
    width: 7px;
    height: 2px;
    border-radius: 999px;
    background: #587066;
    transform: rotate(45deg);
}

.cp-home-search__input input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #1f2924;
    font-size: 15px;
    font-weight: 700;
}

.cp-home-location {
    min-height: 60px;
    border: 0;
    border-radius: 15px;
    color: #fff;
    background: #173f2b;
    font-weight: 900;
}

.cp-home-location:disabled {
    cursor: wait;
    opacity: .8;
}

.cp-home-location__dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 7px;
    border: 2px solid #fff;
    border-radius: 50%;
}

.cp-home-location.is-loading .cp-home-location__dot {
    animation: cp-home-pulse 1s infinite;
}

.cp-home-location.is-ready {
    background: #2d7250;
}

.cp-home-location.is-error {
    background: #8b4e39;
}

@keyframes cp-home-pulse {
    0%, 100% { opacity: .35; transform: scale(.85); }
    50% { opacity: 1; transform: scale(1.18); }
}

.cp-home-search__group {
    display: grid;
    grid-template-columns: 82px minmax(0,1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
}

.cp-home-search__group > strong {
    color: #314038;
    font-size: 12px;
    font-weight: 900;
}

.cp-home-distance,
.cp-home-typechips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.cp-home-distance button,
.cp-home-typechips button {
    min-height: 37px;
    padding: 0 13px;
    border: 1px solid #dfe5df;
    border-radius: 999px;
    color: #536159;
    background: #fff;
    font-size: 12px;
    font-weight: 850;
}

.cp-home-distance button:hover,
.cp-home-typechips button:hover {
    border-color: #a8beb0;
    color: #173f2b;
}

.cp-home-distance button.is-active,
.cp-home-typechips button.is-active {
    border-color: #173f2b;
    color: #fff;
    background: #173f2b;
}

.cp-home-search__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e8ebe7;
}

.cp-home-search__bottom p {
    margin: 0;
    color: #7a857f;
    font-size: 11px;
    line-height: 1.5;
}

.cp-home-search__submit {
    min-width: 160px;
    min-height: 48px;
    border: 0;
    border-radius: 13px;
    color: #fff;
    background: #d7772c;
    font-weight: 950;
}

.cp-home-search__submit span {
    margin-left: 8px;
}

.cp-home-hero__art {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.cp-home-hero__sun {
    position: absolute;
    top: 105px;
    right: 13%;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(239,193,123,.34);
    box-shadow: 0 0 90px rgba(239,193,123,.24);
}

.cp-home-hero__ridge {
    position: absolute;
    left: 38%;
    width: 85%;
    border-radius: 50% 50% 0 0;
    transform: rotate(-4deg);
    transform-origin: center;
}

.cp-home-hero__ridge--far {
    right: -22%;
    bottom: 116px;
    height: 340px;
    background: linear-gradient(180deg, rgba(108,137,104,.30), rgba(48,86,61,.42));
    clip-path: polygon(0 77%, 8% 59%, 15% 67%, 22% 43%, 29% 58%, 37% 33%, 46% 51%, 55% 31%, 66% 52%, 75% 34%, 86% 59%, 100% 40%, 100% 100%, 0 100%);
}

.cp-home-hero__ridge--near {
    left: 48%;
    right: -15%;
    bottom: 60px;
    height: 300px;
    background: rgba(14,49,31,.62);
    clip-path: polygon(0 76%, 12% 54%, 22% 66%, 35% 41%, 47% 65%, 59% 47%, 70% 70%, 81% 50%, 100% 70%, 100% 100%, 0 100%);
}

.cp-home-hero__lake {
    position: absolute;
    right: -12%;
    bottom: -105px;
    width: 72%;
    height: 280px;
    border-radius: 50% 0 0 0;
    background:
        linear-gradient(180deg, rgba(201,218,202,.19), rgba(119,157,135,.12)),
        rgba(103,146,124,.18);
    transform: rotate(-4deg);
}

.cp-home-hero__tent {
    position: absolute;
    right: 8%;
    bottom: 100px;
    width: 220px;
    height: 150px;
    filter: drop-shadow(0 22px 28px rgba(0,0,0,.22));
}

.cp-home-hero__tent::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #c68955, #d6ac74);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.cp-home-hero__tent::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 2px;
    height: 148px;
    background: rgba(51,52,37,.48);
}

.cp-home-hero__tent span {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 0;
    width: 70px;
    height: 95px;
    transform: translateX(-50%);
    background: #6d4f38;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.cp-home-section {
    padding: 92px 0;
}

.cp-home-section--compact {
    position: relative;
    z-index: 4;
    margin-top: -44px;
    padding: 0 0 56px;
}

.cp-home-section--cream {
    background: #f7f3ea;
}

.cp-home-section--dark {
    color: #fff;
    background:
        radial-gradient(circle at 90% 18%, rgba(215,119,44,.15), transparent 23%),
        linear-gradient(135deg, #102f20 0%, #173f2b 58%, #214f37 100%);
}

.cp-home-shortcuts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    overflow: hidden;
    border: 1px solid #e3e7e2;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(23,63,43,.10);
}

.cp-home-shortcut {
    min-height: 112px;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 20px;
    border-right: 1px solid #e8ebe7;
}

.cp-home-shortcut:last-child {
    border-right: 0;
}

.cp-home-shortcut:hover {
    background: #f9fbf8;
}

.cp-home-shortcut__no {
    color: #9cac9f;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
}

.cp-home-shortcut strong {
    display: block;
    font-size: 15px;
}

.cp-home-shortcut p {
    margin: 4px 0 0;
    color: #758078;
    font-size: 11px;
}

.cp-home-shortcut i {
    color: #2d6e4d;
    font-style: normal;
}

.cp-home-sectionhead {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
    margin-bottom: 30px;
}

.cp-home-sectionhead h2 {
    margin: 0;
    font-size: 36px;
    letter-spacing: -.045em;
}

.cp-home-sectionhead > div > p:last-child {
    margin: 8px 0 0;
    color: #748078;
    font-size: 14px;
}

.cp-home-sectionhead > a {
    color: #173f2b;
    font-size: 13px;
    font-weight: 900;
}

.cp-home-sectionhead > a span {
    margin-left: 6px;
}

.cp-home-campgrid,
.cp-home-emptycards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 17px;
}

.cp-home-campcard {
    overflow: hidden;
    border: 1px solid #e2e6e1;
    border-radius: 20px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.cp-home-campcard:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(24,48,35,.10);
}

.cp-home-campcard__photo {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background:
        radial-gradient(circle at 74% 27%, rgba(242,196,123,.38), transparent 20%),
        linear-gradient(145deg, #385f49 0%, #739278 55%, #baa673 100%);
    background-size: cover;
    background-position: center;
}

.cp-home-campcard:nth-child(2) .cp-home-campcard__photo {
    background:
        radial-gradient(circle at 72% 20%, rgba(232,192,128,.32), transparent 20%),
        linear-gradient(145deg, #55727b 0%, #6e8b73 56%, #baaa7b 100%);
}

.cp-home-campcard:nth-child(3) .cp-home-campcard__photo {
    background:
        radial-gradient(circle at 72% 20%, rgba(228,184,111,.24), transparent 19%),
        linear-gradient(145deg, #2e5640 0%, #66805e 56%, #b78c58 100%);
}

.cp-home-campcard:nth-child(4) .cp-home-campcard__photo {
    background:
        radial-gradient(circle at 72% 25%, rgba(236,158,82,.30), transparent 18%),
        linear-gradient(145deg, #182f26 0%, #4f6651 52%, #8f6043 100%);
}

.cp-home-badge,
.cp-home-preview-label {
    position: absolute;
    top: 13px;
    left: 13px;
    z-index: 2;
    padding: 7px 9px;
    border-radius: 999px;
    color: #fff;
    background: rgba(15,54,34,.88);
    font-size: 10px;
    font-weight: 900;
}

.cp-home-campcard__heart {
    position: absolute;
    top: 13px;
    right: 13px;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
    color: #fff;
    background: rgba(0,0,0,.14);
    font-size: 19px;
    backdrop-filter: blur(7px);
}

.cp-home-campcard__body {
    padding: 17px;
}

.cp-home-campcard__title {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 10px;
}

.cp-home-campcard__title h3 {
    margin: 0;
    font-size: 17px;
    letter-spacing: -.025em;
}

.cp-home-campcard__title strong {
    flex: 0 0 auto;
    color: #d7772c;
    font-size: 11px;
}

.cp-home-campcard__body > p {
    min-height: 40px;
    margin: 7px 0 0;
    color: #77817b;
    font-size: 12px;
    line-height: 1.55;
}

.cp-home-cardchips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 12px;
}

.cp-home-cardchips span {
    padding: 5px 7px;
    border-radius: 999px;
    color: #245b3c;
    background: #edf4ee;
    font-size: 10px;
    font-weight: 850;
}

.cp-home-campcard__meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #ecefeb;
    color: #7f8983;
    font-size: 10px;
}

.cp-home-mini-tent {
    position: absolute;
    right: 20px;
    bottom: 16px;
    width: 95px;
    height: 70px;
    background: rgba(235,204,151,.92);
    clip-path: polygon(50% 0,100% 100%,0 100%);
}

.cp-home-mini-tent::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 30px;
    height: 44px;
    transform: translateX(-50%);
    background: rgba(87,63,45,.70);
    clip-path: polygon(50% 0,100% 100%,0 100%);
}

.cp-home-dual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cp-home-local,
.cp-home-field {
    min-height: 410px;
    padding: 34px;
    border: 1px solid rgba(23,63,43,.08);
    border-radius: 24px;
    background: #fff;
}

.cp-home-panelhead {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 20px;
}

.cp-home-panelhead h2 {
    margin: 0;
    font-size: 30px;
    letter-spacing: -.04em;
}

.cp-home-paneltag {
    padding: 7px 9px;
    border-radius: 999px;
    color: #245b3c;
    background: #e9f1ea;
    font-size: 10px;
    font-weight: 900;
}

.cp-home-paneltag--accent {
    color: #9b5420;
    background: #f7eadb;
}

.cp-home-local__lead {
    max-width: 560px;
    margin: 18px 0 0;
    color: #6f7a73;
    font-size: 14px;
}

.cp-home-regionchips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}

.cp-home-regionchips button {
    padding: 9px 13px;
    border: 1px solid #dfe5df;
    border-radius: 999px;
    color: #45534b;
    background: #fff;
    font-size: 12px;
    font-weight: 850;
}

.cp-home-regionchips button:hover {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-home-panelaction {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    padding-top: 18px;
    border-top: 1px solid #e5e9e4;
    color: #173f2b;
    font-size: 13px;
    font-weight: 900;
}

.cp-home-fieldfeed {
    display: grid;
    grid-template-columns: 170px minmax(0,1fr);
    gap: 20px;
    margin-top: 25px;
}

.cp-home-fieldfeed__photo {
    min-height: 180px;
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(20,61,39,.05), rgba(20,61,39,.20)),
        linear-gradient(135deg, #6d856d, #c1ae77);
}

.cp-home-fieldfeed__body {
    align-self: center;
}

.cp-home-fieldfeed__body strong {
    font-size: 17px;
}

.cp-home-fieldfeed__body p {
    margin: 9px 0 0;
    color: #707c75;
    font-size: 13px;
    line-height: 1.65;
}

.cp-home-fieldfeed__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 15px;
}

.cp-home-fieldfeed__tags span {
    padding: 5px 7px;
    border-radius: 999px;
    color: #8f552d;
    background: #f8eee2;
    font-size: 10px;
    font-weight: 850;
}

.cp-home-stylegrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
}

.cp-home-stylecard {
    position: relative;
    min-height: 190px;
    padding: 24px;
    overflow: hidden;
    border: 1px solid #e1e6e0;
    border-radius: 19px;
    background:
        linear-gradient(145deg, #fff 0%, #fbfcfa 100%);
}

.cp-home-stylecard::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -35px;
    width: 100px;
    height: 100px;
    border: 1px solid #e7ece7;
    border-radius: 50%;
}

.cp-home-stylecard > span {
    color: #6e8276;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-home-stylecard h3 {
    margin: 20px 0 7px;
    font-size: 20px;
}

.cp-home-stylecard p {
    max-width: 220px;
    margin: 0;
    color: #77817b;
    font-size: 12px;
}

.cp-home-stylecard i {
    position: absolute;
    left: 24px;
    bottom: 20px;
    color: #2d6e4d;
    font-style: normal;
}

.cp-home-stylecard:hover {
    border-color: #aabdae;
    background: #f7faf7;
}

.cp-home-creator {
    display: grid;
    grid-template-columns: 1fr .9fr;
    align-items: center;
    gap: 70px;
}

.cp-home-section--dark .cp-home-kicker {
    color: #b5d7bf;
}

.cp-home-creator__copy h2 {
    margin: 0;
    font-size: clamp(38px, 4.5vw, 58px);
    line-height: 1.12;
    letter-spacing: -.055em;
}

.cp-home-creator__copy > p:not(.cp-home-kicker) {
    max-width: 650px;
    margin: 20px 0 0;
    color: rgba(255,255,255,.72);
    line-height: 1.75;
}

.cp-home-creator__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
    margin-top: 32px;
}

.cp-home-creator__stats div {
    padding: 17px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.05);
}

.cp-home-creator__stats strong,
.cp-home-creator__stats span {
    display: block;
}

.cp-home-creator__stats strong {
    color: #fff;
    font-size: 13px;
}

.cp-home-creator__stats span {
    margin-top: 4px;
    color: rgba(255,255,255,.56);
    font-size: 10px;
}

.cp-home-creator__visual {
    position: relative;
    min-height: 380px;
}

.cp-home-video-card {
    position: absolute;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 23px;
    box-shadow: 0 25px 70px rgba(0,0,0,.22);
}

.cp-home-video-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 70% 25%, rgba(238,180,102,.35), transparent 22%),
        linear-gradient(145deg, #486b55, #263f33 60%, #8d6745);
}

.cp-home-video-card span {
    position: absolute;
    z-index: 2;
    left: 18px;
    bottom: 17px;
    color: rgba(255,255,255,.88);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
}

.cp-home-video-card--large {
    top: 0;
    right: 10%;
    width: 78%;
    height: 280px;
}

.cp-home-video-card--small {
    right: 0;
    bottom: 0;
    width: 48%;
    height: 180px;
    border: 6px solid #173f2b;
}

.cp-home-businessgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.cp-home-businesscard {
    min-height: 320px;
    padding: 38px;
    border: 1px solid #e0e5df;
    border-radius: 24px;
    background: #fff;
}

.cp-home-businesscard h2 {
    margin: 0;
    font-size: 34px;
    letter-spacing: -.045em;
}

.cp-home-businesscard > p:not(.cp-home-kicker) {
    max-width: 570px;
    margin: 15px 0 0;
    color: #6e7a73;
    line-height: 1.7;
}

.cp-home-businesscard > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 70px;
    padding-top: 18px;
    border-top: 1px solid #e5e9e4;
    color: #173f2b;
    font-size: 13px;
    font-weight: 900;
}

.cp-home-businesscard--brand {
    color: #fff;
    border-color: #173f2b;
    background:
        radial-gradient(circle at 86% 16%, rgba(240,188,111,.16), transparent 24%),
        #173f2b;
}

.cp-home-businesscard--brand .cp-home-kicker {
    color: #a9d0b5;
}

.cp-home-businesscard--brand > p:not(.cp-home-kicker) {
    color: rgba(255,255,255,.70);
}

.cp-home-businesscard--brand > a {
    color: #fff;
    border-top-color: rgba(255,255,255,.16);
}

@media (max-width: 1180px) {
    .cp-home-hero__content {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .cp-home-hero__copy {
        max-width: 830px;
    }

    .cp-home-search {
        max-width: 780px;
    }

    .cp-home-shortcuts {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .cp-home-shortcut:nth-child(2) {
        border-right: 0;
    }

    .cp-home-shortcut:nth-child(-n+2) {
        border-bottom: 1px solid #e8ebe7;
    }

    .cp-home-campgrid,
    .cp-home-emptycards,
    .cp-home-stylegrid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 900px) {
    .cp-home-dual,
    .cp-home-creator,
    .cp-home-businessgrid {
        grid-template-columns: 1fr;
    }

    .cp-home-creator__visual {
        min-height: 330px;
    }
}

@media (max-width: 720px) {
    .cp-home-hero {
        min-height: 760px;
    }

    .cp-home-hero__content {
        padding: 62px 0 90px;
    }

    .cp-home-hero__copy h1 {
        font-size: 45px;
    }

    .cp-home-hero__lead {
        font-size: 15px;
    }

    .cp-home-search {
        padding: 17px;
        border-radius: 21px;
    }

    .cp-home-search__top,
    .cp-home-search__group {
        grid-template-columns: 1fr;
    }

    .cp-home-search__group {
        gap: 8px;
    }

    .cp-home-search__bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-home-search__submit {
        width: 100%;
    }

    .cp-home-hero__tent {
        right: -30px;
        bottom: 80px;
        opacity: .42;
    }

    .cp-home-section {
        padding: 64px 0;
    }

    .cp-home-section--compact {
        margin-top: -28px;
        padding-top: 0;
    }

    .cp-home-shortcuts,
    .cp-home-campgrid,
    .cp-home-emptycards,
    .cp-home-stylegrid,
    .cp-home-creator__stats {
        grid-template-columns: 1fr;
    }

    .cp-home-shortcut {
        border-right: 0;
        border-bottom: 1px solid #e8ebe7;
    }

    .cp-home-shortcut:last-child {
        border-bottom: 0;
    }

    .cp-home-sectionhead {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-home-sectionhead h2 {
        font-size: 30px;
    }

    .cp-home-local,
    .cp-home-field,
    .cp-home-businesscard {
        min-height: 0;
        padding: 25px;
    }

    .cp-home-fieldfeed {
        grid-template-columns: 1fr;
    }

    .cp-home-fieldfeed__photo {
        min-height: 180px;
    }

    .cp-home-panelhead {
        flex-direction: column;
    }

    .cp-home-creator__copy h2 {
        font-size: 38px;
    }

    .cp-home-creator__visual {
        min-height: 290px;
    }

    .cp-home-video-card--large {
        left: 0;
        right: auto;
        width: 88%;
        height: 230px;
    }

    .cp-home-video-card--small {
        width: 55%;
        height: 145px;
    }

    .cp-home-businesscard h2 {
        font-size: 28px;
    }

    .cp-home-businesscard > a {
        margin-top: 42px;
    }
}

/* CAMPINGZONE 1.0.5 CAMPSITE DETAIL UX */
.cp-detail {
    background: #fff;
}

.cp-detail-previewbar {
    padding: 9px 0;
    color: #6a4a25;
    background: #fff2dc;
    border-bottom: 1px solid #f0dfc2;
    font-size: 12px;
}

.cp-detail-previewbar .cp-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cp-detail-previewbar strong {
    color: #9b5a23;
}

.cp-detail-head {
    padding: 34px 0 25px;
}

.cp-detail-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 25px;
    color: #8a938d;
    font-size: 11px;
}

.cp-detail-breadcrumb strong {
    color: #4f5b54;
}

.cp-detail-titlebar {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
}

.cp-detail-statusrow {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 10px;
}

.cp-detail-status {
    padding: 6px 9px;
    border-radius: 999px;
    color: #6d765f;
    background: #f0f2ec;
    font-size: 10px;
    font-weight: 900;
}

.cp-detail-status--official {
    color: #fff;
    background: #173f2b;
}

.cp-detail-titlebar h1 {
    margin: 0;
    color: #1f2924;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
    letter-spacing: -.052em;
}

.cp-detail-location {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 13px;
    color: #6f7b74;
    font-size: 13px;
}

.cp-detail-location button {
    padding: 0;
    border: 0;
    color: #245b3c;
    background: transparent;
    font-size: 12px;
    font-weight: 900;
}

.cp-detail-score {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid #e2e7e2;
    border-radius: 15px;
    background: #fafbf9;
}

.cp-detail-score strong {
    color: #d7772c;
    font-size: 16px;
}

.cp-detail-score span {
    color: #727d76;
    font-size: 11px;
}

.cp-detail-typechips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 22px;
}

.cp-detail-typechips span {
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    background: #173f2b;
    font-size: 11px;
    font-weight: 850;
}

.cp-detail-typechips .cp-detail-typechips__facility {
    color: #325742;
    background: #edf4ee;
}

.cp-detail-gallery {
    padding: 0 0 22px;
}

.cp-detail-gallery__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(260px, .7fr);
    gap: 10px;
    height: 470px;
}

.cp-detail-gallery__main,
.cp-detail-gallery__thumb {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 22%, rgba(241,191,118,.35), transparent 20%),
        linear-gradient(145deg, #416b52 0%, #789278 58%, #b4a071 100%);
    background-size: cover;
    background-position: center;
}

.cp-detail-gallery__main {
    border-radius: 22px 0 0 22px;
}

.cp-detail-gallery__side {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: 10px;
}

.cp-detail-gallery__thumb {
    border-radius: 0 14px 14px 0;
}

.cp-detail-gallery__thumb:nth-child(2) {
    background:
        radial-gradient(circle at 70% 22%, rgba(238,185,111,.28), transparent 20%),
        linear-gradient(145deg, #536f79, #788d73 58%, #b59d6f);
}

.cp-detail-gallery__thumb:nth-child(3) {
    background:
        radial-gradient(circle at 70% 22%, rgba(235,157,76,.30), transparent 20%),
        linear-gradient(145deg, #253b31, #596b52 58%, #946646);
}

.cp-detail-gallery__thumb > span {
    position: absolute;
    left: 13px;
    bottom: 12px;
    color: rgba(255,255,255,.9);
    font-size: 10px;
    font-weight: 900;
}

.cp-detail-gallery__thumb button {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    color: #fff;
    background: rgba(13,45,28,.65);
    font-size: 10px;
    font-weight: 900;
    backdrop-filter: blur(7px);
}

.cp-detail-gallery__placeholder {
    position: absolute;
    left: 28px;
    bottom: 28px;
    display: grid;
    gap: 4px;
}

.cp-detail-gallery__placeholder span {
    color: rgba(255,255,255,.74);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
}

.cp-detail-gallery__placeholder strong {
    color: #fff;
    font-size: 22px;
}

.cp-detail-actions {
    padding: 0 0 20px;
}

.cp-detail-actions__inner {
    display: flex;
    align-items: center;
    gap: 9px;
}

.cp-detail-action {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    border: 1px solid #dce3dc;
    border-radius: 13px;
    color: #244131;
    background: #fff;
    font-size: 12px;
    font-weight: 900;
}

button.cp-detail-action {
    cursor: pointer;
}

.cp-detail-action--primary {
    min-width: 118px;
    border-color: #d7772c;
    color: #fff;
    background: #d7772c;
}

.cp-detail-action.is-disabled {
    opacity: .52;
    cursor: default;
}

.cp-detail-price {
    margin-left: auto;
    text-align: right;
}

.cp-detail-price span,
.cp-detail-price strong {
    display: block;
}

.cp-detail-price span {
    color: #8b948e;
    font-size: 10px;
}

.cp-detail-price strong {
    margin-top: 2px;
    color: #1f2924;
    font-size: 20px;
    letter-spacing: -.03em;
}

.cp-detail-tabs {
    position: sticky;
    top: 76px;
    z-index: 60;
    border-top: 1px solid #e8ebe7;
    border-bottom: 1px solid #e1e6e1;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
}

.cp-detail-tabs .cp-container {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
}

.cp-detail-tabs .cp-container::-webkit-scrollbar {
    display: none;
}

.cp-detail-tabs a {
    flex: 0 0 auto;
    padding: 17px 21px;
    border-bottom: 3px solid transparent;
    color: #68736d;
    font-size: 12px;
    font-weight: 900;
}

.cp-detail-tabs a:hover,
.cp-detail-tabs a.is-active {
    color: #173f2b;
    border-bottom-color: #173f2b;
}

.cp-detail-body {
    padding: 48px 0 90px;
    background: #f8faf7;
}

.cp-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: start;
    gap: 24px;
}

.cp-detail-main {
    display: grid;
    gap: 20px;
}

.cp-detail-section {
    scroll-margin-top: 150px;
    padding: 30px;
    border: 1px solid #e3e8e3;
    border-radius: 22px;
    background: #fff;
}

.cp-detail-section__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 24px;
}

.cp-detail-section__head span {
    display: block;
    margin-bottom: 5px;
    color: #5d866d;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-detail-section__head h2 {
    margin: 0;
    font-size: 27px;
    letter-spacing: -.04em;
}

.cp-detail-section__head > p {
    margin: 0;
    color: #8a938d;
    font-size: 11px;
}

.cp-detail-infogrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
}

.cp-detail-infogrid article {
    min-height: 90px;
    display: grid;
    align-content: center;
    padding: 16px;
    border-radius: 14px;
    background: #f7f9f6;
}

.cp-detail-infogrid span,
.cp-detail-infogrid strong {
    display: block;
}

.cp-detail-infogrid span {
    color: #818b85;
    font-size: 10px;
}

.cp-detail-infogrid strong {
    margin-top: 5px;
    color: #26352d;
    font-size: 14px;
}

.cp-detail-description {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #e8ece8;
}

.cp-detail-description h3 {
    margin: 0;
    font-size: 15px;
}

.cp-detail-description p {
    margin: 10px 0 0;
    color: #69756e;
    font-size: 13px;
    line-height: 1.8;
}

.cp-detail-facilitygrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
}

.cp-detail-facilitygrid article {
    min-height: 100px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid #e6eae5;
    border-radius: 14px;
}

.cp-detail-facilityicon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #245b3c;
    background: #edf4ee;
    font-size: 13px;
    font-weight: 950;
}

.cp-detail-facilitygrid strong,
.cp-detail-facilitygrid span,
.cp-detail-facilitygrid small {
    display: block;
}

.cp-detail-facilitygrid strong {
    font-size: 12px;
}

.cp-detail-facilitygrid span {
    margin-top: 3px;
    color: #65816f;
    font-size: 10px;
}

.cp-detail-facilitygrid small {
    margin-top: 4px;
    color: #8b948e;
    font-size: 9px;
}

.cp-detail-inlineempty {
    padding: 24px;
    border: 1px dashed #d3dbd4;
    border-radius: 14px;
    color: #7e8982;
    background: #fbfcfa;
    text-align: center;
    font-size: 12px;
}

.cp-detail-photo-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 18px;
}

.cp-detail-photo-tabs button {
    padding: 8px 11px;
    border: 1px solid #dfe5df;
    border-radius: 999px;
    color: #657169;
    background: #fff;
    font-size: 10px;
    font-weight: 850;
}

.cp-detail-photo-tabs button.is-active {
    border-color: #173f2b;
    color: #fff;
    background: #173f2b;
}

.cp-detail-photogrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 9px;
}

.cp-detail-photogrid figure {
    position: relative;
    aspect-ratio: 1 / 1;
    margin: 0;
    overflow: hidden;
    border-radius: 14px;
    background:
        radial-gradient(circle at 70% 25%, rgba(240,187,108,.28), transparent 20%),
        linear-gradient(145deg, #58775f, #8b9979 60%, #b19a68);
    background-size: cover;
    background-position: center;
}

.cp-detail-photogrid figcaption {
    position: absolute;
    left: 10px;
    bottom: 10px;
    padding: 5px 7px;
    border-radius: 999px;
    color: #fff;
    background: rgba(18,52,33,.65);
    font-size: 9px;
    font-weight: 850;
}

.cp-detail-fieldcard {
    overflow: hidden;
    border: 1px solid #e4e9e4;
    border-radius: 17px;
}

.cp-detail-fieldcard__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 14px 16px;
    background: #f4f8f4;
}

.cp-detail-fieldcard__top > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cp-detail-fieldcard__top strong,
.cp-detail-fieldcard__top > span {
    font-size: 10px;
}

.cp-detail-fieldcard__top > span {
    color: #758078;
}

.cp-detail-fieldbadge {
    padding: 5px 7px;
    border-radius: 999px;
    color: #fff;
    background: #2e6e4d;
    font-size: 9px;
    font-weight: 900;
}

.cp-detail-fieldcard__body {
    padding: 22px;
}

.cp-detail-fieldcard__body h3 {
    margin: 0;
    font-size: 16px;
}

.cp-detail-fieldcard__body p {
    margin: 9px 0 0;
    color: #69756e;
    font-size: 12px;
    line-height: 1.7;
}

.cp-detail-fieldtags,
.cp-detail-sidechips,
.cp-detail-reviewtags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 15px;
}

.cp-detail-fieldtags span,
.cp-detail-sidechips span,
.cp-detail-reviewtags span {
    padding: 6px 8px;
    border-radius: 999px;
    color: #6a5b45;
    background: #f4eee4;
    font-size: 9px;
    font-weight: 850;
}

.cp-detail-reviewsummary {
    display: grid;
    grid-template-columns: 170px minmax(0,1fr);
    align-items: center;
    gap: 24px;
    margin-bottom: 16px;
}

.cp-detail-reviewscore {
    text-align: center;
}

.cp-detail-reviewscore strong,
.cp-detail-reviewscore span,
.cp-detail-reviewscore small {
    display: block;
}

.cp-detail-reviewscore strong {
    color: #1f2924;
    font-size: 46px;
    line-height: 1;
}

.cp-detail-reviewscore span {
    margin-top: 8px;
    color: #d7772c;
    letter-spacing: 2px;
}

.cp-detail-reviewscore small {
    margin-top: 6px;
    color: #89928d;
    font-size: 10px;
}

.cp-detail-reviewtags {
    margin-top: 0;
}

.cp-detail-reviewtags span {
    color: #315e45;
    background: #edf4ee;
}

.cp-detail-mapbox {
    display: grid;
    grid-template-columns: minmax(0,1.45fr) minmax(240px,.55fr);
    min-height: 320px;
    overflow: hidden;
    border: 1px solid #e1e6e1;
    border-radius: 17px;
}

.cp-detail-mapbox__visual {
    position: relative;
    display: grid;
    place-items: center;
    background:
        linear-gradient(34deg, transparent 48%, rgba(72,105,81,.11) 49%, rgba(72,105,81,.11) 51%, transparent 52%),
        linear-gradient(-28deg, transparent 48%, rgba(72,105,81,.09) 49%, rgba(72,105,81,.09) 51%, transparent 52%),
        #eef3ed;
    background-size: 85px 85px, 105px 105px, auto;
}

.cp-detail-mapbox__visual > span {
    position: absolute;
    left: 16px;
    bottom: 14px;
    color: #738078;
    font-size: 10px;
    font-weight: 850;
}

.cp-detail-map-pin {
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 50% 50% 50% 0;
    background: #d7772c;
    transform: rotate(-45deg);
    box-shadow: 0 9px 18px rgba(98,65,37,.18);
}

.cp-detail-map-pin::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 11px;
    left: 11px;
    border-radius: 50%;
    background: #fff;
}

.cp-detail-mapbox__info {
    display: grid;
    align-content: center;
    padding: 24px;
    background: #fff;
}

.cp-detail-mapbox__info strong {
    font-size: 15px;
}

.cp-detail-mapbox__info p {
    margin: 8px 0 0;
    color: #6f7b74;
    font-size: 11px;
    line-height: 1.6;
}

.cp-detail-mapbox__info code {
    display: block;
    margin-top: 12px;
    color: #617068;
    background: #f6f8f5;
    font-size: 9px;
}

.cp-detail-mapbox__info button {
    min-height: 42px;
    margin-top: 16px;
    border: 0;
    border-radius: 11px;
    color: #fff;
    background: #173f2b;
    font-size: 11px;
    font-weight: 900;
}

.cp-detail-aside {
    position: sticky;
    top: 142px;
    display: grid;
    gap: 14px;
}

.cp-detail-sidecard {
    padding: 22px;
    border: 1px solid #e2e7e2;
    border-radius: 18px;
    background: #fff;
}

.cp-detail-sidecard__label {
    display: block;
    margin-bottom: 7px;
    color: #6d8d77;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-detail-sidecard h2 {
    margin: 0;
    font-size: 18px;
    letter-spacing: -.03em;
}

.cp-detail-quicklist,
.cp-detail-businessinfo {
    margin: 18px 0 0;
}

.cp-detail-quicklist div,
.cp-detail-businessinfo div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid #edf0ed;
    font-size: 10px;
}

.cp-detail-quicklist div:last-child,
.cp-detail-businessinfo div:last-child {
    border-bottom: 0;
}

.cp-detail-quicklist dt,
.cp-detail-businessinfo dt {
    color: #8a938d;
}

.cp-detail-quicklist dd,
.cp-detail-businessinfo dd {
    margin: 0;
    color: #334139;
    text-align: right;
    font-weight: 850;
}

.cp-detail-sidecard__muted,
.cp-detail-sidecard--field p {
    margin: 14px 0 0;
    color: #707c75;
    font-size: 11px;
    line-height: 1.7;
}

.cp-detail-sidebutton {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    border-radius: 11px;
    color: #fff;
    background: #173f2b;
    font-size: 11px;
    font-weight: 900;
}

.cp-detail-sidecard--field {
    color: #fff;
    border-color: #173f2b;
    background:
        radial-gradient(circle at 85% 15%, rgba(230,177,101,.15), transparent 28%),
        #173f2b;
}

.cp-detail-sidecard--field .cp-detail-sidecard__label {
    color: #aed2b8;
}

.cp-detail-sidecard--field h2 {
    color: #fff;
}

.cp-detail-sidecard--field p {
    color: rgba(255,255,255,.68);
}

.cp-detail-sidecard--field .cp-detail-sidechips span {
    color: #fff;
    background: rgba(255,255,255,.10);
}

.cp-detail-empty {
    min-height: 680px;
    display: grid;
    place-items: center;
    padding: 70px 0;
    background: #f7f9f6;
}

.cp-detail-empty__card {
    max-width: 680px;
    margin: 0 auto;
    padding: 48px;
    border: 1px solid #e0e5e0;
    border-radius: 24px;
    background: #fff;
    text-align: center;
}

.cp-detail-empty__card > span {
    color: #6a8b75;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-detail-empty__card h1 {
    margin: 12px 0 0;
    font-size: 34px;
    letter-spacing: -.045em;
}

.cp-detail-empty__card p {
    margin: 14px 0 0;
    color: #748078;
    line-height: 1.7;
}

.cp-detail-empty__card > div {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}

.cp-detail-empty__card a {
    padding: 11px 14px;
    border-radius: 11px;
    color: #fff;
    background: #173f2b;
    font-size: 11px;
    font-weight: 900;
}

.cp-detail-empty__card a + a {
    color: #173f2b;
    background: #edf4ee;
}

@media (max-width: 1080px) {
    .cp-detail-gallery__grid {
        grid-template-columns: 1fr;
        height: auto;
    }

    .cp-detail-gallery__main {
        min-height: 410px;
        border-radius: 22px;
    }

    .cp-detail-gallery__side {
        grid-template-columns: repeat(3, minmax(0,1fr));
        grid-template-rows: none;
    }

    .cp-detail-gallery__thumb {
        min-height: 150px;
        border-radius: 14px;
    }

    .cp-detail-layout {
        grid-template-columns: 1fr;
    }

    .cp-detail-aside {
        position: static;
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .cp-detail-facilitygrid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-detail-head {
        padding-top: 25px;
    }

    .cp-detail-titlebar {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-detail-titlebar h1 {
        font-size: 36px;
    }

    .cp-detail-score {
        width: 100%;
        justify-content: space-between;
    }

    .cp-detail-gallery__main {
        min-height: 300px;
    }

    .cp-detail-gallery__side {
        grid-template-columns: 1fr 1fr;
    }

    .cp-detail-gallery__thumb:nth-child(3) {
        display: none;
    }

    .cp-detail-actions__inner {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .cp-detail-price {
        grid-column: 1 / -1;
        margin-left: 0;
        padding-top: 12px;
        border-top: 1px solid #e8ece8;
        text-align: left;
    }

    .cp-detail-tabs {
        top: 66px;
    }

    .cp-detail-tabs a {
        padding: 15px 16px;
    }

    .cp-detail-body {
        padding-top: 24px;
    }

    .cp-detail-section {
        padding: 22px;
        border-radius: 18px;
    }

    .cp-detail-section__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-detail-infogrid,
    .cp-detail-facilitygrid,
    .cp-detail-photogrid,
    .cp-detail-aside {
        grid-template-columns: 1fr 1fr;
    }

    .cp-detail-reviewsummary,
    .cp-detail-mapbox {
        grid-template-columns: 1fr;
    }

    .cp-detail-mapbox__visual {
        min-height: 250px;
    }
}

@media (max-width: 520px) {
    .cp-detail-gallery__side,
    .cp-detail-infogrid,
    .cp-detail-facilitygrid,
    .cp-detail-photogrid,
    .cp-detail-aside {
        grid-template-columns: 1fr;
    }

    .cp-detail-actions__inner {
        grid-template-columns: 1fr;
    }

    .cp-detail-price {
        grid-column: auto;
    }

    .cp-detail-empty__card {
        padding: 32px 22px;
    }

    .cp-detail-empty__card > div {
        flex-direction: column;
    }
}

/* CAMPINGZONE 1.0.6 ADMIN / CAMPSITE REGISTRY */
.cp-admin-shell {
    min-height: 700px;
    background: #f6f8f5;
}

.cp-admin-hero {
    padding: 62px 0;
    color: #fff;
    background:
        radial-gradient(circle at 88% 18%, rgba(222,168,90,.18), transparent 23%),
        linear-gradient(135deg, #123522 0%, #1b4931 100%);
}

.cp-admin-hero__inner,
.cp-admin-subhero__inner {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
}

.cp-admin-hero__inner > div > p {
    margin: 0 0 8px;
    color: #afd0b7;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-admin-hero h1,
.cp-admin-subhero h1 {
    margin: 0;
    letter-spacing: -.05em;
}

.cp-admin-hero h1 {
    font-size: clamp(36px, 4vw, 52px);
}

.cp-admin-hero__inner > div > span {
    display: block;
    margin-top: 10px;
    color: rgba(255,255,255,.66);
    font-size: 13px;
}

.cp-admin-hero__inner > a,
.cp-admin-primary,
.cp-admin-secondary {
    flex: 0 0 auto;
    padding: 12px 15px;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 900;
}

.cp-admin-hero__inner > a,
.cp-admin-primary {
    color: #173f2b;
    background: #fff;
}

.cp-admin-secondary {
    color: #173f2b;
    border: 1px solid #d9e1da;
    background: #fff;
}

.cp-admin-subhero {
    padding: 42px 0;
    border-bottom: 1px solid #e0e5e0;
    background: #fff;
}

.cp-admin-subhero__inner > div > a {
    display: inline-block;
    margin-bottom: 12px;
    color: #50745d;
    font-size: 11px;
    font-weight: 850;
}

.cp-admin-subhero h1 {
    color: #1f2924;
    font-size: 36px;
}

.cp-admin-subhero p {
    margin: 8px 0 0;
    color: #77817b;
    font-size: 12px;
}

.cp-admin-body {
    padding: 34px 0 80px;
}

.cp-admin-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
}

.cp-admin-stats article {
    padding: 20px;
    border: 1px solid #e1e6e1;
    border-radius: 16px;
    background: #fff;
}

.cp-admin-stats span,
.cp-admin-stats strong {
    display: block;
}

.cp-admin-stats span {
    color: #7d8881;
    font-size: 10px;
    font-weight: 800;
}

.cp-admin-stats strong {
    margin-top: 7px;
    color: #173f2b;
    font-size: 28px;
}

.cp-admin-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
    margin-top: 18px;
}

.cp-admin-card {
    min-height: 230px;
    padding: 24px;
    border: 1px solid #e1e6e1;
    border-radius: 18px;
    background: #fff;
}

.cp-admin-card > span {
    color: #6f8b78;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .15em;
}

.cp-admin-card h2 {
    margin: 14px 0 7px;
    font-size: 21px;
}

.cp-admin-card p {
    margin: 0;
    color: #748078;
    font-size: 12px;
    line-height: 1.7;
}

.cp-admin-card b {
    display: inline-block;
    margin-top: 30px;
    color: #245b3c;
    font-size: 11px;
}

.cp-admin-card--muted {
    opacity: .72;
}

.cp-admin-alert {
    margin-bottom: 18px;
    padding: 13px 15px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
}

.cp-admin-alert--success {
    color: #245c3c;
    background: #e9f4eb;
}

.cp-admin-alert--error {
    color: #9a3428;
    background: #fff0ee;
}

.cp-admin-filter {
    display: grid;
    grid-template-columns: minmax(0,1fr) 180px 100px;
    gap: 9px;
    padding: 14px;
    border: 1px solid #e1e6e1;
    border-radius: 16px;
    background: #fff;
}

.cp-admin-filter input,
.cp-admin-filter select,
.cp-admin-field input,
.cp-admin-field select,
.cp-admin-field textarea,
.cp-admin-facilityitem input[type="text"] {
    width: 100%;
    border: 1px solid #dfe5df;
    border-radius: 10px;
    outline: 0;
    background: #fff;
    color: #26352d;
}

.cp-admin-filter input,
.cp-admin-filter select {
    min-height: 44px;
    padding: 0 12px;
}

.cp-admin-filter button {
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #173f2b;
    font-weight: 900;
}

.cp-admin-listhead {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 22px 0 10px;
    color: #6e7a72;
    font-size: 11px;
}

.cp-admin-listhead strong {
    color: #26352d;
}

.cp-admin-tablewrap {
    overflow-x: auto;
    border: 1px solid #e0e5e0;
    border-radius: 16px;
    background: #fff;
}

.cp-admin-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
}

.cp-admin-table th,
.cp-admin-table td {
    padding: 14px;
    border-bottom: 1px solid #ecefec;
    text-align: left;
    vertical-align: middle;
    font-size: 11px;
}

.cp-admin-table th {
    color: #6f7b74;
    background: #f8faf8;
    font-size: 10px;
    font-weight: 900;
}

.cp-admin-table tbody tr:last-child td {
    border-bottom: 0;
}

.cp-admin-table td:first-child strong,
.cp-admin-table td:first-child span {
    display: block;
}

.cp-admin-table td:first-child strong {
    color: #26352d;
    font-size: 12px;
}

.cp-admin-table td:first-child span {
    margin-top: 4px;
    color: #859089;
    font-size: 10px;
}

.cp-admin-tablechips,
.cp-admin-rowactions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.cp-admin-tablechips span {
    padding: 4px 6px;
    border-radius: 999px;
    color: #315f46;
    background: #edf4ee;
    font-size: 9px;
    font-weight: 800;
}

.cp-admin-status {
    padding: 5px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

.cp-admin-status--published {
    color: #1f6340;
    background: #e7f4ea;
}

.cp-admin-status--draft {
    color: #776341;
    background: #f5efe4;
}

.cp-admin-status--hidden {
    color: #6f7170;
    background: #ededed;
}

.cp-admin-rowactions a {
    padding: 6px 8px;
    border: 1px solid #dae2da;
    border-radius: 8px;
    color: #245b3c;
    background: #fff;
    font-size: 9px;
    font-weight: 900;
}

.cp-admin-empty {
    padding: 70px 24px;
    border: 1px dashed #ccd6cd;
    border-radius: 17px;
    background: #fbfcfa;
    text-align: center;
}

.cp-admin-empty h2 {
    margin: 0;
    font-size: 23px;
}

.cp-admin-empty p {
    margin: 9px 0 0;
    color: #768179;
    font-size: 12px;
}

.cp-admin-empty a {
    display: inline-block;
    margin-top: 20px;
    padding: 11px 14px;
    border-radius: 10px;
    color: #fff;
    background: #173f2b;
    font-size: 11px;
    font-weight: 900;
}

.cp-admin-formlayout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 290px;
    align-items: start;
    gap: 18px;
}

.cp-admin-formmain {
    display: grid;
    gap: 16px;
}

.cp-admin-formsection,
.cp-admin-sidepanel {
    border: 1px solid #e0e5e0;
    border-radius: 18px;
    background: #fff;
}

.cp-admin-formsection {
    padding: 25px;
}

.cp-admin-formsection > header {
    display: flex;
    gap: 13px;
    margin-bottom: 22px;
}

.cp-admin-formsection > header > span {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #245b3c;
    background: #edf4ee;
    font-size: 9px;
    font-weight: 950;
}

.cp-admin-formsection h2 {
    margin: 0;
    font-size: 19px;
}

.cp-admin-formsection header p {
    margin: 4px 0 0;
    color: #7d8881;
    font-size: 10px;
}

.cp-admin-formgrid {
    display: grid;
    gap: 11px;
    margin-bottom: 12px;
}

.cp-admin-formgrid--2 {
    grid-template-columns: repeat(2, minmax(0,1fr));
}

.cp-admin-formgrid--3 {
    grid-template-columns: repeat(3, minmax(0,1fr));
}

.cp-admin-formgrid--4 {
    grid-template-columns: repeat(4, minmax(0,1fr));
}

.cp-admin-field {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

.cp-admin-field:last-child {
    margin-bottom: 0;
}

.cp-admin-field > span {
    color: #47564e;
    font-size: 10px;
    font-weight: 850;
}

.cp-admin-field input,
.cp-admin-field select {
    min-height: 44px;
    padding: 0 11px;
}

.cp-admin-field textarea {
    min-height: 110px;
    padding: 11px;
    resize: vertical;
    line-height: 1.65;
}

.cp-admin-field input:focus,
.cp-admin-field select:focus,
.cp-admin-field textarea:focus,
.cp-admin-facilityitem input[type="text"]:focus {
    border-color: #77a087;
    box-shadow: 0 0 0 3px rgba(57,117,82,.08);
}

.cp-admin-field--wide {
    grid-column: span 2;
}

.cp-admin-checkgrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 9px;
}

.cp-admin-checkgrid > label {
    min-height: 78px;
    display: flex;
    gap: 9px;
    padding: 12px;
    border: 1px solid #e3e7e3;
    border-radius: 12px;
}

.cp-admin-checkgrid input {
    margin-top: 3px;
}

.cp-admin-checkgrid strong,
.cp-admin-checkgrid small {
    display: block;
}

.cp-admin-checkgrid strong {
    font-size: 11px;
}

.cp-admin-checkgrid small {
    margin-top: 3px;
    color: #808b84;
    font-size: 9px;
    line-height: 1.5;
}

.cp-admin-facilitygroup + .cp-admin-facilitygroup {
    margin-top: 22px;
}

.cp-admin-facilitygroup h3 {
    margin: 0 0 9px;
    color: #4c5c53;
    font-size: 12px;
}

.cp-admin-facilitygrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}

.cp-admin-facilityitem {
    padding: 11px;
    border: 1px solid #e5e9e5;
    border-radius: 12px;
}

.cp-admin-facilityitem__check {
    display: flex;
    align-items: center;
    gap: 7px;
}

.cp-admin-facilityitem__check strong {
    font-size: 10px;
}

.cp-admin-facilityitem input[type="text"] {
    min-height: 36px;
    margin-top: 8px;
    padding: 0 9px;
    font-size: 9px;
}

.cp-admin-switch {
    min-height: 68px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px;
    border: 1px solid #dfe5df;
    border-radius: 11px;
}

.cp-admin-switch strong,
.cp-admin-switch small {
    display: block;
}

.cp-admin-switch strong {
    font-size: 11px;
}

.cp-admin-switch small {
    margin-top: 3px;
    color: #7d8881;
    font-size: 9px;
}

.cp-admin-formside {
    position: sticky;
    top: 100px;
    display: grid;
    gap: 12px;
}

.cp-admin-sidepanel {
    padding: 20px;
}

.cp-admin-sidepanel > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .15em;
}

.cp-admin-sidepanel h2 {
    margin: 8px 0 15px;
    font-size: 17px;
}

.cp-admin-sidepanel p {
    margin: 12px 0 0;
    color: #768179;
    font-size: 10px;
    line-height: 1.6;
}

.cp-admin-submit {
    width: 100%;
    min-height: 46px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #173f2b;
    font-size: 11px;
    font-weight: 900;
}

.cp-admin-idbox {
    margin-top: 12px;
    padding: 10px;
    border-radius: 9px;
    color: #245b3c;
    background: #edf4ee;
    font-size: 10px;
    font-weight: 900;
}

.cp-admin-bootstrap,
.cp-admin-denied {
    min-height: 720px;
    display: grid;
    place-items: center;
    padding: 70px 0;
    background:
        radial-gradient(circle at 15% 12%, rgba(57,117,82,.10), transparent 24%),
        #f6f8f5;
}

.cp-admin-bootstrap__card,
.cp-admin-denied__card {
    max-width: 620px;
    margin: 0 auto;
    padding: 38px;
    border: 1px solid #dfe5df;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(24,48,35,.10);
}

.cp-admin-bootstrap__card > span,
.cp-admin-denied__card > span {
    color: #6d8d77;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-admin-bootstrap__card h1,
.cp-admin-denied__card h1 {
    margin: 10px 0 0;
    font-size: 31px;
    letter-spacing: -.04em;
}

.cp-admin-bootstrap__card > p,
.cp-admin-denied__card > p {
    margin: 12px 0 0;
    color: #728078;
    font-size: 12px;
    line-height: 1.7;
}

.cp-admin-bootstrap__account {
    margin: 20px 0;
    padding: 14px;
    border-radius: 12px;
    background: #f4f7f3;
}

.cp-admin-bootstrap__account strong,
.cp-admin-bootstrap__account span {
    display: block;
}

.cp-admin-bootstrap__account strong {
    font-size: 13px;
}

.cp-admin-bootstrap__account span {
    margin-top: 3px;
    color: #758078;
    font-size: 10px;
}

.cp-admin-bootstrap__card small {
    display: block;
    margin-top: 13px;
    color: #919a94;
    text-align: center;
}

.cp-admin-denied__card a {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 13px;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 10px;
    font-weight: 900;
}

@media (max-width: 1050px) {
    .cp-admin-formlayout {
        grid-template-columns: 1fr;
    }

    .cp-admin-formside {
        position: static;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .cp-admin-stats {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .cp-admin-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-admin-hero__inner,
    .cp-admin-subhero__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-admin-stats,
    .cp-admin-grid,
    .cp-admin-formgrid--2,
    .cp-admin-formgrid--3,
    .cp-admin-formgrid--4,
    .cp-admin-checkgrid,
    .cp-admin-facilitygrid,
    .cp-admin-formside {
        grid-template-columns: 1fr;
    }

    .cp-admin-filter {
        grid-template-columns: 1fr;
    }

    .cp-admin-field--wide {
        grid-column: auto;
    }

    .cp-admin-formsection {
        padding: 20px;
    }

    .cp-admin-bootstrap__card,
    .cp-admin-denied__card {
        padding: 28px 22px;
    }
}

/* CAMPINGZONE 1.0.6.1 DEDICATED ADMIN AUTH */
.cp-admin-loginpage {
    min-height: 760px;
    display: grid;
    place-items: center;
    padding: 70px 0;
    background:
        radial-gradient(circle at 12% 16%, rgba(57,117,82,.10), transparent 25%),
        radial-gradient(circle at 88% 17%, rgba(215,119,44,.09), transparent 23%),
        #f4f7f3;
}

.cp-admin-loginbox {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    max-width: 900px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #dfe5df;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(22,53,35,.13);
}

.cp-admin-loginbox__brand {
    min-height: 520px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 34px;
    color: #fff;
    background:
        radial-gradient(circle at 70% 18%, rgba(234,181,102,.22), transparent 26%),
        linear-gradient(145deg, #123522 0%, #1d4b33 64%, #29583d 100%);
}

.cp-admin-loginbox__brand > span {
    color: #afd1b8;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .18em;
}

.cp-admin-loginbox__brand > strong {
    margin-top: 8px;
    font-size: 28px;
    letter-spacing: -.04em;
}

.cp-admin-loginbox__brand > p {
    margin: 8px 0 0;
    color: rgba(255,255,255,.62);
    font-size: 11px;
}

.cp-admin-loginbox__form {
    padding: 44px;
}

.cp-admin-loginbox__eyebrow {
    color: #6d8e77;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-admin-loginbox__form h1 {
    margin: 10px 0 0;
    font-size: 32px;
    letter-spacing: -.045em;
}

.cp-admin-loginbox__form > p {
    margin: 10px 0 24px;
    color: #748078;
    font-size: 12px;
    line-height: 1.65;
}

.cp-admin-loginbox__form > form {
    display: grid;
    gap: 4px;
}

.cp-admin-loginbox__form > small {
    display: block;
    margin-top: 14px;
    color: #929b95;
    font-size: 9px;
    text-align: center;
}

.cp-admin-loginbox--password .cp-admin-loginbox__brand {
    background:
        radial-gradient(circle at 70% 18%, rgba(234,181,102,.22), transparent 26%),
        linear-gradient(145deg, #4b3021 0%, #74482b 64%, #94623b 100%);
}

.cp-admin-heroactions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.cp-admin-heroactions a {
    padding: 11px 13px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 10px;
    color: #fff;
    background: rgba(255,255,255,.07);
    font-size: 10px;
    font-weight: 900;
}

.cp-admin-heroactions a:first-child {
    color: #173f2b;
    border-color: #fff;
    background: #fff;
}

@media (max-width: 760px) {
    .cp-admin-loginbox {
        grid-template-columns: 1fr;
    }

    .cp-admin-loginbox__brand {
        min-height: 180px;
        padding: 25px;
    }

    .cp-admin-loginbox__form {
        padding: 28px 22px;
    }

    .cp-admin-heroactions {
        justify-content: flex-start;
    }
}

/* CAMPINGZONE 1.0.7 CAMPSITE PHOTO MANAGER */
.cp-photo-uploadbox {
    padding: 24px;
    border: 1px solid #dfe5df;
    border-radius: 18px;
    background: #fff;
}

.cp-photo-uploadbox__head {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 24px;
    margin-bottom: 20px;
}

.cp-photo-uploadbox__head > div:first-child > span {
    color: #70907a;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-photo-uploadbox__head h2 {
    margin: 7px 0 0;
    font-size: 21px;
}

.cp-photo-uploadbox__head p {
    margin: 6px 0 0;
    color: #7a857e;
    font-size: 10px;
}

.cp-photo-uploadbox__rule {
    max-width: 400px;
    padding: 11px 13px;
    border-radius: 11px;
    color: #6e5b3e;
    background: #faf3e7;
    font-size: 10px;
    line-height: 1.6;
}

.cp-photo-uploadform {
    display: grid;
    grid-template-columns: 180px minmax(0,1fr) 170px;
    align-items: end;
    gap: 10px;
}

.cp-photo-uploadform .cp-admin-field {
    margin-bottom: 0;
}

.cp-photo-drop {
    min-height: 78px;
    display: grid;
    align-content: center;
    gap: 3px;
    padding: 13px 16px;
    border: 1px dashed #aebeb1;
    border-radius: 12px;
    background: #f8faf7;
    cursor: pointer;
}

.cp-photo-drop input {
    width: 100%;
    margin-bottom: 5px;
    font-size: 10px;
}

.cp-photo-drop strong {
    color: #2f4d3b;
    font-size: 11px;
}

.cp-photo-drop span {
    color: #849087;
    font-size: 9px;
}

.cp-photo-listhead {
    margin: 24px 0 12px;
}

.cp-photo-listhead strong,
.cp-photo-listhead span {
    display: block;
}

.cp-photo-listhead strong {
    color: #26352d;
    font-size: 13px;
}

.cp-photo-listhead span {
    margin-top: 4px;
    color: #7f8983;
    font-size: 10px;
}

.cp-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
}

.cp-photo-card {
    overflow: hidden;
    border: 1px solid #e0e5e0;
    border-radius: 17px;
    background: #fff;
}

.cp-photo-card.is-primary {
    border-color: #77a087;
    box-shadow: 0 0 0 2px rgba(57,117,82,.07);
}

.cp-photo-card__image {
    position: relative;
    aspect-ratio: 4 / 3;
    background: #edf1ed center / cover no-repeat;
}

.cp-photo-card__primary,
.cp-photo-card__index {
    position: absolute;
    top: 11px;
    padding: 6px 8px;
    border-radius: 999px;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    backdrop-filter: blur(7px);
}

.cp-photo-card__primary {
    left: 11px;
    background: rgba(23,63,43,.88);
}

.cp-photo-card__index {
    right: 11px;
    min-width: 28px;
    text-align: center;
    background: rgba(0,0,0,.38);
}

.cp-photo-card__body {
    padding: 14px;
}

.cp-photo-card__meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.cp-photo-card__meta strong {
    color: #2c3d33;
    font-size: 11px;
}

.cp-photo-card__meta span {
    color: #89938d;
    font-size: 9px;
}

.cp-photo-metaform {
    display: grid;
    grid-template-columns: 105px minmax(0,1fr) 72px;
    gap: 6px;
    margin-top: 12px;
}

.cp-photo-metaform select,
.cp-photo-metaform input,
.cp-photo-metaform button {
    min-height: 35px;
    border: 1px solid #dfe5df;
    border-radius: 8px;
    font-size: 9px;
}

.cp-photo-metaform select,
.cp-photo-metaform input {
    padding: 0 8px;
    background: #fff;
}

.cp-photo-metaform button {
    color: #245b3c;
    background: #edf4ee;
    font-weight: 900;
}

.cp-photo-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #edf0ed;
}

.cp-photo-card__actions form {
    margin: 0;
}

.cp-photo-card__actions button {
    min-height: 31px;
    padding: 0 8px;
    border: 1px solid #dce3dc;
    border-radius: 8px;
    color: #385244;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
}

.cp-photo-card__actions button:disabled {
    opacity: .35;
    cursor: default;
}

.cp-photo-card__actions button.is-danger {
    color: #97392e;
    border-color: #f0d1cd;
    background: #fff6f5;
}

@media (max-width: 1050px) {
    .cp-photo-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .cp-photo-uploadform {
        grid-template-columns: 160px minmax(0,1fr);
    }

    .cp-photo-uploadform > .cp-admin-submit {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .cp-photo-uploadbox__head {
        flex-direction: column;
    }

    .cp-photo-uploadform,
    .cp-photo-grid,
    .cp-photo-metaform {
        grid-template-columns: 1fr;
    }

    .cp-photo-uploadform > .cp-admin-submit {
        grid-column: auto;
    }

    .cp-photo-card__meta {
        flex-direction: column;
    }
}

/* CAMPINGZONE 1.0.8 LOCATION / ADDRESS UX */
.cp-location-searchrow {
    display: grid;
    grid-template-columns: 150px minmax(0,1fr) 120px;
    gap: 9px;
    align-items: end;
    margin-bottom: 12px;
}

.cp-location-searchrow .cp-admin-field {
    margin-bottom: 0;
}

.cp-location-addressbutton,
.cp-location-currentbutton {
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #173f2b;
    font-size: 10px;
    font-weight: 900;
}

.cp-location-currentbutton {
    background: #2f6e4e;
}

.cp-location-addressbutton:disabled,
.cp-location-currentbutton:disabled {
    opacity: .55;
    cursor: wait;
}

.cp-location-status {
    margin-top: -3px;
    margin-bottom: 13px;
    padding: 9px 11px;
    border-radius: 9px;
    color: #728078;
    background: #f5f7f4;
    font-size: 9px;
}

.cp-location-status[data-state="ok"] {
    color: #265f40;
    background: #eaf4ec;
}

.cp-location-status[data-state="error"] {
    color: #96392e;
    background: #fff0ee;
}

.cp-location-status[data-state="loading"] {
    color: #78613f;
    background: #faf3e6;
}

.cp-location-coordinatebox {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) 140px;
    gap: 9px;
    align-items: end;
}

.cp-location-coordinatebox .cp-admin-field {
    margin-bottom: 0;
}

.cp-location-helper {
    margin-top: 13px;
    padding: 13px;
    border: 1px solid #e2e7e2;
    border-radius: 11px;
    background: #fbfcfa;
}

.cp-location-helper strong,
.cp-location-helper span {
    display: block;
}

.cp-location-helper strong {
    color: #3a4b41;
    font-size: 10px;
}

.cp-location-helper span {
    margin-top: 4px;
    color: #7a857e;
    font-size: 9px;
    line-height: 1.6;
}

@media (max-width: 760px) {
    .cp-location-searchrow,
    .cp-location-coordinatebox {
        grid-template-columns: 1fr;
    }
}

/* CAMPINGZONE 1.0.9 GOCAMPING IMPORT */
.cp-gc-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.cp-gc-stats article {
    padding: 18px;
    border: 1px solid #e0e5e0;
    border-radius: 15px;
    background: #fff;
}

.cp-gc-stats span,
.cp-gc-stats strong {
    display: block;
}

.cp-gc-stats span {
    color: #7d8881;
    font-size: 9px;
    font-weight: 850;
}

.cp-gc-stats strong {
    margin-top: 7px;
    color: #173f2b;
    font-size: 25px;
}

.cp-gc-stats strong.cp-gc-date {
    font-size: 14px;
}

.cp-gc-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 300px;
    align-items: start;
    gap: 15px;
}

.cp-gc-main,
.cp-gc-side {
    display: grid;
    gap: 13px;
}

.cp-gc-side {
    position: sticky;
    top: 95px;
}

.cp-gc-card,
.cp-gc-sidecard {
    padding: 22px;
    border: 1px solid #e0e5e0;
    border-radius: 17px;
    background: #fff;
}

.cp-gc-card > header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 20px;
    margin-bottom: 18px;
}

.cp-gc-card > header span,
.cp-gc-sidecard > span {
    color: #70907a;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-gc-card h2,
.cp-gc-sidecard h2 {
    margin: 7px 0 0;
    color: #26352d;
}

.cp-gc-card h2 {
    font-size: 20px;
}

.cp-gc-sidecard h2 {
    font-size: 16px;
}

.cp-gc-card header p {
    margin: 5px 0 0;
    color: #7b867f;
    font-size: 10px;
    line-height: 1.6;
}

.cp-gc-card header > b {
    flex: 0 0 auto;
    padding: 6px 8px;
    border-radius: 999px;
    font-size: 8px;
}

.cp-gc-card header > b.is-ok {
    color: #23603e;
    background: #e8f4eb;
}

.cp-gc-card header > b.is-warn {
    color: #885a20;
    background: #faf0df;
}

.cp-gc-keyform {
    display: grid;
    grid-template-columns: minmax(0,1fr) 140px;
    align-items: end;
    gap: 8px;
}

.cp-gc-keyform .cp-admin-field {
    margin: 0;
}

.cp-gc-testrow {
    display: grid;
    grid-template-columns: 130px minmax(0,1fr);
    gap: 9px;
    align-items: center;
}

.cp-gc-button {
    min-height: 42px;
    padding: 0 13px;
    border: 1px solid #d9e1da;
    border-radius: 10px;
    color: #315442;
    background: #fff;
    font-size: 10px;
    font-weight: 900;
}

.cp-gc-button--primary {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-gc-button:disabled {
    opacity: .42;
    cursor: default;
}

.cp-gc-result {
    padding: 11px 12px;
    border-radius: 10px;
    color: #647168;
    background: #f5f7f4;
    font-size: 10px;
}

.cp-gc-policy {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
}

.cp-gc-policy div {
    min-height: 85px;
    padding: 12px;
    border: 1px solid #e5e9e5;
    border-radius: 11px;
    background: #fafbf9;
}

.cp-gc-policy strong,
.cp-gc-policy span {
    display: block;
}

.cp-gc-policy strong {
    color: #385046;
    font-size: 10px;
}

.cp-gc-policy span {
    margin-top: 5px;
    color: #7e8982;
    font-size: 9px;
    line-height: 1.5;
}

.cp-gc-progress {
    margin-top: 18px;
}

.cp-gc-progress__track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8ece8;
}

.cp-gc-progress__track span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #2f6e4e;
    transition: width .25s ease;
}

.cp-gc-progress__meta {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 7px;
    color: #78837c;
    font-size: 9px;
}

.cp-gc-progress__meta strong {
    color: #425148;
}

.cp-gc-syncactions {
    display: flex;
    gap: 7px;
    margin-top: 16px;
}

.cp-gc-log {
    height: 155px;
    overflow: auto;
    margin-top: 12px;
    padding: 12px;
    white-space: pre-wrap;
    border-radius: 10px;
    color: #b7cabc;
    background: #13271b;
    font: 10px/1.65 Consolas, monospace;
}

.cp-gc-sidecard dl {
    margin: 14px 0 0;
}

.cp-gc-sidecard dl div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #edf0ed;
    font-size: 9px;
}

.cp-gc-sidecard dl div:last-child {
    border-bottom: 0;
}

.cp-gc-sidecard dt {
    color: #89938d;
}

.cp-gc-sidecard dd {
    margin: 0;
    color: #36463d;
    text-align: right;
    font-weight: 850;
}

.cp-gc-sidecard > p {
    margin: 12px 0 0;
    color: #748078;
    font-size: 10px;
    line-height: 1.65;
}

.cp-gc-sidecard--protect {
    color: #fff;
    border-color: #173f2b;
    background:
        radial-gradient(circle at 85% 10%, rgba(223,169,88,.15), transparent 25%),
        #173f2b;
}

.cp-gc-sidecard--protect > span {
    color: #afd0b7;
}

.cp-gc-sidecard--protect h2 {
    color: #fff;
}

.cp-gc-sidecard--protect > p {
    color: rgba(255,255,255,.67);
}

.cp-gc-sidecard--protect > div {
    margin-top: 12px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px;
    background: rgba(255,255,255,.04);
}

.cp-gc-sidecard--protect strong,
.cp-gc-sidecard--protect i {
    display: block;
}

.cp-gc-sidecard--protect strong {
    font-size: 9px;
}

.cp-gc-sidecard--protect i {
    margin-top: 3px;
    color: rgba(255,255,255,.56);
    font-size: 8px;
    font-style: normal;
}

@media (max-width: 980px) {
    .cp-gc-layout {
        grid-template-columns: 1fr;
    }

    .cp-gc-side {
        position: static;
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

@media (max-width: 720px) {
    .cp-gc-stats,
    .cp-gc-policy,
    .cp-gc-side,
    .cp-gc-keyform,
    .cp-gc-testrow {
        grid-template-columns: 1fr;
    }

    .cp-gc-card > header {
        flex-direction: column;
    }

    .cp-gc-syncactions {
        flex-direction: column;
    }
}

/* CAMPINGZONE 1.0.10 NATIONWIDE SEARCH / DISTANCE */
.cp-search-page {
    background: #f7f9f6;
}

.cp-search-hero {
    padding: 48px 0 32px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(223,168,89,.17), transparent 25%),
        linear-gradient(135deg, #123522 0%, #1b4931 100%);
}

.cp-search-hero__top {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
}

.cp-search-hero__top > div:first-child > p {
    margin: 0 0 8px;
    color: #afd0b7;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .17em;
}

.cp-search-hero h1 {
    margin: 0;
    font-size: clamp(36px, 4vw, 52px);
    letter-spacing: -.055em;
}

.cp-search-hero__top > div:first-child > span {
    display: block;
    max-width: 680px;
    margin-top: 10px;
    color: rgba(255,255,255,.67);
    font-size: 12px;
    line-height: 1.7;
}

.cp-search-hero__count {
    flex: 0 0 auto;
    min-width: 125px;
    padding: 15px 17px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 14px;
    background: rgba(255,255,255,.07);
    text-align: right;
}

.cp-search-hero__count strong,
.cp-search-hero__count span {
    display: block;
}

.cp-search-hero__count strong {
    font-size: 25px;
}

.cp-search-hero__count span {
    margin-top: 3px;
    color: rgba(255,255,255,.62);
    font-size: 9px;
}

.cp-search-panel {
    margin-top: 30px;
    padding: 18px;
    border-radius: 18px;
    color: #26352d;
    background: #fff;
    box-shadow: 0 18px 55px rgba(3,30,15,.13);
}

.cp-search-panel__primary {
    display: grid;
    grid-template-columns: minmax(240px,1.6fr) repeat(3,minmax(135px,.65fr));
    gap: 8px;
}

.cp-search-panel label {
    display: grid;
    gap: 6px;
}

.cp-search-panel label > span,
.cp-search-panel__label {
    color: #647168;
    font-size: 9px;
    font-weight: 850;
}

.cp-search-panel input[type="search"],
.cp-search-panel select {
    width: 100%;
    min-height: 45px;
    padding: 0 11px;
    border: 1px solid #dfe5df;
    border-radius: 10px;
    outline: 0;
    color: #26352d;
    background: #fff;
}

.cp-search-panel input:focus,
.cp-search-panel select:focus {
    border-color: #75a087;
    box-shadow: 0 0 0 3px rgba(57,117,82,.08);
}

.cp-search-panel__location {
    display: grid;
    grid-template-columns: minmax(0,1fr) 125px minmax(220px,.7fr);
    align-items: end;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #edf0ed;
}

.cp-search-distance {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}

.cp-search-distance button {
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #dce3dc;
    border-radius: 999px;
    color: #597065;
    background: #fff;
    font-size: 9px;
    font-weight: 900;
}

.cp-search-distance button.is-active {
    color: #fff;
    border-color: #2f6e4e;
    background: #2f6e4e;
}

.cp-search-current {
    min-height: 42px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #d7772c;
    font-size: 9px;
    font-weight: 900;
}

.cp-search-current:disabled {
    opacity: .5;
}

.cp-search-locationstatus {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 0 11px;
    border-radius: 10px;
    color: #6f7b74;
    background: #f4f7f3;
    font-size: 9px;
}

.cp-search-locationstatus[data-state="ok"] {
    color: #245e3d;
    background: #e9f4eb;
}

.cp-search-locationstatus[data-state="error"] {
    color: #96392e;
    background: #fff0ee;
}

.cp-search-locationstatus[data-state="loading"] {
    color: #775f3d;
    background: #faf2e4;
}

.cp-search-panel__submit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-top: 13px;
}

.cp-search-panel__submit span {
    color: #879189;
    font-size: 9px;
}

.cp-search-panel__submit .cp-search-warning {
    color: #a26025;
}

.cp-search-panel__submit button {
    min-width: 140px;
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #173f2b;
    font-size: 11px;
    font-weight: 900;
}

.cp-search-quick {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
}

.cp-search-quick > span {
    margin-right: 3px;
    color: rgba(255,255,255,.54);
    font-size: 9px;
}

.cp-search-quick a {
    padding: 6px 8px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    color: rgba(255,255,255,.88);
    background: rgba(255,255,255,.06);
    font-size: 9px;
    font-weight: 850;
}

.cp-search-results {
    padding: 31px 0 85px;
}

.cp-search-results__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 14px;
}

.cp-search-results__head > div strong,
.cp-search-results__head > div span {
    display: block;
}

.cp-search-results__head strong {
    color: #26352d;
    font-size: 15px;
}

.cp-search-results__head span {
    margin-top: 4px;
    color: #7f8983;
    font-size: 9px;
}

.cp-search-sort select {
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid #dce3dc;
    border-radius: 9px;
    color: #3e5046;
    background: #fff;
    font-size: 9px;
    font-weight: 850;
}

.cp-search-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 13px;
}

.cp-search-card {
    overflow: hidden;
    border: 1px solid #e0e5e0;
    border-radius: 17px;
    background: #fff;
    transition: transform .16s ease, box-shadow .16s ease;
}

.cp-search-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 35px rgba(25,52,37,.10);
}

.cp-search-card__image {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background:
        radial-gradient(circle at 74% 20%, rgba(235,183,102,.28), transparent 20%),
        linear-gradient(145deg,#56775f,#8a9878 60%,#b29a69);
    background-size: cover;
    background-position: center;
}

.cp-search-card__badges {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5px;
}

.cp-search-card__badges span {
    padding: 5px 7px;
    border-radius: 999px;
    color: #fff;
    background: rgba(23,63,43,.78);
    font-size: 8px;
    font-weight: 900;
    backdrop-filter: blur(7px);
}

.cp-search-card__badges span.is-official {
    background: rgba(215,119,44,.90);
}

.cp-search-card__badges span.is-distance {
    margin-left: auto;
    background: rgba(18,40,27,.76);
}

.cp-search-card__placeholder {
    position: absolute;
    left: 14px;
    bottom: 13px;
    color: rgba(255,255,255,.74);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .12em;
}

.cp-search-card__body {
    padding: 14px;
}

.cp-search-card__region {
    color: #698173;
    font-size: 8px;
    font-weight: 900;
}

.cp-search-card h2 {
    margin: 6px 0 0;
    color: #26352d;
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: -.025em;
}

.cp-search-card__body > p {
    min-height: 32px;
    margin: 7px 0 0;
    color: #7a857e;
    font-size: 9px;
    line-height: 1.6;
}

.cp-search-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 10px;
}

.cp-search-card__chips span {
    padding: 5px 6px;
    border-radius: 999px;
    color: #315f46;
    background: #edf4ee;
    font-size: 8px;
    font-weight: 850;
}

.cp-search-card__footer {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid #edf0ed;
    color: #808b84;
    font-size: 8px;
}

.cp-search-card__footer strong {
    color: #315e45;
    font-weight: 900;
}

.cp-search-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin-top: 28px;
}

.cp-search-pagination a {
    min-width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    padding: 0 9px;
    border: 1px solid #dce3dc;
    border-radius: 9px;
    color: #506158;
    background: #fff;
    font-size: 9px;
    font-weight: 850;
}

.cp-search-pagination a.is-active {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-search-empty {
    padding: 75px 24px;
    border: 1px dashed #cfd8d0;
    border-radius: 18px;
    background: #fff;
    text-align: center;
}

.cp-search-empty strong {
    color: #26352d;
    font-size: 20px;
}

.cp-search-empty p {
    margin: 8px 0 0;
    color: #7d8881;
    font-size: 11px;
}

.cp-search-empty a {
    display: inline-block;
    margin-top: 18px;
    padding: 10px 13px;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 10px;
    font-weight: 900;
}

@media (max-width: 1100px) {
    .cp-search-panel__primary {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-search-panel__location {
        grid-template-columns: minmax(0,1fr) 130px;
    }

    .cp-search-locationstatus {
        grid-column: 1 / -1;
    }

    .cp-search-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 780px) {
    .cp-search-hero__top {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-search-hero__count {
        text-align: left;
    }

    .cp-search-panel__primary,
    .cp-search-panel__location,
    .cp-search-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-search-locationstatus {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .cp-search-panel__primary,
    .cp-search-panel__location,
    .cp-search-grid {
        grid-template-columns: 1fr;
    }

    .cp-search-locationstatus {
        grid-column: auto;
    }

    .cp-search-panel__submit,
    .cp-search-results__head {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-search-panel__submit button {
        width: 100%;
    }
}

/* CAMPINGZONE 1.0.11 MY NEIGHBORHOOD */
.cp-neighborhood-page {
    min-height: 720px;
    background: #f7f9f6;
}

.cp-neighborhood-hero {
    padding: 58px 0;
    color: #fff;
    background:
        radial-gradient(circle at 82% 20%, rgba(221,167,89,.18), transparent 24%),
        linear-gradient(135deg,#123522 0%,#1d4b33 72%,#285d40 100%);
}

.cp-neighborhood-hero__inner {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 34px;
}

.cp-neighborhood-hero__inner > div:first-child > p {
    margin: 0 0 8px;
    color: #afd0b7;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .17em;
}

.cp-neighborhood-hero h1 {
    margin: 0;
    font-size: clamp(36px,4vw,50px);
    letter-spacing: -.055em;
    line-height: 1.06;
}

.cp-neighborhood-hero__inner > div:first-child > span {
    display: block;
    max-width: 650px;
    margin-top: 12px;
    color: rgba(255,255,255,.66);
    font-size: 12px;
    line-height: 1.7;
}

.cp-neighborhood-current {
    min-width: 250px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 15px;
    background: rgba(255,255,255,.07);
}

.cp-neighborhood-current span,
.cp-neighborhood-current strong,
.cp-neighborhood-current small {
    display: block;
}

.cp-neighborhood-current span {
    color: #b8d3c0;
    font-size: 8px;
    font-weight: 900;
}

.cp-neighborhood-current strong {
    margin-top: 7px;
    font-size: 17px;
}

.cp-neighborhood-current small {
    margin-top: 5px;
    color: rgba(255,255,255,.56);
    font-size: 8px;
}

.cp-neighborhood-body {
    padding: 30px 0 85px;
}

.cp-neighborhood-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 330px;
    gap: 14px;
}

.cp-neighborhood-setup,
.cp-neighborhood-nearby {
    border: 1px solid #e0e5e0;
    border-radius: 18px;
    background: #fff;
}

.cp-neighborhood-setup {
    padding: 24px;
}

.cp-neighborhood-sectionhead > span,
.cp-neighborhood-nearby > span,
.cp-neighborhood-list__head > div > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-neighborhood-sectionhead h2,
.cp-neighborhood-nearby h2,
.cp-neighborhood-list__head h2 {
    margin: 7px 0 0;
    color: #26352d;
}

.cp-neighborhood-sectionhead h2,
.cp-neighborhood-nearby h2 {
    font-size: 20px;
}

.cp-neighborhood-sectionhead p,
.cp-neighborhood-nearby p,
.cp-neighborhood-list__head p {
    margin: 6px 0 0;
    color: #7a857e;
    font-size: 10px;
    line-height: 1.65;
}

.cp-neighborhood-formgrid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 9px;
    margin-top: 20px;
}

.cp-neighborhood-formactions {
    display: flex;
    gap: 7px;
    margin-top: 10px;
}

.cp-neighborhood-save,
.cp-neighborhood-clear {
    min-height: 43px;
    padding: 0 15px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 900;
}

.cp-neighborhood-save {
    border: 0;
    color: #fff;
    background: #173f2b;
}

.cp-neighborhood-clear {
    border: 1px solid #dfe5df;
    color: #6a756e;
    background: #fff;
}

.cp-neighborhood-login-note {
    position: relative;
    margin-top: 18px;
    padding: 13px;
    border-radius: 11px;
    background: #f5f7f4;
}

.cp-neighborhood-login-note strong,
.cp-neighborhood-login-note span {
    display: block;
}

.cp-neighborhood-login-note strong {
    color: #405248;
    font-size: 9px;
}

.cp-neighborhood-login-note span {
    margin-top: 4px;
    padding-right: 90px;
    color: #7a857e;
    font-size: 9px;
    line-height: 1.55;
}

.cp-neighborhood-login-note a {
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
    color: #285f42;
    font-size: 9px;
    font-weight: 900;
}

.cp-neighborhood-nearby {
    padding: 22px;
    color: #fff;
    border-color: #173f2b;
    background:
        radial-gradient(circle at 85% 15%, rgba(229,175,92,.17), transparent 24%),
        #173f2b;
}

.cp-neighborhood-nearby > span {
    color: #afd0b7;
}

.cp-neighborhood-nearby h2 {
    color: #fff;
}

.cp-neighborhood-nearby p {
    color: rgba(255,255,255,.64);
}

.cp-neighborhood-radius {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 18px;
}

.cp-neighborhood-radius button {
    min-height: 32px;
    padding: 0 9px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: rgba(255,255,255,.76);
    background: rgba(255,255,255,.05);
    font-size: 8px;
    font-weight: 900;
}

.cp-neighborhood-radius button.is-active {
    color: #173f2b;
    border-color: #fff;
    background: #fff;
}

.cp-neighborhood-currentbutton {
    width: 100%;
    min-height: 43px;
    margin-top: 14px;
    border: 0;
    border-radius: 10px;
    color: #173f2b;
    background: #fff;
    font-size: 10px;
    font-weight: 900;
}

.cp-neighborhood-currentbutton:disabled {
    opacity: .55;
}

.cp-neighborhood-currentstatus {
    margin-top: 9px;
    color: rgba(255,255,255,.55);
    font-size: 8px;
    line-height: 1.5;
}

.cp-neighborhood-currentstatus[data-state="error"] {
    color: #ffc9c1;
}

.cp-neighborhood-currentstatus[data-state="loading"] {
    color: #f2d7ad;
}

.cp-neighborhood-list {
    margin-top: 18px;
}

.cp-neighborhood-list__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 12px;
}

.cp-neighborhood-list__head h2 {
    font-size: 23px;
}

.cp-neighborhood-list__head > a {
    flex: 0 0 auto;
    color: #285f42;
    font-size: 10px;
    font-weight: 900;
}

.cp-neighborhood-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}

.cp-neighborhood-card {
    overflow: hidden;
    border: 1px solid #e0e5e0;
    border-radius: 16px;
    background: #fff;
    transition: transform .16s ease, box-shadow .16s ease;
}

.cp-neighborhood-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 32px rgba(24,50,35,.09);
}

.cp-neighborhood-card__image {
    position: relative;
    aspect-ratio: 4 / 3;
    background:
        radial-gradient(circle at 75% 20%,rgba(234,181,99,.27),transparent 21%),
        linear-gradient(145deg,#587860,#879777 60%,#b29b6d);
    background-position: center;
    background-size: cover;
}

.cp-neighborhood-card__image > span {
    position: absolute;
    top: 9px;
    left: 9px;
    padding: 5px 7px;
    border-radius: 999px;
    color: #fff;
    background: rgba(23,63,43,.80);
    font-size: 7px;
    font-weight: 900;
    backdrop-filter: blur(6px);
}

.cp-neighborhood-card__body {
    padding: 13px;
}

.cp-neighborhood-card__body > small {
    color: #6c8375;
    font-size: 8px;
    font-weight: 850;
}

.cp-neighborhood-card__body h3 {
    margin: 6px 0 0;
    color: #26352d;
    font-size: 14px;
    line-height: 1.35;
}

.cp-neighborhood-card__body > p {
    min-height: 31px;
    margin: 6px 0 0;
    color: #7c8780;
    font-size: 8px;
    line-height: 1.55;
}

.cp-neighborhood-card__body > div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 9px;
}

.cp-neighborhood-card__body > div span {
    padding: 4px 6px;
    border-radius: 999px;
    color: #315f46;
    background: #edf4ee;
    font-size: 7px;
    font-weight: 850;
}

.cp-neighborhood-empty {
    padding: 65px 24px;
    border: 1px dashed #cfd8d0;
    border-radius: 17px;
    background: #fff;
    text-align: center;
}

.cp-neighborhood-empty strong,
.cp-neighborhood-empty span {
    display: block;
}

.cp-neighborhood-empty strong {
    color: #2b3a32;
    font-size: 18px;
}

.cp-neighborhood-empty span {
    max-width: 500px;
    margin: 8px auto 0;
    color: #7d8881;
    font-size: 10px;
    line-height: 1.6;
}

/* 1.0.11 HOME NEIGHBORHOOD LINK COMPAT */
.cp-home-regionchips a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #e0e5e0;
    border-radius: 999px;
    color: #53675b;
    background: #fff;
    font-size: 9px;
    font-weight: 850;
}

@media (max-width: 1000px) {
    .cp-neighborhood-layout {
        grid-template-columns: 1fr;
    }

    .cp-neighborhood-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-neighborhood-hero__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-neighborhood-current {
        width: 100%;
    }

    .cp-neighborhood-formgrid,
    .cp-neighborhood-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .cp-neighborhood-formgrid,
    .cp-neighborhood-grid {
        grid-template-columns: 1fr;
    }

    .cp-neighborhood-formactions,
    .cp-neighborhood-list__head {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-neighborhood-save,
    .cp-neighborhood-clear {
        width: 100%;
    }

    .cp-neighborhood-login-note span {
        padding-right: 0;
    }

    .cp-neighborhood-login-note a {
        position: static;
        display: inline-block;
        margin-top: 8px;
        transform: none;
    }
}

/* CAMPINGZONE 1.0.12 GOCAMPING DETAIL ENRICHMENT */
.cp-gocamping-detail {
    padding: 34px 0 86px;
    background: #f7f9f6;
}

.cp-gocamping-detail__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dde4dd;
}

.cp-gocamping-detail__head > div:first-child > span,
.cp-gocamping-detail__panel header > span,
.cp-gocamping-detail__tagsections article header > span,
.cp-gocamping-detail__safety > div:first-child > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-gocamping-detail__head h2 {
    margin: 7px 0 0;
    color: #26352d;
    font-size: 26px;
    letter-spacing: -.035em;
}

.cp-gocamping-detail__head p {
    margin: 6px 0 0;
    color: #7b867f;
    font-size: 10px;
    line-height: 1.65;
}

.cp-gocamping-detail__source {
    flex: 0 0 auto;
    min-width: 210px;
    padding: 13px 15px;
    border: 1px solid #dce5dd;
    border-radius: 12px;
    background: #fff;
    text-align: right;
}

.cp-gocamping-detail__source strong,
.cp-gocamping-detail__source span,
.cp-gocamping-detail__source b {
    display: block;
}

.cp-gocamping-detail__source strong {
    color: #315a44;
    font-size: 9px;
}

.cp-gocamping-detail__source span {
    margin-top: 4px;
    color: #8a948d;
    font-size: 8px;
}

.cp-gocamping-detail__source b {
    width: max-content;
    margin: 7px 0 0 auto;
    padding: 4px 7px;
    border-radius: 999px;
    color: #285e40;
    background: #eaf4ec;
    font-size: 8px;
}

.cp-gocamping-detail__facts {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 8px;
    margin-top: 16px;
}

.cp-gocamping-detail__facts article {
    min-height: 82px;
    padding: 13px;
    border: 1px solid #e0e6e0;
    border-radius: 12px;
    background: #fff;
}

.cp-gocamping-detail__facts span,
.cp-gocamping-detail__facts strong {
    display: block;
}

.cp-gocamping-detail__facts span {
    color: #89938d;
    font-size: 8px;
}

.cp-gocamping-detail__facts strong {
    margin-top: 7px;
    color: #34473c;
    font-size: 11px;
    line-height: 1.45;
}

.cp-gocamping-detail__split {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 10px;
}

.cp-gocamping-detail__panel {
    padding: 18px;
    border: 1px solid #e0e6e0;
    border-radius: 14px;
    background: #fff;
}

.cp-gocamping-detail__panel header h3,
.cp-gocamping-detail__tagsections article header h3,
.cp-gocamping-detail__safety h3 {
    margin: 6px 0 0;
    color: #304238;
    font-size: 15px;
}

.cp-gocamping-detail__countgrid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
    margin-top: 14px;
}

.cp-gocamping-detail__countgrid > div {
    padding: 11px;
    border-radius: 10px;
    background: #f5f8f4;
}

.cp-gocamping-detail__countgrid span,
.cp-gocamping-detail__countgrid strong,
.cp-gocamping-detail__countgrid small {
    display: block;
}

.cp-gocamping-detail__countgrid span {
    color: #748179;
    font-size: 8px;
}

.cp-gocamping-detail__countgrid strong {
    margin-top: 6px;
    color: #285e40;
    font-size: 19px;
}

.cp-gocamping-detail__countgrid small {
    margin-top: 1px;
    color: #9aa29d;
    font-size: 7px;
}

.cp-gocamping-detail__rows {
    margin-top: 12px;
}

.cp-gocamping-detail__rows > div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 9px 0;
    border-bottom: 1px solid #edf0ed;
    font-size: 9px;
}

.cp-gocamping-detail__rows > div:last-child {
    border-bottom: 0;
}

.cp-gocamping-detail__rows span {
    color: #77837b;
}

.cp-gocamping-detail__rows strong {
    color: #34473c;
}

.cp-gocamping-detail__rows strong.is-positive {
    color: #22603e;
}

.cp-gocamping-detail__rows strong.is-neutral {
    color: #89928d;
}

.cp-gocamping-detail__tagsections {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    margin-top: 10px;
}

.cp-gocamping-detail__tagsections article {
    padding: 17px;
    border: 1px solid #e0e6e0;
    border-radius: 14px;
    background: #fff;
}

.cp-gocamping-detail__tagsections article > div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 12px;
}

.cp-gocamping-detail__tagsections article > div > span {
    padding: 6px 8px;
    border-radius: 999px;
    color: #315f46;
    background: #edf4ee;
    font-size: 8px;
    font-weight: 850;
}

.cp-gocamping-detail__safety {
    display: grid;
    grid-template-columns: 260px minmax(0,1fr);
    align-items: center;
    gap: 20px;
    margin-top: 10px;
    padding: 20px;
    border-radius: 15px;
    color: #fff;
    background:
        radial-gradient(circle at 86% 15%,rgba(226,170,90,.15),transparent 24%),
        #173f2b;
}

.cp-gocamping-detail__safety > div:first-child > span {
    color: #afd0b7;
}

.cp-gocamping-detail__safety h3 {
    color: #fff;
}

.cp-gocamping-detail__safety p {
    margin: 6px 0 0;
    color: rgba(255,255,255,.59);
    font-size: 9px;
    line-height: 1.55;
}

.cp-gocamping-detail__safetygrid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
}

.cp-gocamping-detail__safetygrid > div {
    padding: 11px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px;
    background: rgba(255,255,255,.05);
}

.cp-gocamping-detail__safetygrid span,
.cp-gocamping-detail__safetygrid strong,
.cp-gocamping-detail__safetygrid small {
    display: block;
}

.cp-gocamping-detail__safetygrid span {
    color: rgba(255,255,255,.62);
    font-size: 8px;
}

.cp-gocamping-detail__safetygrid strong {
    margin-top: 5px;
    font-size: 18px;
}

.cp-gocamping-detail__safetygrid small {
    color: rgba(255,255,255,.42);
    font-size: 7px;
}

.cp-gocamping-detail__notes {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
    margin-top: 10px;
}

.cp-gocamping-detail__notes article {
    padding: 16px;
    border: 1px solid #e0e6e0;
    border-radius: 13px;
    background: #fff;
}

.cp-gocamping-detail__notes article > span {
    color: #6d8476;
    font-size: 8px;
    font-weight: 900;
}

.cp-gocamping-detail__notes p {
    margin: 7px 0 0;
    color: #66746b;
    font-size: 9px;
    line-height: 1.7;
}

.cp-gocamping-detail__notice {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    margin-top: 12px;
    padding: 14px 16px;
    border: 1px solid #e3e7e2;
    border-radius: 12px;
    background: #f0f3ef;
}

.cp-gocamping-detail__notice > div:first-child {
    max-width: 690px;
}

.cp-gocamping-detail__notice strong,
.cp-gocamping-detail__notice span,
.cp-gocamping-detail__notice small {
    display: block;
}

.cp-gocamping-detail__notice strong {
    color: #425249;
    font-size: 9px;
}

.cp-gocamping-detail__notice span {
    margin-top: 3px;
    color: #7c8780;
    font-size: 8px;
    line-height: 1.55;
}

.cp-gocamping-detail__notice > div:last-child {
    flex: 0 0 auto;
    text-align: right;
}

.cp-gocamping-detail__notice small {
    margin-top: 3px;
    color: #99a19c;
    font-size: 7px;
}

@media (max-width: 1050px) {
    .cp-gocamping-detail__facts {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .cp-gocamping-detail__tagsections {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-gocamping-detail__head,
    .cp-gocamping-detail__notice {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-gocamping-detail__source {
        min-width: 0;
        text-align: left;
    }

    .cp-gocamping-detail__source b {
        margin-left: 0;
    }

    .cp-gocamping-detail__facts,
    .cp-gocamping-detail__split,
    .cp-gocamping-detail__tagsections,
    .cp-gocamping-detail__notes {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-gocamping-detail__safety {
        grid-template-columns: 1fr;
    }

    .cp-gocamping-detail__notice > div:last-child {
        text-align: left;
    }
}

@media (max-width: 520px) {
    .cp-gocamping-detail__facts,
    .cp-gocamping-detail__split,
    .cp-gocamping-detail__tagsections,
    .cp-gocamping-detail__notes {
        grid-template-columns: 1fr;
    }

    .cp-gocamping-detail__countgrid,
    .cp-gocamping-detail__safetygrid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

/* CAMPINGZONE 1.0.13 CAMPSITE BUSINESS CLAIM */
.cp-claim-page {
    min-height: 700px;
    background: #f7f9f6;
}

.cp-claim-hero {
    padding: 55px 0 38px;
    color: #fff;
    background:
        radial-gradient(circle at 85% 20%,rgba(225,171,91,.17),transparent 25%),
        linear-gradient(135deg,#133723,#1e5036);
}

.cp-claim-hero--compact {
    padding-bottom: 45px;
}

.cp-claim-hero > .cp-container > p {
    margin: 0 0 8px;
    color: #afd0b7;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .17em;
}

.cp-claim-hero h1 {
    margin: 0;
    font-size: clamp(34px,4vw,48px);
    letter-spacing: -.05em;
}

.cp-claim-hero > .cp-container > span {
    display: block;
    max-width: 680px;
    margin-top: 10px;
    color: rgba(255,255,255,.65);
    font-size: 11px;
    line-height: 1.7;
}

.cp-claim-findform {
    display: flex;
    gap: 7px;
    max-width: 720px;
    margin-top: 23px;
    padding: 7px;
    border-radius: 12px;
    background: #fff;
}

.cp-claim-findform input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 0 12px;
    border: 0;
    outline: 0;
    color: #33463b;
}

.cp-claim-findform button {
    flex: 0 0 110px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: #d7772c;
    font-size: 10px;
    font-weight: 900;
}

.cp-claim-body {
    padding: 28px 0 85px;
}

.cp-claim-searchbox,
.cp-claim-selected,
.cp-claim-formcard {
    border: 1px solid #e0e6e0;
    border-radius: 17px;
    background: #fff;
}

.cp-claim-searchbox {
    padding: 25px;
}

.cp-claim-searchbox > div > span,
.cp-claim-selected > span,
.cp-claim-formcard > header > span {
    color: #72917d;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-claim-searchbox h2,
.cp-claim-selected h2,
.cp-claim-formcard h2 {
    margin: 7px 0 0;
    color: #2d4035;
}

.cp-claim-searchbox p,
.cp-claim-selected p,
.cp-claim-formcard header p {
    margin: 6px 0 0;
    color: #7c8780;
    font-size: 10px;
    line-height: 1.65;
}

.cp-claim-searchbox form {
    display: flex;
    gap: 7px;
    margin-top: 18px;
}

.cp-claim-searchbox input {
    flex: 1;
    min-height: 44px;
    padding: 0 11px;
    border: 1px solid #dfe5df;
    border-radius: 10px;
}

.cp-claim-searchbox button,
.cp-claim-submit {
    min-height: 44px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #173f2b;
    font-size: 10px;
    font-weight: 900;
}

.cp-claim-searchbox button {
    min-width: 130px;
}

.cp-claim-layout {
    display: grid;
    grid-template-columns: 285px minmax(0,1fr);
    gap: 13px;
    align-items: start;
}

.cp-claim-selected {
    position: sticky;
    top: 95px;
    padding: 19px;
}

.cp-claim-selected h2 {
    font-size: 18px;
}

.cp-claim-selected b,
.cp-claim-selected strong {
    display: block;
    width: max-content;
    margin-top: 10px;
    padding: 5px 7px;
    border-radius: 999px;
    font-size: 8px;
}

.cp-claim-selected b {
    color: #315f46;
    background: #edf4ee;
}

.cp-claim-selected strong {
    color: #a45e1f;
    background: #fbefdf;
}

.cp-claim-selected a {
    display: inline-block;
    margin-top: 16px;
    color: #285e40;
    font-size: 9px;
    font-weight: 900;
}

.cp-claim-formcard {
    padding: 23px;
}

.cp-claim-formcard h2 {
    font-size: 22px;
}

.cp-claim-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
    margin-top: 19px;
}

.cp-claim-note {
    margin-top: 9px;
}

.cp-claim-policy {
    margin-top: 13px;
    padding: 13px;
    border-radius: 11px;
    background: #f3f6f2;
}

.cp-claim-policy strong,
.cp-claim-policy span {
    display: block;
}

.cp-claim-policy strong {
    color: #405248;
    font-size: 9px;
}

.cp-claim-policy span {
    margin-top: 4px;
    color: #7a857e;
    font-size: 9px;
    line-height: 1.6;
}

.cp-claim-submit {
    width: 100%;
    margin-top: 13px;
}

.cp-claim-resulthead,
.cp-claim-memberhead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 12px;
}

.cp-claim-resulthead strong,
.cp-claim-resulthead span,
.cp-claim-memberhead strong,
.cp-claim-memberhead span {
    display: block;
}

.cp-claim-resulthead strong,
.cp-claim-memberhead strong {
    color: #2b3e33;
    font-size: 18px;
}

.cp-claim-resulthead span,
.cp-claim-memberhead span {
    margin-top: 3px;
    color: #87918b;
    font-size: 9px;
}

.cp-claim-memberhead a {
    padding: 9px 11px;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 9px;
    font-weight: 900;
}

.cp-claim-results {
    display: grid;
    gap: 8px;
}

.cp-claim-result {
    display: grid;
    grid-template-columns: 120px minmax(0,1fr) 145px;
    align-items: center;
    gap: 15px;
    padding: 10px;
    border: 1px solid #e0e6e0;
    border-radius: 14px;
    background: #fff;
}

.cp-claim-result__image {
    aspect-ratio: 4/3;
    border-radius: 10px;
    background:
        linear-gradient(145deg,#637e69,#9b9d7d);
    background-position: center;
    background-size: cover;
}

.cp-claim-result__body small {
    color: #718678;
    font-size: 8px;
    font-weight: 850;
}

.cp-claim-result__body h2 {
    margin: 5px 0 0;
    color: #2b3d33;
    font-size: 15px;
}

.cp-claim-result__body p {
    margin: 5px 0 0;
    color: #7d8881;
    font-size: 9px;
}

.cp-claim-result__body > div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}

.cp-claim-result__body > div span {
    padding: 4px 6px;
    border-radius: 999px;
    color: #315f46;
    background: #edf4ee;
    font-size: 7px;
    font-weight: 850;
}

.cp-claim-result__action {
    text-align: right;
}

.cp-claim-result__action a {
    display: inline-block;
    padding: 9px 10px;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 9px;
    font-weight: 900;
}

.cp-claim-result__action b {
    color: #9b6b43;
    font-size: 9px;
}

.cp-claim-empty {
    padding: 65px 24px;
    border: 1px dashed #ccd7cd;
    border-radius: 17px;
    background: #fff;
    text-align: center;
}

.cp-claim-empty strong,
.cp-claim-empty span {
    display: block;
}

.cp-claim-empty strong {
    color: #2b3e33;
    font-size: 18px;
}

.cp-claim-empty span {
    margin-top: 7px;
    color: #7c8780;
    font-size: 10px;
}

.cp-claim-memberlist,
.cp-claim-adminlist {
    display: grid;
    gap: 9px;
}

.cp-claim-memberlist > article,
.cp-claim-adminlist > article {
    padding: 18px;
    border: 1px solid #e0e6e0;
    border-radius: 14px;
    background: #fff;
}

.cp-claim-memberlist > article {
    display: flex;
    justify-content: space-between;
    gap: 25px;
}

.cp-claim-memberlist h2 {
    margin: 7px 0 0;
    color: #2e4036;
    font-size: 16px;
}

.cp-claim-memberlist p {
    margin: 5px 0 0;
    color: #7c8780;
    font-size: 9px;
}

.cp-claim-memberlist small {
    display: block;
    margin-top: 7px;
    color: #9aa29d;
    font-size: 8px;
}

.cp-claim-memberlist__side {
    max-width: 330px;
    text-align: right;
}

.cp-claim-memberlist__side strong {
    display: block;
    color: #315e45;
    font-size: 10px;
}

.cp-claim-memberlist__side a {
    display: inline-block;
    margin-top: 6px;
    color: #285f42;
    font-size: 9px;
    font-weight: 900;
}

.cp-claim-memberlist__side p {
    line-height: 1.55;
}

.cp-claim-status {
    display: inline-block;
    padding: 5px 7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 900;
}

.cp-claim-status--pending {
    color: #895d27;
    background: #faf0df;
}

.cp-claim-status--reviewing {
    color: #315b77;
    background: #eaf2f7;
}

.cp-claim-status--approved {
    color: #245e3d;
    background: #e9f4eb;
}

.cp-claim-status--rejected {
    color: #92372e;
    background: #fff0ee;
}

.cp-claim-adminfilters {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 12px;
}

.cp-claim-adminfilters a {
    padding: 7px 9px;
    border: 1px solid #dfe5df;
    border-radius: 999px;
    color: #64736a;
    background: #fff;
    font-size: 8px;
    font-weight: 850;
}

.cp-claim-adminfilters a.is-active {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-claim-adminlist__head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.cp-claim-adminlist__head h2 {
    margin: 7px 0 0;
    color: #2d4035;
    font-size: 17px;
}

.cp-claim-adminlist__head p {
    margin: 4px 0 0;
    color: #7c8780;
    font-size: 9px;
}

.cp-claim-adminlist__head > div:last-child {
    text-align: right;
}

.cp-claim-adminlist__head > div:last-child span,
.cp-claim-adminlist__head > div:last-child strong {
    display: block;
    color: #8b958f;
    font-size: 8px;
}

.cp-claim-adminlist__info {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
    margin-top: 14px;
}

.cp-claim-adminlist__info > div {
    padding: 10px;
    border-radius: 9px;
    background: #f5f7f4;
}

.cp-claim-adminlist__info span,
.cp-claim-adminlist__info strong {
    display: block;
}

.cp-claim-adminlist__info span {
    color: #8a948e;
    font-size: 8px;
}

.cp-claim-adminlist__info strong {
    margin-top: 4px;
    color: #3b4d43;
    font-size: 9px;
}

.cp-claim-adminlist__note {
    margin-top: 10px;
    padding: 11px;
    border-radius: 9px;
    color: #66736b;
    background: #fafbf9;
    font-size: 9px;
    line-height: 1.6;
}

.cp-claim-adminlist form {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #edf0ed;
}

.cp-claim-adminlist__actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 8px;
}

.cp-claim-adminlist__actions button {
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid #dfe5df;
    border-radius: 8px;
    color: #4f6257;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
}

.cp-claim-adminlist__actions button.is-reject {
    color: #973b31;
    border-color: #efd1cd;
    background: #fff4f2;
}

.cp-claim-adminlist__actions button.is-approve {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-detail-claim {
    padding: 0 0 28px;
    background: #f7f9f6;
}

.cp-detail-claim > .cp-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    padding: 18px 20px;
    border: 1px solid #dce5dd;
    border-radius: 14px;
    background: #fff;
}

.cp-detail-claim span,
.cp-detail-claim strong,
.cp-detail-claim p {
    display: block;
}

.cp-detail-claim span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .15em;
}

.cp-detail-claim strong {
    margin-top: 5px;
    color: #2d4136;
    font-size: 15px;
}

.cp-detail-claim p {
    max-width: 680px;
    margin: 5px 0 0;
    color: #7a857e;
    font-size: 9px;
    line-height: 1.6;
}

.cp-detail-claim a {
    flex: 0 0 auto;
    padding: 10px 12px;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 9px;
    font-weight: 900;
}

@media (max-width: 850px) {
    .cp-claim-layout {
        grid-template-columns: 1fr;
    }

    .cp-claim-selected {
        position: static;
    }

    .cp-claim-result {
        grid-template-columns: 90px minmax(0,1fr);
    }

    .cp-claim-result__action {
        grid-column: 1 / -1;
        text-align: left;
    }

    .cp-claim-adminlist__info {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 560px) {
    .cp-claim-grid,
    .cp-claim-adminlist__info {
        grid-template-columns: 1fr;
    }

    .cp-claim-searchbox form,
    .cp-claim-findform,
    .cp-claim-memberlist,
    .cp-detail-claim > .cp-container {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-claim-result {
        grid-template-columns: 1fr;
    }

    .cp-claim-result__image {
        max-width: none;
    }

    .cp-claim-memberlist__side {
        max-width: none;
        text-align: left;
    }

    .cp-claim-adminlist__head {
        flex-direction: column;
    }

    .cp-claim-adminlist__head > div:last-child {
        text-align: left;
    }

    .cp-claim-adminlist__actions {
        flex-direction: column;
    }

    .cp-detail-claim a {
        text-align: center;
    }
}

/* CAMPINGZONE 1.0.14 BUSINESS CENTER / OPERATIONS */
.cp-business-page {
    min-height: 720px;
    background: #f7f9f6;
}

.cp-business-hero,
.cp-business-subhero {
    color: #fff;
    background:
        radial-gradient(circle at 84% 18%,rgba(226,171,89,.16),transparent 25%),
        linear-gradient(135deg,#123522,#1d4c33);
}

.cp-business-hero {
    padding: 55px 0 42px;
}

.cp-business-subhero {
    padding: 38px 0 34px;
}

.cp-business-hero__inner {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
}

.cp-business-hero p,
.cp-business-subhero span,
.cp-business-head > div > span,
.cp-business-editcard > header > span {
    margin: 0;
    color: #afd0b7;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-business-hero h1,
.cp-business-subhero h1 {
    margin: 7px 0 0;
    letter-spacing: -.05em;
}

.cp-business-hero h1 {
    font-size: clamp(35px,4vw,49px);
}

.cp-business-subhero h1 {
    font-size: clamp(29px,3vw,40px);
}

.cp-business-hero > .cp-container span,
.cp-business-subhero p {
    display: block;
    max-width: 700px;
    margin-top: 9px;
    color: rgba(255,255,255,.64);
    font-size: 10px;
    line-height: 1.7;
}

.cp-business-subhero a {
    display: inline-block;
    margin-bottom: 13px;
    color: rgba(255,255,255,.7);
    font-size: 9px;
    font-weight: 850;
}

.cp-business-hero__account {
    min-width: 245px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    text-align: right;
}

.cp-business-hero__account span,
.cp-business-hero__account strong,
.cp-business-hero__account small {
    display: block;
}

.cp-business-hero__account span {
    color: rgba(255,255,255,.55) !important;
    font-size: 8px !important;
}

.cp-business-hero__account strong {
    margin-top: 5px;
    font-size: 15px;
}

.cp-business-hero__account small {
    margin-top: 3px;
    color: rgba(255,255,255,.53);
    font-size: 8px;
}

.cp-business-body {
    padding: 26px 0 85px;
}

.cp-business-stats {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 7px;
}

.cp-business-stats article {
    padding: 14px;
    border: 1px solid #e0e6e0;
    border-radius: 12px;
    background: #fff;
}

.cp-business-stats span,
.cp-business-stats strong,
.cp-business-stats small {
    display: block;
}

.cp-business-stats span {
    color: #859088;
    font-size: 8px;
}

.cp-business-stats strong {
    margin-top: 5px;
    color: #285d40;
    font-size: 21px;
}

.cp-business-stats small {
    color: #9aa29d;
    font-size: 7px;
}

.cp-business-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin: 24px 0 12px;
}

.cp-business-head h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 23px;
}

.cp-business-head p {
    margin: 5px 0 0;
    color: #7c8780;
    font-size: 9px;
}

.cp-business-head > div:last-child {
    display: flex;
    gap: 6px;
}

.cp-business-head a {
    padding: 8px 10px;
    border: 1px solid #dfe5df;
    border-radius: 9px;
    color: #53675b;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
}

.cp-business-head a.is-primary {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-business-cards {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 11px;
}

.cp-business-card {
    overflow: hidden;
    border: 1px solid #e0e6e0;
    border-radius: 16px;
    background: #fff;
}

.cp-business-card__image {
    position: relative;
    aspect-ratio: 16 / 10;
    background:
        radial-gradient(circle at 74% 20%,rgba(230,177,95,.24),transparent 22%),
        linear-gradient(145deg,#587860,#899579);
    background-position: center;
    background-size: cover;
}

.cp-business-card__image span,
.cp-business-card__image b {
    position: absolute;
    top: 10px;
    padding: 5px 7px;
    border-radius: 999px;
    color: #fff;
    font-size: 7px;
    font-weight: 900;
    backdrop-filter: blur(6px);
}

.cp-business-card__image span {
    left: 10px;
    background: rgba(215,119,44,.88);
}

.cp-business-card__image b {
    right: 10px;
    background: rgba(23,63,43,.82);
}

.cp-business-card__body {
    padding: 14px;
}

.cp-business-card__body > small {
    color: #6e8577;
    font-size: 8px;
    font-weight: 850;
}

.cp-business-card__body h3 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 16px;
}

.cp-business-card__body > p {
    min-height: 31px;
    margin: 5px 0 0;
    color: #7c8780;
    font-size: 8px;
    line-height: 1.55;
}

.cp-business-card__meta,
.cp-business-card__status,
.cp-business-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.cp-business-card__meta {
    margin-top: 10px;
}

.cp-business-card__meta span {
    color: #7b8780;
    font-size: 8px;
}

.cp-business-card__status {
    align-items: center;
    justify-content: space-between;
    margin-top: 11px;
    padding-top: 10px;
    border-top: 1px solid #edf0ed;
}

.cp-business-card__status span {
    color: #3c5547;
    font-size: 8px;
    font-weight: 900;
}

.cp-business-card__status strong {
    color: #245e3d;
    font-size: 7px;
}

.cp-business-card__actions {
    margin-top: 11px;
}

.cp-business-card__actions a {
    flex: 1;
    min-height: 37px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 8px;
    font-weight: 900;
}

.cp-business-card__actions a.is-light {
    color: #42554a;
    background: #eef2ee;
}

.cp-business-empty {
    padding: 65px 25px;
    border: 1px dashed #cdd7cf;
    border-radius: 17px;
    background: #fff;
    text-align: center;
}

.cp-business-empty strong,
.cp-business-empty span {
    display: block;
}

.cp-business-empty strong {
    color: #2e4036;
    font-size: 18px;
}

.cp-business-empty span {
    max-width: 600px;
    margin: 8px auto 0;
    color: #7c8780;
    font-size: 10px;
    line-height: 1.6;
}

.cp-business-empty a {
    display: inline-block;
    margin-top: 16px;
    padding: 10px 12px;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 9px;
    font-weight: 900;
}

.cp-business-claimsummary {
    display: grid;
    grid-template-columns: 220px minmax(0,1fr);
    gap: 15px;
    margin-top: 20px;
    padding: 17px;
    border: 1px solid #e0e6e0;
    border-radius: 14px;
    background: #fff;
}

.cp-business-claimsummary > div:first-child > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .15em;
}

.cp-business-claimsummary h2 {
    margin: 6px 0 0;
    color: #304238;
    font-size: 16px;
}

.cp-business-claimsummary > div:last-child {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
}

.cp-business-claimsummary a {
    padding: 10px;
    border-radius: 9px;
    background: #f5f7f4;
}

.cp-business-claimsummary a strong,
.cp-business-claimsummary a span {
    display: block;
}

.cp-business-claimsummary a strong {
    color: #3d5045;
    font-size: 8px;
}

.cp-business-claimsummary a span {
    margin-top: 3px;
    color: #89928d;
    font-size: 7px;
}

.cp-business-editlayout {
    display: grid;
    grid-template-columns: 285px minmax(0,1fr);
    gap: 13px;
    align-items: start;
}

.cp-business-editnav,
.cp-business-editcard {
    border: 1px solid #e0e6e0;
    border-radius: 16px;
    background: #fff;
}

.cp-business-editnav {
    position: sticky;
    top: 95px;
    padding: 14px;
}

.cp-business-editnav__image {
    aspect-ratio: 16 / 10;
    border-radius: 11px;
    background:
        linear-gradient(145deg,#5b7a62,#94977c);
    background-position: center;
    background-size: cover;
}

.cp-business-editnav h2 {
    margin: 12px 0 0;
    color: #2d4035;
    font-size: 17px;
}

.cp-business-editnav > p {
    margin: 5px 0 0;
    color: #7c8780;
    font-size: 8px;
    line-height: 1.55;
}

.cp-business-editnav > div:not(.cp-business-editnav__image) {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 11px;
}

.cp-business-editnav > div span,
.cp-business-editnav > div strong {
    padding: 5px 7px;
    border-radius: 999px;
    font-size: 7px;
    font-weight: 900;
}

.cp-business-editnav > div span {
    color: #315f46;
    background: #edf4ee;
}

.cp-business-editnav > div strong {
    color: #a45e1f;
    background: #fbefdf;
}

.cp-business-editnav > a {
    display: block;
    margin-top: 13px;
    padding: 9px;
    border-radius: 9px;
    color: #405348;
    background: #f0f3ef;
    text-align: center;
    font-size: 8px;
    font-weight: 900;
}

.cp-business-editcard {
    padding: 22px;
}

.cp-business-editcard > header h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 22px;
}

.cp-business-editcard > header p {
    margin: 5px 0 0;
    color: #7c8780;
    font-size: 9px;
}

.cp-business-formsection {
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid #edf0ed;
}

.cp-business-formsection h3 {
    margin: 0 0 10px;
    color: #405348;
    font-size: 12px;
}

.cp-business-formgrid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
}

.cp-business-formgrid--wide {
    grid-template-columns: 1fr;
}

.cp-business-protection {
    margin-top: 15px;
    padding: 13px;
    border-radius: 11px;
    color: #315c45;
    background: #edf4ee;
}

.cp-business-protection strong,
.cp-business-protection span {
    display: block;
}

.cp-business-protection strong {
    font-size: 9px;
}

.cp-business-protection span {
    margin-top: 4px;
    color: #678071;
    font-size: 8px;
    line-height: 1.6;
}

.cp-business-save {
    width: 100%;
    min-height: 45px;
    margin-top: 13px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #173f2b;
    font-size: 10px;
    font-weight: 900;
}

.cp-business-history {
    margin-top: 20px;
}

.cp-business-history__empty {
    padding: 35px;
    border: 1px dashed #ccd7cd;
    border-radius: 13px;
    color: #87918b;
    background: #fff;
    text-align: center;
    font-size: 9px;
}

.cp-business-history__list {
    display: grid;
    gap: 6px;
}

.cp-business-history__list article {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 12px 14px;
    border: 1px solid #e0e6e0;
    border-radius: 11px;
    background: #fff;
}

.cp-business-history__list strong,
.cp-business-history__list span {
    display: block;
}

.cp-business-history__list strong {
    color: #3a4d42;
    font-size: 9px;
}

.cp-business-history__list span {
    margin-top: 3px;
    color: #89938d;
    font-size: 8px;
}

.cp-business-history__list time {
    flex: 0 0 auto;
    color: #8f9993;
    font-size: 8px;
}

.cp-detail-owner-manage {
    padding: 0 0 18px;
    background: #f7f9f6;
}

.cp-detail-owner-manage > .cp-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 16px 18px;
    border: 1px solid #cfe0d2;
    border-radius: 13px;
    background: #edf5ee;
}

.cp-detail-owner-manage span,
.cp-detail-owner-manage strong,
.cp-detail-owner-manage p {
    display: block;
}

.cp-detail-owner-manage span {
    color: #71917c;
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .15em;
}

.cp-detail-owner-manage strong {
    margin-top: 4px;
    color: #2d4d39;
    font-size: 13px;
}

.cp-detail-owner-manage p {
    margin: 4px 0 0;
    color: #6b7f72;
    font-size: 8px;
}

.cp-detail-owner-manage a {
    flex: 0 0 auto;
    padding: 9px 11px;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 8px;
    font-weight: 900;
}

@media (max-width: 1100px) {
    .cp-business-stats {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .cp-business-cards {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 780px) {
    .cp-business-hero__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-business-hero__account {
        width: 100%;
        text-align: left;
    }

    .cp-business-editlayout {
        grid-template-columns: 1fr;
    }

    .cp-business-editnav {
        position: static;
    }

    .cp-business-claimsummary {
        grid-template-columns: 1fr;
    }

    .cp-business-claimsummary > div:last-child {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 560px) {
    .cp-business-stats,
    .cp-business-cards,
    .cp-business-formgrid,
    .cp-business-claimsummary > div:last-child {
        grid-template-columns: 1fr;
    }

    .cp-business-head,
    .cp-detail-owner-manage > .cp-container {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-business-head > div:last-child {
        flex-direction: column;
    }

    .cp-business-history__list article {
        flex-direction: column;
    }

    .cp-detail-owner-manage a {
        text-align: center;
    }
}

/* CAMPINGZONE 1.0.15 BUSINESS CONTENT / FACILITIES / PHOTOS */
.cp-business-content-page {
    min-height: 720px;
    background: #f7f9f6;
}

.cp-business-content-hero {
    padding: 39px 0 34px;
    color: #fff;
    background:
        radial-gradient(circle at 85% 18%,rgba(228,172,88,.16),transparent 24%),
        linear-gradient(135deg,#123522,#1d4c33);
}

.cp-business-content-hero a {
    display: inline-block;
    margin-bottom: 13px;
    color: rgba(255,255,255,.68);
    font-size: 9px;
    font-weight: 850;
}

.cp-business-content-hero span,
.cp-business-content-card > header > span {
    display: block;
    color: #afd0b7;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-business-content-hero h1 {
    margin: 6px 0 0;
    font-size: clamp(30px,3.5vw,42px);
    letter-spacing: -.05em;
}

.cp-business-content-hero p {
    max-width: 700px;
    margin: 7px 0 0;
    color: rgba(255,255,255,.62);
    font-size: 10px;
    line-height: 1.7;
}

.cp-business-content-body {
    padding: 25px 0 85px;
}

.cp-business-content-summary {
    display: grid;
    grid-template-columns: minmax(210px,1.5fr) repeat(4,minmax(90px,.55fr)) 110px;
    gap: 6px;
    margin-bottom: 12px;
}

.cp-business-content-summary > div,
.cp-business-content-summary > a {
    min-height: 72px;
    padding: 12px;
    border: 1px solid #e0e6e0;
    border-radius: 11px;
    background: #fff;
}

.cp-business-content-summary span,
.cp-business-content-summary strong {
    display: block;
}

.cp-business-content-summary span {
    color: #87918b;
    font-size: 8px;
}

.cp-business-content-summary strong {
    margin-top: 5px;
    color: #2d4b39;
    font-size: 15px;
}

.cp-business-content-summary > a {
    display: grid;
    place-items: center;
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
    font-size: 8px;
    font-weight: 900;
}

.cp-business-content-card {
    margin-top: 11px;
    padding: 22px;
    border: 1px solid #e0e6e0;
    border-radius: 16px;
    background: #fff;
}

.cp-business-content-card > header > span {
    color: #71917c;
}

.cp-business-content-card > header h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 22px;
}

.cp-business-content-card > header p {
    max-width: 760px;
    margin: 5px 0 0;
    color: #7c8780;
    font-size: 9px;
    line-height: 1.6;
}

.cp-business-content-section {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #edf0ed;
}

.cp-business-content-section h3 {
    margin: 0 0 9px;
    color: #405348;
    font-size: 11px;
}

.cp-business-checkgrid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
}

.cp-business-checkgrid--types {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.cp-business-checkgrid label {
    position: relative;
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border: 1px solid #dfe5df;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
}

.cp-business-checkgrid label:has(input:checked) {
    border-color: #6d9c7d;
    background: #eef6f0;
}

.cp-business-checkgrid input {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    accent-color: #245c3e;
}

.cp-business-checkgrid span,
.cp-business-checkgrid strong,
.cp-business-checkgrid small {
    display: block;
}

.cp-business-checkgrid strong {
    color: #3b4e43;
    font-size: 9px;
}

.cp-business-checkgrid small {
    margin-top: 2px;
    color: #87918b;
    font-size: 7px;
    line-height: 1.35;
}

.cp-business-content-protect {
    margin-top: 16px;
    padding: 12px;
    border-radius: 10px;
    color: #2e5b41;
    background: #edf4ee;
}

.cp-business-content-protect strong,
.cp-business-content-protect span {
    display: block;
}

.cp-business-content-protect strong {
    font-size: 9px;
}

.cp-business-content-protect span {
    margin-top: 3px;
    color: #6b8173;
    font-size: 8px;
}

.cp-business-content-save {
    width: 100%;
    min-height: 44px;
    margin-top: 12px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #173f2b;
    font-size: 10px;
    font-weight: 900;
}

.cp-business-photo-upload {
    display: grid;
    grid-template-columns: 180px minmax(0,1fr);
    gap: 8px;
    align-items: stretch;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #edf0ed;
}

.cp-business-photo-upload .cp-business-content-save {
    grid-column: 1 / -1;
    margin-top: 0;
}

.cp-business-photo-drop {
    position: relative;
    min-height: 70px;
    display: grid;
    align-content: center;
    padding: 12px;
    border: 1px dashed #bfcfc2;
    border-radius: 10px;
    background: #f7faf6;
    cursor: pointer;
}

.cp-business-photo-drop input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.cp-business-photo-drop strong,
.cp-business-photo-drop span {
    display: block;
}

.cp-business-photo-drop strong {
    color: #315941;
    font-size: 9px;
}

.cp-business-photo-drop span {
    margin-top: 3px;
    color: #829088;
    font-size: 7px;
    line-height: 1.5;
}

.cp-business-photo-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 9px;
    margin-top: 17px;
}

.cp-business-photo-grid > article {
    overflow: hidden;
    border: 1px solid #e0e6e0;
    border-radius: 13px;
    background: #fff;
}

.cp-business-photo-grid > article.is-primary {
    border-color: #d89a54;
    box-shadow: 0 0 0 2px rgba(216,154,84,.08);
}

.cp-business-photo-grid__image {
    position: relative;
    aspect-ratio: 4 / 3;
    background: #e7ece7 center / cover no-repeat;
}

.cp-business-photo-grid__image span,
.cp-business-photo-grid__image b {
    position: absolute;
    top: 8px;
    padding: 5px 6px;
    border-radius: 999px;
    color: #fff;
    font-size: 7px;
    font-weight: 900;
    backdrop-filter: blur(6px);
}

.cp-business-photo-grid__image span {
    left: 8px;
    background: rgba(215,119,44,.88);
}

.cp-business-photo-grid__image b {
    right: 8px;
    background: rgba(23,63,43,.80);
}

.cp-business-photo-grid__body {
    padding: 10px;
}

.cp-business-photo-grid__body > small {
    color: #6f8476;
    font-size: 7px;
    font-weight: 900;
}

.cp-business-photo-grid__body > p {
    margin: 5px 0 0;
    color: #68766d;
    font-size: 8px;
    line-height: 1.45;
}

.cp-business-photo-meta {
    display: grid;
    gap: 5px;
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px solid #edf0ed;
}

.cp-business-photo-meta select,
.cp-business-photo-meta input {
    width: 100%;
    min-height: 32px;
    padding: 0 7px;
    border: 1px solid #dfe5df;
    border-radius: 7px;
    color: #43554b;
    background: #fff;
    font-size: 8px;
}

.cp-business-photo-meta button,
.cp-business-photo-actions button {
    min-height: 31px;
    padding: 0 8px;
    border: 1px solid #dfe5df;
    border-radius: 7px;
    color: #405348;
    background: #f2f5f1;
    font-size: 7px;
    font-weight: 900;
}

.cp-business-photo-actions {
    display: flex;
    gap: 5px;
    margin-top: 5px;
}

.cp-business-photo-actions form {
    flex: 1;
}

.cp-business-photo-actions button {
    width: 100%;
}

.cp-business-photo-actions button.is-delete {
    color: #983a30;
    border-color: #f0d2ce;
    background: #fff4f2;
}

.cp-business-photo-readonly {
    margin-top: 9px;
    padding: 8px;
    border-radius: 8px;
    color: #7a857e;
    background: #f4f6f3;
    font-size: 7px;
    line-height: 1.45;
}

.cp-business-photo-empty {
    margin-top: 15px;
    padding: 35px 20px;
    border: 1px dashed #cdd7cf;
    border-radius: 12px;
    color: #849088;
    background: #fafbfa;
    text-align: center;
    font-size: 9px;
}

@media (max-width: 1050px) {
    .cp-business-content-summary {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .cp-business-checkgrid,
    .cp-business-photo-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-business-checkgrid,
    .cp-business-checkgrid--types,
    .cp-business-photo-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-business-photo-upload {
        grid-template-columns: 1fr;
    }

    .cp-business-photo-upload .cp-business-content-save {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .cp-business-content-summary,
    .cp-business-checkgrid,
    .cp-business-checkgrid--types,
    .cp-business-photo-grid {
        grid-template-columns: 1fr;
    }
}

/* CAMPINGZONE 1.0.16 PUBLIC DETAIL SERVICE INTEGRATION */
.cp-detail-service {
    padding: 18px 0 23px;
    background: #f7f9f6;
    border-top: 1px solid #edf0ed;
}

.cp-detail-service__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
}

.cp-detail-service__head > div:first-child > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-detail-service__head h2 {
    margin: 6px 0 0;
    color: #26392f;
    font-size: 25px;
    letter-spacing: -.04em;
}

.cp-detail-service__head p {
    margin: 5px 0 0;
    color: #7b8780;
    font-size: 9px;
    line-height: 1.6;
}

.cp-detail-service__status {
    min-width: 155px;
    padding: 11px 13px;
    border: 1px solid #dce5dd;
    border-radius: 11px;
    background: #fff;
    text-align: right;
}

.cp-detail-service__status span,
.cp-detail-service__status strong {
    display: block;
}

.cp-detail-service__status span {
    color: #8a948e;
    font-size: 7px;
}

.cp-detail-service__status strong {
    margin-top: 4px;
    color: #345344;
    font-size: 11px;
}

.cp-detail-service__status--open {
    border-color: #cde0d1;
    background: #edf6ef;
}

.cp-detail-service__status--open strong {
    color: #225e3c;
}

.cp-detail-service__status--seasonal {
    border-color: #eadcbc;
    background: #fff8e9;
}

.cp-detail-service__status--seasonal strong {
    color: #8d6525;
}

.cp-detail-service__status--temporary-closed,
.cp-detail-service__status--closed {
    border-color: #efd4cf;
    background: #fff3f1;
}

.cp-detail-service__status--temporary-closed strong,
.cp-detail-service__status--closed strong {
    color: #963d32;
}

.cp-detail-service__facts {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 7px;
    margin-top: 14px;
}

.cp-detail-service__facts article {
    min-height: 90px;
    padding: 13px;
    border: 1px solid #e0e6e0;
    border-radius: 11px;
    background: #fff;
}

.cp-detail-service__facts span,
.cp-detail-service__facts strong,
.cp-detail-service__facts small {
    display: block;
}

.cp-detail-service__facts span {
    color: #89928d;
    font-size: 8px;
}

.cp-detail-service__facts strong {
    margin-top: 6px;
    color: #2d4336;
    font-size: 13px;
    line-height: 1.35;
}

.cp-detail-service__facts small {
    margin-top: 5px;
    color: #99a19c;
    font-size: 7px;
    line-height: 1.35;
}

.cp-detail-service__taxonomy {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
    margin-top: 7px;
}

.cp-detail-service__taxonomy > div {
    padding: 12px;
    border: 1px solid #e0e6e0;
    border-radius: 11px;
    background: #fff;
}

.cp-detail-service__taxonomy > div > strong {
    display: block;
    color: #496052;
    font-size: 8px;
}

.cp-detail-service__taxonomy > div > div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 7px;
}

.cp-detail-service__taxonomy span {
    padding: 5px 7px;
    border-radius: 999px;
    color: #315e45;
    background: #edf4ee;
    font-size: 7px;
    font-weight: 850;
}

.cp-detail-service__bottom {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 10px;
    margin-top: 8px;
}

.cp-detail-service__sources {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.cp-detail-service__source {
    min-width: 145px;
    padding: 10px;
    border: 1px solid #e0e6e0;
    border-radius: 9px;
    background: #fff;
}

.cp-detail-service__source span,
.cp-detail-service__source strong {
    display: block;
}

.cp-detail-service__source span {
    color: #8b958f;
    font-size: 7px;
}

.cp-detail-service__source strong {
    margin-top: 4px;
    color: #44574c;
    font-size: 8px;
}

.cp-detail-service__source--business {
    border-color: #cfe0d2;
    background: #eef6ef;
}

.cp-detail-service__source--business strong {
    color: #285e40;
}

.cp-detail-service__decision {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    gap: 5px;
}

.cp-detail-service__decision a,
.cp-detail-service__decision > span {
    min-width: 95px;
    display: grid;
    place-items: center;
    padding: 0 10px;
    border: 1px solid #dce4dd;
    border-radius: 9px;
    color: #405348;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
}

.cp-detail-service__decision a.is-reserve {
    color: #fff;
    border-color: #d7772c;
    background: #d7772c;
}

.cp-detail-service__decision > span.is-blocked {
    color: #963d32;
    border-color: #efd4cf;
    background: #fff3f1;
}

.cp-detail-service__decision > span.is-disabled {
    color: #8b948f;
    background: #f0f2ef;
}

.cp-detail-mobilebar {
    display: none;
}

.cp-detail-photogrid.cp-detail-photogrid--live {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.cp-detail-photogrid--live figure {
    position: relative;
    overflow: hidden;
    min-height: 215px;
}

.cp-detail-photogrid--live figure[hidden] {
    display: none !important;
}

.cp-detail-photogrid--live figcaption {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding: 10px;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(0,0,0,.68)
        );
}

.cp-detail-photogrid--live figcaption strong {
    color: #fff;
    font-size: 9px;
}

.cp-detail-photogrid--live figcaption span {
    color: rgba(255,255,255,.72);
    font-size: 7px;
}

.cp-detail-photogrid--live figcaption small {
    color: rgba(255,255,255,.60);
    font-size: 7px;
    line-height: 1.35;
}

.cp-detail-photo-count {
    margin-left: auto;
    color: #7b8780;
    font-size: 8px;
}

.cp-detail-photo-count strong {
    color: #315e45;
}

.cp-detail-reviewtags--pending {
    display: block;
    padding: 14px;
    border-radius: 10px;
    color: #7c8780;
    background: #f4f6f3;
    font-size: 9px;
    line-height: 1.55;
}

.cp-detail-action.is-disabled {
    cursor: default;
}

.cp-detail-action--blocked {
    color: #963d32 !important;
    background: #fff0ee !important;
}

@media (max-width: 1050px) {
    .cp-detail-service__facts {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .cp-detail-photogrid.cp-detail-photogrid--live {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-detail-service__head,
    .cp-detail-service__bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-detail-service__status {
        min-width: 0;
        text-align: left;
    }

    .cp-detail-service__taxonomy {
        grid-template-columns: 1fr;
    }

    .cp-detail-service__decision {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-detail-service__decision a,
    .cp-detail-service__decision > span {
        min-height: 39px;
    }

    .cp-detail-mobilebar {
        position: fixed;
        z-index: 90;
        left: 10px;
        right: 10px;
        bottom: 10px;
        display: grid;
        grid-template-columns: minmax(0,1fr) auto auto;
        align-items: center;
        gap: 5px;
        padding: 8px;
        border: 1px solid rgba(23,63,43,.15);
        border-radius: 13px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 15px 40px rgba(18,53,34,.18);
        backdrop-filter: blur(12px);
        transition:
            opacity .18s ease,
            transform .18s ease;
    }

    .cp-detail-mobilebar.is-hidden {
        opacity: 0;
        transform: translateY(15px);
        pointer-events: none;
    }

    .cp-detail-mobilebar > div span,
    .cp-detail-mobilebar > div strong {
        display: block;
    }

    .cp-detail-mobilebar > div span {
        color: #8a948e;
        font-size: 7px;
    }

    .cp-detail-mobilebar > div strong {
        margin-top: 2px;
        color: #2e4336;
        font-size: 10px;
    }

    .cp-detail-mobilebar > a {
        min-width: 58px;
        min-height: 38px;
        display: grid;
        place-items: center;
        border-radius: 8px;
        color: #405348;
        background: #eef2ee;
        font-size: 8px;
        font-weight: 900;
    }

    .cp-detail-mobilebar > a.is-primary {
        color: #fff;
        background: #d7772c;
    }
}

@media (max-width: 520px) {
    .cp-detail-service__facts {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-detail-photogrid.cp-detail-photogrid--live {
        grid-template-columns: 1fr;
    }

    .cp-detail-service__source {
        width: 100%;
    }
}

/* CAMPINGZONE 1.0.17 KAKAO MAP / GPS FOUNDATION */
.cp-kakao-map {
    position: relative;
    width: 100%;
    min-height: 350px;
    overflow: hidden;
    border-radius: 13px;
    background:
        linear-gradient(
            145deg,
            #e8eee8,
            #f3f5f1
        );
}

.cp-kakao-map__loading,
.cp-kakao-map__fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 25px;
    color: #728078;
    text-align: center;
    font-size: 10px;
}

.cp-kakao-map-label {
    min-width: 120px;
    padding: 8px 10px;
    border: 1px solid rgba(23,63,43,.12);
    border-radius: 10px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 22px rgba(20,55,35,.13);
    text-align: center;
}

.cp-kakao-map-label strong,
.cp-kakao-map-label span {
    display: block;
}

.cp-kakao-map-label strong {
    color: #263e31;
    font-size: 9px;
    white-space: nowrap;
}

.cp-kakao-map-label span {
    margin-top: 2px;
    color: #71917c;
    font-size: 6px;
    font-weight: 900;
    letter-spacing: .1em;
}

.cp-kakao-map-status {
    min-height: 28px;
    margin-top: 7px;
    padding: 7px 9px;
    border-radius: 8px;
    color: #758078;
    background: #f3f5f2;
    font-size: 8px;
    line-height: 1.5;
}

.cp-kakao-map-status[data-state="ok"] {
    color: #285d40;
    background: #edf5ee;
}

.cp-kakao-map-status[data-state="error"] {
    color: #973b31;
    background: #fff1ef;
}

.cp-kakao-map-status[data-state="loading"] {
    color: #7c672d;
    background: #fff7e7;
}

.cp-detail-mapbox__visual.cp-detail-mapbox__visual--kakao {
    padding: 0;
    overflow: hidden;
    background: #e9eee9;
}

.cp-detail-mapbox__visual--kakao .cp-kakao-map {
    height: 100%;
    min-height: 390px;
    border-radius: 0;
}

.cp-detail-mapbox__info code {
    word-break: break-all;
}

.cp-detail-map-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 5px;
    margin-top: 11px;
}

.cp-detail-map-actions a,
.cp-detail-map-actions button {
    min-height: 38px;
    display: grid;
    place-items: center;
    padding: 0 8px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #405348;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-detail-map-actions a.is-primary {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-detail-map-actions button {
    width: 100%;
    cursor: pointer;
}

.cp-detail-map-distance {
    margin-top: 8px;
    padding: 9px;
    border-radius: 8px;
    color: #6d7c72;
    background: #f3f6f2;
    font-size: 8px;
}

.cp-detail-map-distance strong {
    color: #285d40;
}

.cp-kakao-admin-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 11px;
}

.cp-kakao-admin-card,
.cp-kakao-admin-preview {
    padding: 21px;
    border: 1px solid #e0e6e0;
    border-radius: 15px;
    background: #fff;
}

.cp-kakao-admin-card header > span,
.cp-kakao-admin-preview header > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .16em;
}

.cp-kakao-admin-card h2,
.cp-kakao-admin-preview h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 20px;
}

.cp-kakao-admin-card header p,
.cp-kakao-admin-preview header p {
    margin: 5px 0 0;
    color: #7c8780;
    font-size: 9px;
    line-height: 1.6;
}

.cp-kakao-admin-status {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 6px;
    margin: 15px 0;
}

.cp-kakao-admin-status > div {
    padding: 10px;
    border-radius: 9px;
    background: #f5f7f4;
}

.cp-kakao-admin-status span,
.cp-kakao-admin-status strong {
    display: block;
}

.cp-kakao-admin-status span {
    color: #89938d;
    font-size: 7px;
}

.cp-kakao-admin-status strong {
    margin-top: 4px;
    color: #405348;
    font-size: 9px;
}

.cp-kakao-admin-status strong.is-ok {
    color: #245e3d;
}

.cp-kakao-admin-status strong.is-off {
    color: #963d32;
}

.cp-kakao-admin-save {
    width: 100%;
    min-height: 42px;
    margin-top: 8px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: #173f2b;
    font-size: 9px;
    font-weight: 900;
}

.cp-kakao-admin-toggle {
    margin-top: 7px;
}

.cp-kakao-admin-toggle button {
    width: 100%;
    min-height: 36px;
    border: 1px solid #dfe5df;
    border-radius: 8px;
    color: #58685e;
    background: #f3f5f2;
    font-size: 8px;
    font-weight: 900;
}

.cp-kakao-domain-list {
    display: grid;
    gap: 6px;
    margin-top: 15px;
}

.cp-kakao-domain-list code {
    padding: 10px;
    border-radius: 8px;
    color: #315a44;
    background: #edf4ee;
    font-size: 9px;
}

.cp-kakao-admin-note {
    margin-top: 9px;
    padding: 10px;
    border-radius: 9px;
    background: #f5f7f4;
}

.cp-kakao-admin-note strong,
.cp-kakao-admin-note span {
    display: block;
}

.cp-kakao-admin-note strong {
    color: #405348;
    font-size: 8px;
}

.cp-kakao-admin-note span {
    margin-top: 3px;
    color: #7d8981;
    font-size: 8px;
    line-height: 1.55;
}

.cp-kakao-admin-preview {
    margin-top: 12px;
}

.cp-kakao-admin-preview .cp-kakao-map {
    margin-top: 14px;
    min-height: 430px;
}

@media (max-width: 820px) {
    .cp-kakao-admin-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .cp-detail-mapbox__visual--kakao .cp-kakao-map {
        min-height: 300px;
    }

    .cp-detail-map-actions {
        grid-template-columns: 1fr;
    }

    .cp-kakao-admin-status {
        grid-template-columns: 1fr;
    }
}

/* CAMPINGZONE 1.0.18 NATIONWIDE SEARCH MAP EXPLORER */
.cp-search-explorer-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin: 0 0 9px;
}

.cp-search-view-toggle {
    display: none;
    gap: 5px;
}

.cp-search-view-toggle button,
.cp-search-map-tools button {
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #53675b;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    cursor: pointer;
}

.cp-search-view-toggle button.is-active {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-search-explorer-toolbar > span {
    color: #7e8982;
    font-size: 8px;
}

.cp-search-explorer {
    display: grid;
    grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}

.cp-search-explorer__list {
    min-width: 0;
}

.cp-search-grid.cp-search-grid--maplist {
    grid-template-columns: 1fr;
    max-height: 720px;
    padding-right: 4px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #9caf9f #edf2ed;
}

.cp-search-grid--maplist .cp-search-card {
    position: relative;
    display: grid;
    grid-template-columns: 135px minmax(0,1fr);
    min-height: 132px;
    overflow: hidden;
    border: 1px solid #e0e6e0;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.cp-search-grid--maplist .cp-search-card:hover,
.cp-search-grid--maplist .cp-search-card:focus-within,
.cp-search-grid--maplist .cp-search-card.is-map-active {
    border-color: #78a087;
    box-shadow: 0 9px 25px rgba(28,76,48,.10);
    transform: translateY(-1px);
}

.cp-search-grid--maplist .cp-search-card__image {
    min-height: 100%;
    border-radius: 0;
}

.cp-search-grid--maplist .cp-search-card__body {
    min-width: 0;
    padding: 12px;
}

.cp-search-grid--maplist .cp-search-card__body h2 {
    margin-top: 4px;
    font-size: 14px;
}

.cp-search-grid--maplist .cp-search-card__body > p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.cp-search-card__detail {
    display: inline-block;
    margin-top: 8px;
    color: #285e40;
    font-size: 8px;
    font-weight: 950;
    text-decoration: none;
}

.cp-search-card__detail:hover {
    text-decoration: underline;
}

.cp-search-map-panel {
    position: sticky;
    top: 78px;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe6df;
    border-radius: 15px;
    background: #fff;
}

.cp-search-map-panel__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-bottom: 1px solid #edf0ed;
}

.cp-search-map-panel__head > div:first-child span,
.cp-search-map-panel__head > div:first-child strong {
    display: block;
}

.cp-search-map-panel__head > div:first-child span {
    color: #819087;
    font-size: 7px;
}

.cp-search-map-panel__head > div:first-child strong {
    margin-top: 3px;
    color: #30463a;
    font-size: 11px;
}

.cp-search-map-tools {
    display: flex;
    gap: 5px;
}

.cp-search-map {
    position: relative;
    width: 100%;
    height: min(68vh, 650px);
    min-height: 520px;
    background: #edf1ed;
}

.cp-search-map.is-sdk-error::after {
    content:
        "JavaScript Key 저장과 별개로 카카오 개발자 콘솔의 JavaScript SDK 허용 도메인을 확인하세요.";
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(460px, 80%);
    padding: 14px;
    border: 1px solid #efd1cc;
    border-radius: 10px;
    color: #963d32;
    background: rgba(255,245,243,.96);
    text-align: center;
    font-size: 9px;
    line-height: 1.6;
    transform: translate(-50%,-50%);
}

.cp-search-map__loading,
.cp-search-map__fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 25px;
    color: #748078;
    text-align: center;
    font-size: 9px;
    line-height: 1.65;
}

.cp-search-map-status {
    min-height: 34px;
    display: flex;
    align-items: center;
    padding: 8px 11px;
    border-top: 1px solid #edf0ed;
    color: #78847c;
    background: #f7f9f6;
    font-size: 8px;
    line-height: 1.5;
}

.cp-search-map-status[data-state="ok"] {
    color: #285e40;
    background: #edf5ee;
}

.cp-search-map-status[data-state="error"] {
    color: #963d32;
    background: #fff1ef;
}

.cp-search-map-status[data-state="warning"] {
    color: #82652e;
    background: #fff7e8;
}

.cp-search-map-overlay {
    width: 250px;
    overflow: hidden;
    border: 1px solid rgba(23,63,43,.12);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(21,54,35,.18);
}

.cp-search-map-overlay__image {
    height: 105px;
    background: #e8ede8 center / cover no-repeat;
}

.cp-search-map-overlay__body {
    padding: 11px;
}

.cp-search-map-overlay__body span,
.cp-search-map-overlay__body strong,
.cp-search-map-overlay__body small,
.cp-search-map-overlay__body b {
    display: block;
}

.cp-search-map-overlay__body span {
    color: #71917c;
    font-size: 7px;
    font-weight: 900;
}

.cp-search-map-overlay__body strong {
    margin-top: 4px;
    color: #293e32;
    font-size: 12px;
}

.cp-search-map-overlay__body small {
    margin-top: 4px;
    color: #78847d;
    font-size: 8px;
    line-height: 1.45;
}

.cp-search-map-overlay__body b {
    width: max-content;
    margin-top: 7px;
    padding: 4px 6px;
    border-radius: 999px;
    color: #285e40;
    background: #edf4ee;
    font-size: 7px;
}

.cp-search-map-overlay__body a {
    display: block;
    margin-top: 9px;
    padding: 8px;
    border-radius: 8px;
    color: #fff;
    background: #173f2b;
    text-align: center;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 1050px) {
    .cp-search-explorer {
        grid-template-columns: minmax(330px, 390px) minmax(0,1fr);
    }

    .cp-search-map {
        min-height: 500px;
    }
}

@media (max-width: 860px) {
    .cp-search-view-toggle {
        display: flex;
    }

    .cp-search-explorer {
        display: block;
    }

    .cp-search-explorer[data-mobile-view="list"] .cp-search-map-panel {
        display: none;
    }

    .cp-search-explorer[data-mobile-view="map"] .cp-search-explorer__list {
        display: none;
    }

    .cp-search-map-panel {
        position: static;
    }

    .cp-search-map {
        height: min(70vh, 620px);
        min-height: 430px;
    }

    .cp-search-grid.cp-search-grid--maplist {
        max-height: none;
        overflow: visible;
    }

    .cp-search-grid--maplist .cp-search-card {
        grid-template-columns: 125px minmax(0,1fr);
    }
}

@media (max-width: 520px) {
    .cp-search-explorer-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-search-view-toggle {
        width: 100%;
    }

    .cp-search-view-toggle button {
        flex: 1;
    }

    .cp-search-map-panel__head {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-search-map-tools {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-search-grid--maplist .cp-search-card {
        grid-template-columns: 105px minmax(0,1fr);
    }

    .cp-search-grid--maplist .cp-search-card__chips {
        display: none;
    }

    .cp-search-map {
        min-height: 390px;
    }
}

/* CAMPINGZONE 1.0.19 MAP AREA / NEIGHBORHOOD EXPLORER */
.cp-search-map-area-button {
    position: absolute;
    z-index: 20;
    left: 50%;
    top: 14px;
    min-height: 38px;
    padding: 0 15px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: #d7772c;
    box-shadow: 0 9px 24px rgba(130,73,30,.24);
    font-size: 9px;
    font-weight: 950;
    cursor: pointer;
    transform: translateX(-50%);
}

.cp-search-map-area-button[hidden] {
    display: none;
}

.cp-search-map-area-button:disabled {
    opacity: .65;
    cursor: wait;
}

.cp-search-map-reset-button[hidden] {
    display: none;
}

.cp-search-map-tools a {
    min-height: 34px;
    display: grid;
    place-items: center;
    padding: 0 10px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #53675b;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-search-map-tools a.is-neighborhood {
    color: #285e40;
    border-color: #cfe0d2;
    background: #edf5ee;
}

.cp-search-zero-explorer {
    margin-top: 11px;
}

.cp-search-zero-explorer .cp-search-explorer__list {
    min-height: 520px;
}

.cp-search-map-list-empty {
    min-height: 220px;
    display: grid;
    place-content: center;
    gap: 5px;
    padding: 25px;
    border: 1px dashed #cdd7cf;
    border-radius: 13px;
    color: #7c8780;
    background: #fff;
    text-align: center;
}

.cp-search-map-list-empty strong,
.cp-search-map-list-empty span {
    display: block;
}

.cp-search-map-list-empty strong {
    color: #304338;
    font-size: 13px;
}

.cp-search-map-list-empty span {
    font-size: 8px;
}

.cp-search-card--dynamic {
    text-decoration: none;
}

.cp-search-map-status[data-state="empty"] {
    color: #6f7c74;
    background: #f3f5f2;
}

.cp-search-map-status[data-state="loading"] {
    color: #80652c;
    background: #fff7e7;
}

.cp-search-neighborhood-chip {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 7px;
    padding: 8px 10px;
    border: 1px solid #dce5dd;
    border-radius: 9px;
    color: #63736a;
    background: #f7f9f6;
    font-size: 8px;
}

.cp-search-neighborhood-chip strong {
    color: #285e40;
}

@media (max-width: 860px) {
    .cp-search-zero-explorer .cp-search-explorer__list {
        min-height: 0;
    }
}

@media (max-width: 520px) {
    .cp-search-map-tools {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-search-map-tools a,
    .cp-search-map-tools button {
        width: 100%;
    }

    .cp-search-map-area-button {
        top: 10px;
        min-height: 36px;
        font-size: 8px;
    }
}

/* CAMPINGZONE 1.0.20 LOCATION INTELLIGENCE / GPS VALIDATION */
.cp-detail-location-intelligence {
    margin-top: 9px;
    padding: 12px;
    border: 1px solid #dce5dd;
    border-radius: 11px;
    background: #f8faf7;
}

.cp-detail-location-intelligence > header span,
.cp-detail-location-intelligence > header strong,
.cp-detail-location-intelligence > header p {
    display: block;
}

.cp-detail-location-intelligence > header span {
    color: #71917c;
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .13em;
}

.cp-detail-location-intelligence > header strong {
    margin-top: 4px;
    color: #30483a;
    font-size: 10px;
}

.cp-detail-location-intelligence > header p {
    margin: 4px 0 0;
    color: #7a8780;
    font-size: 8px;
    line-height: 1.5;
}

.cp-detail-location-actions {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 5px;
    margin-top: 10px;
}

.cp-detail-location-actions button,
.cp-detail-location-actions a {
    min-height: 36px;
    display: grid;
    place-items: center;
    padding: 0 7px;
    border: 1px solid #d9e2da;
    border-radius: 8px;
    color: #405348;
    background: #fff;
    font-size: 7px;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
}

.cp-detail-location-actions button {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
    cursor: pointer;
}

.cp-detail-location-actions button:disabled {
    opacity: .65;
    cursor: wait;
}

.cp-detail-location-result {
    min-height: 44px;
    margin-top: 7px;
    padding: 9px;
    border-radius: 8px;
    color: #6f7d74;
    background: #eef2ee;
}

.cp-detail-location-result strong,
.cp-detail-location-result span {
    display: block;
}

.cp-detail-location-result strong {
    color: #405348;
    font-size: 8px;
}

.cp-detail-location-result span {
    margin-top: 3px;
    font-size: 7px;
    line-height: 1.5;
}

.cp-detail-location-result[data-state="candidate"] {
    color: #356247;
    background: #eaf5ed;
}

.cp-detail-location-result[data-state="candidate"] strong {
    color: #215d3a;
}

.cp-detail-location-result[data-state="nearby"] {
    color: #65764c;
    background: #f1f5e9;
}

.cp-detail-location-result[data-state="warning"],
.cp-detail-location-result[data-state="loading"] {
    color: #80652d;
    background: #fff7e7;
}

.cp-detail-location-result[data-state="far"],
.cp-detail-location-result[data-state="error"] {
    color: #934036;
    background: #fff1ef;
}

.cp-location-diagnostic-stats {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 7px;
}

.cp-location-diagnostic-stats article {
    padding: 14px;
    border: 1px solid #e0e6e0;
    border-radius: 12px;
    background: #fff;
}

.cp-location-diagnostic-stats span,
.cp-location-diagnostic-stats strong,
.cp-location-diagnostic-stats small {
    display: block;
}

.cp-location-diagnostic-stats span {
    color: #89938d;
    font-size: 8px;
}

.cp-location-diagnostic-stats strong {
    margin-top: 5px;
    color: #285d40;
    font-size: 22px;
}

.cp-location-diagnostic-stats small {
    margin-top: 3px;
    color: #98a19b;
    font-size: 7px;
}

.cp-location-diagnostic-warning {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 10px;
    padding: 14px;
    border: 1px solid #eddcc2;
    border-radius: 11px;
    background: #fff8eb;
}

.cp-location-diagnostic-warning strong,
.cp-location-diagnostic-warning span {
    display: block;
}

.cp-location-diagnostic-warning strong {
    color: #7f5b25;
    font-size: 10px;
}

.cp-location-diagnostic-warning span {
    margin-top: 4px;
    color: #8c7a5c;
    font-size: 8px;
    line-height: 1.5;
}

.cp-location-diagnostic-warning a {
    flex: 0 0 auto;
    padding: 9px 11px;
    border-radius: 8px;
    color: #fff;
    background: #b87328;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-location-diagnostic-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 10px;
}

.cp-location-diagnostic-card {
    padding: 20px;
    border: 1px solid #e0e6e0;
    border-radius: 15px;
    background: #fff;
}

.cp-location-diagnostic-card header > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .15em;
}

.cp-location-diagnostic-card h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 19px;
}

.cp-location-diagnostic-card header p {
    margin: 5px 0 0;
    color: #7b8780;
    font-size: 8px;
    line-height: 1.6;
}

.cp-location-diagnostic-card dl {
    display: grid;
    gap: 5px;
    margin: 14px 0 0;
}

.cp-location-diagnostic-card dl > div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 8px 9px;
    border-radius: 8px;
    background: #f6f8f5;
}

.cp-location-diagnostic-card dt {
    color: #7d8981;
    font-size: 8px;
}

.cp-location-diagnostic-card dd {
    margin: 0;
    color: #3e5146;
    font-size: 8px;
    font-weight: 900;
    text-align: right;
}

.cp-location-sdk-result {
    margin-top: 10px;
    padding: 10px;
    border-radius: 9px;
    color: #6f7b74;
    background: #f2f4f1;
    font-size: 8px;
    font-weight: 850;
}

.cp-location-sdk-result[data-state="ok"] {
    color: #225d3b;
    background: #eaf5ed;
}

.cp-location-sdk-result[data-state="error"] {
    color: #963d32;
    background: #fff1ef;
}

.cp-location-sdk-result[data-state="warning"] {
    color: #80642c;
    background: #fff7e7;
}

.cp-location-sdk-map {
    height: 250px;
    margin-top: 8px;
    overflow: hidden;
    border-radius: 9px;
    background: #edf1ed;
}

.cp-location-diagnostic-note {
    margin-top: 10px;
    padding: 10px;
    border-radius: 9px;
    color: #667a6c;
    background: #eef4ef;
}

.cp-location-diagnostic-note strong,
.cp-location-diagnostic-note span {
    display: block;
}

.cp-location-diagnostic-note strong {
    color: #315e45;
    font-size: 8px;
}

.cp-location-diagnostic-note span {
    margin-top: 3px;
    font-size: 8px;
    line-height: 1.55;
}

.cp-location-diagnostic-actions {
    display: flex;
    gap: 5px;
    margin-top: 10px;
}

.cp-location-diagnostic-actions a {
    flex: 1;
    min-height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #405348;
    background: #f7f9f6;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 980px) {
    .cp-location-diagnostic-stats {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-location-diagnostic-grid {
        grid-template-columns: 1fr;
    }

    .cp-location-diagnostic-warning {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-location-diagnostic-warning a {
        text-align: center;
    }

    .cp-detail-location-actions {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .cp-location-diagnostic-stats {
        grid-template-columns: 1fr;
    }

    .cp-location-diagnostic-actions {
        flex-direction: column;
    }
}

/* CAMPINGZONE 1.0.21 NEIGHBORHOOD / REGION DISCOVERY */
.cp-search-panel__primary {
    grid-template-columns:
        minmax(220px,1.45fr)
        repeat(4,minmax(125px,.62fr));
}

.cp-search-panel__primary select:disabled {
    color: #9ba49e;
    background: #f3f5f2;
}

.cp-search-region-current {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
}

.cp-search-region-current > span {
    color: rgba(255,255,255,.55);
    font-size: 8px;
}

.cp-search-region-current a {
    padding: 6px 8px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.06);
    font-size: 8px;
    font-weight: 850;
    text-decoration: none;
}

.cp-search-region-current a.is-neighborhood {
    color: #173f2b;
    border-color: #dfe9df;
    background: #f4f8f3;
}

.cp-region-discovery {
    padding: 21px;
    border: 1px solid #e0e6e0;
    border-radius: 16px;
    background: #fff;
}

.cp-region-discovery__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
}

.cp-region-discovery__head span,
.cp-region-sigungu__head span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .14em;
}

.cp-region-discovery__head h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 21px;
}

.cp-region-discovery__head p {
    margin: 5px 0 0;
    color: #7d8982;
    font-size: 8px;
    line-height: 1.55;
}

.cp-region-discovery__head > a,
.cp-region-sigungu__head > a {
    flex: 0 0 auto;
    color: #285e40;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-region-discovery__grid {
    display: grid;
    grid-template-columns:
        repeat(6,minmax(0,1fr));
    gap: 6px;
    margin-top: 15px;
}

.cp-region-discovery__grid > a {
    min-height: 78px;
    display: grid;
    align-content: center;
    padding: 10px;
    border: 1px solid #e0e6e0;
    border-radius: 10px;
    color: #405348;
    background: #fafbf9;
    text-decoration: none;
    transition:
        border-color .15s ease,
        background .15s ease,
        transform .15s ease;
}

.cp-region-discovery__grid > a:hover,
.cp-region-discovery__grid > a.is-active {
    border-color: #6e9c7d;
    background: #edf5ee;
    transform: translateY(-1px);
}

.cp-region-discovery__grid span,
.cp-region-discovery__grid strong,
.cp-region-discovery__grid b {
    display: block;
}

.cp-region-discovery__grid span {
    color: #7c8b82;
    font-size: 7px;
}

.cp-region-discovery__grid strong {
    margin-top: 3px;
    color: #334b3d;
    font-size: 9px;
}

.cp-region-discovery__grid b {
    margin-top: 5px;
    color: #285e40;
    font-size: 11px;
}

.cp-region-sigungu {
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid #edf0ed;
}

.cp-region-sigungu__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.cp-region-sigungu__head strong {
    display: block;
    margin-top: 3px;
    color: #405348;
    font-size: 10px;
}

.cp-region-sigungu__chips {
    display: grid;
    grid-template-columns:
        repeat(6,minmax(0,1fr));
    gap: 5px;
    margin-top: 10px;
}

.cp-region-sigungu__chips > a {
    padding: 9px;
    border: 1px solid #e0e6e0;
    border-radius: 9px;
    color: #52645a;
    background: #fff;
    text-decoration: none;
}

.cp-region-sigungu__chips > a:hover,
.cp-region-sigungu__chips > a.is-active {
    border-color: #d59a5b;
    background: #fff8ef;
}

.cp-region-sigungu__chips strong,
.cp-region-sigungu__chips span {
    display: block;
}

.cp-region-sigungu__chips strong {
    font-size: 8px;
}

.cp-region-sigungu__chips span {
    margin-top: 3px;
    color: #8a948e;
    font-size: 7px;
}

.cp-region-sigungu__empty {
    margin-top: 10px;
    padding: 15px;
    border-radius: 9px;
    color: #7d8981;
    background: #f5f7f4;
    font-size: 8px;
}

.cp-neighborhood-layout--21 {
    margin-top: 11px;
}

.cp-neighborhood-saved-search {
    min-height: 38px;
    display: grid;
    place-items: center;
    margin-top: 8px;
    border: 1px solid #cfe0d2;
    border-radius: 9px;
    color: #285e40;
    background: #edf5ee;
    font-size: 8px;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
}

@media (max-width: 1180px) {
    .cp-search-panel__primary {
        grid-template-columns:
            minmax(220px,1.3fr)
            repeat(2,minmax(130px,.7fr));
    }

    .cp-region-discovery__grid,
    .cp-region-sigungu__chips {
        grid-template-columns:
            repeat(4,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-search-panel__primary {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .cp-search-keyword {
        grid-column: 1 / -1;
    }

    .cp-region-discovery__head,
    .cp-region-sigungu__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-region-discovery__grid,
    .cp-region-sigungu__chips {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .cp-search-panel__primary,
    .cp-region-discovery__grid,
    .cp-region-sigungu__chips {
        grid-template-columns: 1fr;
    }

    .cp-search-keyword {
        grid-column: auto;
    }
}

/* CAMPINGZONE 1.0.22 MEMBER FAVORITES */
.cp-favorite-button,
.cp-search-card__favorite {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0 9px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #53645a;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    cursor: pointer;
}

.cp-favorite-button:hover,
.cp-search-card__favorite:hover,
.cp-favorite-button.is-favorited,
.cp-search-card__favorite.is-favorited {
    color: #9a463c;
    border-color: #ebc8c2;
    background: #fff3f1;
}

.cp-favorite-button:disabled,
.cp-search-card__favorite:disabled {
    opacity: .6;
    cursor: wait;
}

.cp-detail-action[data-favorite-button] {
    cursor: pointer;
}

.cp-detail-action[data-favorite-button].is-favorited {
    color: #fff;
    border-color: #a64f42;
    background: #a64f42;
}

.cp-detail-score b {
    font-weight: inherit;
}

.cp-search-card__favorite {
    margin-top: 7px;
}

.cp-search-card__favorite b {
    font-size: 7px;
    font-weight: 900;
}

.cp-search-card__body
.cp-search-card__detail {
    margin-left: 5px;
}

.cp-favorites-hero {
    padding: 34px 0 28px;
    color: #fff;
    background:
        linear-gradient(
            120deg,
            #123d29,
            #28553d
        );
}

.cp-favorites-hero .cp-container {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
}

.cp-favorites-hero a {
    color: rgba(255,255,255,.72);
    font-size: 8px;
    text-decoration: none;
}

.cp-favorites-hero span {
    display: block;
    margin-top: 13px;
    color: #b8d7c1;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .15em;
}

.cp-favorites-hero h1 {
    margin: 6px 0 0;
    font-size: 30px;
}

.cp-favorites-hero p {
    margin: 6px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 9px;
    line-height: 1.6;
}

.cp-favorites-hero .cp-container > strong {
    min-width: 105px;
    padding: 13px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    background: rgba(255,255,255,.07);
    font-size: 19px;
    text-align: center;
}

.cp-favorites-grid {
    display: grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap: 10px;
}

.cp-favorite-card {
    overflow: hidden;
    border: 1px solid #dfe6df;
    border-radius: 14px;
    background: #fff;
}

.cp-favorite-card__image {
    min-height: 205px;
    display: block;
    padding: 10px;
    background:
        #e9eee9
        center / cover
        no-repeat;
    text-decoration: none;
}

.cp-favorite-card__image > div {
    display: flex;
    justify-content: flex-start;
}

.cp-favorite-card__image span {
    padding: 5px 7px;
    border-radius: 999px;
    color: #fff;
    background: rgba(23,63,43,.88);
    font-size: 7px;
    font-weight: 900;
}

.cp-favorite-card__body {
    padding: 13px;
}

.cp-favorite-card__body > small {
    color: #76907f;
    font-size: 7px;
    font-weight: 850;
}

.cp-favorite-card h2 {
    margin: 4px 0 0;
    font-size: 14px;
}

.cp-favorite-card h2 a {
    color: #2d4035;
    text-decoration: none;
}

.cp-favorite-card p {
    margin: 6px 0 0;
    color: #7d8881;
    font-size: 8px;
    line-height: 1.45;
}

.cp-favorite-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}

.cp-favorite-card__chips span {
    padding: 4px 6px;
    border-radius: 999px;
    color: #315e45;
    background: #edf4ee;
    font-size: 7px;
}

.cp-favorite-card__meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid #edf0ed;
    color: #78847d;
    font-size: 7px;
}

.cp-favorite-card__actions {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5px;
    margin-top: 9px;
}

.cp-favorite-card__actions > a {
    min-height: 34px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: #173f2b;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-favorites-empty {
    min-height: 300px;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 7px;
    padding: 30px;
    border: 1px dashed #cdd8cf;
    border-radius: 15px;
    color: #7c8981;
    background: #fff;
    text-align: center;
}

.cp-favorites-empty strong {
    color: #304539;
    font-size: 16px;
}

.cp-favorites-empty span {
    font-size: 9px;
}

.cp-favorites-empty a {
    margin-top: 5px;
    padding: 9px 13px;
    border-radius: 8px;
    color: #fff;
    background: #173f2b;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-favorites-pagination {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 15px;
}

.cp-favorites-pagination a {
    min-width: 34px;
    min-height: 34px;
    display: grid;
    place-items: center;
    padding: 0 8px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #53645a;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-favorites-pagination a.is-active {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

@media (max-width: 980px) {
    .cp-favorites-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .cp-favorites-hero .cp-container {
        align-items: flex-start;
        flex-direction: column;
    }

    .cp-favorites-grid {
        grid-template-columns: 1fr;
    }
}

/* CAMPINGZONE 1.0.22.1 FAVORITES UI VISIBILITY HOTFIX */

/*
 * 검색카드는 overflow:hidden 구조이므로
 * 본문 하단에 들어간 찜 버튼이 내용량에 따라 잘릴 수 있다.
 * 찜 버튼을 카드 우측 상단 고정 액션으로 변경한다.
 */
.cp-search-grid--maplist .cp-search-card {
    position: relative;
}

.cp-search-grid--maplist
.cp-search-card
.cp-search-card__favorite {
    position: absolute !important;
    z-index: 25 !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;

    min-width: 64px !important;
    min-height: 34px !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;

    margin: 0 !important;
    padding: 0 9px !important;

    border: 1px solid rgba(23,63,43,.17) !important;
    border-radius: 999px !important;

    color: #405348 !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 5px 16px rgba(25,61,40,.12) !important;

    font-size: 8px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.cp-search-grid--maplist
.cp-search-card
.cp-search-card__favorite:hover {
    color: #8e4037 !important;
    border-color: #e7bbb5 !important;
    background: #fff4f2 !important;
}

.cp-search-grid--maplist
.cp-search-card
.cp-search-card__favorite.is-favorited {
    color: #fff !important;
    border-color: #a64f42 !important;
    background: #a64f42 !important;
}

.cp-search-grid--maplist
.cp-search-card
.cp-search-card__favorite b {
    min-width: 10px;
    font-size: 7px !important;
    font-weight: 950 !important;
}

.cp-search-grid--maplist
.cp-search-card
.cp-search-card__body {
    /*
     * 우측 상단 액션 버튼과 제목/지역 텍스트가 겹치지 않도록
     * 첫 줄에 여유를 둔다.
     */
    padding-top: 48px;
}

/*
 * 카드가 좁아지는 모바일에서는
 * 버튼 자체가 이미지/본문을 가리지 않도록 작게 유지한다.
 */
@media (max-width: 860px) {
    .cp-search-grid--maplist
    .cp-search-card
    .cp-search-card__favorite {
        top: 8px !important;
        right: 8px !important;
        min-width: 58px !important;
        min-height: 31px !important;
        padding: 0 7px !important;
        font-size: 7px !important;
    }

    .cp-search-grid--maplist
    .cp-search-card
    .cp-search-card__body {
        padding-top: 44px;
    }
}

/*
 * 동적 지도영역 재검색 카드도 동일하게 보장.
 */
.cp-search-card--dynamic
.cp-search-card__favorite {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/*
 * 상세 찜 버튼은 disabled/placeholder 스타일에 눌리지 않도록 보정.
 */
.cp-detail-action[data-favorite-button] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer !important;
}

.cp-detail-action[data-favorite-button].is-favorited {
    color: #fff !important;
    border-color: #a64f42 !important;
    background: #a64f42 !important;
}

/* CAMPINGZONE 1.0.23 SEARCH FILTER QA / REAL DATA INTEGRITY */
.cp-search-select-count {
    color: #849087;
}

.cp-search-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
}

.cp-search-active-filters > span {
    color: rgba(255,255,255,.55);
    font-size: 8px;
}

.cp-search-active-filters a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 27px;
    padding: 0 8px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.07);
    font-size: 8px;
    font-weight: 850;
    text-decoration: none;
}

.cp-search-active-filters a b {
    opacity: .72;
    font-size: 9px;
}

.cp-search-active-filters a.is-reset {
    color: #173f2b;
    border-color: #fff;
    background: #fff;
}

.cp-search-quick a small {
    margin-left: 3px;
    opacity: .66;
    font-size: .82em;
}

.cp-search-empty-diagnostics {
    max-width: 650px;
    margin: 12px auto 0;
    padding: 12px;
    border: 1px solid #e0e6e0;
    border-radius: 10px;
    background: #f8faf7;
}

.cp-search-empty-diagnostics strong {
    display: block;
    color: #405348;
    font-size: 9px;
}

.cp-search-empty-diagnostics p {
    margin: 4px 0 0;
    color: #7b8780;
    font-size: 8px;
    line-height: 1.55;
}

.cp-search-empty-diagnostics__chips {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}

.cp-search-empty-diagnostics__chips a {
    padding: 5px 7px;
    border: 1px solid #dce4dd;
    border-radius: 999px;
    color: #486055;
    background: #fff;
    font-size: 7px;
    font-weight: 850;
    text-decoration: none;
}

.cp-search-qa-stats {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 7px;
}

.cp-search-qa-stats article {
    padding: 14px;
    border: 1px solid #e0e6e0;
    border-radius: 12px;
    background: #fff;
}

.cp-search-qa-stats span,
.cp-search-qa-stats strong,
.cp-search-qa-stats small {
    display: block;
}

.cp-search-qa-stats span {
    color: #89938d;
    font-size: 8px;
}

.cp-search-qa-stats strong {
    margin-top: 5px;
    color: #285e40;
    font-size: 21px;
}

.cp-search-qa-stats small {
    margin-top: 3px;
    color: #98a19b;
    font-size: 7px;
}

.cp-search-qa-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 10px;
}

.cp-search-qa-card {
    padding: 20px;
    border: 1px solid #e0e6e0;
    border-radius: 15px;
    background: #fff;
}

.cp-search-qa-card header > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .14em;
}

.cp-search-qa-card h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 18px;
}

.cp-search-qa-card header p {
    margin: 5px 0 0;
    color: #7b8780;
    font-size: 8px;
    line-height: 1.55;
}

.cp-search-qa-table {
    display: grid;
    gap: 5px;
    margin-top: 13px;
}

.cp-search-qa-table > div {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    border-radius: 8px;
    background: #f6f8f5;
}

.cp-search-qa-table > div.is-zero {
    background: #fff3f1;
}

.cp-search-qa-table span {
    color: #405348;
    font-size: 8px;
}

.cp-search-qa-table code {
    color: #738078;
    font-size: 7px;
}

.cp-search-qa-table strong {
    color: #285e40;
    font-size: 8px;
}

.cp-search-qa-table > div.is-zero strong {
    color: #963d32;
}

.cp-search-qa-data {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 6px;
    margin-top: 13px;
}

.cp-search-qa-data > div {
    padding: 10px;
    border-radius: 9px;
    background: #f6f8f5;
}

.cp-search-qa-data span,
.cp-search-qa-data strong {
    display: block;
}

.cp-search-qa-data span {
    color: #839087;
    font-size: 7px;
}

.cp-search-qa-data strong {
    margin-top: 4px;
    color: #405348;
    font-size: 12px;
}

.cp-search-qa-warning {
    margin-top: 8px;
    padding: 10px;
    border-radius: 9px;
    color: #87692f;
    background: #fff7e8;
}

.cp-search-qa-warning strong,
.cp-search-qa-warning span {
    display: block;
}

.cp-search-qa-warning strong {
    font-size: 8px;
}

.cp-search-qa-warning span {
    margin-top: 3px;
    font-size: 7px;
    line-height: 1.5;
}

.cp-search-qa-region {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 5px;
    margin-top: 13px;
}

.cp-search-qa-region > div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 9px;
    border-radius: 8px;
    background: #f6f8f5;
}

.cp-search-qa-region span,
.cp-search-qa-region strong {
    font-size: 8px;
}

.cp-search-qa-region span {
    color: #596b61;
}

.cp-search-qa-region strong {
    color: #285e40;
}

.cp-search-qa-actions {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 6px;
    margin-top: 10px;
}

.cp-search-qa-actions a {
    min-height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid #dce4dd;
    border-radius: 9px;
    color: #405348;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 980px) {
    .cp-search-qa-stats {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-search-qa-grid {
        grid-template-columns: 1fr;
    }

    .cp-search-qa-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .cp-search-qa-stats,
    .cp-search-qa-data,
    .cp-search-qa-region {
        grid-template-columns: 1fr;
    }
}
/* CAMPINGZONE 1.0.24 FIELD REPORT UPLOAD / GPS CANDIDATE */
.cp-field-hero,.cp-field-write-hero,.cp-myfield-hero{padding:58px 0;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(213,154,91,.22),transparent 34%),#123f2a}.cp-field-hero__inner{display:flex;justify-content:space-between;align-items:end;gap:28px}.cp-field-hero__inner>div:first-child>span,.cp-field-write-hero .cp-container>span,.cp-myfield-hero .cp-container>span{color:#b9d0bd;font-size:9px;font-weight:950;letter-spacing:.15em}.cp-field-hero h1,.cp-field-write-hero h1,.cp-myfield-hero h1{margin:9px 0 0;color:#fff;font-size:clamp(31px,4vw,52px);letter-spacing:-.05em;line-height:1.08}.cp-field-hero p,.cp-field-write-hero p,.cp-myfield-hero p{max-width:650px;margin:13px 0 0;color:rgba(255,255,255,.72);font-size:10px;line-height:1.75}.cp-field-hero__action{width:min(310px,100%);padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.07)}.cp-field-hero__action strong,.cp-field-hero__action span{display:block}.cp-field-hero__action strong{font-size:13px}.cp-field-hero__action span{margin-top:5px;color:rgba(255,255,255,.65);font-size:8px}.cp-field-hero__action a{min-height:36px;display:grid;place-items:center;margin-top:7px;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#fff;background:rgba(255,255,255,.08);font-size:8px;font-weight:900;text-decoration:none}.cp-field-body,.cp-field-write-body,.cp-myfield-body{padding:24px 0 55px;background:#f5f7f4}.cp-field-policy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cp-field-policy article{padding:15px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.cp-field-policy article>span{color:#d0833d;font-size:8px;font-weight:950}.cp-field-policy strong,.cp-field-policy p{display:block}.cp-field-policy strong{margin-top:5px;color:#30483a;font-size:11px}.cp-field-policy p{margin:5px 0 0;color:#7b8780;font-size:8px;line-height:1.55}.cp-field-sectionhead{margin-top:28px}.cp-field-sectionhead span{color:#71917c;font-size:8px;font-weight:950;letter-spacing:.13em}.cp-field-sectionhead h2{margin:6px 0 0;color:#293f33;font-size:23px}.cp-field-sectionhead p{margin:4px 0 0;color:#7d8981;font-size:8px}.cp-field-empty,.cp-myfield-empty,.cp-field-write-empty{min-height:260px;display:grid;place-content:center;justify-items:center;gap:7px;margin-top:12px;padding:25px;border:1px dashed #cbd6cd;border-radius:14px;background:#fff;text-align:center}.cp-field-empty strong,.cp-myfield-empty strong,.cp-field-write-empty strong{color:#304338;font-size:15px}.cp-field-empty span,.cp-myfield-empty span,.cp-field-write-empty span{color:#7c8780;font-size:9px}.cp-field-empty a,.cp-myfield-empty a,.cp-field-write-empty a{margin-top:5px;padding:9px 12px;border-radius:8px;color:#fff;background:#173f2b;font-size:8px;font-weight:900;text-decoration:none}.cp-field-grid,.cp-myfield-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.cp-field-card,.cp-myfield-card{overflow:hidden;border:1px solid #dfe6df;border-radius:13px;background:#fff}.cp-field-card__image,.cp-myfield-card__image{position:relative;min-height:190px;display:block;background:#e7ece7 center/cover no-repeat}.cp-field-card__image>span,.cp-myfield-card__image>span{position:absolute;left:10px;top:10px;padding:5px 7px;border-radius:999px;color:#fff;background:rgba(23,63,43,.88);font-size:7px;font-weight:900}.cp-myfield-card__image>span.is-pending_review{background:rgba(183,115,40,.92)}.cp-myfield-card__image>span.is-approved{background:rgba(35,100,61,.92)}.cp-myfield-card__image>span.is-rejected{background:rgba(150,61,50,.92)}.cp-field-card__body,.cp-myfield-card__body{padding:14px}.cp-field-card__body>small,.cp-myfield-card__body>small{color:#718078;font-size:7px}.cp-field-card h2,.cp-myfield-card h2{margin:5px 0 0;font-size:14px}.cp-field-card h2 a,.cp-myfield-card h2 a{color:#2d4336;text-decoration:none}.cp-field-card p,.cp-myfield-card p{display:-webkit-box;overflow:hidden;margin:7px 0 0;color:#76827a;font-size:8px;line-height:1.55;-webkit-line-clamp:3;-webkit-box-orient:vertical}.cp-field-card__tags,.cp-myfield-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.cp-field-card__tags span,.cp-myfield-card__tags span{padding:5px 7px;border-radius:999px;color:#315e45;background:#edf4ee;font-size:7px;font-weight:850}.cp-field-card__meta,.cp-myfield-card__footer{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #edf0ed;color:#929b95;font-size:7px}.cp-myfield-card__footer a{color:#285e40;font-weight:900;text-decoration:none}.cp-field-write-hero .cp-container>a,.cp-myfield-hero .cp-container>a{display:block;margin-bottom:16px;color:rgba(255,255,255,.72);font-size:8px;font-weight:850;text-decoration:none}.cp-myfield-hero .cp-container>strong{display:block;width:max-content;margin-top:14px;padding:7px 10px;border-radius:999px;color:#173f2b;background:#fff;font-size:9px}.cp-field-write-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:11px;align-items:start}.cp-field-write-campsite,.cp-field-write-formcard{border:1px solid #dfe6df;border-radius:14px;background:#fff}.cp-field-write-campsite{position:sticky;top:78px;padding:17px}.cp-field-write-campsite>span{color:#71917c;font-size:8px;font-weight:950;letter-spacing:.13em}.cp-field-write-campsite h2{margin:7px 0 0;color:#2e4437;font-size:17px}.cp-field-write-campsite>p{margin:6px 0 12px;color:#7b8780;font-size:8px;line-height:1.55}.cp-field-write-campsite>div:not(.cp-field-write-campsite__note){display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #edf0ed;font-size:8px}.cp-field-write-campsite>div>span{color:#869189}.cp-field-write-campsite>div>strong{color:#315e45}.cp-field-write-campsite__note{margin-top:10px;padding:10px;border-radius:9px;color:#80652d;background:#fff7e8;font-size:8px;line-height:1.55}.cp-field-write-formcard{padding:18px}.cp-field-write-error{margin-bottom:10px;padding:11px;border:1px solid #efd3ce;border-radius:9px;color:#963d32;background:#fff1ef;font-size:8px;font-weight:850}.cp-field-write-step+.cp-field-write-step{margin-top:12px;padding-top:15px;border-top:1px solid #edf0ed}.cp-field-write-step>header{display:flex;gap:10px;align-items:flex-start}.cp-field-write-step>header>span{min-width:28px;min-height:28px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#173f2b;font-size:8px;font-weight:950}.cp-field-write-step>header strong,.cp-field-write-step>header p{display:block}.cp-field-write-step>header strong{color:#304338;font-size:11px}.cp-field-write-step>header p{margin:3px 0 0;color:#7d8981;font-size:8px;line-height:1.55}.cp-field-gps-button{width:100%;min-height:42px;margin-top:11px;border:0;border-radius:9px;color:#fff;background:#d7772c;font-size:9px;font-weight:950;cursor:pointer}.cp-field-gps-button:disabled{opacity:.65;cursor:wait}.cp-field-gps-result{margin-top:7px;padding:10px;border-radius:9px;color:#6e7a72;background:#f1f4f1}.cp-field-gps-result strong,.cp-field-gps-result span{display:block}.cp-field-gps-result strong{font-size:9px}.cp-field-gps-result span{margin-top:3px;font-size:8px;line-height:1.5}.cp-field-gps-result[data-state=pass]{color:#245e3d;background:#eaf5ed}.cp-field-gps-result[data-state=loading],.cp-field-gps-result[data-state=warning]{color:#80652d;background:#fff7e8}.cp-field-gps-result[data-state=far],.cp-field-gps-result[data-state=error]{color:#963d32;background:#fff1ef}.cp-field-write-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.cp-field-write-grid label>span,.cp-field-write-summary>span{display:block;margin-bottom:5px;color:#56685d;font-size:8px;font-weight:900}.cp-field-write-grid select,.cp-field-write-summary textarea{width:100%;box-sizing:border-box;border:1px solid #dce4dd;border-radius:9px;color:#35493d;background:#fff;font:inherit}.cp-field-write-grid select{min-height:42px;padding:0 10px;font-size:9px}.cp-field-write-summary{display:block;margin-top:9px}.cp-field-write-summary textarea{padding:11px;resize:vertical;font-size:9px;line-height:1.6}.cp-field-write-summary small{display:block;margin-top:5px;color:#8a948e;font-size:7px}.cp-field-photo-picker{min-height:105px;display:grid;place-content:center;justify-items:center;gap:5px;margin-top:11px;border:1px dashed #bfcdbf;border-radius:11px;color:#53675b;background:#f7faf7;cursor:pointer}.cp-field-photo-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cp-field-photo-picker strong{font-size:10px}.cp-field-photo-picker span{color:#87928b;font-size:8px}.cp-field-photo-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}.cp-field-photo-preview>div{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:8px;background:#e6ece7 center/cover no-repeat}.cp-field-photo-preview>div>span{position:absolute;right:5px;top:5px;min-width:20px;min-height:20px;display:grid;place-items:center;border-radius:999px;color:#fff;background:rgba(0,0,0,.55);font-size:7px;font-weight:900}.cp-field-write-submitbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:16px;padding:12px;border-radius:10px;background:#eef4ef}.cp-field-write-submitbar strong,.cp-field-write-submitbar span{display:block}.cp-field-write-submitbar strong{color:#315e45;font-size:9px}.cp-field-write-submitbar span{margin-top:3px;color:#718078;font-size:7px}.cp-field-write-submitbar button{flex:0 0 auto;min-width:140px;min-height:42px;border:0;border-radius:9px;color:#fff;background:#173f2b;font-size:9px;font-weight:950;cursor:pointer}.cp-field-write-submitbar button:disabled{color:#8b948e;background:#dfe4df;cursor:not-allowed}.cp-detail-field-submit{min-height:36px;display:inline-grid;place-items:center;margin-top:10px;padding:0 12px;border-radius:8px;color:#fff;background:#d7772c;font-size:8px;font-weight:950;text-decoration:none}.cp-myfield-pagination{display:flex;justify-content:center;gap:5px;margin-top:14px}.cp-myfield-pagination a{min-width:34px;min-height:34px;display:grid;place-items:center;border:1px solid #dce4dd;border-radius:8px;color:#53675b;background:#fff;font-size:8px;font-weight:900;text-decoration:none}.cp-myfield-pagination a.is-active{color:#fff;border-color:#173f2b;background:#173f2b}.cp-field-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.cp-field-admin-stats article{padding:13px;border:1px solid #dfe6df;border-radius:11px;background:#fff}.cp-field-admin-stats span,.cp-field-admin-stats strong{display:block}.cp-field-admin-stats span{color:#87928b;font-size:8px}.cp-field-admin-stats strong{margin-top:5px;color:#285e40;font-size:20px}.cp-field-admin-card{margin-top:10px;padding:18px;border:1px solid #dfe6df;border-radius:14px;background:#fff}.cp-field-admin-card header>span{color:#71917c;font-size:8px;font-weight:950;letter-spacing:.13em}.cp-field-admin-card h2{margin:5px 0 0;color:#304338;font-size:18px}.cp-field-admin-card header p{margin:4px 0 0;color:#7d8981;font-size:8px}.cp-field-admin-table{margin-top:12px}.cp-field-admin-table__head,.cp-field-admin-table>div:not(.cp-field-admin-table__head){display:grid;grid-template-columns:90px minmax(180px,1.4fr) 110px 70px 80px 90px;gap:8px;align-items:center}.cp-field-admin-table__head{padding:8px 9px;color:#87928b;font-size:7px;font-weight:900}.cp-field-admin-table>div:not(.cp-field-admin-table__head){padding:9px;border-top:1px solid #edf0ed;color:#53635a;font-size:8px}.cp-field-admin-table strong,.cp-field-admin-table small{display:block}.cp-field-admin-table small{margin-top:2px;color:#8c9690;font-size:7px}.cp-field-admin-table b{padding:4px 6px;border-radius:999px;color:#fff;background:#8a948e;font-size:7px}.cp-field-admin-table b.is-pending_review{background:#b77328}.cp-field-admin-table b.is-approved{background:#27633f}.cp-field-admin-table b.is-rejected{background:#963d32}.cp-field-admin-empty{margin-top:12px;padding:24px;border:1px dashed #cbd6cd;border-radius:10px;color:#7b8780;background:#f8faf7;text-align:center;font-size:8px}.cp-field-admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.cp-field-admin-actions a{min-height:38px;display:grid;place-items:center;border:1px solid #dce4dd;border-radius:8px;color:#405348;background:#fff;font-size:8px;font-weight:900;text-decoration:none}@media(max-width:980px){.cp-field-grid,.cp-myfield-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-field-admin-table{overflow-x:auto}.cp-field-admin-table__head,.cp-field-admin-table>div:not(.cp-field-admin-table__head){min-width:760px}}@media(max-width:760px){.cp-field-hero__inner{align-items:stretch;flex-direction:column}.cp-field-hero__action{width:auto}.cp-field-policy,.cp-field-grid,.cp-myfield-grid{grid-template-columns:1fr}.cp-field-write-layout{grid-template-columns:1fr}.cp-field-write-campsite{position:static}.cp-field-photo-preview{grid-template-columns:repeat(4,minmax(0,1fr))}.cp-field-write-submitbar{align-items:stretch;flex-direction:column}.cp-field-write-submitbar button{width:100%}.cp-field-admin-actions{grid-template-columns:1fr}}@media(max-width:520px){.cp-field-write-grid{grid-template-columns:1fr}.cp-field-photo-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-field-admin-stats{grid-template-columns:1fr}}

/* CAMPINGZONE 1.0.25 FIELD REPORT MODERATION / PUBLISH */
.cp-field-review-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
}

.cp-field-review-tabs a {
    min-height: 34px;
    display: grid;
    place-items: center;
    padding: 0 11px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #53675b;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-field-review-tabs a.is-active {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-field-admin-table--25 .cp-field-admin-table__head,
.cp-field-admin-table--25 > div:not(.cp-field-admin-table__head) {
    grid-template-columns:
        90px
        minmax(180px,1.35fr)
        105px
        65px
        75px
        82px
        92px;
}

.cp-field-review-link {
    min-height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid #cfe0d2;
    border-radius: 7px;
    color: #285e40;
    background: #edf5ee;
    font-size: 7px;
    font-weight: 900;
    text-decoration: none;
}

.cp-field-review-pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 12px;
}

.cp-field-review-pagination a {
    min-width: 34px;
    min-height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #53675b;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-field-review-pagination a.is-active {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-field-review-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 320px;
    gap: 11px;
    align-items: start;
}

.cp-field-review-main,
.cp-field-review-side > div,
.cp-field-review-side > form {
    border: 1px solid #dfe6df;
    border-radius: 14px;
    background: #fff;
}

.cp-field-review-main {
    padding: 18px;
}

.cp-field-review-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
}

.cp-field-review-title span {
    color: #71917c;
    font-size: 8px;
    font-weight: 900;
}

.cp-field-review-title h2 {
    margin: 5px 0 0;
    color: #2e4437;
    font-size: 20px;
}

.cp-field-review-title p {
    margin: 5px 0 0;
    color: #7b8780;
    font-size: 8px;
}

.cp-field-review-title > b {
    flex: 0 0 auto;
    padding: 6px 8px;
    border-radius: 999px;
    color: #fff;
    background: #8a948e;
    font-size: 8px;
}

.cp-field-review-title > b.is-pending_review {
    background: #b77328;
}

.cp-field-review-title > b.is-approved {
    background: #27633f;
}

.cp-field-review-title > b.is-rejected {
    background: #963d32;
}

.cp-field-review-author {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 5px;
    margin-top: 13px;
}

.cp-field-review-author > div {
    padding: 9px;
    border-radius: 9px;
    background: #f6f8f5;
}

.cp-field-review-author span,
.cp-field-review-author strong {
    display: block;
}

.cp-field-review-author span {
    color: #87928b;
    font-size: 7px;
}

.cp-field-review-author strong {
    margin-top: 4px;
    color: #405348;
    font-size: 8px;
}

.cp-field-review-conditions {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
    margin-top: 9px;
}

.cp-field-review-conditions article {
    padding: 10px;
    border: 1px solid #e2e7e2;
    border-radius: 9px;
    background: #fff;
}

.cp-field-review-conditions span,
.cp-field-review-conditions strong {
    display: block;
}

.cp-field-review-conditions span {
    color: #87928b;
    font-size: 7px;
}

.cp-field-review-conditions strong {
    margin-top: 4px;
    color: #315e45;
    font-size: 9px;
}

.cp-field-review-summary {
    margin-top: 10px;
    padding: 12px;
    border-radius: 10px;
    background: #f7f9f6;
}

.cp-field-review-summary > span {
    color: #71917c;
    font-size: 7px;
    font-weight: 900;
}

.cp-field-review-summary p {
    margin: 6px 0 0;
    color: #425449;
    font-size: 9px;
    line-height: 1.7;
}

.cp-field-review-photos {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #edf0ed;
}

.cp-field-review-photos > header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 12px;
}

.cp-field-review-photos > header span {
    color: #71917c;
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .13em;
}

.cp-field-review-photos h3 {
    margin: 4px 0 0;
    color: #304338;
    font-size: 15px;
}

.cp-field-review-photos > header p {
    margin: 0;
    color: #8a948e;
    font-size: 7px;
}

.cp-field-review-photo-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
    margin-top: 10px;
}

.cp-field-review-photo-grid > a {
    overflow: hidden;
    border: 1px solid #dfe6df;
    border-radius: 9px;
    color: #53635a;
    background: #fff;
    text-decoration: none;
}

.cp-field-review-photo-grid > a > div {
    aspect-ratio: 4 / 3;
    background: #e7ece7 center / cover no-repeat;
}

.cp-field-review-photo-grid > a > span,
.cp-field-review-photo-grid > a > small {
    display: block;
    padding: 0 8px;
}

.cp-field-review-photo-grid > a > span {
    margin-top: 7px;
    font-size: 7px;
    font-weight: 900;
}

.cp-field-review-photo-grid > a > small {
    margin: 3px 0 7px;
    color: #8b958f;
    font-size: 7px;
}

.cp-field-review-side {
    position: sticky;
    top: 78px;
    display: grid;
    gap: 8px;
}

.cp-field-review-state,
.cp-field-review-finished,
.cp-field-review-links {
    padding: 15px;
}

.cp-field-review-state > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .13em;
}

.cp-field-review-state > strong {
    display: block;
    margin-top: 5px;
    color: #304338;
    font-size: 15px;
}

.cp-field-review-state > p {
    margin: 5px 0 0;
    color: #7b8780;
    font-size: 8px;
    line-height: 1.55;
}

.cp-field-review-state dl {
    display: grid;
    gap: 5px;
    margin: 12px 0 0;
}

.cp-field-review-state dl > div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px;
    border-radius: 8px;
    background: #f6f8f5;
}

.cp-field-review-state dt,
.cp-field-review-state dd {
    font-size: 8px;
}

.cp-field-review-state dt {
    color: #87928b;
}

.cp-field-review-state dd {
    margin: 0;
    color: #405348;
    font-weight: 900;
    text-align: right;
}

.cp-field-review-form {
    padding: 15px;
}

.cp-field-review-form label > span {
    display: block;
    margin-bottom: 6px;
    color: #53655a;
    font-size: 8px;
    font-weight: 900;
}

.cp-field-review-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #dce4dd;
    border-radius: 9px;
    color: #3d5045;
    background: #fff;
    font: inherit;
    font-size: 8px;
    line-height: 1.6;
    resize: vertical;
}

.cp-field-review-form button {
    width: 100%;
    min-height: 42px;
    margin-top: 7px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    font-size: 9px;
    font-weight: 950;
    cursor: pointer;
}

.cp-field-review-form button.is-approve {
    background: #173f2b;
}

.cp-field-review-form button.is-reject {
    background: #963d32;
}

.cp-field-review-finished strong {
    color: #315e45;
    font-size: 10px;
}

.cp-field-review-finished p {
    margin: 6px 0 0;
    color: #6d7b72;
    font-size: 8px;
    line-height: 1.6;
}

.cp-field-review-links {
    display: grid;
    gap: 5px;
}

.cp-field-review-links a {
    min-height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #405348;
    background: #f7f9f6;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-myfield-reject-note,
.cp-myfield-approved-note {
    margin-top: 8px;
    padding: 8px;
    border-radius: 8px;
}

.cp-myfield-reject-note {
    color: #963d32;
    background: #fff1ef;
}

.cp-myfield-approved-note {
    color: #245e3d;
    background: #eaf5ed;
}

.cp-myfield-reject-note strong,
.cp-myfield-reject-note span,
.cp-myfield-approved-note strong,
.cp-myfield-approved-note span {
    display: block;
}

.cp-myfield-reject-note strong,
.cp-myfield-approved-note strong {
    font-size: 8px;
}

.cp-myfield-reject-note span,
.cp-myfield-approved-note span {
    margin-top: 3px;
    font-size: 7px;
    line-height: 1.5;
}

.cp-detail-field-live {
    margin-top: 11px;
    padding: 12px;
    border: 1px solid #d9e4db;
    border-radius: 10px;
    background: #f8faf7;
}

.cp-detail-field-live__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.cp-detail-field-live__head strong {
    color: #315e45;
    font-size: 9px;
}

.cp-detail-field-live__head span {
    color: #89938d;
    font-size: 7px;
}

.cp-detail-field-live > p {
    margin: 8px 0 0;
    color: #495c50;
    font-size: 8px;
    line-height: 1.65;
}

.cp-detail-field-live__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
}

.cp-detail-field-live__tags span {
    padding: 5px 7px;
    border-radius: 999px;
    color: #315e45;
    background: #e9f2ea;
    font-size: 7px;
    font-weight: 850;
}

.cp-detail-field-live__photos {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 5px;
    margin-top: 8px;
}

.cp-detail-field-live__photos a {
    aspect-ratio: 4 / 3;
    border-radius: 7px;
    background: #e5ebe5 center / cover no-repeat;
}

.cp-detail-field-live__footer {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #e5ebe5;
    color: #8a948e;
    font-size: 7px;
}

.cp-detail-field-live__footer a {
    color: #285e40;
    font-weight: 900;
    text-decoration: none;
}

.cp-detail-field-live-empty {
    margin-top: 10px;
    padding: 10px;
    border-radius: 9px;
    color: #7b8780;
    background: #f5f7f4;
    font-size: 8px;
}

@media (max-width: 980px) {
    .cp-field-review-layout {
        grid-template-columns: 1fr;
    }

    .cp-field-review-side {
        position: static;
    }

    .cp-field-review-author {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-field-review-conditions {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-field-review-photo-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .cp-field-review-author,
    .cp-field-review-conditions,
    .cp-field-review-photo-grid,
    .cp-detail-field-live__photos {
        grid-template-columns: 1fr;
    }

    .cp-field-review-photos > header {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* CAMPINGZONE 1.0.26 FIELD REPORT SERVICE INTEGRATION */
.cp-field-hero--26 {
    background:
        radial-gradient(
            circle at 78% 18%,
            rgba(218,150,79,.22),
            transparent 35%
        ),
        linear-gradient(
            120deg,
            #0d3826,
            #174d31
        );
}

.cp-field-hero__quick {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 16px;
}

.cp-field-hero__quick a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.07);
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-field-hero__quick a.is-active {
    color: #173f2b;
    border-color: #fff;
    background: #fff;
}

.cp-field-hero__quick b {
    min-width: 22px;
    min-height: 22px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(0,0,0,.12);
    font-size: 7px;
}

.cp-field-hero__action a.is-primary {
    color: #173f2b;
    border-color: #fff;
    background: #fff;
}

.cp-field-freshness-guide {
    display: grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap: 7px;
}

.cp-field-freshness-guide article {
    padding: 13px;
    border: 1px solid #dfe6df;
    border-radius: 11px;
    background: #fff;
}

.cp-field-freshness-guide span,
.cp-field-freshness-guide strong,
.cp-field-freshness-guide p {
    display: block;
}

.cp-field-freshness-guide span {
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .12em;
}

.cp-field-freshness-guide strong {
    margin-top: 4px;
    color: #30483a;
    font-size: 10px;
}

.cp-field-freshness-guide p {
    margin: 4px 0 0;
    color: #7c8880;
    font-size: 7px;
}

.cp-field-freshness-guide .is-today span {
    color: #238b53;
}

.cp-field-freshness-guide .is-week span {
    color: #54854a;
}

.cp-field-freshness-guide .is-month span {
    color: #b36e2c;
}

.cp-field-freshness-guide .is-old span {
    color: #8b938e;
}

.cp-field-filter {
    display: grid;
    grid-template-columns:
        minmax(220px,1.45fr)
        repeat(3,minmax(120px,.55fr))
        130px;
    gap: 7px;
    margin-top: 10px;
    padding: 13px;
    border: 1px solid #dfe6df;
    border-radius: 12px;
    background: #fff;
}

.cp-field-filter label > span {
    display: block;
    margin-bottom: 5px;
    color: #63746a;
    font-size: 7px;
    font-weight: 900;
}

.cp-field-filter input,
.cp-field-filter select {
    width: 100%;
    min-height: 40px;
    box-sizing: border-box;
    padding: 0 10px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #344a3c;
    background: #fff;
    font: inherit;
    font-size: 8px;
}

.cp-field-filter button {
    align-self: end;
    min-height: 40px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: #173f2b;
    font-size: 8px;
    font-weight: 950;
    cursor: pointer;
}

.cp-field-sectionhead--26 > a {
    color: #285e40;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-field-card--26 .cp-field-card__image {
    min-height: 210px;
}

.cp-field-card--26 .cp-field-card__image > b {
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 5px 7px;
    border-radius: 999px;
    color: #fff;
    background: rgba(0,0,0,.56);
    font-size: 7px;
}

.cp-field-freshness {
    position: absolute;
    left: 10px;
    top: 10px;
    padding: 5px 7px;
    border-radius: 999px;
    color: #fff;
    font-size: 7px;
    font-weight: 950;
}

.cp-field-freshness.is-today {
    background: rgba(31,126,71,.94);
}

.cp-field-freshness.is-three_days,
.cp-field-freshness.is-week {
    background: rgba(68,119,67,.94);
}

.cp-field-freshness.is-month {
    background: rgba(183,115,40,.94);
}

.cp-field-freshness.is-old {
    background: rgba(108,116,111,.92);
}

.cp-field-empty__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin-top: 5px;
}

.cp-field-pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 15px;
}

.cp-field-pagination a {
    min-width: 34px;
    min-height: 34px;
    display: grid;
    place-items: center;
    padding: 0 8px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #53675b;
    background: #fff;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-field-pagination a.is-active {
    color: #fff;
    border-color: #173f2b;
    background: #173f2b;
}

.cp-search-field-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 7px 9px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.08);
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-search-field-verified.is-active {
    color: #173f2b;
    border-color: #fff;
    background: #fff;
}

.cp-search-card__footer strong.is-field-fresh {
    color: #2b7449;
}

@media (max-width: 980px) {
    .cp-field-filter {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .cp-field-filter__keyword {
        grid-column: 1 / -1;
    }

    .cp-field-filter button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .cp-field-freshness-guide {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .cp-field-filter,
    .cp-field-freshness-guide {
        grid-template-columns: 1fr;
    }

    .cp-field-filter__keyword,
    .cp-field-filter button {
        grid-column: auto;
    }
}

/* CAMPINGZONE 1.0.27 AI IMAGE FOUNDATION */
.cp-ai-image-stats {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 7px;
}

.cp-ai-image-stats article {
    padding: 14px;
    border: 1px solid #dfe6df;
    border-radius: 12px;
    background: #fff;
}

.cp-ai-image-stats span,
.cp-ai-image-stats strong,
.cp-ai-image-stats small {
    display: block;
}

.cp-ai-image-stats span {
    color: #89938d;
    font-size: 8px;
}

.cp-ai-image-stats strong {
    margin-top: 5px;
    color: #285e40;
    font-size: 19px;
}

.cp-ai-image-stats small {
    margin-top: 4px;
    color: #98a19b;
    font-size: 7px;
    line-height: 1.45;
}

.cp-ai-image-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 10px;
}

.cp-ai-image-card {
    padding: 19px;
    border: 1px solid #dfe6df;
    border-radius: 14px;
    background: #fff;
}

.cp-ai-image-card > header > span {
    color: #71917c;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .14em;
}

.cp-ai-image-card h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 18px;
}

.cp-ai-image-card header p {
    margin: 5px 0 0;
    color: #7b8780;
    font-size: 8px;
    line-height: 1.55;
}

.cp-ai-image-card code {
    padding: 2px 5px;
    border-radius: 5px;
    color: #355044;
    background: #eef3ef;
    font-size: .95em;
}

.cp-ai-image-form {
    display: grid;
    gap: 9px;
    margin-top: 14px;
}

.cp-ai-image-form label > span {
    display: block;
    margin-bottom: 5px;
    color: #56685d;
    font-size: 8px;
    font-weight: 900;
}

.cp-ai-image-form input[type="password"],
.cp-ai-image-form input[type="number"],
.cp-ai-image-form select {
    width: 100%;
    min-height: 41px;
    box-sizing: border-box;
    padding: 0 10px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #344a3c;
    background: #fff;
    font: inherit;
    font-size: 8px;
}

.cp-ai-image-form > button,
.cp-ai-image-inline-actions button {
    min-height: 40px;
    padding: 0 12px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: #173f2b;
    font-size: 8px;
    font-weight: 950;
    cursor: pointer;
}

.cp-ai-image-inline-actions button.is-secondary {
    color: #315e45;
    border: 1px solid #cee0d1;
    background: #eef5ef;
}

.cp-ai-image-inline-actions button.is-danger {
    color: #963d32;
    border: 1px solid #edd2cd;
    background: #fff1ef;
}

.cp-ai-image-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.cp-ai-image-formgrid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
}

.cp-ai-image-check {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 10px;
    border-radius: 8px;
    background: #f4f7f4;
}

.cp-ai-image-check input {
    width: 16px;
    height: 16px;
}

.cp-ai-image-check span {
    margin: 0 !important;
}

.cp-ai-image-policy-note {
    padding: 10px;
    border-radius: 9px;
    color: #65766b;
    background: #eef4ef;
}

.cp-ai-image-policy-note strong,
.cp-ai-image-policy-note span {
    display: block;
}

.cp-ai-image-policy-note strong {
    color: #315e45;
    font-size: 8px;
}

.cp-ai-image-policy-note span {
    margin-top: 3px;
    font-size: 7px;
    line-height: 1.55;
}

.cp-ai-image-card--queue {
    margin-top: 10px;
}

.cp-ai-image-queue-summary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
    margin-top: 13px;
}

.cp-ai-image-queue-summary > div {
    padding: 10px;
    border-radius: 9px;
    background: #f5f8f5;
}

.cp-ai-image-queue-summary span,
.cp-ai-image-queue-summary strong {
    display: block;
}

.cp-ai-image-queue-summary span {
    color: #849087;
    font-size: 7px;
}

.cp-ai-image-queue-summary strong {
    margin-top: 4px;
    color: #315e45;
    font-size: 14px;
}

.cp-ai-image-empty {
    margin-top: 12px;
    padding: 25px;
    border: 1px dashed #cbd6cd;
    border-radius: 10px;
    color: #7d8981;
    background: #f8faf7;
    text-align: center;
    font-size: 8px;
}

.cp-ai-image-table {
    margin-top: 13px;
    overflow-x: auto;
}

.cp-ai-image-table__head,
.cp-ai-image-table > div:not(.cp-ai-image-table__head) {
    min-width: 760px;
    display: grid;
    grid-template-columns:
        85px
        minmax(180px,1.5fr)
        90px
        150px
        70px
        minmax(120px,1fr);
    gap: 8px;
    align-items: center;
}

.cp-ai-image-table__head {
    padding: 8px 9px;
    color: #87928b;
    font-size: 7px;
    font-weight: 900;
}

.cp-ai-image-table > div:not(.cp-ai-image-table__head) {
    padding: 9px;
    border-top: 1px solid #edf0ed;
    color: #53635a;
    font-size: 8px;
}

.cp-ai-image-table strong,
.cp-ai-image-table small {
    display: block;
}

.cp-ai-image-table small {
    margin-top: 2px;
    color: #8c9690;
    font-size: 7px;
}

.cp-ai-image-table a {
    color: #285e40;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.cp-ai-image-table b {
    padding: 4px 6px;
    border-radius: 999px;
    color: #fff;
    background: #8a948e;
    font-size: 7px;
}

.cp-ai-image-table b.is-pending {
    background: #b77328;
}

.cp-ai-image-table b.is-running {
    background: #446f91;
}

.cp-ai-image-table b.is-succeeded {
    background: #27633f;
}

.cp-ai-image-table b.is-failed {
    background: #963d32;
}

.cp-ai-image-footer-note {
    display: flex;
    gap: 10px;
    margin-top: 10px;
    padding: 12px;
    border-radius: 10px;
    color: #66776c;
    background: #eef4ef;
}

.cp-ai-image-footer-note strong {
    flex: 0 0 auto;
    color: #315e45;
    font-size: 8px;
}

.cp-ai-image-footer-note span {
    font-size: 8px;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .cp-ai-image-stats {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .cp-ai-image-grid {
        grid-template-columns: 1fr;
    }

    .cp-ai-image-formgrid,
    .cp-ai-image-queue-summary {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .cp-ai-image-stats,
    .cp-ai-image-formgrid,
    .cp-ai-image-queue-summary {
        grid-template-columns: 1fr;
    }

    .cp-ai-image-inline-actions {
        flex-direction: column;
    }

    .cp-ai-image-inline-actions form,
    .cp-ai-image-inline-actions button {
        width: 100%;
    }

    .cp-ai-image-footer-note {
        flex-direction: column;
    }
}

/* CAMPINGZONE 1.0.27.2 ADMIN TYPOGRAPHY / READABILITY HOTFIX
   관리자 화면 전용. 공개/회원/사업자 페이지에는 적용하지 않는다. */

.cp-admin-shell,
.cp-admin-bootstrap {
    --cp-admin-text: 14px;
    --cp-admin-label: 13px;
    --cp-admin-small: 12px;
    --cp-admin-control: 14px;
    font-size: var(--cp-admin-text);
    line-height: 1.55;
}

/* 본문 */
.cp-admin-shell :where(p, li, td, th, dd, dt, label),
.cp-admin-bootstrap :where(p, li, label) {
    font-size: var(--cp-admin-text) !important;
    line-height: 1.6 !important;
}

/* 7~10px로 누적된 관리자 라벨/메타 */
.cp-admin-shell span,
.cp-admin-bootstrap span {
    font-size: var(--cp-admin-label) !important;
    line-height: 1.45 !important;
}
.cp-admin-shell small,
.cp-admin-bootstrap small {
    font-size: var(--cp-admin-small) !important;
    line-height: 1.55 !important;
}
.cp-admin-shell :where(b, code),
.cp-admin-bootstrap :where(b, code) {
    font-size: var(--cp-admin-small) !important;
    line-height: 1.45 !important;
}

/* 폼 */
.cp-admin-shell :where(input, select, textarea, button),
.cp-admin-bootstrap :where(input, select, textarea, button) {
    font-size: var(--cp-admin-control) !important;
    line-height: 1.4 !important;
}
.cp-admin-shell :where(input, select, button),
.cp-admin-bootstrap :where(input, select, button) {
    min-height: 44px;
}
.cp-admin-shell textarea,
.cp-admin-bootstrap textarea {
    min-height: 120px;
}
.cp-admin-shell a,
.cp-admin-bootstrap a {
    font-size: 13px;
    line-height: 1.45;
}

/* 관리자 상단 */
.cp-admin-shell .cp-admin-hero__inner > div > p {
    font-size: 13px !important;
}
.cp-admin-shell .cp-admin-hero__inner > div > span {
    font-size: 15px !important;
}
.cp-admin-shell .cp-admin-subhero__inner > div > a {
    font-size: 13px !important;
}
.cp-admin-shell .cp-admin-subhero p {
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* 대시보드 카드 */
.cp-admin-shell .cp-admin-card > span {
    font-size: 12px !important;
}
.cp-admin-shell .cp-admin-card h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
}
.cp-admin-shell .cp-admin-card p {
    font-size: 14px !important;
    line-height: 1.65 !important;
}
.cp-admin-shell .cp-admin-card b {
    font-size: 13px !important;
}

/* 입력 라벨/알림 */
.cp-admin-shell .cp-admin-field > span {
    font-size: 13px !important;
}
.cp-admin-shell .cp-admin-alert,
.cp-admin-bootstrap .cp-admin-alert {
    font-size: 14px !important;
    line-height: 1.55 !important;
}

/* 지도/GPS · 검색 QA · 현장정보 · AI 모듈 */
.cp-admin-shell :where(
    .cp-field-admin-card,
    .cp-search-qa-card,
    .cp-ai-image-card
) h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
}
.cp-admin-shell :where(
    .cp-field-admin-card,
    .cp-search-qa-card,
    .cp-ai-image-card
) header p {
    font-size: 13px !important;
}
.cp-admin-shell :where(
    .cp-field-admin-table__head,
    .cp-field-admin-table > div:not(.cp-field-admin-table__head),
    .cp-ai-image-table__head,
    .cp-ai-image-table > div:not(.cp-ai-image-table__head),
    .cp-search-qa-table > div,
    .cp-search-qa-region > div
) {
    font-size: 13px !important;
    line-height: 1.45 !important;
}
.cp-admin-shell :where(
    .cp-field-admin-table,
    .cp-ai-image-table,
    .cp-search-qa-table,
    .cp-search-qa-region
) span {
    font-size: 12px !important;
}
.cp-admin-shell :where(
    .cp-field-admin-table,
    .cp-ai-image-table
) small,
.cp-admin-shell .cp-search-qa-table code {
    font-size: 11px !important;
}

/* 통계 라벨은 키우되 숫자 strong은 기존 큰 크기를 유지 */
.cp-admin-shell :where(
    .cp-admin-stats,
    .cp-field-admin-stats,
    .cp-search-qa-stats,
    .cp-ai-image-stats
) article > span {
    font-size: 12px !important;
}
.cp-admin-shell :where(
    .cp-admin-stats,
    .cp-field-admin-stats,
    .cp-search-qa-stats,
    .cp-ai-image-stats
) article > small {
    font-size: 12px !important;
}

/* 버튼 */
.cp-admin-shell :where(
    .cp-admin-primary,
    .cp-admin-secondary,
    .cp-admin-submit,
    .cp-field-admin-actions a,
    .cp-search-qa-actions a,
    .cp-ai-image-inline-actions button
) {
    font-size: 13px !important;
}

/* 모바일 입력 16px: 모바일 브라우저 자동 확대 방지 */
@media (max-width: 760px) {
    .cp-admin-shell,
    .cp-admin-bootstrap {
        --cp-admin-text: 13px;
        --cp-admin-label: 12px;
        --cp-admin-small: 11px;
        --cp-admin-control: 16px;
    }
    .cp-admin-shell :where(
        .cp-admin-card,
        .cp-field-admin-card,
        .cp-search-qa-card,
        .cp-ai-image-card
    ) h2 {
        font-size: 20px !important;
    }
}

/* CAMPINGZONE 1.0.27.3 PUBLIC CAMPING SEARCH TYPOGRAPHY
   /camping/ 검색·지도 탐색화면 전용 가독성 보정 */

/* 페이지 기본 글자축 */
.cp-search-page {
    --cp-search-text: 14px;
    --cp-search-label: 13px;
    --cp-search-small: 12px;
    --cp-search-meta: 11px;

    font-size: var(--cp-search-text);
    line-height: 1.55;
}

/* Hero */
.cp-search-page .cp-search-hero__top > div:first-child > p {
    font-size: 12px !important;
}

.cp-search-page .cp-search-hero__top > div:first-child > span {
    font-size: 14px !important;
    line-height: 1.7 !important;
}

.cp-search-page .cp-search-hero__count span {
    font-size: 12px !important;
}

/* 검색 패널 */
.cp-search-page .cp-search-panel label > span,
.cp-search-page .cp-search-panel__label {
    font-size: 13px !important;
}

.cp-search-page .cp-search-panel input[type="search"],
.cp-search-page .cp-search-panel select {
    min-height: 46px;
    font-size: 14px !important;
}

.cp-search-page .cp-search-panel__submit span {
    font-size: 12px !important;
}

.cp-search-page .cp-search-panel__submit button {
    min-height: 46px;
    font-size: 14px !important;
}

/* 빠른조건 / 활성 필터 */
.cp-search-page .cp-search-quick > span {
    font-size: 12px !important;
}

.cp-search-page .cp-search-quick a {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    font-size: 12px !important;
}

.cp-search-page .cp-search-active-filters > span {
    font-size: 12px !important;
}

.cp-search-page .cp-search-active-filters a {
    min-height: 31px;
    padding: 0 10px;
    font-size: 12px !important;
}

.cp-search-page .cp-search-active-filters a b {
    font-size: 12px !important;
}

/* 결과 헤더 */
.cp-search-page .cp-search-results__head strong {
    font-size: 18px !important;
}

.cp-search-page .cp-search-results__head span {
    font-size: 13px !important;
}

.cp-search-page .cp-search-sort select {
    min-height: 42px;
    font-size: 13px !important;
}

/* 캠핑장 카드 */
.cp-search-page .cp-search-card__badges span,
.cp-search-page .cp-search-card__badges b {
    font-size: 11px !important;
}

.cp-search-page .cp-search-card__region {
    font-size: 12px !important;
}

.cp-search-page .cp-search-card h2,
.cp-search-page .cp-search-grid--maplist .cp-search-card__body h2 {
    font-size: 18px !important;
    line-height: 1.35 !important;
}

.cp-search-page .cp-search-card__body > p {
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.cp-search-page .cp-search-card__chips span {
    padding: 6px 8px;
    font-size: 11px !important;
}

.cp-search-page .cp-search-card__footer {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.cp-search-page .cp-search-card__detail {
    font-size: 12px !important;
}

/* 최근 현장확인 */
.cp-search-page .cp-search-field-verified {
    min-height: 32px;
    padding: 0 10px;
    font-size: 12px !important;
}

/* 지도 패널 */
.cp-search-page .cp-search-map-panel__head > div:first-child span {
    font-size: 11px !important;
}

.cp-search-page .cp-search-map-panel__head > div:first-child strong {
    font-size: 15px !important;
}

.cp-search-page .cp-search-map-tools button,
.cp-search-page .cp-search-map-tools a {
    min-height: 38px;
    padding: 0 11px;
    font-size: 12px !important;
}

.cp-search-page .cp-search-map-area-button {
    min-height: 40px;
    padding: 0 16px;
    font-size: 12px !important;
}

.cp-search-page .cp-search-map__loading,
.cp-search-page .cp-search-map__fallback,
.cp-search-page .cp-search-map.is-sdk-error::after {
    font-size: 13px !important;
}

.cp-search-page .cp-search-map-status {
    min-height: 40px;
    font-size: 12px !important;
}

/* 지도 마커 오버레이 */
.cp-search-page .cp-search-map-overlay__body span {
    font-size: 11px !important;
}

.cp-search-page .cp-search-map-overlay__body strong {
    font-size: 15px !important;
}

.cp-search-page .cp-search-map-overlay__body small {
    font-size: 12px !important;
}

.cp-search-page .cp-search-map-overlay__body b {
    font-size: 11px !important;
}

.cp-search-page .cp-search-map-overlay__body a {
    min-height: 38px;
    display: grid;
    place-items: center;
    font-size: 12px !important;
}

/* 검색결과 0건 진단 */
.cp-search-page .cp-search-empty-diagnostics strong {
    font-size: 14px !important;
}

.cp-search-page .cp-search-empty-diagnostics p {
    font-size: 12px !important;
}

.cp-search-page .cp-search-empty-diagnostics__chips a {
    font-size: 11px !important;
}

/* 페이징 */
.cp-search-page .cp-search-pagination a {
    min-width: 40px;
    height: 40px;
    font-size: 12px !important;
}

/* 빈 화면 */
.cp-search-page .cp-search-empty p {
    font-size: 13px !important;
}

.cp-search-page .cp-search-empty a {
    font-size: 13px !important;
}

/* 모바일 */
@media (max-width: 780px) {
    .cp-search-page {
        --cp-search-text: 13px;
        --cp-search-label: 12px;
        --cp-search-small: 11px;
    }

    .cp-search-page .cp-search-panel input[type="search"],
    .cp-search-page .cp-search-panel select {
        font-size: 16px !important;
    }

    .cp-search-page .cp-search-card h2,
    .cp-search-page .cp-search-grid--maplist .cp-search-card__body h2 {
        font-size: 17px !important;
    }
}

/* CAMPINGZONE 1.0.28 AI IMAGE WORKER */
.cp-ai-worker-stats {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 8px;
}

.cp-ai-worker-stats article {
    padding: 15px;
    border: 1px solid #dfe6df;
    border-radius: 12px;
    background: #fff;
}

.cp-ai-worker-stats span,
.cp-ai-worker-stats strong {
    display: block;
}

.cp-ai-worker-stats span {
    color: #829087;
    font-size: 12px;
}

.cp-ai-worker-stats strong {
    margin-top: 5px;
    color: #285e40;
    font-size: 21px;
}

.cp-ai-worker-card,
.cp-ai-worker-result {
    margin-top: 10px;
    padding: 20px;
    border: 1px solid #dfe6df;
    border-radius: 14px;
    background: #fff;
}

.cp-ai-worker-card header > span,
.cp-ai-worker-result header > span {
    color: #71917c;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .14em;
}

.cp-ai-worker-card h2,
.cp-ai-worker-result h2 {
    margin: 6px 0 0;
    color: #2d4035;
    font-size: 22px;
}

.cp-ai-worker-card header p {
    margin: 5px 0 0;
    color: #76837b;
    font-size: 13px;
}

.cp-ai-worker-form {
    display: grid;
    grid-template-columns: minmax(160px,260px) 180px;
    gap: 8px;
    align-items: end;
    margin-top: 15px;
}

.cp-ai-worker-form label > span {
    display: block;
    margin-bottom: 6px;
    color: #53675b;
    font-size: 13px;
    font-weight: 900;
}

.cp-ai-worker-form select {
    width: 100%;
    min-height: 44px;
    padding: 0 10px;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #344a3c;
    background: #fff;
    font-size: 14px;
}

.cp-ai-worker-form button {
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: #173f2b;
    font-size: 14px;
    font-weight: 950;
    cursor: pointer;
}

.cp-ai-worker-form button:disabled {
    color: #929b95;
    background: #e1e6e2;
    cursor: not-allowed;
}

.cp-ai-worker-policy {
    margin-top: 11px;
    padding: 12px;
    border-radius: 10px;
    color: #64746a;
    background: #eef4ef;
}

.cp-ai-worker-policy strong,
.cp-ai-worker-policy span {
    display: block;
}

.cp-ai-worker-policy strong {
    color: #315e45;
    font-size: 13px;
}

.cp-ai-worker-policy span {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.55;
}

.cp-ai-worker-result__summary {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 7px;
    margin-top: 13px;
}

.cp-ai-worker-result__summary > div {
    padding: 11px;
    border-radius: 9px;
    background: #f4f7f4;
}

.cp-ai-worker-result__summary span,
.cp-ai-worker-result__summary strong {
    display: block;
}

.cp-ai-worker-result__summary span {
    color: #819087;
    font-size: 11px;
}

.cp-ai-worker-result__summary strong {
    margin-top: 3px;
    color: #315e45;
    font-size: 18px;
}

.cp-ai-worker-items {
    display: grid;
    gap: 7px;
    margin-top: 12px;
}

.cp-ai-worker-items article {
    display: grid;
    grid-template-columns: minmax(180px,1fr) auto minmax(260px,1.3fr);
    gap: 10px;
    align-items: center;
    padding: 11px;
    border: 1px solid #e6ebe6;
    border-radius: 10px;
}

.cp-ai-worker-items article span,
.cp-ai-worker-items article strong {
    display: block;
}

.cp-ai-worker-items article span {
    color: #87928b;
    font-size: 11px;
}

.cp-ai-worker-items article strong {
    margin-top: 3px;
    color: #33483b;
    font-size: 14px;
}

.cp-ai-worker-items article b {
    padding: 5px 8px;
    border-radius: 999px;
    color: #fff;
    background: #8a948e;
    font-size: 11px;
}

.cp-ai-worker-items article b.is-succeeded {
    background: #27633f;
}

.cp-ai-worker-items article b.is-retry {
    background: #b77328;
}

.cp-ai-worker-items article b.is-failed {
    background: #963d32;
}

.cp-ai-worker-items article p {
    margin: 0;
    color: #65736b;
    font-size: 13px;
    line-height: 1.55;
}

.cp-ai-worker-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
    margin-top: 10px;
}

.cp-ai-worker-actions a {
    min-height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid #dce4dd;
    border-radius: 8px;
    color: #405348;
    background: #fff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.cp-ai-image-worker-link {
    min-height: 40px;
    display: inline-grid;
    place-items: center;
    margin-top: 10px;
    padding: 0 13px;
    border-radius: 8px;
    color: #fff !important;
    background: #d7772c;
    font-size: 13px !important;
    font-weight: 950;
    text-decoration: none;
}

@media (max-width: 760px) {
    .cp-ai-worker-stats,
    .cp-ai-worker-result__summary {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-ai-worker-form {
        grid-template-columns: 1fr;
    }

    .cp-ai-worker-items article {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .cp-ai-worker-stats,
    .cp-ai-worker-result__summary,
    .cp-ai-worker-actions {
        grid-template-columns: 1fr;
    }
}

/* CAMPINGZONE 1.0.29 FIELD AI MODERATION UX */
.cp-field-ai-review {
    margin-top: 14px;
    padding: 18px;
    border: 1px solid #dfe6df;
    border-radius: 14px;
    background: #fff;
}

.cp-field-ai-review > header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.cp-field-ai-review > header > div > span {
    color: #71917c;
    font-size: 11px !important;
    font-weight: 950;
    letter-spacing: .14em;
}

.cp-field-ai-review > header h3 {
    margin: 5px 0 0;
    color: #2d4035;
    font-size: 21px;
}

.cp-field-ai-review > header > b {
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    background: #8a948e;
    font-size: 12px !important;
}

.cp-field-ai-review > header > b.is-passed {
    background: #27633f;
}

.cp-field-ai-review > header > b.is-flagged {
    background: #b77328;
}

.cp-field-ai-review > header > b.is-failed {
    background: #963d32;
}

.cp-field-ai-review > header > b.is-partial {
    background: #52728a;
}

.cp-field-ai-review__stats {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 6px;
    margin-top: 12px;
}

.cp-field-ai-review__stats article {
    padding: 11px;
    border-radius: 9px;
    background: #f4f7f4;
}

.cp-field-ai-review__stats span,
.cp-field-ai-review__stats strong {
    display: block;
}

.cp-field-ai-review__stats span {
    color: #7c8980;
    font-size: 11px !important;
}

.cp-field-ai-review__stats strong {
    margin-top: 4px;
    color: #344a3c;
    font-size: 18px;
}

.cp-field-ai-review__stats article.is-pass strong {
    color: #27633f;
}

.cp-field-ai-review__stats article.is-flag strong {
    color: #b77328;
}

.cp-field-ai-review__stats article.is-fail strong {
    color: #963d32;
}

.cp-field-ai-review__warning {
    margin-top: 9px;
    padding: 11px;
    border-radius: 9px;
    color: #765528;
    background: #fff4df;
}

.cp-field-ai-review__warning strong,
.cp-field-ai-review__warning span {
    display: block;
}

.cp-field-ai-review__warning strong {
    font-size: 13px !important;
}

.cp-field-ai-review__warning span {
    margin-top: 3px;
    font-size: 12px !important;
    line-height: 1.55;
}

.cp-field-ai-photo-list {
    display: grid;
    gap: 8px;
    margin-top: 11px;
}

.cp-field-ai-photo-list > article {
    display: grid;
    grid-template-columns: 170px minmax(0,1fr);
    gap: 11px;
    padding: 10px;
    border: 1px solid #e4e9e4;
    border-radius: 10px;
}

.cp-field-ai-photo-list__image {
    min-height: 140px;
    border-radius: 8px;
    background: #e7ece7 center / cover no-repeat;
}

.cp-field-ai-photo-list__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.cp-field-ai-photo-list__top strong {
    color: #33483b;
    font-size: 14px !important;
}

.cp-field-ai-photo-list__top span {
    padding: 5px 8px;
    border-radius: 999px;
    color: #fff;
    background: #8a948e;
    font-size: 11px !important;
    font-weight: 900;
}

.cp-field-ai-photo-list__top span.is-passed {
    background: #27633f;
}

.cp-field-ai-photo-list__top span.is-flagged {
    background: #b77328;
}

.cp-field-ai-photo-list__top span.is-failed {
    background: #963d32;
}

.cp-field-ai-photo-list__top span.is-pending {
    background: #52728a;
}

.cp-field-ai-photo-list dl {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 5px;
    margin: 8px 0 0;
}

.cp-field-ai-photo-list dl > div {
    padding: 7px;
    border-radius: 7px;
    background: #f5f7f5;
}

.cp-field-ai-photo-list dt {
    color: #829087;
    font-size: 11px !important;
}

.cp-field-ai-photo-list dd {
    margin: 3px 0 0;
    color: #3e5146;
    font-size: 12px !important;
    font-weight: 850;
}

.cp-field-ai-photo-list p {
    margin: 8px 0 0;
    color: #627168;
    font-size: 13px !important;
    line-height: 1.6;
}

.cp-field-ai-photo-list form {
    margin-top: 8px;
}

.cp-field-ai-photo-list form button,
.cp-field-ai-review__actions button {
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid #d8e1d9;
    border-radius: 8px;
    color: #315e45;
    background: #f2f6f2;
    font-size: 12px !important;
    font-weight: 900;
    cursor: pointer;
}

.cp-field-ai-review__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.cp-field-ai-review__actions a {
    min-height: 36px;
    display: inline-grid;
    place-items: center;
    padding: 0 11px;
    border-radius: 8px;
    color: #fff;
    background: #173f2b;
    font-size: 12px !important;
    font-weight: 900;
    text-decoration: none;
}

.cp-myfield-ai-status {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 8px;
}

.cp-myfield-ai-status span {
    padding: 5px 7px;
    border-radius: 999px;
    color: #53675b;
    background: #edf3ee;
    font-size: 11px;
    font-weight: 850;
}

.cp-myfield-ai-status span.is-flag {
    color: #8b5b26;
    background: #fff3df;
}

.cp-myfield-ai-status span.is-failed {
    color: #963d32;
    background: #fff0ee;
}

.cp-field-admin-ai-label {
    display: inline-flex;
    align-items: center;
    padding: 5px 7px;
    border-radius: 999px;
    color: #53675b;
    background: #edf3ee;
    font-size: 11px !important;
    font-weight: 900;
}

.cp-field-admin-ai-label.is-flagged {
    color: #8b5b26;
    background: #fff3df;
}

.cp-field-admin-ai-label.is-failed {
    color: #963d32;
    background: #fff0ee;
}

@media (max-width: 760px) {
    .cp-field-ai-review__stats {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .cp-field-ai-photo-list > article {
        grid-template-columns: 1fr;
    }

    .cp-field-ai-photo-list dl {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .cp-field-ai-review__stats,
    .cp-field-ai-photo-list dl {
        grid-template-columns: 1fr;
    }
}
/* CAMPINGZONE 1.0.30 REVIEWS / RATINGS */
.cp-detail-reviews{margin-top:20px;padding:22px;border:1px solid #dfe6df;border-radius:15px;background:#fff}.cp-detail-reviews__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.cp-detail-reviews__head span{color:#71917c;font-size:11px;font-weight:950;letter-spacing:.14em}.cp-detail-reviews__head h2{margin:5px 0 0;color:#2c4235;font-size:24px}.cp-detail-reviews__head p{margin:5px 0 0;color:#76837b;font-size:13px;line-height:1.6}.cp-detail-reviews__head>a{flex:0 0 auto;min-height:42px;display:grid;place-items:center;padding:0 14px;border-radius:9px;color:#fff;background:#173f2b;font-size:13px;font-weight:950;text-decoration:none}
.cp-detail-review-summary{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;margin-top:16px;padding:15px;border-radius:12px;background:#f4f7f4}.cp-detail-review-score span,.cp-detail-review-score strong,.cp-detail-review-score div,.cp-detail-review-score small{display:block}.cp-detail-review-score span{color:#75847a;font-size:12px}.cp-detail-review-score strong{margin-top:3px;color:#213e2c;font-size:40px;letter-spacing:-.05em}.cp-detail-review-score div{margin-top:1px;color:#d68a37;font-size:17px;letter-spacing:.08em}.cp-detail-review-score small{margin-top:5px;color:#849088;font-size:12px}.cp-detail-review-bars{display:grid;gap:6px;align-content:center}.cp-detail-review-bars>div{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:8px;align-items:center}.cp-detail-review-bars span,.cp-detail-review-bars strong{color:#65756b;font-size:12px}.cp-detail-review-bars strong{text-align:right}.cp-detail-review-bars b{height:8px;overflow:hidden;border-radius:999px;background:#e0e6e1}.cp-detail-review-bars b i{height:100%;display:block;border-radius:inherit;background:#d58a3c}
.cp-detail-reviewtags--live{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.cp-detail-reviewtags--live span{padding:7px 9px;border-radius:999px;color:#315e45;background:#edf4ee;font-size:12px;font-weight:850}.cp-detail-reviewtags--live b{margin-left:3px;font-size:11px}.cp-detail-review-empty{min-height:150px;display:grid;place-content:center;justify-items:center;gap:5px;margin-top:12px;border:1px dashed #cbd6cd;border-radius:11px;color:#77847c;background:#fafcfa;text-align:center}.cp-detail-review-empty strong{color:#33493b;font-size:15px}.cp-detail-review-empty span{font-size:12px}.cp-detail-review-list{display:grid;gap:8px;margin-top:12px}.cp-detail-review-list>article{padding:14px;border:1px solid #e3e9e4;border-radius:11px}.cp-detail-review-list>article>header{display:flex;justify-content:space-between;gap:12px}.cp-detail-review-list>article>header strong,.cp-detail-review-list>article>header span{display:block}.cp-detail-review-list>article>header strong{color:#33483b;font-size:14px}.cp-detail-review-list>article>header span{margin-top:3px;color:#8b958f;font-size:11px}.cp-detail-review-list>article>header>b{color:#d48735;font-size:14px;letter-spacing:.04em}.cp-detail-review-list>article>p{margin:9px 0 0;color:#58685e;font-size:13px;line-height:1.7}.cp-detail-review-list__tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.cp-detail-review-list__tags span{padding:5px 7px;border-radius:999px;color:#53675b;background:#f0f4f0;font-size:11px}.cp-detail-review-list>article>footer{display:flex;justify-content:flex-end;margin-top:9px;padding-top:8px;border-top:1px solid #edf1ed}.cp-detail-review-list>article>footer a{color:#5b6d62;font-size:11px;font-weight:850;text-decoration:none}
.cp-review-write-hero{padding:52px 0;color:#fff;background:radial-gradient(circle at 82% 20%,rgba(217,143,68,.20),transparent 34%),#123f2a}.cp-review-write-hero a{display:block;margin-bottom:16px;color:rgba(255,255,255,.75);font-size:13px;font-weight:850;text-decoration:none}.cp-review-write-hero span{color:#bad0be;font-size:11px;font-weight:950;letter-spacing:.14em}.cp-review-write-hero h1{margin:7px 0 0;color:#fff;font-size:38px}.cp-review-write-hero p{max-width:720px;margin:8px 0 0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.7}.cp-review-write-body,.cp-myreview-body{padding:26px 0 56px;background:#f5f7f4}.cp-review-write-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px;align-items:start}.cp-review-write-campsite,.cp-review-write-form,.cp-review-report-card,.cp-review-report-form{border:1px solid #dfe6df;border-radius:14px;background:#fff}.cp-review-write-campsite{position:sticky;top:82px;padding:18px}.cp-review-write-campsite>span{color:#71917c;font-size:11px;font-weight:950;letter-spacing:.13em}.cp-review-write-campsite h2{margin:7px 0 0;color:#2d4336;font-size:19px}.cp-review-write-campsite>p{margin:5px 0 12px;color:#78857d;font-size:12px}.cp-review-write-campsite>div:not(.cp-review-write-hidden){display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid #edf0ed;font-size:12px}.cp-review-write-campsite>div>span{color:#7d8a82}.cp-review-write-campsite>div>strong{color:#315e45}.cp-review-write-hidden{margin-top:10px;padding:10px;border-radius:9px;color:#7d5725;background:#fff2dc}.cp-review-write-hidden strong,.cp-review-write-hidden span{display:block;font-size:12px}.cp-review-write-hidden span{margin-top:3px}.cp-review-write-form{padding:19px}.cp-review-write-form>section+section{margin-top:14px;padding-top:15px;border-top:1px solid #edf0ed}.cp-review-write-form section>header{display:flex;gap:10px}.cp-review-write-form section>header>span{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#173f2b;font-size:11px;font-weight:950}.cp-review-write-form section>header strong{color:#304338;font-size:14px}.cp-review-write-form section>header p{margin:3px 0 0;color:#7b8780;font-size:12px}
.cp-review-rating-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:11px}.cp-review-rating-picker label{cursor:pointer}.cp-review-rating-picker input,.cp-review-tag-picker input{position:absolute;opacity:0;pointer-events:none}.cp-review-rating-picker span,.cp-review-rating-picker b{display:block;text-align:center}.cp-review-rating-picker span{padding:10px 6px;border:1px solid #dce4dd;border-radius:9px 9px 0 0;color:#d38a3e;background:#fff;font-size:13px}.cp-review-rating-picker b{padding:6px;border:1px solid #dce4dd;border-top:0;border-radius:0 0 9px 9px;color:#68776e;background:#f5f7f5;font-size:11px}.cp-review-rating-picker input:checked+span{color:#fff;border-color:#173f2b;background:#173f2b}.cp-review-rating-picker input:checked+span+b{color:#173f2b;border-color:#bfd0c2;background:#eaf3eb}.cp-review-tag-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.cp-review-tag-picker span{display:block;padding:8px 10px;border:1px solid #dce4dd;border-radius:999px;color:#5d6e63;background:#fff;font-size:12px;font-weight:850;cursor:pointer}.cp-review-tag-picker input:checked+span{color:#fff;border-color:#173f2b;background:#173f2b}.cp-review-write-form textarea,.cp-review-report-form textarea,.cp-review-report-form select{width:100%;box-sizing:border-box;border:1px solid #dce4dd;border-radius:9px;color:#34493c;background:#fff;font:inherit;font-size:14px}.cp-review-write-form textarea{min-height:180px;margin-top:11px;padding:12px;resize:vertical;line-height:1.65}.cp-review-write-form section>small{display:block;margin-top:5px;color:#8a958e;font-size:11px}.cp-review-write-submit{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:13px;border-radius:10px;background:#eef4ef}.cp-review-write-submit strong,.cp-review-write-submit span{display:block}.cp-review-write-submit strong{color:#315e45;font-size:13px}.cp-review-write-submit span{margin-top:3px;color:#738078;font-size:11px}.cp-review-write-submit button,.cp-review-report-form button{min-height:44px;padding:0 16px;border:0;border-radius:9px;color:#fff;background:#173f2b;font-size:13px;font-weight:950;cursor:pointer}
.cp-review-alert{margin-bottom:10px;padding:12px;border-radius:9px;font-size:13px;font-weight:850}.cp-review-alert--error{color:#963d32;background:#fff0ee}.cp-review-alert--success{color:#275e3e;background:#eaf4ed}.cp-review-write-empty{min-height:220px;display:grid;place-content:center;justify-items:center;gap:8px;border:1px dashed #cbd6cd;border-radius:12px;color:#77847c;background:#fff;text-align:center;font-size:13px}.cp-review-write-empty a{color:#fff;padding:9px 12px;border-radius:8px;background:#173f2b;font-size:12px;text-decoration:none}.cp-review-report-card,.cp-review-report-form{max-width:760px;margin:0 auto;padding:18px}.cp-review-report-card small{color:#7c8981;font-size:12px}.cp-review-report-card>strong{display:block;margin-top:6px;color:#d58a3c;font-size:16px}.cp-review-report-card p{margin:7px 0 0;color:#596a5f;font-size:13px;line-height:1.65}.cp-review-report-form{margin-top:9px}.cp-review-report-form label{display:block}.cp-review-report-form label+label{margin-top:9px}.cp-review-report-form label>span{display:block;margin-bottom:5px;color:#56685d;font-size:12px;font-weight:900}.cp-review-report-form select{min-height:44px;padding:0 10px}.cp-review-report-form textarea{min-height:130px;padding:10px;resize:vertical}.cp-review-report-form button{width:100%;margin-top:10px}
.cp-myreview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cp-myreview-grid>article{padding:16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.cp-myreview-grid>article>header{display:flex;justify-content:space-between;gap:12px}.cp-myreview-grid small{color:#7d8981;font-size:11px}.cp-myreview-grid h2{margin:5px 0 0;font-size:16px}.cp-myreview-grid h2 a{color:#2d4336;text-decoration:none}.cp-myreview-grid>article>header>span{height:max-content;padding:5px 7px;border-radius:999px;color:#fff;background:#27633f;font-size:11px;font-weight:900}.cp-myreview-grid>article>header>span.is-hidden{background:#b77328}.cp-myreview-stars{display:block;margin-top:9px;color:#d58a3c;font-size:15px}.cp-myreview-grid>article>p{margin:8px 0 0;color:#596a5f;font-size:13px;line-height:1.65}.cp-myreview-hidden{margin-top:9px;padding:9px;border-radius:8px;color:#795526;background:#fff3df}.cp-myreview-hidden strong,.cp-myreview-hidden span{display:block;font-size:11px}.cp-myreview-hidden span{margin-top:3px}.cp-myreview-grid>article>footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #edf0ed}.cp-myreview-grid>article>footer>span{color:#8b958f;font-size:11px}.cp-myreview-grid>article>footer>div{display:flex;gap:5px}.cp-myreview-grid footer a,.cp-myreview-grid footer button{min-height:32px;padding:0 9px;border:1px solid #dce4dd;border-radius:7px;color:#405348;background:#fff;font-size:11px;font-weight:850;text-decoration:none}.cp-myreview-grid footer a{display:grid;place-items:center}.cp-myreview-grid footer button{cursor:pointer}
.cp-review-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.cp-review-admin-stats article{padding:14px;border:1px solid #dfe6df;border-radius:11px;background:#fff}.cp-review-admin-stats span,.cp-review-admin-stats strong{display:block}.cp-review-admin-stats span{color:#7d8981;font-size:12px!important}.cp-review-admin-stats strong{margin-top:4px;color:#285e40;font-size:21px}.cp-review-admin-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.cp-review-admin-tabs a{min-height:36px;display:grid;place-items:center;padding:0 11px;border:1px solid #dce4dd;border-radius:8px;color:#53675b;background:#fff;font-size:12px!important;font-weight:900;text-decoration:none}.cp-review-admin-tabs a.is-active{color:#fff;border-color:#173f2b;background:#173f2b}.cp-review-admin-card{margin-top:10px;padding:18px;border:1px solid #dfe6df;border-radius:14px;background:#fff}.cp-review-admin-card>header>span{color:#71917c;font-size:11px!important;font-weight:950;letter-spacing:.13em}.cp-review-admin-card>header h2{margin:5px 0 0;color:#304338;font-size:21px}.cp-review-admin-list{display:grid;gap:8px;margin-top:12px}.cp-review-admin-list>article{padding:13px;border:1px solid #e4e9e4;border-radius:10px}.cp-review-admin-list>article>header{display:flex;justify-content:space-between;gap:12px}.cp-review-admin-list h3{margin:4px 0 0;font-size:15px}.cp-review-admin-list h3 a{color:#2f4538;text-decoration:none}.cp-review-admin-list header span,.cp-review-admin-list header small{color:#7e8b82;font-size:11px!important}.cp-review-admin-state{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.cp-review-admin-state>b{color:#d58a3c;font-size:13px!important}.cp-review-admin-state>span,.cp-review-admin-state>em{padding:5px 7px;border-radius:999px;color:#fff;background:#27633f;font-size:11px!important;font-style:normal;font-weight:900}.cp-review-admin-state>span.is-hidden{background:#b77328}.cp-review-admin-state>em{background:#963d32}.cp-review-admin-list>article>p{margin:9px 0 0;color:#596a5f;font-size:13px!important;line-height:1.65}.cp-review-admin-hidden{margin-top:8px;padding:8px;border-radius:8px;color:#795526;background:#fff3df;font-size:12px}.cp-review-admin-list>article>footer{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid #edf0ed}.cp-review-admin-list footer form{display:flex;gap:5px}.cp-review-admin-list footer input[type=text]{min-width:240px;min-height:38px;box-sizing:border-box;padding:0 9px;border:1px solid #dce4dd;border-radius:7px;font-size:12px!important}.cp-review-admin-list footer button{min-height:38px;padding:0 10px;border:0;border-radius:7px;color:#fff;background:#963d32;font-size:12px!important;font-weight:900;cursor:pointer}.cp-review-admin-list footer button.is-secondary{color:#405348;border:1px solid #dce4dd;background:#fff}.cp-review-admin-empty{margin-top:12px;padding:24px;border:1px dashed #cbd6cd;border-radius:10px;color:#7b8780;background:#f8faf7;text-align:center;font-size:13px}
@media(max-width:820px){.cp-review-write-layout,.cp-detail-review-summary{grid-template-columns:1fr}.cp-review-write-campsite{position:static}.cp-review-rating-picker{grid-template-columns:1fr}.cp-myreview-grid{grid-template-columns:1fr}}@media(max-width:620px){.cp-detail-reviews__head,.cp-review-write-submit,.cp-review-admin-list>article>header{align-items:stretch;flex-direction:column}.cp-review-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-review-admin-list footer form{width:100%;flex-direction:column}.cp-review-admin-list footer input[type=text],.cp-review-admin-list footer button{width:100%}}

/* CAMPINGZONE 1.0.31 CREATOR FOUNDATION */
.cp-creator-hero{padding:58px 0;color:#fff;background:linear-gradient(120deg,#103c28,#1d5637)}
.cp-creator-hero__inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:26px;align-items:center}
.cp-creator-hero span,.cp-creator-subhero span{font-size:12px;font-weight:950;letter-spacing:.13em}
.cp-creator-hero h1{margin:7px 0 0;color:#fff;font-size:40px;line-height:1.2}.cp-creator-hero p,.cp-creator-subhero p{color:rgba(255,255,255,.74);font-size:14px;line-height:1.7}
.cp-creator-hero aside{padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.07)}.cp-creator-hero aside strong{font-size:16px}.cp-creator-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.cp-creator-actions a{padding:11px 14px;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;font-size:13px;font-weight:900;text-decoration:none}.cp-creator-actions a.is-primary{color:#173f2b;background:#fff}
.cp-creator-subhero{padding:42px 0;color:#fff;background:#123f2a}.cp-creator-subhero a{display:block;margin-bottom:12px;color:rgba(255,255,255,.72);font-size:13px;text-decoration:none}.cp-creator-subhero h1{margin:6px 0 0;color:#fff;font-size:34px}
.cp-creator-body{padding:28px 0 56px;background:#f5f7f4}.cp-creator-alert{margin-bottom:9px;padding:12px;border-radius:9px;font-size:13px}.cp-creator-alert.is-ok{color:#275e3e;background:#eaf4ed}.cp-creator-alert.is-error{color:#963d32;background:#fff0ee}
.cp-creator-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px;padding:14px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.cp-creator-status>div{min-width:150px}.cp-creator-status span,.cp-creator-status strong{display:block}.cp-creator-status span{color:#7b8780;font-size:11px}.cp-creator-status strong{margin-top:3px;color:#315e45;font-size:16px}.cp-creator-status p{margin:0;color:#7b572b;font-size:12px}
.cp-creator-form{padding:19px;border:1px solid #dfe6df;border-radius:14px;background:#fff}.cp-creator-form h2{margin:0;color:#304338;font-size:23px}.cp-creator-form h3{margin:18px 0 8px;color:#315e45;font-size:14px}
.cp-creator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cp-creator-grid .wide{grid-column:span 2}.cp-creator-form label>span{display:block;margin-bottom:5px;color:#56685d;font-size:12px;font-weight:900}.cp-creator-form input,.cp-creator-form select,.cp-creator-form textarea{width:100%;box-sizing:border-box;border:1px solid #dce4dd;border-radius:8px;color:#34493c;background:#fff;font:inherit;font-size:14px}.cp-creator-form input,.cp-creator-form select{min-height:43px;padding:0 9px}.cp-creator-form textarea{min-height:120px;padding:10px;resize:vertical;line-height:1.6}.cp-creator-form>small{display:block;margin:6px 0 0;color:#87928b;font-size:11px}
.cp-creator-tags{display:flex;flex-wrap:wrap;gap:5px}.cp-creator-tags input{position:absolute;opacity:0}.cp-creator-tags span{display:block;padding:7px 9px;border:1px solid #dce4dd;border-radius:999px;color:#53675b;font-size:12px;cursor:pointer}.cp-creator-tags input:checked+span{color:#fff;border-color:#173f2b;background:#173f2b}
.cp-creator-channels{display:grid;gap:7px}.cp-creator-channels article{padding:12px;border:1px solid #e4e9e4;border-radius:9px;background:#fafcfa}.cp-creator-channels article>strong{display:block;margin-bottom:8px;color:#315e45;font-size:12px}
.cp-creator-form>button{min-height:44px;margin-top:15px;padding:0 18px;border:0;border-radius:8px;color:#fff;background:#173f2b;font-size:13px;font-weight:950;cursor:pointer}.cp-creator-public{display:flex!important;align-items:center;gap:7px;margin-top:12px;padding:10px;border-radius:8px;background:#eef4ef}.cp-creator-public input{width:17px;height:17px;min-height:0}.cp-creator-public span{margin:0!important}
.cp-creator-logs{margin-top:10px;padding:17px;border:1px solid #dfe6df;border-radius:13px;background:#fff}.cp-creator-logs h2{margin:0;color:#304338;font-size:20px}.cp-creator-logs article{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;margin-top:6px;padding:8px;border-radius:7px;background:#f5f8f5}.cp-creator-logs span{color:#7d8981;font-size:11px}.cp-creator-logs strong{color:#45584c;font-size:12px}
.cp-creator-search{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:6px;padding:12px;border:1px solid #dfe6df;border-radius:10px;background:#fff}.cp-creator-search input{min-height:43px;padding:0 9px;border:1px solid #dce4dd;border-radius:8px;font-size:14px}.cp-creator-search button{border:0;border-radius:8px;color:#fff;background:#173f2b;font-size:13px;font-weight:900}.cp-creator-list-head{display:flex;justify-content:space-between;align-items:end;margin-top:16px}.cp-creator-list-head h2{margin:0;color:#304338;font-size:23px}.cp-creator-list-head a{color:#315e45;font-size:12px;font-weight:900;text-decoration:none}
.cp-creators-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.cp-creators-grid article{padding:16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.cp-creators-grid article>span{color:#71917c;font-size:11px;font-weight:950}.cp-creators-grid h2{margin:5px 0 0;color:#304338;font-size:18px}.cp-creators-grid small{display:block;margin-top:4px;color:#7d8981;font-size:11px}.cp-creators-grid p{min-height:62px;color:#5d6d63;font-size:13px;line-height:1.6}.cp-creators-grid article>div{display:flex;gap:4px;flex-wrap:wrap}.cp-creators-grid article>div b{padding:4px 6px;border-radius:999px;color:#315e45;background:#edf4ee;font-size:10px}.cp-creators-grid footer{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #edf0ed}.cp-creators-grid footer span,.cp-creators-grid footer a{font-size:11px}.cp-creators-grid footer a{color:#315e45;font-weight:900;text-decoration:none}.cp-creator-empty{padding:25px;border:1px dashed #cbd6cd;border-radius:10px;color:#7b8780;background:#fff;text-align:center;font-size:13px}.cp-creator-pages{display:flex;justify-content:center;gap:5px;margin-top:14px}.cp-creator-pages a{min-width:36px;height:36px;display:grid;place-items:center;border:1px solid #dce4dd;border-radius:7px;color:#53675b;background:#fff;font-size:11px;text-decoration:none}.cp-creator-pages a.is-active{color:#fff;background:#173f2b}
.cp-creator-admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.cp-creator-admin-stats article{padding:13px;border:1px solid #dfe6df;border-radius:10px;background:#fff}.cp-creator-admin-stats span,.cp-creator-admin-stats strong{display:block}.cp-creator-admin-stats span{color:#7d8981;font-size:12px!important}.cp-creator-admin-stats strong{margin-top:3px;color:#285e40;font-size:20px}.cp-creator-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.cp-creator-tabs a{padding:9px 11px;border:1px solid #dce4dd;border-radius:7px;color:#53675b;background:#fff;font-size:12px!important;font-weight:900;text-decoration:none}.cp-creator-tabs a.is-active{color:#fff;background:#173f2b}
.cp-creator-admin-list{display:grid;gap:8px;margin-top:10px}.cp-creator-admin-list>article{padding:14px;border:1px solid #dfe6df;border-radius:11px;background:#fff}.cp-creator-admin-list header{display:flex;justify-content:space-between;gap:12px}.cp-creator-admin-list header span,.cp-creator-admin-list header small{font-size:11px!important;color:#7d8981}.cp-creator-admin-list header h2{margin:4px 0;color:#304338;font-size:17px}.cp-creator-admin-list header b{font-size:12px!important;color:#315e45}
.cp-creator-admin-grid{display:grid;grid-template-columns:.8fr 1.2fr .9fr;gap:7px;margin-top:10px}.cp-creator-admin-grid dl,.cp-creator-admin-grid section,.cp-creator-admin-grid aside{margin:0;padding:10px;border-radius:8px;background:#f5f8f5}.cp-creator-admin-grid dl>div+div{margin-top:6px}.cp-creator-admin-grid dt{color:#7d8981;font-size:11px!important}.cp-creator-admin-grid dd{margin:2px 0 0;color:#45584c;font-size:12px!important}.cp-creator-admin-grid section strong,.cp-creator-admin-grid aside strong{font-size:12px!important;color:#315e45}.cp-creator-admin-grid section p{font-size:12px!important;color:#596a5f;line-height:1.55}.cp-creator-admin-grid aside a{display:block;margin-top:5px;color:#315e45;font-size:11px!important;text-decoration:none}
.cp-creator-admin-list footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;padding-top:9px;border-top:1px solid #edf0ed}.cp-creator-admin-list footer form{display:flex;gap:5px}.cp-creator-admin-list footer input{min-width:220px;min-height:38px;padding:0 8px;border:1px solid #dce4dd;border-radius:7px;font-size:12px!important}.cp-creator-admin-list footer button{min-height:38px;padding:0 10px;border:0;border-radius:7px;color:#fff;background:#173f2b;font-size:12px!important;font-weight:900}.cp-creator-admin-list footer button.danger{background:#963d32}.cp-creator-admin-list footer>span{font-size:12px!important;color:#7d8981}
@media(max-width:900px){.cp-creator-hero__inner,.cp-creator-admin-grid{grid-template-columns:1fr}.cp-creators-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.cp-creator-grid,.cp-creator-search{grid-template-columns:1fr}.cp-creator-grid .wide{grid-column:auto}.cp-creators-grid,.cp-creator-admin-stats{grid-template-columns:1fr}.cp-creator-list-head,.cp-creator-admin-list header{align-items:stretch;flex-direction:column}.cp-creator-admin-list footer form{width:100%;flex-direction:column}.cp-creator-admin-list footer input,.cp-creator-admin-list footer button{width:100%;min-width:0}}

/* CAMPINGZONE 1.0.32 CREATOR PROMOTION PIPELINE */
.cp-promotion-hero{padding:54px 0;color:#fff;background:linear-gradient(120deg,#103c28,#1b5537)}
.cp-promotion-hero__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:24px;align-items:center}
.cp-promotion-hero span,.cp-promotion-ref-link>div>span,.cp-promotion-list-card>header>span{font-size:11px;font-weight:950;letter-spacing:.13em}
.cp-promotion-hero h1{margin:7px 0 0;color:#fff;font-size:39px;line-height:1.2}
.cp-promotion-hero p{max-width:720px;margin:9px 0 0;color:rgba(255,255,255,.74);font-size:14px;line-height:1.7}
.cp-promotion-hero aside{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.07)}
.cp-promotion-hero aside span,.cp-promotion-hero aside strong,.cp-promotion-hero aside small{display:block}
.cp-promotion-hero aside strong{margin-top:5px;color:#fff;font-size:18px}
.cp-promotion-hero aside small{margin-top:5px;color:rgba(255,255,255,.66);font-size:11px}
.cp-promotion-body{padding:28px 0 58px;background:#f5f7f4}
.cp-promotion-alert{margin-bottom:9px;padding:12px;border-radius:9px;font-size:13px}
.cp-promotion-alert.is-error{color:#963d32;background:#fff0ee}
.cp-promotion-alert.is-warning{color:#795526;background:#fff3df}
.cp-promotion-success{padding:36px;border:1px solid #dfe6df;border-radius:15px;background:#fff;text-align:center}
.cp-promotion-success>span{color:#71917c;font-size:11px;font-weight:950;letter-spacing:.13em}
.cp-promotion-success h2{margin:7px 0 0;color:#304338;font-size:26px}
.cp-promotion-success p{color:#64746a;font-size:13px}
.cp-promotion-success a{display:inline-block;margin-top:8px;padding:10px 13px;border-radius:8px;color:#fff;background:#173f2b;font-size:12px;font-weight:900;text-decoration:none}
.cp-promotion-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:10px;align-items:start}
.cp-promotion-process,.cp-promotion-form{border:1px solid #dfe6df;border-radius:14px;background:#fff}
.cp-promotion-process{position:sticky;top:80px;padding:17px}
.cp-promotion-process>span{color:#71917c;font-size:11px;font-weight:950}
.cp-promotion-process h2{margin:5px 0 0;color:#304338;font-size:20px}
.cp-promotion-process ol{display:grid;gap:8px;margin:13px 0 0;padding:0;list-style:none}
.cp-promotion-process li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px}
.cp-promotion-process li>b{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#173f2b;font-size:10px}
.cp-promotion-process li strong{font-size:13px;color:#34493c}
.cp-promotion-process li p{margin:2px 0 0;color:#7b8780;font-size:11px;line-height:1.5}
.cp-promotion-form{padding:18px}
.cp-promotion-form>section+section{margin-top:15px;padding-top:15px;border-top:1px solid #edf0ed}
.cp-promotion-form section>header{display:flex;gap:9px}
.cp-promotion-form section>header>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#fff;background:#173f2b;font-size:10px;font-weight:950}
.cp-promotion-form section>header strong{font-size:14px;color:#304338}
.cp-promotion-form section>header p{margin:2px 0 0;color:#7b8780;font-size:11px}
.cp-promotion-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.cp-promotion-form label>span{display:block;margin-bottom:5px;color:#56685d;font-size:12px;font-weight:900}
.cp-promotion-form input,.cp-promotion-form textarea{width:100%;box-sizing:border-box;border:1px solid #dce4dd;border-radius:8px;color:#34493c;background:#fff;font:inherit;font-size:14px}
.cp-promotion-form input{min-height:43px;padding:0 9px}
.cp-promotion-form textarea{min-height:145px;padding:10px;resize:vertical;line-height:1.6}
.cp-promotion-form section>small{display:block;margin-top:5px;color:#87928b;font-size:11px}
.cp-promotion-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cp-promotion-consent label{display:flex!important;align-items:flex-start;gap:7px;margin-top:7px;padding:10px;border-radius:8px;background:#f5f8f5}
.cp-promotion-consent input{width:17px;height:17px;min-height:0;flex:0 0 auto}
.cp-promotion-consent span{margin:0!important;font-weight:500!important;line-height:1.55}
.cp-promotion-submit{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;padding:12px;border-radius:9px;background:#eef4ef}
.cp-promotion-submit strong,.cp-promotion-submit span{display:block}
.cp-promotion-submit strong{font-size:13px;color:#315e45}
.cp-promotion-submit span{margin-top:2px;color:#748078;font-size:11px}
.cp-promotion-submit button{min-height:42px;padding:0 15px;border:0;border-radius:8px;color:#fff;background:#173f2b;font-size:12px;font-weight:950;cursor:pointer}
.cp-promotion-ref-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:12px;align-items:center;padding:17px;border:1px solid #dfe6df;border-radius:13px;background:#fff}
.cp-promotion-ref-link>div>span{color:#71917c}
.cp-promotion-ref-link strong{display:block;margin-top:5px;color:#304338;font-size:17px}
.cp-promotion-ref-link p{margin:4px 0 0;color:#66766c;font-size:12px;line-height:1.55}
.cp-promotion-copy{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:5px}
.cp-promotion-copy input{min-height:42px;padding:0 8px;border:1px solid #dce4dd;border-radius:8px;font-size:12px}
.cp-promotion-copy button{border:0;border-radius:8px;color:#fff;background:#173f2b;font-size:12px;font-weight:900}
.cp-promotion-stats,.cp-promotion-admin-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:9px}
.cp-promotion-stats article,.cp-promotion-admin-stats article{padding:12px;border:1px solid #dfe6df;border-radius:10px;background:#fff}
.cp-promotion-stats span,.cp-promotion-stats strong,.cp-promotion-stats small,.cp-promotion-admin-stats span,.cp-promotion-admin-stats strong{display:block}
.cp-promotion-stats span,.cp-promotion-admin-stats span{color:#7d8981;font-size:11px!important}
.cp-promotion-stats strong,.cp-promotion-admin-stats strong{margin-top:3px;color:#285e40;font-size:20px}
.cp-promotion-stats small{margin-top:2px;color:#87928b;font-size:10px}
.cp-promotion-list-card{margin-top:9px;padding:17px;border:1px solid #dfe6df;border-radius:13px;background:#fff}
.cp-promotion-list-card>header>span{color:#71917c}
.cp-promotion-list-card>header h2{margin:5px 0 0;color:#304338;font-size:21px}
.cp-promotion-list,.cp-promotion-admin-list{display:grid;gap:7px;margin-top:10px}
.cp-promotion-list>article,.cp-promotion-admin-list>article{padding:12px;border:1px solid #e4e9e4;border-radius:9px}
.cp-promotion-list article>header,.cp-promotion-admin-list article>header{display:flex;justify-content:space-between;gap:10px}
.cp-promotion-list header span,.cp-promotion-list header small,.cp-promotion-admin-list header span,.cp-promotion-admin-list header small{font-size:11px!important;color:#7d8981}
.cp-promotion-list h3,.cp-promotion-admin-list h3{margin:3px 0;color:#304338;font-size:15px}
.cp-promotion-list header>b,.cp-promotion-admin-list header>b{height:max-content;padding:5px 7px;border-radius:999px;color:#fff;background:#52728a;font-size:11px!important}
.cp-promotion-list header>b.is-paid,.cp-promotion-admin-list header>b.is-paid{background:#315e45}
.cp-promotion-list header>b.is-installed,.cp-promotion-admin-list header>b.is-installed{background:#1f6a45}
.cp-promotion-list header>b.is-cancelled,.cp-promotion-admin-list header>b.is-cancelled{background:#963d32}
.cp-promotion-list header>b.is-quoted,.cp-promotion-admin-list header>b.is-quoted{background:#8d712c}
.cp-promotion-list header>b.is-contracted,.cp-promotion-admin-list header>b.is-contracted{background:#7d4f8f}
.cp-promotion-list dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:9px 0 0}
.cp-promotion-list dl>div,.cp-promotion-admin-info dl>div{padding:7px;border-radius:7px;background:#f5f8f5}
.cp-promotion-list dt,.cp-promotion-admin-info dt{color:#7d8981;font-size:10px}
.cp-promotion-list dd,.cp-promotion-admin-info dd{margin:2px 0 0;color:#45584c;font-size:11px;font-weight:850}
.cp-promotion-commission-note{margin:8px 0 0;padding:7px;border-radius:7px;color:#765628;background:#fff4df;font-size:11px;line-height:1.5}
.cp-promotion-admin-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.cp-promotion-admin-tabs a{padding:8px 10px;border:1px solid #dce4dd;border-radius:7px;color:#53675b;background:#fff;font-size:11px!important;font-weight:900;text-decoration:none}
.cp-promotion-admin-tabs a.is-active{color:#fff;background:#173f2b}
.cp-promotion-admin-info{display:grid;grid-template-columns:.8fr 1.3fr .8fr;gap:6px;margin-top:9px}
.cp-promotion-admin-info dl,.cp-promotion-admin-info>div{margin:0;padding:9px;border-radius:8px;background:#f5f8f5}
.cp-promotion-admin-info>div strong{font-size:11px!important;color:#315e45}
.cp-promotion-admin-info>div p{margin:4px 0 0;color:#596a5f;font-size:12px!important;line-height:1.55}
.cp-promotion-admin-list footer{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid #edf0ed}
.cp-promotion-admin-list footer form{display:flex;gap:4px}
.cp-promotion-admin-list footer input{min-height:36px;box-sizing:border-box;padding:0 7px;border:1px solid #dce4dd;border-radius:6px;font-size:11px!important}
.cp-promotion-admin-list footer input[type=number]{width:130px}
.cp-promotion-admin-list footer input[type=text]{width:170px}
.cp-promotion-admin-list footer button{min-height:36px;padding:0 9px;border:0;border-radius:6px;color:#fff;background:#173f2b;font-size:11px!important;font-weight:900}
.cp-promotion-admin-list footer button.is-danger{background:#963d32}
.cp-creator-promotion-entry{padding-top:0}
.cp-creator-promotion-entry__card{display:block;padding:17px;border:1px solid #dfe6df;border-radius:13px;color:inherit;background:#fff;text-decoration:none}
.cp-creator-promotion-entry__card>span{color:#71917c;font-size:11px;font-weight:950}
.cp-creator-promotion-entry__card h2{margin:5px 0;color:#304338;font-size:20px}
.cp-creator-promotion-entry__card p{margin:5px 0;color:#66766c;font-size:12px}
.cp-creator-promotion-entry__card b{font-size:12px;color:#315e45}
@media(max-width:950px){.cp-promotion-hero__inner,.cp-promotion-layout,.cp-promotion-ref-link,.cp-promotion-admin-info{grid-template-columns:1fr}.cp-promotion-process{position:static}.cp-promotion-stats,.cp-promotion-admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.cp-promotion-form-grid,.cp-promotion-copy,.cp-promotion-list dl,.cp-promotion-stats,.cp-promotion-admin-stats{grid-template-columns:1fr}.cp-promotion-submit,.cp-promotion-list article>header,.cp-promotion-admin-list article>header{align-items:stretch;flex-direction:column}.cp-promotion-admin-list footer form{width:100%;flex-direction:column}.cp-promotion-admin-list footer input,.cp-promotion-admin-list footer button{width:100%!important}}

/* CAMPINGZONE 1.0.33 CREATOR COMMISSION SETTLEMENT */
.cp-commission-body{padding:28px 0 58px;background:#f5f7f4}
.cp-commission-policy,.cp-commission-admin-policy{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;border:1px solid #dfe6df;border-radius:12px;background:#fff}
.cp-commission-policy strong,.cp-commission-policy span{display:block}.cp-commission-policy strong{color:#315e45;font-size:15px}.cp-commission-policy span{max-width:760px;margin-top:4px;color:#68776e;font-size:12px;line-height:1.55}
.cp-commission-summary,.cp-commission-admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:9px}.cp-commission-summary article,.cp-commission-admin-stats article{padding:12px;border:1px solid #dfe6df;border-radius:10px;background:#fff}.cp-commission-summary span,.cp-commission-summary strong,.cp-commission-admin-stats span,.cp-commission-admin-stats strong,.cp-commission-admin-stats small{display:block}.cp-commission-summary span,.cp-commission-admin-stats span{color:#7d8981;font-size:11px!important}.cp-commission-summary strong,.cp-commission-admin-stats strong{margin-top:3px;color:#285e40;font-size:18px}.cp-commission-admin-stats small{margin-top:2px;color:#7d8981;font-size:10px!important}
.cp-commission-card{margin-top:9px;padding:17px;border:1px solid #dfe6df;border-radius:13px;background:#fff}.cp-commission-card>header>span{color:#71917c;font-size:11px!important;font-weight:950;letter-spacing:.13em}.cp-commission-card>header h2{margin:5px 0 0;color:#304338;font-size:21px}
.cp-commission-list,.cp-commission-admin-list{display:grid;gap:7px;margin-top:10px}.cp-commission-list>article,.cp-commission-admin-list>article{padding:12px;border:1px solid #e4e9e4;border-radius:9px}.cp-commission-list article>header,.cp-commission-admin-list article>header{display:flex;justify-content:space-between;gap:10px}.cp-commission-list header span,.cp-commission-list header small,.cp-commission-admin-list header span,.cp-commission-admin-list header small{font-size:11px!important;color:#7d8981}.cp-commission-list h3,.cp-commission-admin-list h3{margin:3px 0;color:#304338;font-size:15px}.cp-commission-list header>b,.cp-commission-admin-list header>b{height:max-content;padding:5px 7px;border-radius:999px;color:#fff;background:#52728a;font-size:11px!important}.cp-commission-list header>b.is-approved,.cp-commission-admin-list header>b.is-approved{background:#315e45}.cp-commission-list header>b.is-paid,.cp-commission-admin-list header>b.is-paid{background:#1f6a45}.cp-commission-list header>b.is-hold,.cp-commission-admin-list header>b.is-hold{background:#a26b25}.cp-commission-list header>b.is-cancelled,.cp-commission-admin-list header>b.is-cancelled{background:#963d32}
.cp-commission-list dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:9px 0 0}.cp-commission-list dl>div,.cp-commission-admin-info dl>div{padding:7px;border-radius:7px;background:#f5f8f5}.cp-commission-list dt,.cp-commission-admin-info dt{color:#7d8981;font-size:10px}.cp-commission-list dd,.cp-commission-admin-info dd{margin:2px 0 0;color:#45584c;font-size:11px;font-weight:850}.cp-commission-note{margin-top:8px;padding:8px;border-radius:7px;font-size:11px;line-height:1.5}.cp-commission-note strong,.cp-commission-note span{display:block}.cp-commission-note.is-hold{color:#765628;background:#fff4df}.cp-commission-note.is-paid{color:#275e3e;background:#eaf4ed}
.cp-commission-admin-policy>div>span{color:#71917c;font-size:11px!important;font-weight:950;letter-spacing:.13em}.cp-commission-admin-policy>div>strong{display:block;margin-top:4px;color:#304338;font-size:17px}.cp-commission-admin-policy>div>p{max-width:760px;margin:4px 0 0;color:#68776e;font-size:12px!important;line-height:1.55}.cp-commission-admin-policy form{flex:0 0 auto}.cp-commission-admin-policy button{min-height:40px;padding:0 12px;border:0;border-radius:8px;color:#fff;background:#173f2b;font-size:12px!important;font-weight:900;cursor:pointer}
.cp-commission-admin-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.cp-commission-admin-tabs a{padding:8px 10px;border:1px solid #dce4dd;border-radius:7px;color:#53675b;background:#fff;font-size:11px!important;font-weight:900;text-decoration:none}.cp-commission-admin-tabs a.is-active{color:#fff;background:#173f2b}
.cp-commission-admin-info{display:grid;grid-template-columns:1fr .9fr .9fr;gap:6px;margin-top:9px}.cp-commission-admin-info dl,.cp-commission-admin-info>div{margin:0;padding:9px;border-radius:8px;background:#f5f8f5}.cp-commission-admin-info>div strong{font-size:11px!important;color:#315e45}.cp-commission-admin-info>div p{margin:4px 0 0;color:#596a5f;font-size:11px!important;line-height:1.55}.cp-commission-admin-note{margin-top:8px;padding:8px;border-radius:7px;color:#765628;background:#fff4df;font-size:11px!important}
.cp-commission-admin-list footer{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid #edf0ed}.cp-commission-admin-list footer form{display:flex;gap:4px}.cp-commission-admin-list footer input{min-height:36px;box-sizing:border-box;padding:0 7px;border:1px solid #dce4dd;border-radius:6px;font-size:11px!important}.cp-commission-admin-list footer input[name=payout_reference]{width:190px}.cp-commission-admin-list footer input[name=note]{width:170px}.cp-commission-admin-list footer button{min-height:36px;padding:0 9px;border:0;border-radius:6px;color:#fff;background:#173f2b;font-size:11px!important;font-weight:900;cursor:pointer}.cp-commission-admin-list footer button.is-warning{background:#9a6a2b}.cp-commission-admin-list footer button.is-paid{background:#1f6a45}
.cp-creator-commission-entry{padding-top:0!important}.cp-creator-commission-entry__card{display:block;padding:16px;border:1px solid #dfe6df;border-radius:12px;color:inherit;background:#fff;text-decoration:none}.cp-creator-commission-entry__card>span{color:#71917c;font-size:11px;font-weight:950;letter-spacing:.13em}.cp-creator-commission-entry__card h2{margin:5px 0 0;color:#304338;font-size:19px}.cp-creator-commission-entry__card p{margin:5px 0 0;color:#66766c;font-size:12px;line-height:1.55}.cp-creator-commission-entry__card b{display:block;margin-top:10px;color:#315e45;font-size:12px}
@media(max-width:900px){.cp-commission-summary,.cp-commission-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-commission-admin-info{grid-template-columns:1fr}}
@media(max-width:650px){.cp-commission-policy,.cp-commission-admin-policy,.cp-commission-list article>header,.cp-commission-admin-list article>header{align-items:stretch;flex-direction:column}.cp-commission-summary,.cp-commission-admin-stats,.cp-commission-list dl{grid-template-columns:1fr}.cp-commission-admin-list footer form{width:100%;flex-direction:column}.cp-commission-admin-list footer input,.cp-commission-admin-list footer button{width:100%!important}}

/* CAMPINGZONE 1.0.34 BUSINESS OPERATIONS HUB */
.cp-business-hub-stats,.cp-business-admin-stats{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cp-business-hub-stats article,.cp-business-admin-stats article{padding:12px;border:1px solid #dfe6df;border-radius:10px;background:#fff}.cp-business-hub-stats span,.cp-business-hub-stats strong,.cp-business-hub-stats small,.cp-business-admin-stats span,.cp-business-admin-stats strong{display:block}.cp-business-hub-stats span,.cp-business-admin-stats span{color:#7d8981;font-size:11px!important}.cp-business-hub-stats strong,.cp-business-admin-stats strong{margin-top:3px;color:#285e40;font-size:20px}.cp-business-hub-stats small{color:#87928b;font-size:10px}
.cp-business-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cp-business-hub-card{overflow:hidden;border:1px solid #dfe6df;border-radius:13px;background:#fff}.cp-business-hub-card__image{min-height:150px;padding:10px;background:#dce6dd center/cover no-repeat}.cp-business-hub-card__image span,.cp-business-hub-card__image b{display:inline-block;margin-right:4px;padding:5px 7px;border-radius:999px;color:#fff;background:rgba(18,63,42,.9);font-size:10px}.cp-business-hub-card__image b{background:rgba(34,49,42,.78)}.cp-business-hub-card__body{padding:14px}.cp-business-hub-card__body>small{color:#7d8981;font-size:11px}.cp-business-hub-card__body h3{margin:4px 0 0;color:#304338;font-size:18px}.cp-business-hub-card__metrics{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.cp-business-hub-card__metrics span{padding:5px 7px;border-radius:999px;color:#53675b;background:#f0f4f0;font-size:10px}.cp-business-hub-card__status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px}.cp-business-hub-card__status>div{padding:8px;border-radius:8px;background:#f5f8f5}.cp-business-hub-card__status span,.cp-business-hub-card__status strong{display:block}.cp-business-hub-card__status span{color:#7d8981;font-size:10px}.cp-business-hub-card__status strong{margin-top:2px;color:#405348;font-size:11px}.cp-business-hub-card__tasks{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.cp-business-hub-card__tasks span{padding:5px 7px;border-radius:6px;color:#765628;background:#fff4df;font-size:10px}.cp-business-hub-card__actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:10px}.cp-business-hub-card__actions a{min-height:36px;display:grid;place-items:center;border:1px solid #dce4dd;border-radius:7px;color:#53675b;background:#fff;font-size:10px;font-weight:900;text-align:center;text-decoration:none}.cp-business-hub-card__actions a.is-primary{color:#fff;border-color:#173f2b;background:#173f2b}
.cp-business-hub-claims{margin-top:13px;padding:16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.cp-business-hub-claims header span{color:#71917c;font-size:10px;font-weight:950;letter-spacing:.13em}.cp-business-hub-claims header h2{margin:4px 0 0;color:#304338;font-size:19px}.cp-business-hub-claims>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:9px}.cp-business-hub-claims a{padding:8px;border-radius:7px;color:inherit;background:#f5f8f5;text-decoration:none}.cp-business-hub-claims strong,.cp-business-hub-claims span{display:block}.cp-business-hub-claims strong{color:#405348;font-size:11px}.cp-business-hub-claims span{margin-top:3px;color:#7d8981;font-size:10px}
.cp-business-overview-body{padding:26px 0 58px;background:#f5f7f4}.cp-business-overview-top{display:grid;grid-template-columns:1fr 1.2fr .9fr;gap:7px}.cp-business-overview-top>section{padding:15px;border:1px solid #dfe6df;border-radius:11px;background:#fff}.cp-business-overview-top>section>span{color:#71917c;font-size:10px;font-weight:950;letter-spacing:.13em}.cp-business-overview-top>section>strong{display:block;margin-top:5px;color:#285e40;font-size:24px}.cp-business-overview-top>section>div:not(:first-child){height:8px;margin-top:7px;overflow:hidden;border-radius:999px;background:#e3e9e4}.cp-business-overview-top>section>div i{display:block;height:100%;border-radius:inherit;background:#315e45}.cp-business-overview-top p{margin:6px 0 0;color:#69786e;font-size:11px;line-height:1.55}.cp-business-overview-top dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:8px 0 0}.cp-business-overview-top dl>div{padding:7px;border-radius:7px;background:#f5f8f5}.cp-business-overview-top dt{color:#7d8981;font-size:9px}.cp-business-overview-top dd{margin:2px 0 0;color:#405348;font-size:11px;font-weight:900}.cp-business-overview-top section>a{display:inline-block;margin-top:9px;color:#315e45;font-size:11px;font-weight:900;text-decoration:none}.cp-business-overview-top small{display:block;margin-top:4px;color:#7d8981;font-size:10px}
.cp-business-overview-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.cp-business-overview-actions>a{display:block;padding:14px;border:1px solid #dfe6df;border-radius:11px;color:inherit;background:#fff;text-decoration:none}.cp-business-overview-actions>a>span{color:#71917c;font-size:10px;font-weight:950;letter-spacing:.11em}.cp-business-overview-actions h2{margin:4px 0 0;color:#304338;font-size:16px}.cp-business-overview-actions p{min-height:48px;margin:5px 0 0;color:#66766c;font-size:11px;line-height:1.55}.cp-business-overview-actions b{display:block;margin-top:8px;color:#315e45;font-size:11px}
.cp-business-overview-columns{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.cp-business-overview-card{margin-top:8px;padding:15px;border:1px solid #dfe6df;border-radius:11px;background:#fff}.cp-business-overview-columns .cp-business-overview-card{margin-top:0}.cp-business-overview-card header span{color:#71917c;font-size:10px;font-weight:950;letter-spacing:.13em}.cp-business-overview-card header h2{margin:4px 0 0;color:#304338;font-size:18px}.cp-business-overview-tasks{display:grid;gap:5px;margin-top:8px}.cp-business-overview-tasks article{display:flex;gap:6px;padding:7px;border-radius:7px;background:#f5f8f5}.cp-business-overview-tasks b{color:#315e45}.cp-business-overview-tasks strong{font-size:11px;color:#45584c}.cp-business-overview-status{display:grid;gap:5px;margin:8px 0 0}.cp-business-overview-status>div{display:flex;justify-content:space-between;gap:8px;padding:7px;border-radius:7px;background:#f5f8f5}.cp-business-overview-status dt{color:#7d8981;font-size:10px}.cp-business-overview-status dd{margin:0;color:#405348;font-size:11px;font-weight:850;text-align:right}
.cp-business-platform-history{display:grid;gap:5px;margin-top:8px}.cp-business-platform-history article{display:flex;justify-content:space-between;gap:10px;padding:8px;border-radius:7px;background:#f5f8f5}.cp-business-platform-history article div span,.cp-business-platform-history article div strong{display:block}.cp-business-platform-history article span{color:#7d8981;font-size:10px}.cp-business-platform-history article strong{margin-top:2px;color:#405348;font-size:11px}
.cp-business-admin-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.cp-business-admin-links a{padding:8px 10px;border:1px solid #dce4dd;border-radius:7px;color:#315e45;background:#fff;font-size:11px!important;font-weight:900;text-decoration:none}.cp-business-admin-card{margin-top:9px;padding:16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}.cp-business-admin-card>header span{color:#71917c;font-size:10px!important;font-weight:950;letter-spacing:.13em}.cp-business-admin-card>header h2{margin:4px 0 0;color:#304338;font-size:20px}.cp-business-admin-list{display:grid;gap:6px;margin-top:9px}.cp-business-admin-list>article{padding:11px;border:1px solid #e4e9e4;border-radius:8px}.cp-business-admin-list article>header{display:flex;justify-content:space-between;gap:10px}.cp-business-admin-list header span,.cp-business-admin-list header small{font-size:10px!important;color:#7d8981}.cp-business-admin-list h3{margin:3px 0;color:#304338;font-size:14px}.cp-business-admin-score{text-align:right}.cp-business-admin-score span,.cp-business-admin-score strong{display:block}.cp-business-admin-score strong{margin-top:2px;color:#285e40;font-size:17px}.cp-business-admin-info{display:grid;grid-template-columns:1fr 1fr .9fr;gap:5px;margin-top:7px}.cp-business-admin-info dl,.cp-business-admin-info>div{margin:0;padding:8px;border-radius:7px;background:#f5f8f5}.cp-business-admin-info dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.cp-business-admin-info dt{color:#7d8981;font-size:9px!important}.cp-business-admin-info dd{margin:2px 0 0;color:#405348;font-size:10px!important;font-weight:850}.cp-business-admin-info>div strong{font-size:10px!important;color:#315e45}.cp-business-admin-info>div p{margin:3px 0 0;color:#596a5f;font-size:10px!important;line-height:1.5}.cp-business-admin-list footer{display:flex;gap:5px;margin-top:7px;padding-top:7px;border-top:1px solid #edf0ed}.cp-business-admin-list footer a{padding:6px 8px;border:1px solid #dce4dd;border-radius:6px;color:#315e45;font-size:10px!important;font-weight:900;text-decoration:none}.cp-business-overview-link{display:block!important;margin-top:7px!important;padding:8px!important;border-radius:7px!important;color:#fff!important;background:#173f2b!important;text-align:center!important;font-size:11px!important;font-weight:900!important;text-decoration:none!important}
@media(max-width:1000px){.cp-business-hub-stats,.cp-business-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.cp-business-overview-top,.cp-business-admin-info{grid-template-columns:1fr}.cp-business-overview-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){.cp-business-hub-grid,.cp-business-overview-columns{grid-template-columns:1fr}.cp-business-hub-stats,.cp-business-admin-stats,.cp-business-overview-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-business-hub-card__status{grid-template-columns:1fr}.cp-business-hub-card__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-business-hub-claims>div{grid-template-columns:1fr}.cp-business-overview-top dl,.cp-business-admin-info dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cp-business-hub-stats,.cp-business-admin-stats,.cp-business-overview-actions{grid-template-columns:1fr}.cp-business-platform-history article,.cp-business-admin-list article>header{align-items:stretch;flex-direction:column}.cp-business-admin-score{text-align:left}}

/* CAMPINGZONE 1.0.35 QR OPERATIONS PLATFORM */
.cp-qr-body{padding:26px 0 58px;background:#f5f7f4}
.cp-qr-stats,.cp-qr-admin-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.cp-qr-admin-stats{grid-template-columns:repeat(7,minmax(0,1fr))}
.cp-qr-stats article,.cp-qr-admin-stats article{padding:12px;border:1px solid #dfe6df;border-radius:10px;background:#fff}
.cp-qr-stats span,.cp-qr-stats strong,.cp-qr-admin-stats span,.cp-qr-admin-stats strong{display:block}
.cp-qr-stats span,.cp-qr-admin-stats span{color:#7d8981;font-size:11px!important}
.cp-qr-stats strong,.cp-qr-admin-stats strong{margin-top:3px;color:#285e40;font-size:18px}
.cp-qr-top-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}
.cp-qr-top-actions a{padding:9px 11px;border:1px solid #dce4dd;border-radius:7px;color:#315e45;background:#fff;font-size:11px;font-weight:900;text-decoration:none}
.cp-qr-top-actions a.is-primary{color:#fff;border-color:#173f2b;background:#173f2b}
.cp-qr-top-actions b{display:inline-grid;min-width:18px;height:18px;place-items:center;margin-left:3px;border-radius:999px;color:#173f2b;background:#fff;font-size:9px}
.cp-qr-card{margin-top:8px;padding:16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}
.cp-qr-card>header>span,.cp-qr-card-head>div>span{color:#71917c;font-size:10px;font-weight:950;letter-spacing:.13em}
.cp-qr-card>header h2,.cp-qr-card-head h2{margin:4px 0 0;color:#304338;font-size:19px}
.cp-qr-card>header p{margin:4px 0 0;color:#6b7970;font-size:11px}
.cp-qr-card-head{display:flex;justify-content:space-between;gap:10px;align-items:end}
.cp-qr-card-head>a{color:#315e45;font-size:11px;font-weight:900;text-decoration:none}
.cp-qr-settings label>span{display:block;margin-bottom:5px;color:#56685d;font-size:11px;font-weight:900}
.cp-qr-settings input,.cp-qr-settings select,.cp-qr-settings textarea,.cp-qr-create-form input,.cp-qr-create-form select,.cp-qr-point-list input,.cp-qr-point-list select,.cp-qr-menu-list input{width:100%;box-sizing:border-box;border:1px solid #dce4dd;border-radius:7px;color:#34493c;background:#fff;font:inherit;font-size:12px}
.cp-qr-settings input,.cp-qr-settings select,.cp-qr-create-form input,.cp-qr-create-form select,.cp-qr-point-list input,.cp-qr-point-list select,.cp-qr-menu-list input{min-height:38px;padding:0 8px}
.cp-qr-settings textarea{min-height:90px;padding:9px;resize:vertical}
.cp-qr-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.cp-qr-settings>label{display:block;margin-top:8px}
.cp-qr-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.cp-qr-toggle-grid label{display:flex;gap:6px;align-items:center;padding:9px;border-radius:7px;background:#f5f8f5}
.cp-qr-toggle-grid input{width:16px;height:16px;min-height:0}
.cp-qr-toggle-grid span{margin:0!important;font-size:11px!important}
.cp-qr-save{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px;padding:9px;border-radius:7px;background:#eef4ef}
.cp-qr-save p{margin:0;color:#68776e;font-size:10px}
.cp-qr-save button,.cp-qr-create-form button,.cp-qr-point-list button,.cp-qr-menu-list button{min-height:38px;border:0;border-radius:7px;color:#fff;background:#173f2b;font-size:11px;font-weight:900;cursor:pointer}
.cp-qr-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:9px}
.cp-qr-checklist article{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:9px;border:1px solid #ead8bf;border-radius:8px;background:#fff7ea}
.cp-qr-checklist article.is-ok{border-color:#cfe0d2;background:#eef7ef}
.cp-qr-checklist article>div{display:flex;gap:6px;align-items:center}
.cp-qr-checklist article b{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;color:#fff;background:#9a6a2b;font-size:10px}
.cp-qr-checklist article.is-ok b{background:#315e45}
.cp-qr-checklist article strong{font-size:11px;color:#45584c}
.cp-qr-checklist button{padding:6px 8px;border:1px solid #dce4dd;border-radius:6px;color:#315e45;background:#fff;font-size:10px;font-weight:900}
.cp-qr-create-form{display:grid;grid-template-columns:140px 1fr 1fr 1.4fr 110px;gap:5px;margin-top:9px}
.cp-qr-menu-create{grid-template-columns:130px 1fr 120px 1.2fr 100px}
.cp-qr-point-list{display:grid;gap:6px;margin-top:9px}
.cp-qr-point-list>article{display:grid;grid-template-columns:.85fr 1.6fr;gap:7px;padding:9px;border:1px solid #e4e9e4;border-radius:8px}
.cp-qr-point-preview{padding:9px;border-radius:7px;background:#f5f8f5}
.cp-qr-point-preview span,.cp-qr-point-preview strong,.cp-qr-point-preview small,.cp-qr-point-preview a{display:block}
.cp-qr-point-preview span{color:#71917c;font-size:10px}
.cp-qr-point-preview strong{margin-top:3px;color:#304338;font-size:13px}
.cp-qr-point-preview small{margin-top:3px;overflow-wrap:anywhere;color:#7d8981;font-size:9px}
.cp-qr-point-preview a{margin-top:7px;color:#315e45;font-size:10px;font-weight:900;text-decoration:none}
.cp-qr-point-list form{display:grid;grid-template-columns:130px 1fr 1fr 1.3fr auto 70px;gap:5px;align-items:center}
.cp-qr-point-list form label,.cp-qr-menu-list label{display:flex;gap:4px;align-items:center;font-size:10px}
.cp-qr-point-list form label input,.cp-qr-menu-list label input{width:15px;height:15px;min-height:0}
.cp-qr-menu-list{display:grid;gap:5px;margin-top:8px}
.cp-qr-menu-list form{display:grid;grid-template-columns:130px 1fr 110px 1.2fr auto 70px;gap:5px;align-items:center;padding:7px;border-radius:7px;background:#f5f8f5}
.cp-qr-order-tabs{display:flex;flex-wrap:wrap;gap:5px}
.cp-qr-order-tabs a{padding:8px 10px;border:1px solid #dce4dd;border-radius:7px;color:#53675b;background:#fff;font-size:11px;font-weight:900;text-decoration:none}
.cp-qr-order-tabs a.is-active{color:#fff;background:#173f2b}
.cp-qr-tts-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:9px;border-radius:7px;color:#315e45;background:#eef7ef;font-size:11px;font-weight:900}
.cp-qr-tts-bar button{padding:7px 9px;border:1px solid #cbd9ce;border-radius:6px;color:#315e45;background:#fff;font-size:10px;font-weight:900}
.cp-qr-order-list{display:grid;gap:6px;margin-top:9px}
.cp-qr-order-list>article{padding:10px;border:1px solid #e4e9e4;border-radius:8px}
.cp-qr-order-list article>header{display:flex;justify-content:space-between;gap:10px}
.cp-qr-order-list header span{color:#7d8981;font-size:10px}
.cp-qr-order-list h3{margin:3px 0;color:#304338;font-size:14px}
.cp-qr-order-list header>b{height:max-content;padding:5px 7px;border-radius:999px;color:#fff;background:#52728a;font-size:10px}
.cp-qr-order-list header>b.is-completed{background:#1f6a45}
.cp-qr-order-list header>b.is-cancelled{background:#963d32}
.cp-qr-order-items{display:grid;gap:3px;margin-top:7px}
.cp-qr-order-items>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:6px;border-radius:6px;background:#f5f8f5}
.cp-qr-order-items strong,.cp-qr-order-items span,.cp-qr-order-items b{font-size:10px}
.cp-qr-order-items span{color:#7d8981}
.cp-qr-order-note{margin:6px 0 0;padding:6px;border-radius:6px;color:#765628;background:#fff4df;font-size:10px}
.cp-qr-order-total{text-align:right;margin-top:7px;color:#596a5f;font-size:11px}
.cp-qr-order-total strong{margin-left:5px;color:#315e45;font-size:15px}
.cp-qr-order-list footer{display:flex;justify-content:flex-end;gap:5px;margin-top:7px;padding-top:7px;border-top:1px solid #edf0ed}
.cp-qr-order-list footer button{padding:7px 9px;border:0;border-radius:6px;color:#fff;background:#173f2b;font-size:10px;font-weight:900}
.cp-qr-order-list footer button.is-danger{background:#963d32}
.cp-qr-print-body{padding:24px 0 58px;background:#f5f7f4}
.cp-qr-print-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px;padding:10px;border:1px solid #dfe6df;border-radius:8px;background:#fff}
.cp-qr-print-toolbar strong{color:#304338;font-size:12px}
.cp-qr-print-toolbar button{padding:8px 10px;border:0;border-radius:6px;color:#fff;background:#173f2b;font-size:11px;font-weight:900}
.cp-qr-print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cp-qr-print-grid article{padding:22px;border:2px solid #173f2b;border-radius:14px;background:#fff;text-align:center;break-inside:avoid}
.cp-qr-svg svg{width:min(260px,100%);height:auto}
.cp-qr-print-grid article>span{display:block;margin-top:10px;color:#71917c;font-size:10px;font-weight:950;letter-spacing:.14em}
.cp-qr-print-grid h2{margin:5px 0 0;color:#173f2b;font-size:20px}
.cp-qr-print-grid h3{margin:4px 0 0;color:#304338;font-size:17px}
.cp-qr-print-grid article>strong{display:block;margin-top:4px;color:#8b672d;font-size:14px}
.cp-qr-print-grid p{margin:8px 0 0;color:#596a5f;font-size:11px}
.cp-qr-print-grid small{display:block;margin-top:6px;overflow-wrap:anywhere;color:#88938c;font-size:8px}
.cp-public-qr-page{min-height:100vh;background:#f4f6f3}
.cp-public-qr-invalid{min-height:75vh;display:grid;place-items:center;padding:20px}
.cp-public-qr-invalid>div{max-width:440px;padding:28px;border-radius:18px;background:#fff;text-align:center}
.cp-public-qr-invalid span{color:#71917c;font-size:10px;font-weight:950}
.cp-public-qr-invalid h1{color:#304338;font-size:24px}
.cp-public-qr-invalid p{color:#6a786f;font-size:12px}
.cp-public-qr-invalid a{display:inline-block;margin-top:8px;padding:9px 11px;border-radius:7px;color:#fff;background:#173f2b;font-size:11px;text-decoration:none}
.cp-public-qr-hero{padding:34px 20px;color:#fff;background:linear-gradient(145deg,#103c28,#1d5637)}
.cp-public-qr-hero>div{max-width:560px;margin:auto}
.cp-public-qr-hero span{font-size:10px;font-weight:950;letter-spacing:.13em}
.cp-public-qr-hero h1{margin:6px 0 0;color:#fff;font-size:27px}
.cp-public-qr-hero strong{display:block;margin-top:4px;font-size:14px}
.cp-public-qr-hero p{margin:7px 0 0;color:rgba(255,255,255,.74);font-size:12px;line-height:1.55}
.cp-public-qr-body{padding:14px 12px 40px}
.cp-public-qr-wrap{max-width:560px;margin:auto}
.cp-public-qr-card{margin-bottom:8px;padding:15px;border:1px solid #dfe6df;border-radius:12px;background:#fff}
.cp-public-qr-card>span{color:#71917c;font-size:9px;font-weight:950;letter-spacing:.13em}
.cp-public-qr-card h2{margin:4px 0 0;color:#304338;font-size:18px}
.cp-public-qr-card>p{margin:5px 0 0;color:#64746a;font-size:12px;line-height:1.6}
.cp-public-qr-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:8px}
.cp-public-qr-actions a{min-height:42px;display:grid;place-items:center;padding:0 6px;border:1px solid #dce4dd;border-radius:8px;color:#315e45;background:#fff;font-size:11px;font-weight:900;text-align:center;text-decoration:none}
.cp-public-qr-menu{display:grid;gap:5px;margin-top:10px}
.cp-public-qr-menu article{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border-radius:8px;background:#f5f8f5}
.cp-public-qr-menu span,.cp-public-qr-menu strong,.cp-public-qr-menu small{display:block}
.cp-public-qr-menu span{color:#7d8981;font-size:9px}
.cp-public-qr-menu strong{margin-top:2px;color:#405348;font-size:12px}
.cp-public-qr-menu small{margin-top:2px;color:#7d8981;font-size:9px}
.cp-public-qr-menu article>div:last-child{text-align:right}
.cp-public-qr-menu b{display:block;color:#315e45;font-size:12px}
.cp-public-qr-menu select{margin-top:4px;min-width:64px;height:34px;border:1px solid #dce4dd;border-radius:6px;background:#fff}
.cp-public-qr-note{display:block;margin-top:9px}
.cp-public-qr-note span{display:block;margin-bottom:4px;color:#56685d;font-size:10px;font-weight:900}
.cp-public-qr-note textarea{width:100%;box-sizing:border-box;padding:8px;border:1px solid #dce4dd;border-radius:7px;font:inherit;font-size:11px;resize:vertical}
.cp-public-qr-order button,.cp-public-order-status button{width:100%;min-height:44px;margin-top:9px;border:0;border-radius:8px;color:#fff;background:#173f2b;font-size:12px;font-weight:950}
.cp-public-qr-footer{text-align:center;padding:14px 0}
.cp-public-qr-footer strong,.cp-public-qr-footer span{display:block}
.cp-public-qr-footer strong{color:#315e45;font-size:11px}
.cp-public-qr-footer span{margin-top:2px;color:#8a958e;font-size:9px}
.cp-public-order-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:10px}
.cp-public-order-progress>div{padding:7px 3px;border-radius:7px;color:#89948d;background:#eef1ee;text-align:center}
.cp-public-order-progress>div.is-on{color:#fff;background:#315e45}
.cp-public-order-progress b,.cp-public-order-progress span{display:block}
.cp-public-order-progress b{font-size:12px}
.cp-public-order-progress span{margin-top:2px;font-size:9px}
.cp-public-order-lines{display:grid;gap:4px;margin-top:10px}
.cp-public-order-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:7px;border-radius:6px;background:#f5f8f5}
.cp-public-order-lines strong,.cp-public-order-lines span,.cp-public-order-lines b{font-size:10px}
.cp-public-order-lines span{color:#7d8981}
.cp-public-order-total{margin-top:9px;text-align:right;color:#596a5f;font-size:11px}
.cp-public-order-total strong{margin-left:6px;color:#315e45;font-size:15px}
.cp-qr-admin-card{margin-top:9px;padding:16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}
.cp-qr-admin-card>header span{color:#71917c;font-size:10px!important;font-weight:950;letter-spacing:.13em}
.cp-qr-admin-card>header h2{margin:4px 0 0;color:#304338;font-size:20px}
.cp-qr-admin-list{display:grid;gap:6px;margin-top:9px}
.cp-qr-admin-list>article{padding:10px;border:1px solid #e4e9e4;border-radius:8px}
.cp-qr-admin-list article>header{display:flex;justify-content:space-between;gap:10px}
.cp-qr-admin-list header span{color:#7d8981;font-size:10px!important}
.cp-qr-admin-list h3{margin:3px 0;color:#304338;font-size:14px}
.cp-qr-admin-list header>b{height:max-content;padding:5px 7px;border-radius:999px;color:#fff;background:#52728a;font-size:10px!important}
.cp-qr-admin-list header>b.is-active{background:#1f6a45}
.cp-qr-admin-list header>b.is-paused{background:#9a6a2b}
.cp-qr-admin-list dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:7px 0 0}
.cp-qr-admin-list dl>div{padding:6px;border-radius:6px;background:#f5f8f5}
.cp-qr-admin-list dt{color:#7d8981;font-size:9px!important}
.cp-qr-admin-list dd{margin:2px 0 0;color:#405348;font-size:10px!important;font-weight:850}
.cp-qr-admin-list footer{display:flex;gap:5px;margin-top:7px;padding-top:7px;border-top:1px solid #edf0ed}
.cp-qr-admin-list footer a{padding:6px 8px;border:1px solid #dce4dd;border-radius:6px;color:#315e45;font-size:10px!important;font-weight:900;text-decoration:none}
@media(max-width:1000px){
    .cp-qr-stats,.cp-qr-admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
    .cp-qr-create-form,.cp-qr-menu-create,.cp-qr-point-list form,.cp-qr-menu-list form{grid-template-columns:1fr 1fr}
    .cp-qr-point-list>article{grid-template-columns:1fr}
    .cp-qr-admin-list dl{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .cp-qr-settings-grid,.cp-qr-toggle-grid,.cp-qr-checklist,.cp-qr-print-grid{grid-template-columns:1fr}
    .cp-qr-stats,.cp-qr-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cp-qr-save,.cp-qr-card-head,.cp-qr-order-list article>header,.cp-qr-admin-list article>header{align-items:stretch;flex-direction:column}
    .cp-public-qr-actions{grid-template-columns:1fr}
    .cp-qr-admin-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
    .cp-qr-stats,.cp-qr-admin-stats,.cp-qr-create-form,.cp-qr-menu-create,.cp-qr-point-list form,.cp-qr-menu-list form,.cp-qr-admin-list dl{grid-template-columns:1fr}
}
@media print{
    .cp-no-print,header.site-header,footer.site-footer{display:none!important}
    .cp-qr-print-body{padding:0;background:#fff}
    .cp-qr-print-grid{grid-template-columns:repeat(2,1fr);gap:8mm}
    .cp-qr-print-grid article{page-break-inside:avoid}
}

/* CAMPINGZONE 1.0.36 FINAL RELEASE / READABILITY / ACCESSIBILITY */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{overflow-wrap:anywhere}
main p,main li,main label,main dt,main dd,main small,main a,main button,main input,main select,main textarea{font-size:max(13px,1em)!important;line-height:1.5}
main.cp-admin-shell p,main.cp-admin-shell li,main.cp-admin-shell label,main.cp-admin-shell dt,main.cp-admin-shell dd,main.cp-admin-shell small,main.cp-admin-shell a,main.cp-admin-shell button,main.cp-admin-shell input,main.cp-admin-shell select,main.cp-admin-shell textarea{font-size:max(14px,1em)!important}
main button,main input,main select,main textarea{min-height:40px}
main textarea{min-height:88px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(45,111,73,.35);outline-offset:2px}
img{max-width:100%;height:auto}
.cp-release-score{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.cp-release-score article{padding:15px;border:1px solid #dfe6df;border-radius:11px;background:#fff}
.cp-release-score span,.cp-release-score strong{display:block}
.cp-release-score span{color:#7c8980;font-size:12px!important;font-weight:900}
.cp-release-score strong{margin-top:4px;color:#304338;font-size:25px}
.cp-release-score .is-pass strong{color:#276344}
.cp-release-score .is-warn strong{color:#946422}
.cp-release-score .is-fail strong{color:#a13f36}
.cp-release-banner{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:8px;padding:14px;border-radius:10px}
.cp-release-banner strong,.cp-release-banner span{display:block}
.cp-release-banner strong{font-size:15px}
.cp-release-banner span{font-size:13px}
.cp-release-banner.is-ready{color:#245b3c;background:#eaf5ed}
.cp-release-banner.is-blocked{color:#8b352f;background:#fff0ee}
.cp-release-card{margin-top:9px;padding:16px;border:1px solid #dfe6df;border-radius:12px;background:#fff}
.cp-release-card>header span{color:#71917c;font-size:12px!important;font-weight:950;letter-spacing:.1em}
.cp-release-card>header h2{margin:4px 0 0;color:#304338;font-size:20px}
.cp-release-list{display:grid;gap:5px;margin-top:10px}
.cp-release-list article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border-radius:8px;background:#f5f8f5}
.cp-release-list article>b{display:grid;place-items:center;min-height:30px;border-radius:7px;color:#fff;background:#68776e;font-size:11px}
.cp-release-list article>b.is-pass{background:#286444}
.cp-release-list article>b.is-warn{background:#9a6828}
.cp-release-list article>b.is-fail{background:#9c4037}
.cp-release-list strong{display:block;color:#405348;font-size:14px}
.cp-release-list p{margin:2px 0 0;color:#68776e;font-size:13px!important}
.cp-release-integrity{display:grid;gap:5px;margin-top:9px}
.cp-release-integrity>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:8px;border-radius:7px;background:#f5f8f5}
.cp-release-integrity b{color:#925b24;font-size:12px}
.cp-release-integrity code{font-size:12px;overflow-wrap:anywhere}
.cp-release-manual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}
.cp-release-manual article{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:8px;row-gap:2px;padding:10px;border-radius:8px;background:#f5f8f5}
.cp-release-manual article>b{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;color:#fff;background:#315e45;font-size:11px}
.cp-release-manual strong{color:#405348;font-size:14px}
.cp-release-manual span{color:#718078;font-size:13px}
@media(max-width:760px){
  html{scroll-behavior:auto}
  main p,main li,main label,main dt,main dd,main small,main a,main button,main input,main select,main textarea{font-size:max(14px,1em)!important}
  main button,main input,main select{min-height:44px}
  .cp-release-score{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-release-banner{align-items:flex-start;flex-direction:column}
  .cp-release-manual{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* CAMPINGZONE 1.0.36.3 FAVORITE / DETAIL ACTION HOTFIX */
.cp-search-page .cp-search-card__detail,
.cp-search-grid--maplist .cp-search-card__detail {
    position: relative !important;
    z-index: 20 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    isolation: isolate;
}

.cp-search-page [data-favorite-button],
.cp-search-grid--maplist [data-favorite-button] {
    position: relative;
    z-index: 20;
    pointer-events: auto;
}

