/* ============================
   Brand colors & custom properties
   ============================ */
:root {
    --ptpl-accent: #ff6600;
    --ptpl-accent-dark: #e55b00;
    --ptpl-text: #1a1a1a;
    --ptpl-text-muted: #555;
    --ptpl-bg-light: #f8f9fa;
    --ptpl-border: #e0e0e0;
}

.site-content a {
    color: var(--ptpl-accent);
}
.site-content a:hover,
.site-content a:focus {
    color: var(--ptpl-accent-dark);
}

/* override base theme - start */

.mt-3r { margin-top: .1rem; }

.widget { margin-bottom: 0; padding: .1rem; }

.site-header
{
    margin-bottom: 5px;
}

/* override base theme - end */

.img-circle, .img-circle-left, .img-circle-right {
    border-radius: 50%;
    width: 100px;
    height: 100px;
    margin-top: 5px;
}

.img-circle-left {
    float: left;
}

.img-circle-right {
    float: right;
}

/* ============================
   Album art square images
   ============================ */
.img-album {
    border-radius: 8px;
    width: 100px;
    height: auto;
}

#side-album-list li:before
{
    content: none !important;
}

#side-album-list li
{
    border-top: none;
    overflow: auto;
}

#side-album-list .img-circle
{
    width: 100px;
    height: auto;
    float: left;
}

.socialIcon {
  width: 50px;
  height: 50px;
}

.post-ratings-image
{
	height: 32px;
	width: 32px;
	margin: 5px;
}

.list-horizontal li
{
    display: inline-block;
}
.list-horizontal li:before
{
	content: '\00a0\2022\00a0\00a0';
}
.list-horizontal li:first-child:before
{
	content: '';
}

/* ============================
   Card-like content areas
   ============================ */
.blog-post-wrap {
    margin: 1px;
    padding: 8px 12px;
}

/* ============================
   Section heading styles
   ============================ */
.ptpl-section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ptpl-text);
    border-bottom: 2px solid var(--ptpl-accent);
    padding-bottom: 6px;
    margin: 20px 0 12px;
}

/* ============================
   Artist page sections
   ============================ */
.ptpl-artist-section {
    margin-bottom: 24px;
}

.ptpl-artist-meta {
    background: var(--ptpl-bg-light);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
}

/* ============================
   Song/album metadata table
   ============================ */
.ptpl-meta-table {
    width: 100%;
    margin-bottom: 16px;
}

.ptpl-meta-table .ptpl-meta-row {
    display: flex;
    padding: 6px 12px;
    border-bottom: 1px solid var(--ptpl-border);
}

.ptpl-meta-table .ptpl-meta-row:nth-child(even) {
    background: var(--ptpl-bg-light);
}

.ptpl-meta-label {
    font-weight: 600;
    min-width: 120px;
    color: var(--ptpl-text);
}

.ptpl-meta-value {
    flex: 1;
}

/* ============================
   Non-kid-friendly content notice
   ============================ */
.ptpl-content-notice {
    background: #fff3e0;
    border-left: 3px solid var(--ptpl-accent);
    padding: 8px 14px;
    margin: 10px 0;
    font-size: 0.9em;
    border-radius: 0 4px 4px 0;
}

/* ============================
   Responsive iframes & search
   ============================ */
.ptpl-embed iframe {
    max-width: 100%;
}

.ptpl-search-input {
    width: 75%;
}

@media screen and (max-width: 767px) {
    .ptpl-search-input {
        width: 100%;
    }
}

/* ============================
   Footer styling
   ============================ */
.site-footer .ptpl-footer-section {
    padding: 20px 0;
    text-align: left;
}

.site-footer .ptpl-footer-section h4 {
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 2px solid var(--ptpl-accent);
    padding-bottom: 6px;
    margin-bottom: 12px;
}

.site-footer .ptpl-footer-section a {
    color: var(--ptpl-text-muted);
}

.site-footer .ptpl-footer-section a:hover {
    color: var(--ptpl-accent);
}

/**
 * Breadcrumbs
 */

 #breadcrumb span,
#breadcrumb .page-links a,
.page-links #breadcrumb a {
}

#breadcrumb span:first-child,
#breadcrumb .page-links a:first-child,
.page-links #breadcrumb a:first-child {
  margin-left: 0;
}

.wrap-breadcrumb {
  text-align: left;
  padding: 0 4px;
}

div#breadcrumb .container {
  padding: 0;
}

@media screen and (max-width: 767px) {
  .wrap-breadcrumb {
    padding-left: 0;
    padding-right: 0;
  }
}

.wrap-breadcrumb .container {
  color: #151515;
}

@media screen and (max-width: 767px) {
  .wrap-breadcrumb .container {
    padding-left: 0;
    padding-right: 0;
  }
}

.wrap-breadcrumb ul {
  list-style: none;
}

.wrap-breadcrumb li {
  display: inline-block;
  margin-right: 5px;
  text-transform: capitalize;
  max-width: 80%;
}

.wrap-breadcrumb ul, ol {
  margin: 0 0 0 0;
}

.wrap-breadcrumb li span,
.wrap-breadcrumb li .page-links a,
.page-links .wrap-breadcrumb li a {
  margin-left: 5px;
  margin-right: 5px;

  position: relative;
  word-wrap: break-word;
}

.wrap-breadcrumb li span:before,
.wrap-breadcrumb li.trail-item a:before,
.wrap-breadcrumb li .page-links a:before,
.page-links .wrap-breadcrumb li a:before {
  content: ">";
  margin-right: 5px;
  margin-left: 5px;
}

.wrap-breadcrumb li.trail-begin span:before,
.wrap-breadcrumb li.trail-item.trail-begin a:before,
.wrap-breadcrumb li.trail-begin .page-links a:before,
.page-links .wrap-breadcrumb li.trail-begin a:before {
  content: "";
  margin-right: 0;
}

.wrap-breadcrumb a {
  color: #626262;
}

.wrap-breadcrumb a:hover,
.wrap-breadcrumb a:focus,
.wrap-breadcrumb a:active {
  color: #ff6600;
}

/*============================
    picture animation
============================*/
.thumb-zoom {
    position: relative;
    display: block;
    overflow: hidden;
}
.thumb-zoom .image-overlay {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    padding: 10px;
}
.thumb-zoom .image-overlay:before {
    border-bottom: 1px solid rgba(255,255,255,0.6);
    border-top: 1px solid rgba(255,255,255,0.6);
    content: '';
    position: absolute;
    display: inline-block;
    -ms-transform: scale(0, 1);
    -webkit-transform: scale(0, 1);
    -moz-transform: scale(0, 1);
    -o-transform: scale(0, 1);
    transform: scale(0, 1);
}
.thumb-zoom .image-overlay:after {
    border-left: 1px solid rgba(255,255,255,0.6);
    border-right: 1px solid rgba(255,255,255,0.6);
    content: '';
    position: absolute;
    display: inline-block;
    -ms-transform: scale(1, 0);
    -webkit-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
}
.thumb-zoom .image-overlay::before,
.thumb-zoom .image-overlay::after {
    bottom: 30px;
    content: "";
    left: 30px;
    opacity: 0;
    position: absolute;
    right: 30px;
    top: 30px;
    transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
    -ms-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
    -webkit-transition:opacity 0.35s ease 0s, transform 0.35s ease 0s;
    -moz-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
    -o-transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
}
.thumb-zoom .image-overlay::before,
.thumb-zoom .image-overlay::after {
    bottom: 10px;
    left: 10px;
    right: 10px;
    top: 10px;
}
.thumb-zoom:hover .image-overlay::before,
.thumb-zoom:hover .image-overlay::after {
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
}
.thumb-zoom img {
    display: inline-block;
    vertical-align: middle;
    transform: translateZ(0px);
    -webkit-transform: translateZ(0px);
    transition-duration: 1s;
    -webkit-duration:1s;
    transition-property: transform, box-shadow;
    -webkit-transition-property: transform, box-shadow;
}
.thumb-zoom:hover img {
    display: inline-block;
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.thumb-zoom > img {
    width: 100%;
}

/* ============================
   Search result cards
   ============================ */
.ptpl-search-card {
    border: 1px solid var(--ptpl-border);
    border-radius: 4px;
    margin-bottom: 15px;
    overflow: hidden;
    background: #fff;
}

.ptpl-search-card .card-header {
    text-align: right;
    padding: 2px 8px;
    background: var(--ptpl-bg-light);
    border-bottom: 1px solid var(--ptpl-border);
}

.ptpl-search-card .card-img-top img {
    width: 100%;
    height: auto;
}

.ptpl-search-card .card-body {
    padding: 8px 12px;
}

.ptpl-search-card .card-title {
    margin: 1px;
    padding: 1px;
}

.ptpl-search-card .card-title a {
    color: var(--ptpl-text);
}

.ptpl-search-card .card-text {
    padding: 4px 0;
}

.ptpl-search-card .list-group {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ptpl-search-card .list-group-item {
    padding: 6px 10px;
    font-size: 0.85em;
    border-top: 1px solid var(--ptpl-border);
}

.ptpl-search-card .entry-footer {
    padding: 6px 10px;
    background: var(--ptpl-bg-light);
    border-top: 1px solid var(--ptpl-border);
    font-size: 0.85em;
}

/* ============================
   Taxonomy card styling
   ============================ */
.ptpl-taxonomy-card {
    border: 1px solid var(--ptpl-border);
    border-radius: 4px;
    margin-bottom: 15px;
    overflow: hidden;
    background: #fff;
}

.ptpl-taxonomy-card .card-body {
    padding: 8px 12px;
}

.ptpl-taxonomy-card .card-title {
    margin: 1px;
    padding: 1px;
}

.ptpl-taxonomy-card .list-group {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ptpl-taxonomy-card .list-group-item {
    padding: 6px 10px;
    font-size: 0.85em;
    border-top: 1px solid var(--ptpl-border);
}

/* ============================
   Carousel / slider
   ============================ */
.ptpl-slider {
    margin-top: .1rem;
    border-radius: 4px;
    overflow: hidden;
}

.ptpl-slider .slide-caption {
    background: rgba(0,0,0,0.5);
    padding: 15px;
    text-align: center;
    color: #fff;
}

.ptpl-slider .slide-caption h3 {
    margin: 0;
    color: #fff;
}

.ptpl-slider .slide-caption h5 {
    margin: 0;
    color: #ddd;
}

/* ============================
   Grid layout helpers
   ============================ */
.ptpl-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}

.ptpl-grid-item {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    padding: 0 10px;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .ptpl-grid-item {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media screen and (max-width: 575px) {
    .ptpl-grid-item {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* ============================
   Read more button
   ============================ */
.ptpl-btn {
    display: inline-block;
    padding: 6px 16px;
    background: var(--ptpl-accent);
    color: #000;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.9em;
}

.ptpl-btn:hover {
    background: var(--ptpl-accent-dark);
    color: #000;
    text-decoration: none;
}

/* ============================
   Facet filter buttons
   ============================ */
.ptpl-facet-btn {
    display: inline-block;
    padding: 4px 12px;
    background: var(--ptpl-accent);
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85em;
    margin: 2px;
}

.ptpl-facet-btn:hover {
    background: var(--ptpl-accent-dark);
}

/* ============================
   Text contrast overrides
   Parent theme forces color:#fff on .entry-meta, article .entry-title a,
   article .entry-content, etc. — designed for its coloured archive cards.
   On the child theme's white-background cards the text becomes invisible.
   We use !important to guarantee we beat the parent's later re-declarations.
   ============================ */

/* --- Search cards --- */
article.ptpl-search-card .entry-meta,
article.ptpl-search-card .entry-content,
article.ptpl-search-card .card-header .entry-meta {
    color: var(--ptpl-text-muted) !important;
}
article.ptpl-search-card .entry-title a,
article.ptpl-search-card .card-title a {
    color: var(--ptpl-text) !important;
}
article.ptpl-search-card .list-group-item {
    color: var(--ptpl-text) !important;
}
article.ptpl-search-card .list-group-item a {
    color: var(--ptpl-accent) !important;
}
/* Read More button: dark text on orange background */
.ptpl-btn {
    color: #000 !important;
}
.ptpl-btn:hover {
    color: #000 !important;
}

/* --- Taxonomy cards --- */
article.ptpl-taxonomy-card .entry-meta,
article.ptpl-taxonomy-card .entry-content {
    color: var(--ptpl-text-muted) !important;
}
article.ptpl-taxonomy-card .card-title a {
    color: var(--ptpl-text) !important;
}
article.ptpl-taxonomy-card .list-group-item {
    color: var(--ptpl-text) !important;
}

/* --- Blog post wrap (content.php) — readable on white bg --- */
.blog-post-wrap .entry-title a,
.blog-post-wrap .entry-meta,
.blog-post-wrap .entry-content {
    color: var(--ptpl-text) !important;
}
.blog-post-wrap .entry-title a {
    color: var(--ptpl-accent) !important;
}

/* Archive coloured cards: keep white text (parent handles bg colours) */
.archive .blog-post-wrap .entry-title a,
.archive .blog-post-wrap .entry-meta,
.archive .blog-post-wrap .entry-content {
    color: #fff !important;
}

/* --- Single post / page titles --- */
.single article .entry-title,
.page article .entry-title {
    color: var(--ptpl-accent) !important;
}

/* --- Search / archive page header --- */
.page-title,
.page-title .entry-title,
.page-header .page-title {
    color: var(--ptpl-text) !important;
}
.banner-wrapper .page-title .entry-title {
    color: #fff !important;
}

/* --- Single post / page entry-content (override parent white text) --- */
.single article .entry-content,
.page article .entry-content {
    color: var(--ptpl-text) !important;
}
.single article .entry-content a,
.page article .entry-content a {
    color: var(--ptpl-accent) !important;
}

/* Artist meta section (genres, awards, location breadcrumbs) */
.ptpl-artist-meta,
.ptpl-artist-meta a {
    color: var(--ptpl-text) !important;
}
.ptpl-artist-meta a {
    color: var(--ptpl-accent) !important;
}

/* Section titles (Based Out Of, Genres, Awards, Albums, etc.) */
.ptpl-section-title {
    color: var(--ptpl-text) !important;
}

/* Song listings */
.song-listing a {
    color: var(--ptpl-accent) !important;
}

/* Album / EP cards on artist pages */
.card .list-group-item {
    color: var(--ptpl-text) !important;
}
.card .card-body,
.card .card-text a {
    color: var(--ptpl-text) !important;
}
