/* ------------------------------------------------------------- */
/* Poll                                                          */
/* ------------------------------------------------------------- */

#aap-poll-wrap p {
    font-size: unset !important;
    line-height: unset !important;
    font-weight: unset !important;
    color: unset !important;
    margin-bottom: unset !important;
}

#aap-poll-wrap  p:first-of-type::first-letter {
    font-size: unset !important;
    font-weight: unset !important;
}

#aap-poll-wrap .aap-container {
    padding: 20px 24px;
    border: 2px solid rgba(255,255,255,0.15);
    border-radius: 16px;
    background: #1e005cd1;
    backdrop-filter: blur(8px);
    color: #fff;
    margin-top: 32px;
    margin-bottom: 24px;
}

#aap-poll-wrap .aap-question {
    font-size: 1.1em;
    font-weight: 700;
    margin-bottom: 16px;
}

#aap-poll-wrap .aap-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Voting mode */
#aap-poll-wrap .aap-option-label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s;
}

#aap-poll-wrap .aap-option-label:hover {
    background: rgba(255,255,255,0.08);
}

#aap-poll-wrap .aap-option-label input[type=radio] {
    display: none;
}

#aap-poll-wrap .aap-radio-dot {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,0.6);
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
}

#aap-poll-wrap .aap-option-label input[type=radio]:checked ~ .aap-radio-dot::after {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #fff;
}

/* Results mode */
#aap-poll-wrap .aap-result-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

#aap-poll-wrap .aap-result-text {
    flex: 0 0 200px;
    font-size: 0.9em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#aap-poll-wrap .aap-bar-wrap {
    flex: 1;
    height: 22px;
    background: rgba(255,255,255,0.1);
    border-radius: 11px;
    overflow: hidden;
}

#aap-poll-wrap .aap-bar-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #556cd0, #8b5cf6);
    border-radius: 11px;
}

#aap-poll-wrap .aap-result-pct {
    flex: 0 0 38px;
    text-align: right;
    font-size: 0.85em;
    color: rgba(255,255,255,0.7);
}

/* Vote button */
#aap-poll-wrap .aap-btn-vote {
	display: block;
    margin: 18px auto 0;
    padding: 12px 32px;
    border-radius: 50px;
    border: 1px solid rgba(85,108,208,0.5);
    background: rgba(0,0,0,0.45);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    background-image: linear-gradient(135deg, rgba(85,108,208,0), rgba(85,108,208,0.4));
    background-size: 200%;
    background-position: left;
}

#aap-poll-wrap .aap-btn-vote:hover {
    background-position: right;
    box-shadow: 0 4px 14px rgba(85,108,208,0.45);
    transform: translateY(-2px);
}

/* Footer */
#aap-poll-wrap .aap-total {
    margin-top: 14px;
    font-size: 0.9em !important;
    opacity: 0.8;
}

#aap-poll-wrap .aap-thankyou {
    font-weight: 700;
    margin-top: 8px;
}

#aap-poll-wrap .aap-disclaimer {
    margin-top: 16px;
    font-size: 0.78em;
    opacity: 0.5;
}

#aap-poll-wrap .aap-form {
    margin: 35px 0;
}

/* ------------------------------------------------------------- */
/* AI Summary                                                    */
/* ------------------------------------------------------------- */

.ai-summary {
    border-radius: 15px;
    overflow: hidden;
    max-width: 1600px;
    margin: auto;
}

.ai-summary-title {
    display: flex;
    padding: 15px;
    font-weight: 700;
    color: #fff;
    background: transparent;
    justify-content: center;
    align-items: center;
    gap: 15px;
    text-align: center;
    border: solid var(--main-color) 2px;
    margin-top: 30px;
}

.ai-summary-title[aria-expanded="false"] {
    border-radius: 15px;
}

.ai-summary-title[aria-expanded="true"] {
    border-radius: 15px 15px 0 0;
}

.ai-summary-title > img {
    width: 10%;
}

.ai-summary-content {
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    background: transparent;
    padding: 15px;
    border-radius: 0 0 15px 15px;
    border: solid var(--main-color) 2px;
    border-top: none;
}

.ai-summary-content.collapsed {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
	border-radius: 15px;
}

.ai-summary-content ul {
    margin: 0;
    padding-left: 20px;
    line-height: 1.9;
    color: white;
    list-style: square;
}

.ai-summary-disclaimer {
    margin-top: 15px;
    font-size: .85em;
    opacity: .7;
    font-style: italic;
    border-top: 1px solid #ddd;
    padding-top: 10px;
    color: white;
}

.politisgroup-toggle-icon {
    cursor: pointer;
    transition: transform 0.3s ease;
    margin-left: auto;
}

.ai-summary-text {
    width: 100%;
	font-size: 22px;
	font-weight: 400;
	margin-left: -60px;
}

.ai-summary-content ::marker {
    color: var(--main-color);
}

/* ------------------------------------------------------------- */
/* Truth Score                                                   */
/* ------------------------------------------------------------- */

@keyframes tv-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.tv-circle {
    position: relative;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    margin-bottom: 15px;
}

.tv-inner {
    position: absolute;
    overflow: hidden;
    width: 170px;
    height: 170px;
    border: 5px solid transparent;
    border-radius: 50%;
}

.tv-water {
    position: absolute;
    width: 200%;
    height: 200%;
    left: -50%;
    opacity: 0.5;
    border-radius: 40%;
    animation: tv-spin 8s linear infinite;
    transition: top 1s ease;
}

.tv-glare {
    position: absolute;
    top: -120%;
    left: -120%;
    width: 200%;
    height: 200%;
    background: rgba(255,255,255,0.2);
    transform: rotate(45deg);
    border-radius: 50%;
}

.tv-percent {
    position: absolute;
    top: 45px;
    width: 100%;
    text-align: center;
    font-size: 2em;
    font-weight: bold;
}

.tv-badge-box {
    margin: 25px 0;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: transparent;
}

.tv-badge-grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    align-items: center;
}

.tv-badge-info {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-evenly;
}

.tv-badge-label {
	font-size: 24px;
    margin-top: 15px;
    font-weight: bold;
	margin-bottom: 10px;
}

.tv-badge-reason {
    font-size: 13px;
    margin-top: 5px;
	line-height: 1.3;
}

.tv-badge-disclaimer {
    font-size: 13px;
    color: #555;
    margin-top: 10px;
}

/* ------------------------------------------------------------- */
/* Admin Metabox (φορτώνεται μόνο στο admin)                    */
/* ------------------------------------------------------------- */
.aap-tabs { display:flex; gap:4px; margin-bottom:12px; }
.aap-tab  { padding:7px 14px; cursor:pointer; border:1px solid #ccc; border-radius:4px 4px 0 0; background:#f0f0f0; font-weight:500; }
.aap-tab.active { background:#fff; border-bottom-color:#fff; color:#2271b1; }
.aap-panel { display:none; padding:12px; border:1px solid #ccc; border-radius:0 4px 4px 4px; background:#fff; }
.aap-panel.active { display:block; }
.aap-field { margin-bottom:10px; }
.aap-field label { display:block; font-weight:600; margin-bottom:4px; }
.aap-field input[type=text] { width:100%; }
.aap-options-list { list-style:none; padding:0; margin:0; }
.aap-options-list li { display:flex; gap:6px; margin-bottom:6px; align-items:center; }
.aap-options-list li input { flex:1; }
.aap-options-list li button { flex-shrink:0; } .aap-select-row { display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.aap-badge { font-size:11px; padding:2px 8px; border-radius:10px; color:#fff; }
.aap-badge-humorous { background:#e67e22; }
.aap-badge-casual   { background:#2980b9; }
.aap-badge-serious  { background:#27ae60; }
.aap-badge-manual   { background:#8e44ad; }
.aap-generate-btn { margin-top:8px; }
.aap-status { font-style:italic; color:#777; font-size:13px; margin-top:6px; }


/* Responsive */

@media only screen and (max-width: 1279px) {
    .ai-summary-title > img {
        width: 10%;
    }
}

@media only screen and (max-width: 768px){
	.tv-badge-grid {
		display: flex;
		align-items: center;
		flex-direction: column;
	}

	.tv-badge-box {
		margin: 25px 15px;
	}
	
}

@media only screen and (max-width: 550px) {
    .ai-summary-title > img {
        width: 15%;
    }

    .ai-summary-text {
        font-size: 18px;
        font-weight: 400;
    }
}
