/*
Theme Name:   Paul Diello
Description:  GeneratePress child theme for pauldiello.com (replaces Soundboard)
Author:       Raygun Design
Author URI:   https://raygundesign.co.uk
Template:     generatepress
Version:      1.1.0
*/

/* =========================================================
   Shortcode components (colours/fonts come from the Customizer / design system)
   ========================================================= */
.pd-gigs { list-style: none; margin: 0; padding: 0; }
.pd-gig { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: .9rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.pd-gig__date { display: flex; flex-direction: column; align-items: center; min-width: 3.2rem; line-height: 1; text-transform: uppercase; }
.pd-gig__day { font-size: 1.8rem; font-family: "Francois One", sans-serif; }
.pd-gig__month, .pd-gig__year { font-size: .75rem; letter-spacing: .08em; opacity: .8; }
.pd-gig__title { display: block; font-weight: 600; text-decoration: none; }
.pd-gig__venue { font-size: .9rem; opacity: .75; }
.pd-gig.is-cancelled .pd-gig__title { text-decoration: line-through; }
.pd-gig__more { margin-top: 1.5rem; }
.pd-badge { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; padding: .3em .7em; border: 1px solid currentColor; }
.pd-button { display: inline-block; padding: .5em 1.1em; background: #00cc94; color: #111 !important; text-decoration: none; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; margin: 0 .4rem .4rem 0; }
.pd-button:hover { background: #ec828c; }
.pd-release-card { display: grid; gap: .6rem; justify-items: start; }
.pd-release-card__cover { width: 100%; height: auto; display: block; }
.pd-release-card__title { font-weight: 600; text-decoration: none; }
.pd-tracklist { margin: 0 0 1.5rem 1.4rem; }
.pd-tracklist li { padding: .25rem 0; }
.pd-embed, .pd-video { margin-top: 1rem; }
.pd-video iframe, .pd-embed iframe { width: 100%; }
.pd-video iframe { aspect-ratio: 16 / 9; height: auto; }
.pd-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .6rem; }
.pd-gallery--small { grid-template-columns: repeat(2, 1fr); }
.pd-gallery img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: opacity .2s; }
.pd-gallery a:hover img { opacity: .8; }
.pd-lb { position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.92); display: flex; align-items: center; justify-content: center; }
.pd-lb img { max-width: 90vw; max-height: 88vh; }
.pd-lb button { position: absolute; background: none; border: 0; color: #fff; font-size: 3rem; cursor: pointer; padding: 1rem; }
.pd-lb__close { top: 0; right: 0; }
.pd-lb__prev { left: 0; top: 50%; transform: translateY(-50%); }
.pd-lb__next { right: 0; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) { .pd-gig { grid-template-columns: auto 1fr; } .pd-gig__action { grid-column: 2; } }

/* Listing cards ([pd_releases], [pd_galleries], [pd_videos]); colours come from the design system */
.pd-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.5rem; }
.pd-cards--videos { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.pd-card { display: flex; flex-direction: column; gap: .5rem; text-decoration: none; }
.pd-card__media { display: block; overflow: hidden; aspect-ratio: 1; background: rgba(255,255,255,.04); }
.pd-cards--videos .pd-card__media { aspect-ratio: 16 / 9; }
.pd-card__img, .pd-card__placeholder { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease, opacity .3s ease; }
.pd-card:hover .pd-card__img { transform: scale(1.04); opacity: .9; }
.pd-card__title { font-family: "Cinzel", Georgia, serif; font-size: 1.05rem; line-height: 1.3; color: var(--ds-color-text, #ece9e2); }
.pd-card:hover .pd-card__title { color: var(--ds-color-accent, #ec828c); }
.pd-card__meta { font-family: "Francois One", sans-serif; font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; color: var(--ds-color-text-muted, #a8b0a2); }

/* =========================================================
   GeneratePress dark skin (loads on every screen, including non-builder ones)
   ========================================================= */
html, body { background-color: #0d0f0c; }
body { color: #ece9e2; font-family: "Source Sans 3", "Helvetica Neue", Arial, sans-serif; }
body a { color: #ec828c; }
body a:hover { color: #9cc25a; }
.site, .site-content, .one-container .container,
.separate-containers .inside-article, .separate-containers .comments-area,
.separate-containers .page-header, .separate-containers .paging-navigation,
.inside-page-header, .widget-area .widget, .site-main > article { background-color: #0d0f0c; color: #ece9e2; }
.separate-containers .inside-article { border-bottom: 1px solid #2a3127; }
.site-main .entry-title, .page-header .page-title { font-family: "Cinzel", Georgia, serif; color: #ece9e2; }
.site-main .entry-title a { color: #ece9e2; }
.site-main .entry-title a:hover { color: #ec828c; }
.site-main .entry-meta, .site-main .entry-meta a { color: #9cc25a; text-transform: uppercase; letter-spacing: .1em; font-size: .8125rem; }
.paging-navigation a, .nav-links a { color: #ec828c; }
/* Builder / Themer screens: full width, no GP padding or sidebar */
.fl-builder .site-content, .fl-theme-builder-singular .site-content,
.fl-builder .inside-article, .fl-theme-builder-singular .inside-article { padding: 0; margin: 0; max-width: none; }
.fl-builder .site-content .content-area, .fl-theme-builder-singular .site-content .content-area { width: 100%; float: none; }
.fl-builder #right-sidebar, .fl-theme-builder-singular #right-sidebar { display: none; }
.fl-builder .grid-container, .fl-theme-builder-singular .grid-container { max-width: none; }

/* Video embeds: stop the module shrink-wrapping to the iframe's 300px default */
.fl-module:has(.pd-video),
.pd-video { width: 100%; }
