/* Frano Livingston – "Entertainer" design (palette from the stage photo) */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; }
[id] { scroll-margin-top: 1rem; }

/* Announcement strip + header */
.fl-strip a { color: var(--wp--preset--color--contrast); text-decoration: none; letter-spacing: .04em; }
.fl-strip a:hover { color: var(--wp--preset--color--accent-1); }
.fl-header { align-items: center; }
.fl-wordmark { font-size: clamp(2.25rem, 4.4vw, 3.75rem) !important; letter-spacing: .01em; margin: 0; }
.fl-wordmark a { text-decoration: none; }
.fl-nav { flex: 1 1 320px; }
.fl-nav a { text-decoration: none; }
.fl-nav .current-menu-item > a, .fl-nav a:hover { text-decoration: underline; text-underline-offset: 6px; color: var(--wp--preset--color--contrast); }
.fl-header__right { margin-left: auto; gap: .75rem; align-items: center; }
.fl-social a { opacity: .9; } .fl-social a:hover { opacity: 1; color: var(--wp--preset--color--accent-1); }
.fl-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 4rem 2rem; font-size: 1.5rem; }
.fl-nav .wp-block-navigation__responsive-container-open svg { width: 32px; height: 32px; }

/* Hero photo */
.fl-hero.wp-block-cover { min-height: clamp(460px, 62vw, 860px) !important; padding: clamp(20px, 4vw, 48px); align-items: flex-end; justify-content: flex-start; }
.fl-hero .wp-block-cover__image-background { object-position: 50% 35%; }
.fl-hero .wp-block-cover__inner-container { max-width: 560px; margin: 0 !important; }
.fl-hero h1, .fl-hero p { text-shadow: 0 2px 18px rgba(0,0,0,.55); }

/* Kicker (small amber caps above headlines) */
.fl-kicker { color: var(--wp--preset--color--accent-1); text-transform: uppercase; letter-spacing: .2em; font-size: .875rem !important; font-weight: 500; margin: 0; }

/* Feed rows (aliciakeys.com structure) */
.fl-row { border-bottom: 1px solid var(--wp--preset--color--accent-5); padding-top: clamp(48px, 7vw, 72px); padding-bottom: clamp(48px, 7vw, 72px); margin: 0 !important; gap: 40px 64px !important; }
.fl-row.wp-block-columns { align-items: center !important; }
.fl-row > .wp-block-column:last-child { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.1rem; }
.fl-row > .wp-block-column:last-child p:not(.fl-kicker) { color: var(--wp--preset--color--accent-3); max-width: 540px; font-size: 1.125rem; margin: 0; }
.fl-row h2 { margin: 0; }
.fl-card img, .fl-card .wp-block-image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border: 3px solid #b9a97f; border-radius: 22px; display: block; }
.fl-card figure { margin: 0; }
.fl-card a { position: relative; display: block; }
.fl-card--video a::after { content: ""; position: absolute; inset: 0; margin: auto; width: 76px; height: 76px; border-radius: 50%; border: 2px solid #efe7d2; background: rgba(12,13,6,.55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23efe7d2' d='M9 7v10l8-5z'/%3E%3C/svg%3E") center/34px no-repeat; }
.fl-dates { width: 100%; max-width: 560px; text-align: left; }

/* Scrolling banner */
.fl-marquee { overflow: hidden; white-space: nowrap; padding: 1.6rem 0; margin: 0 !important; }
.fl-marquee p { display: inline-block; margin: 0; font-family: var(--wp--preset--font-family--anton-sc); font-size: clamp(2.75rem, 6vw, 5.5rem); line-height: 1; color: var(--wp--preset--color--accent-1); animation: fl-scroll 40s linear infinite; padding-left: 2rem; }
@keyframes fl-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .fl-marquee p { animation: none; } }

/* Biography */
.fl-bio { padding-top: clamp(56px, 8vw, 96px); padding-bottom: clamp(56px, 8vw, 96px); border-bottom: 1px solid var(--wp--preset--color--accent-5); }
.fl-bio p { color: var(--wp--preset--color--accent-3); }
.fl-bio p strong { color: var(--wp--preset--color--contrast); }
.fl-bio p em strong, .fl-bio p strong em { color: var(--wp--preset--color--contrast); font-size: 1.2rem; line-height: 1.55; }
.fl-bio a { color: var(--wp--preset--color--accent-1); }
.fl-bio .wp-block-image img { border-radius: 14px; border: 3px solid #b9a97f; }
.fl-bio .wp-block-image figcaption { color: var(--wp--preset--color--accent-6); font-size: .9rem; }
.fl-bio .wp-block-columns { gap: 2.5rem 4rem !important; }

/* Buttons */
.wp-element-button, .wp-block-button__link { text-decoration: none !important; }
.fl-btn-amber .wp-block-button__link { background: var(--wp--preset--color--accent-1) !important; border-color: var(--wp--preset--color--accent-1) !important; color: var(--wp--preset--color--base) !important; }
.fl-btn-amber .wp-block-button__link:hover { background: var(--wp--preset--color--accent-2) !important; }

/* Video gallery */
.wp-block-gallery.fl-videos .wp-block-image { flex-direction: column; }
.wp-block-gallery.fl-videos .wp-block-image img { border-radius: 12px; }
.wp-block-gallery.fl-videos .wp-block-image figcaption { position: static; background: none; color: var(--wp--preset--color--accent-3); max-height: none; padding: .5rem 0 0; text-align: left; text-shadow: none; overflow: visible; font-size: .85rem; }
.wp-block-gallery.fl-videos .wp-block-image a { position: relative; display: block; }
.wp-block-gallery.fl-videos .wp-block-image a::after { content: ""; position: absolute; inset: 0; margin: auto; width: 54px; height: 54px; border-radius: 50%; border: 2px solid #efe7d2; background: rgba(12,13,6,.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23efe7d2' d='M9 7v10l8-5z'/%3E%3C/svg%3E") center/26px no-repeat; }

/* Booking + subscribe */
.fl-booking { padding-top: clamp(64px, 9vw, 96px); padding-bottom: clamp(64px, 9vw, 96px); }
.fl-impressum { border: 1px solid var(--wp--preset--color--accent-6); border-radius: 14px; }

/* Forms on dark */
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], textarea, select,
.wc-block-components-text-input input, .wc-block-components-textarea {
	background: var(--wp--preset--color--accent-4) !important; color: var(--wp--preset--color--contrast) !important;
	border: 1px solid #b9a97f !important; border-radius: 10px !important; padding: .75rem .9rem; font: inherit; width: 100%; box-sizing: border-box; }
input::placeholder, textarea::placeholder { color: var(--wp--preset--color--accent-6); }
.wpcf7 input[type=submit], .mc4wp-form input[type=submit] {
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); border: 0; border-radius: 10px; padding: .9rem 1.6rem; font-weight: 700; cursor: pointer; width: 100%; }
.wpcf7 input[type=submit]:hover, .mc4wp-form input[type=submit]:hover { background: var(--wp--preset--color--accent-1); }
.wpcf7 label, .mc4wp-form label { color: var(--wp--preset--color--accent-3); }

/* WooCommerce on dark */
.woocommerce ul.products li.product, .wc-block-grid__product, .wc-block-product {
	background: var(--wp--preset--color--accent-4); border: 1px solid var(--wp--preset--color--accent-5); border-radius: 16px; padding: .9rem !important; }
.woocommerce ul.products li.product img, .wc-block-components-product-image img { border-radius: 10px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-components-product-name, .wp-block-post-title, .product_title {
	font-family: var(--wp--preset--font-family--hanken-grotesk) !important; font-weight: 700 !important; color: var(--wp--preset--color--contrast) !important; text-decoration: none; }
.woocommerce ul.products li.product .price, .wc-block-components-product-price, .woocommerce div.product p.price { color: var(--wp--preset--color--accent-1) !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce .button.alt, .wc-block-components-button:not(.is-link), .wp-block-button.wc-block-components-product-button .wp-block-button__link {
	background: transparent !important; color: var(--wp--preset--color--contrast) !important; border: 2px solid var(--wp--preset--color--contrast) !important; border-radius: 999px !important; font-weight: 700; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover { background: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--base) !important; }
.woocommerce #place_order, .wc-block-components-checkout-place-order-button { background: var(--wp--preset--color--accent-1) !important; border-color: var(--wp--preset--color--accent-1) !important; color: var(--wp--preset--color--base) !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { background: var(--wp--preset--color--accent-4) !important; color: var(--wp--preset--color--contrast) !important; border-top-color: var(--wp--preset--color--accent-1) !important; }
.woocommerce table.shop_table, .woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--wp--preset--color--accent-5) !important; }

/* Audio playlist (core) on dark */
.wp-playlist { border-radius: 12px; }

/* Old content compatibility columns */
.fl-col p { color: inherit; }

/* Section helpers */
.fl-bio-lead { font-size: 1.25rem; max-width: 900px; }
.fl-bio-lead, .fl-bio-lead em, .fl-bio-lead strong { color: var(--wp--preset--color--contrast) !important; }
.fl-bio > .wp-block-heading, .fl-shop > .wp-block-heading, .fl-watch > .wp-block-heading { margin-top: .4rem; }
.fl-row--quiet { padding-top: 3rem; padding-bottom: 3rem; align-items: flex-start !important; }
.fl-row--quiet > .wp-block-column:last-child { align-items: flex-start; text-align: left; }
.fl-row--quiet .wp-block-heading { color: var(--wp--preset--color--accent-3); }
.fl-row--quiet p { color: var(--wp--preset--color--accent-6) !important; }
.fl-row--quiet a { color: var(--wp--preset--color--accent-1); }
.fl-shop, .fl-watch { padding-top: clamp(56px, 8vw, 88px); padding-bottom: clamp(56px, 8vw, 88px); border-bottom: 1px solid var(--wp--preset--color--accent-5); }
.fl-shop > .fl-kicker, .fl-shop > .wp-block-heading, .fl-watch > .fl-kicker, .fl-watch > .wp-block-heading { text-align: center; }
.fl-booking .wp-block-columns { gap: 40px 64px !important; }
.fl-booking .fl-impressum { margin-top: 1.5rem; padding: 1.25rem 1.5rem; }
.fl-booking .fl-impressum p { margin: 0; color: var(--wp--preset--color--accent-3); }
.fl-booking .fl-impressum a { color: var(--wp--preset--color--accent-1); }
.fl-subscribe-wrap { padding-top: clamp(56px, 8vw, 80px); padding-bottom: clamp(56px, 8vw, 80px); margin-top: 0 !important; }
.fl-subscribe { max-width: 560px; margin-left: auto !important; margin-right: auto !important; text-align: center; }
.fl-subscribe p { color: var(--wp--preset--color--accent-3); }
.fl-credit { font-size: .8rem; color: var(--wp--preset--color--accent-6); text-align: right; margin: .75rem 0; }
.fl-dates .bit-widget { font-family: var(--wp--preset--font-family--hanken-grotesk) !important; }
.wp-site-blocks > * { margin-block-start: 0; }
.fl-bio h1 { margin: .4rem 0 0; max-width: 1100px; }
.fl-bio-title { color: var(--wp--preset--color--accent-1) !important; letter-spacing: .08em; margin-top: 2.5rem !important; }
.fl-marquee > p { max-width: none !important; width: max-content; white-space: nowrap; margin: 0 !important; }
/* full wide width for these sections' content */
.fl-bio > *, .fl-shop > *, .fl-watch > *, .fl-booking > * { max-width: var(--wp--style--global--wide-size) !important; }
.woocommerce ul.products li.product { box-sizing: border-box; }
/* Phone header: wordmark · cart · menu on one line; socials live in the footer */
@media (max-width: 781px) {
	.fl-header { flex-wrap: nowrap !important; gap: .75rem !important; }
	.fl-wordmark { font-size: 1.75rem !important; flex: 1 1 auto; }
	.fl-header .fl-social { display: none !important; }
	.fl-header__right { order: 2; margin-left: 0; }
	.fl-nav { flex: 0 0 auto; order: 3; }
	.fl-strip p { font-size: .8rem; }
}
.fl-footer .fl-social { gap: .5rem; }
/* Feed rows line up with the rest of the page (max 1240px, side gutters) */
.fl-main--front .fl-row { max-width: var(--wp--style--global--wide-size); margin-left: auto !important; margin-right: auto !important; padding-left: clamp(16px, 4vw, 48px); padding-right: clamp(16px, 4vw, 48px); box-sizing: border-box; }
/* Quiet rows: headings now at display size like BOOK FRANO */
.fl-row--quiet .wp-block-heading { color: var(--wp--preset--color--contrast); margin: .4rem 0 1rem; }
.fl-row--quiet > .wp-block-column { display: flex; flex-direction: column; }

/* ---- Light (cream) theme adjustments ---- */
.fl-hero .wp-block-cover__background { opacity: 0 !important; }               /* no light wash over the stage photo */
.fl-row--quiet .wp-block-heading { color: var(--wp--preset--color--burgundy); }
.fl-wordmark a, .fl-footer .wp-block-site-title a { color: var(--wp--preset--color--burgundy) !important; }
.fl-bio p em strong, .fl-bio p strong em, .fl-bio-lead, .fl-bio-lead em, .fl-bio-lead strong { color: var(--wp--preset--color--contrast) !important; }
.fl-impressum { background: rgba(255,255,255,.25); }
.fl-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base) !important; }

/* Photo credit label (added automatically for credited photos) */
.wp-block-image { position: relative; }
.fl-photo-credit { position: absolute; right: .6rem; bottom: .6rem; z-index: 3; font-size: .72rem; line-height: 1.2; padding: .3rem .65rem; border-radius: 999px; background: rgba(12,13,6,.66); color: #f1e9d6; letter-spacing: .02em; }
.fl-photo-credit a { color: inherit !important; text-decoration: underline; text-underline-offset: 2px; }
.fl-photo-credit a:hover { color: #ffffff !important; }
.fl-hero .fl-photo-credit { right: clamp(16px, 4vw, 48px); bottom: 1rem; }
.fl-photo-credit { white-space: nowrap; max-width: calc(100% - 1.2rem); overflow: hidden; text-overflow: ellipsis; }
.fl-photo-credit a { display: inline !important; position: static !important; }
.fl-photo-credit a::after { content: none !important; }

/* Slogan band (static, centred – replaces the scrolling banner) */
.fl-slogan { padding: clamp(2rem, 4vw, 3rem) clamp(16px, 4vw, 48px); margin: 0 !important; text-align: center; }
.fl-slogan > p { margin: 0 auto !important; max-width: 1240px; font-family: var(--wp--preset--font-family--anton-sc); font-size: clamp(2.25rem, 5.5vw, 5rem); line-height: 1.05; color: var(--wp--preset--color--accent-1); text-align: center; text-wrap: balance; }

/* Gear row (Maton / Da Capo): both columns identical – top-aligned, same spacing and text size */
.fl-row.fl-row--quiet.wp-block-columns { align-items: flex-start !important; }
.fl-row.fl-row--quiet > .wp-block-column { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 0 !important; }
.fl-row.fl-row--quiet > .wp-block-column > * { margin: 0 !important; }
.fl-row.fl-row--quiet > .wp-block-column > .fl-kicker { margin-bottom: .4rem !important; }
.fl-row.fl-row--quiet > .wp-block-column > .wp-block-heading { margin-bottom: 1.5rem !important; }
.fl-row.fl-row--quiet > .wp-block-column p:not(.fl-kicker),
.fl-row.fl-row--quiet > .wp-block-column:last-child p:not(.fl-kicker) { font-size: var(--wp--preset--font-size--medium) !important; max-width: none; line-height: 1.65; }

/* Banner strip: if the text is set to "Align center" in the editor, show it as a static centred line (no scrolling) */
.fl-marquee > p.has-text-align-center { animation: none !important; display: block; width: auto !important; max-width: none !important; white-space: normal; padding-left: 0; text-align: center; margin-left: auto !important; margin-right: auto !important; }

/* Releases page */
.fl-releases-intro { text-align: center; color: var(--wp--preset--color--accent-3); font-size: 1.15rem; max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.page .fl-row { max-width: var(--wp--style--global--wide-size); margin-left: auto !important; margin-right: auto !important; }
.page .fl-row:last-child { border-bottom: 0; }
/* Page titles (Releases, Shop, Cart, Checkout, My Account…) in the site's display style */
body.page h1.wp-block-post-title { font-family: var(--wp--preset--font-family--anton-sc) !important; font-weight: 400 !important; color: var(--wp--preset--color--burgundy) !important; text-transform: uppercase; text-align: center; font-size: var(--wp--preset--font-size--xx-large) !important; line-height: 1; }

/* Two earlier albums side by side, under The Graduation */
.fl-duo { max-width: var(--wp--style--global--wide-size); margin: 0 auto !important; padding: clamp(48px, 7vw, 72px) clamp(16px, 4vw, 48px); box-sizing: border-box; border-bottom: 1px solid var(--wp--preset--color--accent-5); gap: 0 !important; }
.fl-duo > .wp-block-column { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; padding: 0 clamp(16px, 3vw, 40px); }
.fl-duo > .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--accent-5); }
.fl-duo .fl-card { width: min(260px, 100%); margin: 0 0 .5rem; }
.fl-duo h3 { font-size: clamp(2rem, 3.4vw, 3.25rem); margin: 0; }
.fl-duo p:not(.fl-kicker) { color: var(--wp--preset--color--accent-3); max-width: 440px; margin: 0; }
.fl-duo .wp-block-buttons { gap: .6rem; }
.fl-duo .wp-block-button__link { padding: .6em 1.25em; font-size: .92rem; }
@media (max-width: 781px) {
	.fl-duo > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid var(--wp--preset--color--accent-5); margin-top: 3rem; padding-top: 3rem; }
}

/* Small "Looking for something else?" line under album buttons */
.fl-row > .wp-block-column:last-child p.fl-more { font-size: .95rem; color: var(--wp--preset--color--accent-6); margin-top: .35rem; }
p.fl-more a { color: var(--wp--preset--color--accent-1); text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }
p.fl-more a:hover { color: var(--wp--preset--color--accent-2); }

/* Archive > Press */
.fl-press-list { padding-left: 1.1rem; }
.fl-press-list li { margin: .55rem 0; line-height: 1.5; }
.fl-press-list em { color: var(--wp--preset--color--accent-6); font-style: normal; font-size: .92rem; }
.fl-press-list a { color: var(--wp--preset--color--contrast); }
.fl-press-list a:hover { color: var(--wp--preset--color--accent-1); }
.fl-press-highlights figcaption { font-size: .82rem; }
.fl-archive-list a { color: var(--wp--preset--color--accent-1); }
