/**
 * Entertainment niche pack — custom CSS.
 *
 * This pack's markup builds on utilities the theme already ships (the
 * pattern-* texture classes, media-zoom, headline, meta-dot, button-7,
 * input-lg and btn-primary all exist in the compiled stylesheet). .chip,
 * .verdict-badge, .swiper-nav and .hero-scrim do NOT - an earlier version
 * of this comment claimed otherwise, so the hero slider's arrows, dark
 * overlay and every category tag on this pack rendered completely
 * unstyled (chips as bare inline text, arrows as tiny bare SVGs with no
 * button background, hero photos with no darkening for the white text
 * over them). Defined here, ported verbatim from the prototype's own
 * <style> block. Enqueued only when the entertainment style is active.
 */

/* -- Category chip: pill shape, uppercase micro-label -- */
.site-style-entertainment .chip {
  display: inline-flex; align-items: center; gap: .5rem; padding: .3rem .85rem;
  border-radius: 9999px; font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; transition: all .3s;
}

/* -- Verdict/score badge (circular rating) -- */
.site-style-entertainment .verdict-badge {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 4.5rem; height: 4.5rem; border-radius: 9999px; border-width: 3px; border-style: solid;
  flex-shrink: 0;
}
/* Larger /10 lead-story badge keeps its two-line layout tight */
.site-style-entertainment .verdict-badge.w-16 {
  flex-direction: column;
  gap: 1px;
}

/* -- Hero slide gradient scrim: keeps white headline text readable over
      any photo, regardless of how bright it is -- */
.site-style-entertainment .hero-scrim {
  background-image: linear-gradient(to top, rgba(21,22,24,.92) 0%, rgba(21,22,24,.55) 42%, rgba(21,22,24,.05) 75%);
}

/* -- Swiper prev/next buttons: solid circle so they're visible on any photo -- */
.site-style-entertainment .swiper-nav {
  width: 44px; height: 44px; border-radius: 9999px; display: inline-flex;
  align-items: center; justify-content: center; border: 1px solid #E3E3E3;
  background: #FFFFFF; color: #151618; transition: all .3s;
}
.site-style-entertainment .swiper-nav:hover { background: #151618; color: #FFFFFF; border-color: #151618; }
.dark .site-style-entertainment .swiper-nav { background: #24262b; color: #FFFFFF; border-color: #616670; }
.dark .site-style-entertainment .swiper-nav:hover { background: #FFFFFF; color: #151618; }
.site-style-entertainment .swiper-nav.swiper-button-disabled { opacity: .35; cursor: default; }

/* Top nav links: the shared .menu-item class is sized/padded for a
   dropdown list item (text-lg, px-8 py-4), not a horizontal navbar - too
   large and too spaced out for this pack's tighter masthead. */
.site-style-entertainment .main-header nav .menu-item {
  font-size: .875rem;
  padding: .5rem .125rem;
}

/* -- Full-bleed hero slider pagination dots: sit on a photo, need a
      higher-contrast skin than a default/card-carousel dot would -- */
.site-style-entertainment .hero-swiper-full .swiper-pagination-bullet { background: #FFFFFF; opacity: .5; width: 9px; height: 9px; transition: all .3s; }
.site-style-entertainment .hero-swiper-full .swiper-pagination-bullet-active { background: #FFCF01; opacity: 1; width: 26px; border-radius: 9999px; }
.dark .site-style-entertainment .hero-swiper-full .swiper-pagination-bullet-active { background: #A48916; }

/* The shared theme's .btn-primary/.button-7 (main.css) never include an
   explicit `display` in their @apply list, so both fall back to the
   browser default for their tag - `display: inline` for the <a> case -
   breaking icon+text gap and vertical margin. */
.site-style-entertainment .btn-primary,
.site-style-entertainment .button-7 { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; }
/* The header's desktop Subscribe button (`btn-primary … xl:inline-flex
   hidden`) relied on Tailwind's single-class `.hidden` to stay off on
   mobile; the fix above has higher specificity and silently defeated it,
   showing the button at every width. Restore the responsive toggle with
   matching specificity. */
.site-style-entertainment .btn-primary.hidden { display: none; }
@media (min-width: 1322px) {
  .site-style-entertainment .btn-primary.hidden.xl\:inline-flex { display: inline-flex; }
}

/* ==================================================================
   ARTICLE PROSE - the_content() renders bare h2/p/blockquote/ul/ol with
   no classes; give them typography here so real post content reads
   correctly (the prototype hand-writes a Tailwind class on every element,
   which real WP content can't carry).
   ================================================================== */
.site-style-entertainment .single-content h2 { font-size: 1.5rem; font-weight: 700; margin: 2.5rem 0 1.25rem; }
@media (min-width: 640px) { .site-style-entertainment .single-content h2 { font-size: 1.875rem; } }
.site-style-entertainment .single-content h3 { font-size: 1.25rem; font-weight: 700; margin: 2rem 0 1rem; }
.site-style-entertainment .single-content h2:first-child,
.site-style-entertainment .single-content h3:first-child { margin-top: 0; }
.site-style-entertainment .single-content p { margin: 0 0 1.5rem; }
.site-style-entertainment .single-content p:last-child { margin-bottom: 0; }
.site-style-entertainment .single-content a { text-decoration: underline; text-underline-offset: 2px; }
.site-style-entertainment .single-content blockquote {
  border-left: 4px solid var(--color-primary-light-950);
  padding-left: 1.25rem;
  font-style: italic;
  color: var(--color-neutral-700);
  margin: 1.5rem 0;
}
.dark .site-style-entertainment .single-content blockquote {
  border-left-color: var(--color-primary-dark-950);
  color: var(--color-neutral-dark-700);
}
.site-style-entertainment .single-content ul,
.site-style-entertainment .single-content ol { margin: 0 0 1.5rem 1.25rem; }
.site-style-entertainment .single-content ul { list-style: disc; }
.site-style-entertainment .single-content ol { list-style: decimal; }

/* ==================================================================
   COMMENTS - default WordPress comment_form()/wp_list_comments() markup
   carries no pack-specific classes. The theme has no comments.php
   override, so comments_template() renders WP core's legacy theme-compat
   template - the outer wrapper stays <ol class="commentlist"> regardless
   of html5 theme support (only the per-comment inner markup respects it).
   ================================================================== */
.site-style-entertainment .comment-reply-title,
.site-style-entertainment #reply-title { font-size: 1.5rem; font-weight: 700; color: var(--color-neutral-950); margin: 0 0 .5rem; }
.dark .site-style-entertainment .comment-reply-title,
.dark .site-style-entertainment #reply-title { color: var(--color-neutral-dark-950); }
.site-style-entertainment .comment-notes,
.site-style-entertainment .logged-in-as { font-size: .875rem; color: var(--color-neutral-700); margin: 0 0 1.25rem; }
.dark .site-style-entertainment .comment-notes,
.dark .site-style-entertainment .logged-in-as { color: var(--color-neutral-dark-700); }
.site-style-entertainment .comment-notes a,
.site-style-entertainment .logged-in-as a { color: var(--color-link); text-decoration: underline; text-underline-offset: 2px; }

.site-style-entertainment .comment-form-comment,
.site-style-entertainment .comment-form-author,
.site-style-entertainment .comment-form-email,
.site-style-entertainment .comment-form-url { display: flex; flex-direction: column; gap: .4rem; margin: 0 0 1rem; }
.site-style-entertainment .comment-form label { font-size: .875rem; font-weight: 700; color: var(--color-neutral-950); }
.dark .site-style-entertainment .comment-form label { color: var(--color-neutral-dark-950); }
.site-style-entertainment #comment,
.site-style-entertainment .comment-form input[type="text"],
.site-style-entertainment .comment-form input[type="email"],
.site-style-entertainment .comment-form input[type="url"] {
  width: 100%; padding: .75rem 1rem; border-radius: .75rem; border: 0; outline: none;
  background: var(--color-neutral-200); color: var(--color-neutral-950); font: inherit;
  box-shadow: inset 0 0 0 1px rgba(21, 22, 24, .08);
}
.dark .site-style-entertainment #comment,
.dark .site-style-entertainment .comment-form input[type="text"],
.dark .site-style-entertainment .comment-form input[type="email"],
.dark .site-style-entertainment .comment-form input[type="url"] {
  background: var(--color-neutral-dark-200); color: var(--color-neutral-dark-950);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}
.site-style-entertainment #comment:focus,
.site-style-entertainment .comment-form input:focus { box-shadow: 0 0 0 2px var(--color-primary-light-950); }
.dark .site-style-entertainment #comment:focus,
.dark .site-style-entertainment .comment-form input:focus { box-shadow: 0 0 0 2px var(--color-primary-dark-950); }

.site-style-entertainment .comment-form-cookies-consent { display: flex; align-items: center; gap: .5rem; margin: 0 0 1.25rem; font-size: .875rem; color: var(--color-neutral-700); }
.dark .site-style-entertainment .comment-form-cookies-consent { color: var(--color-neutral-dark-700); }

.site-style-entertainment .form-submit { margin: 0; }
.site-style-entertainment .form-submit #submit,
.site-style-entertainment input#submit[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; cursor: pointer;
  border-radius: 9999px; padding: .625rem 1.5rem; font-size: .875rem; font-weight: 600; font-family: inherit;
  border: 0; background: var(--color-primary-light-950); color: var(--color-neutral-950); transition: opacity .3s;
}
.dark .site-style-entertainment .form-submit #submit,
.dark .site-style-entertainment input#submit[type="submit"] { background: var(--color-primary-dark-950); color: var(--color-neutral-dark-950); }
.site-style-entertainment .form-submit #submit:hover,
.site-style-entertainment input#submit[type="submit"]:hover { opacity: .88; }

.site-style-entertainment .commentlist { list-style: none; margin: 0 0 2.25rem; padding: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.site-style-entertainment .commentlist .children { list-style: none; margin: 1.5rem 0 0; padding: 0 0 0 3.25rem; display: flex; flex-direction: column; gap: 1.5rem; }
.site-style-entertainment .comment-body { display: flex; flex-direction: column; gap: .35rem; }
.site-style-entertainment .comment-meta { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.site-style-entertainment .comment-author.vcard { display: flex; align-items: center; gap: .75rem; }
.site-style-entertainment .comment-author .avatar { width: 2.5rem; height: 2.5rem; border-radius: 9999px; flex-shrink: 0; }
.site-style-entertainment .comment-author .fn { font-weight: 700; font-style: normal; font-size: .875rem; color: var(--color-neutral-950); }
.dark .site-style-entertainment .comment-author .fn { color: var(--color-neutral-dark-950); }
.site-style-entertainment .comment-author .says { display: none; }
.site-style-entertainment .comment-metadata { font-size: .75rem; font-weight: 400; color: var(--color-neutral-700); }
.dark .site-style-entertainment .comment-metadata { color: var(--color-neutral-dark-700); }
.site-style-entertainment .comment-metadata a { color: inherit; text-decoration: none; }
.site-style-entertainment .comment-content { font-size: .875rem; line-height: 1.65; margin-left: calc(2.5rem + .75rem); color: var(--color-neutral-700); }
.dark .site-style-entertainment .comment-content { color: var(--color-neutral-dark-700); }
.site-style-entertainment .comment-content p { margin: 0 0 .75rem; }
.site-style-entertainment .comment-content p:last-child { margin-bottom: 0; }
.site-style-entertainment .reply { margin-top: .35rem; margin-left: calc(2.5rem + .75rem); }
.site-style-entertainment .comment-reply-link {
  display: inline-flex; align-items: center; font-size: .75rem; font-weight: 700;
  color: var(--color-link); text-decoration: none;
}
.site-style-entertainment .comment-reply-link:hover { text-decoration: underline; text-underline-offset: 2px; }
.site-style-entertainment .no-comments { font-size: .875rem; color: var(--color-neutral-700); }
.dark .site-style-entertainment .no-comments { color: var(--color-neutral-dark-700); }
.site-style-entertainment .comment-awaiting-moderation { font-size: .8125rem; font-style: italic; color: var(--color-warning); }
