/* NAVITAG – CREATORA FARB- & DESIGNTHEME
   abgestimmt auf Creatora Studio / Creatora Pets:
   Blau = Technik / Studio
   Grün = Pets / Natur / Vertrauen
   warme helle Flächen = Handarbeit / Premium
*/

:root{
    --creatora-blue:#1557B0;
    --creatora-blue-dark:#0B2A55;
    --creatora-blue-soft:#EAF2FF;

    --creatora-green:#43B649;
    --creatora-green-dark:#16842B;
    --creatora-green-soft:#EAFBEF;

    --creatora-cream:#FFF8EC;
    --creatora-sand:#F3E6D0;
    --creatora-bg:#F7F8FB;

    --text:#0F172A;
    --muted:#64748B;
    --card:#FFFFFF;
    --border:#E2E8F0;
    --danger:#DC2626;

    --shadow:0 18px 45px rgba(15,23,42,.10);
}

*{box-sizing:border-box}

html,body{
    margin:0;
    min-height:100%;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
    background:
        radial-gradient(circle at 10% 6%, rgba(21,87,176,.12), transparent 32%),
        radial-gradient(circle at 90% 8%, rgba(67,182,73,.12), transparent 28%),
        var(--creatora-bg);
    color:var(--text);
}

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

.container{
    width:100%;
    max-width:1080px;
    margin:0 auto;
    padding:22px;
}

.header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:24px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--creatora-blue-dark);
}

.logo-mark{
    width:44px;
    height:44px;
    border-radius:16px;
    display:grid;
    place-items:center;
    color:white;
    font-size:20px;
    background:linear-gradient(135deg,var(--creatora-blue),var(--creatora-blue-dark));
    box-shadow:0 12px 28px rgba(21,87,176,.24);
}

.logo-text{
    font-size:27px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.04em;
}

.logo-text span{color:var(--creatora-green)}

.tagline{
    margin-top:3px;
    font-size:11px;
    color:var(--muted);
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.nav{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

.nav a{
    padding:10px 14px;
    border-radius:999px;
    color:var(--muted);
    background:rgba(255,255,255,.72);
    border:1px solid rgba(226,232,240,.9);
    font-weight:850;
}

.nav a.active,
.nav a:hover{
    color:var(--creatora-blue);
    background:var(--creatora-blue-soft);
}

.card{
    background:rgba(255,255,255,.94);
    border:1px solid rgba(226,232,240,.95);
    border-radius:28px;
    padding:24px;
    box-shadow:var(--shadow);
}

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

.small{font-size:13px;color:var(--muted)}

label{
    display:block;
    margin:14px 0 7px;
    font-size:13px;
    font-weight:850;
    color:var(--creatora-blue-dark);
}

.input,textarea,select{
    width:100%;
    padding:14px 15px;
    border-radius:16px;
    border:1px solid var(--border);
    background:white;
    color:var(--text);
    font-size:15px;
    outline:none;
}

.input:focus,textarea:focus{
    border-color:var(--creatora-blue);
    box-shadow:0 0 0 4px rgba(21,87,176,.12);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:auto;
    max-width:100%;
    padding:14px 18px;
    border-radius:16px;
    border:none;
    cursor:pointer;
    font-weight:900;
    font-size:15px;
    text-align:center;
    transition:transform .15s ease,box-shadow .15s ease;
}

.btn:hover{transform:translateY(-1px)}

.btn-full{width:100%;display:flex}

.btn-primary{
    color:white;
    background:linear-gradient(135deg,var(--creatora-blue),var(--creatora-blue-dark));
    box-shadow:0 14px 28px rgba(21,87,176,.22);
}

.btn-green{
    color:white;
    background:linear-gradient(135deg,#6BD94A,var(--creatora-green));
    box-shadow:0 14px 28px rgba(67,182,73,.20);
}

.btn-outline{
    color:var(--creatora-blue-dark);
    background:white;
    border:2px solid #C9D8F5;
}

.btn-danger{
    color:#B91C1C;
    background:#FEE2E2;
    border:2px solid #FCA5A5;
}

.badge{
    display:inline-flex;
    padding:7px 11px;
    border-radius:999px;
    background:var(--creatora-green-soft);
    color:var(--creatora-green-dark);
    font-size:12px;
    font-weight:900;
}

.pet-card{
    display:flex;
    align-items:center;
    gap:15px;
}

.pet-img{
    width:76px;
    height:76px;
    border-radius:22px;
    object-fit:cover;
    background:var(--creatora-blue-soft);
    border:3px solid white;
    box-shadow:0 10px 22px rgba(15,23,42,.08);
}

.dashboard-actions{
    display:grid;
    gap:8px;
    min-width:138px;
}

.dashboard-actions .btn{width:100%}

/* Login/Register */
.hero{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:24px;
    background:
        radial-gradient(circle at 12% 10%, rgba(21,87,176,.14), transparent 34%),
        radial-gradient(circle at 88% 12%, rgba(67,182,73,.13), transparent 28%),
        linear-gradient(180deg,#F8FAFC 0%,#EEF4FF 100%);
}

.auth-box{
    width:100%;
    max-width:430px;
}

/* Profilseite */
.profile-page,
.profile-page-body{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:18px;
    background:
        radial-gradient(circle at 15% 10%, rgba(21,87,176,.13), transparent 34%),
        radial-gradient(circle at 85% 10%, rgba(67,182,73,.12), transparent 30%),
        linear-gradient(180deg,#F8FAFC 0%,#EEF4FF 100%);
}

.profile-shell{
    width:100%;
    max-width:430px;
    border-radius:34px;
    overflow:hidden;
    background:white;
    box-shadow:0 26px 70px rgba(11,42,85,.20);
    border:1px solid rgba(226,232,240,.95);
}

.profile-hero,
.cover{
    position:relative;
    height:178px;
    background:
        radial-gradient(circle at 78% 18%, rgba(67,182,73,.55), transparent 28%),
        radial-gradient(circle at 20% 6%, rgba(255,248,236,.85), transparent 26%),
        linear-gradient(135deg,var(--creatora-blue-dark),var(--creatora-blue));
}

.profile-hero::after,
.cover::after{
    content:"🐾";
    position:absolute;
    right:25px;
    bottom:18px;
    color:rgba(255,255,255,.30);
    font-size:46px;
    transform:rotate(-12deg);
}

.avatar{
    display:block;
    width:136px;
    height:136px;
    object-fit:cover;
    border-radius:50%;
    border:7px solid white;
    background:var(--creatora-blue-soft);
    margin:-68px auto 10px;
    position:relative;
    box-shadow:0 18px 34px rgba(15,23,42,.13);
}

.profile-content,
.profile-inner{
    padding:0 23px 25px;
    text-align:center;
}

.profile-title,
.profile-name{
    margin:6px 0 4px;
    color:var(--creatora-blue-dark);
    font-size:32px;
    font-weight:950;
    letter-spacing:-.04em;
}

.profile-subtitle{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

.profile-actions,
.actions{
    display:grid;
    gap:10px;
    margin-top:20px;
}

.profile-actions .btn,
.actions .btn{width:100%}

.info,
.info-box{
    text-align:left;
    background:#F8FAFC;
    border:1px solid var(--border);
    padding:15px;
    border-radius:18px;
    margin-top:17px;
    line-height:1.5;
}

.geo-info-box{
    background:var(--creatora-cream);
    padding:11px 12px;
    border-radius:14px;
    margin-top:2px;
    font-size:12px;
    color:#6B4E16;
    text-align:center;
    line-height:1.45;
    border:1px solid var(--creatora-sand);
}

.footer-note{
    margin-top:18px;
    text-align:center;
    color:var(--muted);
    font-size:12px;
}

.toggle-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 0;
    border-bottom:1px solid var(--border);
}

.toggle-row:last-child{border-bottom:0}

.toggle-row input{
    width:22px;
    height:22px;
    accent-color:var(--creatora-green);
}

#profileLink{
    font-size:14px;
    color:var(--text);
    background:#F8FAFC;
}

/* Legal links */
.legal-auth-links,
.landing-legal-links,
.landing-legal-fixed{
    margin-top:16px;
    font-size:13px;
    color:var(--muted);
}

.legal-auth-links a,
.landing-legal-links a,
.landing-legal-fixed a{
    color:var(--muted);
    text-decoration:none;
    font-weight:850;
}

.legal-auth-links a:hover,
.landing-legal-links a:hover,
.landing-legal-fixed a:hover{
    color:var(--creatora-blue);
    text-decoration:underline;
}

/* Cookie */
.navitag-cookie-banner{
    position:fixed;
    left:16px;
    right:16px;
    bottom:16px;
    z-index:9999;
}

.navitag-cookie-card{
    max-width:920px;
    margin:0 auto;
    background:#fff;
    border:1px solid var(--border);
    border-radius:22px;
    box-shadow:0 20px 55px rgba(15,23,42,.20);
    padding:18px;
    display:flex;
    gap:18px;
    align-items:center;
    justify-content:space-between;
}

.navitag-cookie-card p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:13px;
    line-height:1.4;
}

.navitag-cookie-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

/* Landingpage Zusatzklassen bleiben kompatibel */
.landing-page{
    min-height:100vh;
    background:
        radial-gradient(circle at 12% 12%, rgba(21,87,176,.14), transparent 34%),
        radial-gradient(circle at 88% 12%, rgba(67,182,73,.13), transparent 28%),
        linear-gradient(180deg,#F8FAFC 0%,#EEF4FF 100%);
}

.feature-card-fixed{
    border-color:rgba(226,232,240,.95)!important;
}

.feature-eyebrow-fixed{
    color:var(--creatora-blue)!important;
}

.feature-card-head-fixed h2,
.landing-title-fixed{
    color:var(--creatora-blue-dark)!important;
}

.feature-note-fixed{
    background:linear-gradient(135deg,var(--creatora-cream),#F8FAFC)!important;
    border-color:var(--creatora-sand)!important;
}

/* Privacy */
.privacy-page{
    background:
        radial-gradient(circle at 10% 8%, rgba(21,87,176,.12), transparent 32%),
        radial-gradient(circle at 92% 12%, rgba(67,182,73,.11), transparent 30%),
        #F8FAFC;
}

/* Responsive */
@media(max-width:820px){
    .container{padding:16px}
    .header{flex-direction:column;align-items:flex-start}
    .grid-2,.grid-3{grid-template-columns:1fr}
    .pet-card{align-items:flex-start}
}

@media(max-width:700px){
    .navitag-cookie-card{
        flex-direction:column;
        align-items:stretch;
    }

    .navitag-cookie-actions .btn{
        width:100%;
    }
}

@media(max-width:480px){
    .card{border-radius:22px;padding:18px}
    .profile-shell{border-radius:28px}
    .profile-title,.profile-name{font-size:29px}
}


/* NAVITAG LOGO PNG UPDATE */
.logo-mark{
    width:44px;
    height:44px;
    border-radius:12px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ffffff;
    border:1px solid #E2E8F0;
    box-shadow:0 8px 20px rgba(15,23,42,.08);
}

.logo-mark img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}


textarea,
textarea.input {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* optional: etwas schöneres Padding */
textarea.input {
    padding: 12px 14px !important;
}


/* NAVITAG PROFILE HEADER FIX */
/* verhindert das Abschneiden des Profilbildes oben */

.profile-card,
.profile-header,
.pet-profile-card,
.hero-card,
.public-profile-card,
.card.profile-card {
    overflow: visible !important;
}

/* zusätzlicher Abstand oben */
.profile-header,
.pet-profile-header,
.hero-header {
    padding-top: 90px !important;
}

/* Profilbild korrekt darstellen */
.profile-avatar,
.profile-image,
.pet-avatar,
.pet-profile-image,
.hero-avatar {
    position: absolute !important;
    top: -58px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    width: 120px !important;
    height: 120px !important;

    border-radius: 999px !important;
    object-fit: cover !important;
    object-position: center top !important;

    border: 6px solid rgba(255,255,255,.92) !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.28) !important;

    background: #fff !important;
    z-index: 50 !important;
}
