.phim-box{
    padding:1px;
    margin-bottom:25px;
    max-width:630px;
    margin:auto;
    margin-bottom:20px;
}
.phi-img.active img, .phi-img.active img:hover{
    transform: scale(1.3);
    box-shadow:0px 0px 4px 5px #ff3333;
}
.priv-prem{
    position:absolute;
    left:-10px;
    top:-10px;
    line-height:0px;
    font-size:0px;
    background-color:#666666;
    padding:5px;
    border-radius:50%;
    background-image:url("https://s1.dreamies.de/rs/images/premium.svg");
    background-repeat:no-repeat;
    background-origin:content-box;
    width:30px;
    height:30px;
}
.phim-custom{
    position:relative;
}
.settings-input{
    background-color:#ffffff !important;
    border:1px solid #999999 !important;
    padding:12px !important;
    border-radius:5px !important;
    font-size:1.25rem;
}
.settings-textarea{
    font-size:1rem !important;
}
.flex-input .title{
    font-weight:bold;
    margin-bottom:3px;
}
.stg-birthday{
    display:flex;
}
.stg-birthday select{
    flex: 1 1 0;
}
.ipt-preview > div{
    background-color:#C3D2DF;
    border:1px solid #999999;
}
.settings-spacer{
    width:100%;
    max-width:800px;
    height:6px;
    margin:35px auto;
    border-radius:5px;
    background-color:#b1bdc7;
}
.settings-userinfo-warning{
    width:100%;
    max-width:380px;
    font-size:0.875rem;
    padding:5px;
    border-radius:7px;
    background-color:#ffcd8b;
    margin:20px auto;
}
.settings-btn-full{
    margin-top:30px;
    width:100%;
}
.tab-container{
    width:100%;
    margin:20px 0px;
}
.tab-nav{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:30px 0 20px;
}
.tab-button{
    font-family:'Open Sans', sans-serif;
    border:3px solid #fff;
    border-radius:6px;
    background-color:#fff;
    outline:none;
    cursor:pointer;
    padding:12px;
    flex-grow:1;
    font-size:1rem;
    text-align:center;
    font-weight:bold;
    color:#333;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2);
}
.tab-button:hover{
    box-shadow: 0 3px 4px 0 rgba(0,0,0,0.3);
}
.tab-button.active {
    background-color:#ffedc3;
    color:#000;
    box-shadow: 0 3px 5px 0 rgba(0,0,0,0.3);
}
.tab-content {
    display:none;
    padding:20px 5px;
    animation:fadeEffect 0.5s;
}
@keyframes fadeEffect {
  from {opacity: 0;}
  to {opacity: 1;}
}
.interest-category{
    margin-bottom:30px;
}
.interest-category-title{
    font-size:1.125rem;
    font-weight:bold;
    margin-bottom:6px;
    color:#333;
}
.interest-selection{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:7px;
}
.interest-item{
    position:relative;
}
.interest-checkbox{
    position:absolute;
    opacity:0;
    cursor:pointer;
    height:0;
    width:0;
}
.interest-label {
    display:inline-block;
    padding:8px 15px;
    background-color:#fff;
    border-radius:10px;
    font-size:0.875rem;
    cursor:pointer;
    transition:background-color 0.3s ease, color 0.3s ease;
    box-shadow:0 0 4px rgba(0,0,0,0.2);
    user-select:none;
}
.interest-label:hover {
    background-color: #ffffe4;
}
.interest-checkbox:checked + .interest-label{
    background-color:#80ca83;
    box-shadow:0 0 5px rgba(255,255,255,0.7);
    color:#1b1a1a;
    text-shadow:0 0 2px rgba(255,255,255,0.4);
}
.interest-checkbox:disabled + .interest-label {
    background-color:#f0f0f0;
    color:#aaaaaa;
    cursor:not-allowed;
}
.interest-counter {
    font-size:1rem;
    color:#555;
    margin-bottom:10px;
}
.location-description{
    font-size:0.813rem;
    margin-bottom:10px;
}
.location-buttons{
    gap:20px;
}
#location-map{
    height:400px;
    width:100%;
    border-radius:12px;
    margin-bottom:20px;
}
.location-control-button {
    width: 35px;
    height: 35px;
    background: white url('https://s1.dreamies.de/rs/images/location.svg') no-repeat center center;
    background-size: 22px 22px;
    border: none;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}
.location-control-button:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.4);
    transform: translateY(-1px);
}
.location-control-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
.location-control-button.loading {
    pointer-events: none;
    background-image: none;
}
.location-control-button.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 22px;
    height: 22px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}