/* Kinoportal 3.1.8 — public page theme integrity.
   Loaded after legacy styles from includes/menu.php, CSS selectors stay inside their feature. */
body:not(.admin-body) :is(.add-review-page,.add-news-page,.review-details,.reviews,.article-page,.profile-container){min-width:0;max-width:100%;color:var(--kp-text);}
/* Review list and detail: all surfaces share the active theme. */
body:not(.admin-body) .reviews :is(.card,.modal__content,.review-card){background:var(--kp-surface-solid);color:var(--kp-text);border:1px solid var(--kp-border);}
body:not(.admin-body) .reviews :is(.card__title a,.card__excerpt,.modal__title,.form-group label){color:var(--kp-text);}
body:not(.admin-body) .reviews :is(.card__meta,.empty){color:var(--kp-text-muted);}
body:not(.admin-body) .reviews :is(.btn--ghost,.pagination__btn){background:var(--kp-surface-2);color:var(--kp-text);border:1px solid var(--kp-border);}
body:not(.admin-body) .reviews .pagination__btn.is-current{background:var(--kp-secondary);color:#fff;}
body:not(.admin-body) .reviews .modal__close{color:var(--kp-text);}
body:not(.admin-body) .review-details :is(.review-article,.gallery-item,.comment-form,.comment-item,.notice){background:var(--kp-surface-solid);color:var(--kp-text);border:1px solid var(--kp-border);}
body:not(.admin-body) .review-details :is(.review-text,.ctext,.breadcrumbs a,.meta,.cmeta,.notice){color:var(--kp-text);}
body:not(.admin-body) .review-details :is(.breadcrumbs,.no-comments){color:var(--kp-text-muted);}
/* News/article legacy pages; new editorial pages already use tokens. */
body:not(.admin-body) .news :is(.news__card,.comment,.comment-form,.modal__content){background:var(--kp-surface-solid);color:var(--kp-text);border:1px solid var(--kp-border);}
body:not(.admin-body) .news :is(.news__title,.news__content,.comment__text){color:var(--kp-text);}
body:not(.admin-body) .article-page{background:transparent;}
body:not(.admin-body) .article-page :is(.article-entry,.article-block,.article-entry__meta time,.article-entry__meta span){background:var(--kp-surface-solid);color:var(--kp-text);border:1px solid var(--kp-border);}
body:not(.admin-body) .article-page :is(.article-entry__header h1,.article-block__title,.article-block__text){color:var(--kp-text);}
body:not(.admin-body) .article-page :is(.article-entry__summary,.article-block__caption,.article-block__figure figcaption,.article-breadcrumbs){color:var(--kp-text-muted);}
/* Review authoring: higher specificity than global component CSS, even if legacy CSS loads before header. */
body:not(.admin-body) .add-review-page .add-review-form{background:var(--kp-surface-solid);color:var(--kp-text);border:1px solid var(--kp-border);}
body:not(.admin-body) .add-review-page .form-group label{color:var(--kp-heading);}
body:not(.admin-body) .add-review-page .form-group :is(input[type=text],input[type=file],textarea){background:var(--kp-input-bg);color:var(--kp-input-text);border-color:var(--kp-input-border);}
body:not(.admin-body) .add-review-page .form-group :is(input[type=text],textarea)::placeholder{color:var(--kp-text-soft);}
/* New/edit news form kept outside admin-body and used legacy hardcoded light surface. */
body:not(.admin-body) .add-news-page{--an-bg:var(--kp-bg);--an-card:var(--kp-surface-solid);--an-text:var(--kp-text);--an-muted:var(--kp-text-muted);--an-border:var(--kp-border);--an-border-strong:var(--kp-border-strong);--an-shadow:var(--kp-shadow-sm);--an-secondary:var(--kp-surface-3);--an-secondary-hover:var(--kp-surface-hover);}
body:not(.admin-body) .add-news-page :is(.add-news-card,.add-news-panel,.add-news-section){background:var(--kp-surface-solid);color:var(--kp-text);border-color:var(--kp-border);}
body:not(.admin-body) .add-news-page :is(.add-news-heading,label,h1,h2,h3){color:var(--kp-heading);}
/* Handle forms only within these modules; do not destroy header/search/dropdown design. */
body:not(.admin-body) :is(.reviews,.review-details,.news,.add-news-page,.article-page) :is(input[type=text],input[type=email],input[type=search],input[type=url],input[type=number],input[type=date],textarea,select){background:var(--kp-input-bg);color:var(--kp-input-text);border-color:var(--kp-input-border);}
body:not(.admin-body) :is(.reviews,.review-details,.news,.add-news-page,.article-page) :is(input,textarea)::placeholder{color:var(--kp-text-soft);opacity:1;}
/* Legacy alert banners remain high contrast. */
body:not(.admin-body) :is(.reviews,.review-details,.news,.article-page) :is(.alert--error,.alert--success,.error,.success){color:var(--kp-text);background:var(--kp-surface-2);border:1px solid var(--kp-border);}
/* Prevent accidental horizontal scrolling inside content/form columns. */
body:not(.admin-body) :is(.add-review-page,.add-news-page,.reviews,.review-details,.article-page) :is(form,textarea,input,figure,img,article){max-width:100%;box-sizing:border-box;}
@media(max-width:640px){body:not(.admin-body) .article-page .article-entry{padding:14px;}body:not(.admin-body) .add-review-page{padding-inline:4px;}}
