
.camy-clube-area { max-width: 1100px; margin: 0 auto; padding: 20px; }
.camy-clube-area-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.camy-clube-area-header h2 { margin-bottom:4px; }
.camy-clube-logout { display:inline-block; padding:8px 14px; text-decoration:none; }
.camy-clube-area-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:18px; }
.camy-clube-card { background:#fff; border:1px solid #eadde5; border-radius:12px; padding:22px; margin-bottom:18px; }
.camy-clube-card h3 { margin-top:0; }
.camy-clube-card-balance { text-align:center; }
.camy-clube-balance-value { font-size:32px; font-weight:700; margin:14px 0; }
.camy-clube-table-wrap { overflow-x:auto; }
.camy-clube-table { width:100%; border-collapse:collapse; }
.camy-clube-table th, .camy-clube-table td { padding:10px 12px; border-bottom:1px solid #eee; text-align:left; }
@media (max-width: 760px) {
    .camy-clube-area-grid { grid-template-columns:1fr; }
    .camy-clube-area { padding:14px; }
}

.camy-clube-eyebrow, .camy-clube-card-label { display:block; font-size:11px; font-weight:700; letter-spacing:.08em; color:#6b7280; margin-bottom:7px; }
.camy-clube-area-header h2 { margin:0 0 4px; }
.camy-clube-area-header p { margin:0; color:#6b7280; }
.camy-clube-header-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.camy-clube-secondary-action, .camy-clube-logout { border:1px solid #ddd6dc; border-radius:8px; padding:9px 14px; text-decoration:none; background:#fff; }
.camy-clube-card-highlight { border-top:3px solid #2563eb; }
.camy-clube-card-price { font-size:25px; font-weight:700; margin:10px 0; }
.camy-clube-card-price small { font-size:13px; font-weight:500; margin-left:4px; color:#6b7280; }
.camy-clube-status { display:inline-block; border-radius:999px; padding:4px 9px; font-size:12px; font-weight:700; }
.camy-clube-status-success { background:#ecfdf3; color:#166534; }
.camy-clube-status-warning { background:#fffbeb; color:#92400e; }
.camy-clube-status-danger { background:#fef2f2; color:#991b1b; }
.camy-clube-section-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:14px; }
.camy-clube-section-header h3 { margin:0; }
.camy-clube-profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.camy-clube-profile-form label { display:block; font-weight:600; margin-bottom:6px; }
.camy-clube-profile-form input { width:100%; box-sizing:border-box; padding:9px 10px; border:1px solid #d8d2d7; border-radius:7px; }
.camy-clube-profile-form small { display:block; margin-top:5px; color:#6b7280; }
.camy-clube-profile-form button { padding:9px 15px; border:0; border-radius:7px; cursor:pointer; }
.camy-clube-financial-note { margin-bottom:0; color:#4b5563; }
@media (max-width:760px) { .camy-clube-profile-grid { grid-template-columns:1fr; } .camy-clube-header-actions { width:100%; } .camy-clube-secondary-action, .camy-clube-logout { display:inline-block; } }


/* v0.7.0 — acesso do Clube integrado ao menu público */
.camy-public-account-menu { position: relative; }
.camy-public-account-toggle {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    font: inherit;
    color: inherit;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.camy-public-account-name { display: inline-block; max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.camy-public-account-chevron { font-size: 16px; line-height: 1; transition: transform .15s ease; }
.camy-public-account-open > .camy-public-account-toggle .camy-public-account-chevron { transform: rotate(180deg); }
.camy-public-account-menu > .camy-public-account-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 190px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #eadde5;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(0,0,0,.12);
    z-index: 9999;
}
.camy-public-account-open > .camy-public-account-dropdown { display: block; }
.camy-public-account-menu > .camy-public-account-dropdown li { margin: 0; padding: 0; list-style: none; }
.camy-public-account-menu > .camy-public-account-dropdown a {
    display: block;
    padding: 10px 16px;
    color: #7d4657;
    text-decoration: none;
    white-space: nowrap;
}
.camy-public-account-menu > .camy-public-account-dropdown a:hover,
.camy-public-account-menu > .camy-public-account-dropdown a:focus { background: #fff1f8; }
.camy-public-account-logout { border-top: 1px solid #f0e6eb; margin-top: 5px !important; padding-top: 5px !important; }
.camy-public-account-login > a { white-space: nowrap; }
@media (max-width: 760px) {
    .camy-public-account-menu > .camy-public-account-dropdown {
        position: static;
        min-width: 0;
        margin-top: 8px;
        box-shadow: none;
    }
    .camy-public-account-name { max-width: 140px; }
}

/* v0.7.1 — fallback para navegação por blocos/temas personalizados */
.camy-public-account-fallback-item { list-style:none !important; margin:0 !important; padding:0 !important; }
.camy-public-account-fallback {
    position:relative;
    display:inline-flex;
    align-items:center;
    margin-left:18px;
    font:inherit;
}
.camy-public-account-fallback .camy-public-account-toggle,
.camy-public-account-fallback .camy-public-account-login-link {
    font:inherit;
    color:inherit;
    text-decoration:none;
    line-height:inherit;
}
.camy-public-account-fallback .camy-public-account-dropdown {
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    min-width:190px;
    margin:0;
    padding:8px 0;
    background:#fff;
    border:1px solid #eadde5;
    border-radius:10px;
    box-shadow:0 10px 28px rgba(0,0,0,.12);
    z-index:9999;
}
.camy-public-account-fallback.camy-public-account-open .camy-public-account-dropdown { display:block; }
.camy-public-account-fallback .camy-public-account-dropdown a {
    display:block;
    padding:10px 16px;
    color:#7d4657;
    text-decoration:none;
    white-space:nowrap;
}
.camy-public-account-fallback .camy-public-account-dropdown a:hover { background:#fff1f8; }
.camy-public-account-fallback .camy-public-account-logout { border-top:1px solid #f0e6eb; margin-top:5px; padding-top:10px; }
.camy-public-account-fallback-floating {
    position:absolute;
    top:50%;
    right:30px;
    transform:translateY(-50%);
    z-index:9999;
}
@media (max-width:760px) {
    .camy-public-account-fallback { margin-left:12px; }
    .camy-public-account-fallback-floating { right:16px; }
    .camy-public-account-fallback .camy-public-account-dropdown {
        position:static;
        margin-top:8px;
        box-shadow:none;
    }
}

/* v0.7.2 — item de conta inserido diretamente na navegação pública */
.camy-public-account-injected {
    list-style:none !important;
    margin:0 0 0 28px !important;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    vertical-align:middle !important;
}
.camy-public-account-injected > .camy-public-account-fallback {
    position:relative;
    display:inline-flex;
    align-items:center;
    font:inherit;
    color:inherit;
}
.camy-public-account-injected .camy-public-account-login-link,
.camy-public-account-injected .camy-public-account-toggle {
    font:inherit !important;
    color:inherit !important;
    text-decoration:none !important;
    line-height:inherit;
    white-space:nowrap;
}
.camy-public-account-injected .camy-public-account-toggle {
    appearance:none;
    -webkit-appearance:none;
    border:0;
    background:transparent;
    cursor:pointer;
    padding:0;
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.camy-public-account-injected .camy-public-account-dropdown {
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    min-width:190px;
    padding:8px 0;
    margin:0;
    background:#fff;
    border:1px solid #eadde5;
    border-radius:10px;
    box-shadow:0 10px 28px rgba(0,0,0,.12);
    z-index:99999;
}
.camy-public-account-injected .camy-public-account-open .camy-public-account-dropdown {
    display:block;
}
.camy-public-account-injected .camy-public-account-dropdown a {
    display:block;
    padding:10px 16px;
    color:#7d4657 !important;
    text-decoration:none !important;
    white-space:nowrap;
}
.camy-public-account-injected .camy-public-account-dropdown a:hover {
    background:#fff1f8;
}
.camy-public-account-injected .camy-public-account-logout {
    border-top:1px solid #f0e6eb;
    margin-top:5px;
    padding-top:10px;
}
@media (max-width:760px) {
    .camy-public-account-injected {
        margin-left:12px !important;
    }
    .camy-public-account-injected .camy-public-account-dropdown {
        position:absolute;
    }
}

/* v0.7.3 — conta integrada diretamente ao core/navigation */
.wp-block-navigation .camy-public-account-menu {
    position:relative;
    list-style:none;
}
.wp-block-navigation .camy-public-account-menu > .camy-public-account-toggle {
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    padding:0;
    margin:0;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.wp-block-navigation .camy-public-account-menu > .camy-public-account-dropdown {
    display:none;
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    min-width:190px;
    padding:8px 0;
    margin:0;
    background:#fff;
    border:1px solid #eadde5;
    border-radius:10px;
    box-shadow:0 10px 28px rgba(0,0,0,.12);
    z-index:99999;
}
.wp-block-navigation .camy-public-account-menu.camy-public-account-open > .camy-public-account-dropdown {
    display:block;
}
.wp-block-navigation .camy-public-account-menu .camy-public-account-dropdown a {
    display:block;
    padding:10px 16px;
    color:#7d4657;
    text-decoration:none;
    white-space:nowrap;
}
.wp-block-navigation .camy-public-account-menu .camy-public-account-dropdown a:hover {
    background:#fff1f8;
}

/* v0.7.4 — header público: menu em uma única linha e item de conta refinado */
.wp-block-navigation .wp-block-navigation__container {
    flex-wrap: nowrap !important;
}
.wp-block-navigation .camy-public-account-item {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    margin-left: 8px;
}
.wp-block-navigation .camy-public-account-item .camy-public-account-name {
    display: inline-block;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}
.wp-block-navigation .camy-public-account-item .camy-public-account-chevron {
    font-size: .9em;
    line-height: 1;
}
.wp-block-navigation .camy-public-account-item > .camy-public-account-toggle {
    white-space: nowrap !important;
    min-width: max-content;
}
.camy-public-plans {
    max-width: 1120px;
    margin: 0 auto;
    padding: 20px 0 50px;
}
.camy-public-plans-header {
    text-align: center;
    margin-bottom: 34px;
}
.camy-public-eyebrow {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    color: #8c5264;
}
.camy-public-plans-header h2 {
    margin: 0 0 10px;
    color: #87495d;
    font-size: clamp(32px, 5vw, 48px);
}
.camy-public-plans-header p {
    max-width: 680px;
    margin: 0 auto;
    color: #6d5861;
}
.camy-public-plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 22px;
}
.camy-public-plan-card {
    background: #fff;
    border: 1px solid #eadde5;
    border-radius: 18px;
    padding: 28px 24px;
    box-shadow: 0 8px 24px rgba(93, 46, 65, .07);
}
.camy-public-plan-card h3 {
    margin: 0 0 16px;
    color: #87495d;
    font-size: 24px;
}
.camy-public-plan-price {
    color: #87495d;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 18px;
}
.camy-public-plan-price span {
    font-size: 17px;
    vertical-align: top;
    margin-right: 2px;
}
.camy-public-plan-price small {
    font-size: 14px;
    font-weight: 500;
}
.camy-public-plan-card p {
    margin: 0;
    color: #6d5861;
    line-height: 1.6;
}
.camy-public-plans-empty {
    background: #fff;
    border: 1px solid #eadde5;
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    color: #6d5861;
}
@media (max-width: 900px) {
    .wp-block-navigation .camy-public-account-item .camy-public-account-name {
        max-width: 110px;
    }
}
@media (max-width: 760px) {
    .wp-block-navigation .wp-block-navigation__container {
        flex-wrap: wrap !important;
    }
    .wp-block-navigation .camy-public-account-item {
        margin-left: 0;
        margin-top: 8px;
    }
}

/* ============================================================
 * v0.7.8 — Header público do Clube
 * ============================================================ */
.camy-clube-public-header {
    width:100%;
    box-sizing:border-box;
    background:#fbe9f7;
    color:#87495d;
    position:relative;
    z-index:10000;
}
.camy-clube-public-header *,
.camy-clube-public-header *::before,
.camy-clube-public-header *::after {
    box-sizing:border-box;
}
.camy-clube-public-header__inner {
    width:min(1180px, calc(100% - 40px));
    min-height:118px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
}
.camy-clube-public-header__brand {
    display:flex;
    align-items:center;
    gap:18px;
    min-width:0;
    color:#87495d;
    text-decoration:none;
}
.camy-clube-public-header__logo {
    width:88px;
    height:88px;
    object-fit:contain;
    flex:0 0 auto;
}
.camy-clube-public-header__title {
    font-family:inherit;
    font-size:clamp(34px, 4vw, 52px);
    font-weight:800;
    line-height:.95;
    letter-spacing:-.035em;
    white-space:nowrap;
}
.camy-clube-public-header__nav {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:28px;
    min-width:0;
}
.camy-clube-public-header__links {
    display:flex;
    align-items:center;
    gap:30px;
    white-space:nowrap;
}
.camy-clube-public-header__links a {
    color:#87495d;
    text-decoration:none;
    font-size:18px;
    line-height:1.2;
    transition:opacity .15s ease;
}
.camy-clube-public-header__links a:hover,
.camy-clube-public-header__links a:focus {
    opacity:.72;
    text-decoration:none;
}
.camy-clube-public-header__account {
    position:relative;
    flex:0 0 auto;
}
.camy-clube-login-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 17px;
    border-radius:999px;
    background:#8e2830;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:700;
    font-size:16px;
    box-shadow:0 5px 14px rgba(116,37,48,.14);
}
.camy-clube-login-button:hover,
.camy-clube-login-button:focus {
    opacity:.9;
}
.camy-clube-account-toggle {
    appearance:none;
    border:0;
    background:transparent;
    color:#87495d;
    font:inherit;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:7px;
    max-width:190px;
    padding:9px 2px;
}
.camy-clube-account-toggle > span:first-child {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.camy-clube-account-chevron {
    line-height:1;
    transition:transform .15s ease;
}
.camy-clube-account-open .camy-clube-account-chevron {
    transform:rotate(180deg);
}
.camy-clube-account-dropdown {
    display:none;
    position:absolute;
    top:calc(100% + 6px);
    right:0;
    min-width:190px;
    padding:7px 0;
    background:#fff;
    border:1px solid #eadde5;
    border-radius:12px;
    box-shadow:0 12px 30px rgba(93,46,65,.15);
}
.camy-clube-account-open .camy-clube-account-dropdown {
    display:block;
}
.camy-clube-account-dropdown a {
    display:block;
    padding:10px 16px;
    color:#7d4657;
    text-decoration:none;
    white-space:nowrap;
}
.camy-clube-account-dropdown a:hover,
.camy-clube-account-dropdown a:focus {
    background:#fff1f8;
}
.camy-clube-account-dropdown .camy-clube-account-logout {
    margin-top:5px;
    border-top:1px solid #f0e6eb;
}
.camy-clube-public-header__mobile-toggle {
    display:none;
    appearance:none;
    border:0;
    background:transparent;
    padding:8px;
    cursor:pointer;
}
.camy-clube-public-header__mobile-toggle > span:not(.screen-reader-text) {
    display:block;
    width:27px;
    height:2px;
    margin:5px 0;
    background:#87495d;
}
.camy-clube-public-header .screen-reader-text {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
@media (max-width:1050px) {
    .camy-clube-public-header__inner {
        width:min(100% - 28px, 1180px);
        gap:20px;
    }
    .camy-clube-public-header__title {
        font-size:34px;
    }
    .camy-clube-public-header__logo {
        width:70px;
        height:70px;
    }
    .camy-clube-public-header__links {
        gap:18px;
    }
    .camy-clube-public-header__links a {
        font-size:16px;
    }
}
@media (max-width:820px) {
    .camy-clube-public-header__inner {
        min-height:86px;
        position:relative;
    }
    .camy-clube-public-header__logo {
        width:58px;
        height:58px;
    }
    .camy-clube-public-header__title {
        font-size:30px;
    }
    .camy-clube-public-header__mobile-toggle {
        display:block;
        margin-left:auto;
    }
    .camy-clube-public-header__nav {
        display:none;
        position:absolute;
        left:0;
        right:0;
        top:100%;
        padding:16px;
        flex-direction:column;
        align-items:stretch;
        gap:12px;
        background:#fbe9f7;
        border-top:1px solid rgba(135,73,93,.12);
        box-shadow:0 12px 22px rgba(93,46,65,.10);
    }
    .camy-clube-public-header__nav.is-open {
        display:flex;
    }
    .camy-clube-public-header__links {
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }
    .camy-clube-public-header__links a {
        display:block;
        padding:11px 4px;
    }
    .camy-clube-public-header__account {
        border-top:1px solid rgba(135,73,93,.14);
        padding-top:10px;
    }
    .camy-clube-login-button {
        width:100%;
    }
    .camy-clube-account-toggle {
        width:100%;
        justify-content:space-between;
        max-width:none;
    }
    .camy-clube-account-dropdown {
        position:static;
        margin-top:5px;
        box-shadow:none;
    }
}
@media (max-width:480px) {
    .camy-clube-public-header__inner {
        width:calc(100% - 20px);
    }
    .camy-clube-public-header__title {
        font-size:26px;
    }
    .camy-clube-public-header__logo {
        width:50px;
        height:50px;
    }
}
