/*
Theme Name: Aodhan
Theme URI: https://aodhanband.com
Author: Aart Production House
Description: The Splice design for Aodhan. Darkroom black and white, red overprint, ruled grid. Every page is built from standard blocks, so text, photos, tracks, videos, gigs and merch are edited by clicking on them.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: aodhan
*/
:root{--ao-ink:#0c0c0d;--ao-paper:#f4f3ef;--ao-red:#e2281c;--ao-gap:clamp(1rem,2.4vw,2.25rem);--ao-tall:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;--ao-mono:"IBM Plex Mono",ui-monospace,monospace}
.ao-section,.ao-pagehead,.ao-hero,.ao-header{--ao-fg:#f4f3ef;--ao-bg:#0c0c0d;--ao-muted:#96948e;--ao-line:#3a3a3b}
.ao-paper{--ao-fg:#0c0c0d;--ao-bg:#f4f3ef;--ao-muted:#66645f;--ao-line:#0c0c0d;background:var(--ao-bg);color:var(--ao-fg)}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wp-site-blocks>*,.wp-block-post-content>*,main.wp-block-group>*{margin-block:0!important}
h1,h2,h3,.ao-big,.ao-tag{font-stretch:125%;text-wrap:balance}
a{text-underline-offset:.2em}
:focus-visible{outline:3px solid var(--ao-red);outline-offset:3px}

/* labels and notes */
.ao-label{font-family:var(--ao-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ao-muted);margin:0}
.ao-note{font-size:.9rem;color:var(--ao-muted)}
.ao-sample{display:inline-block;background:var(--ao-red);color:#fff;font-family:var(--ao-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;transform:rotate(-2deg);margin:0}
.ao-slot{border:1px dashed var(--ao-muted);padding:1.5rem;color:var(--ao-muted);font-family:var(--ao-mono);font-size:.85rem}
.ao-big{font-size:clamp(1.5rem,3vw,2.25rem)!important;line-height:1.02}
.ao-addr{font-family:var(--ao-mono);font-size:.8rem;word-break:break-all}

/* buttons: hard offset shadow */
.wp-block-button__link{border:2px solid var(--ao-red);padding:.95rem 1.5rem;box-shadow:5px 5px 0 var(--ao-fg,#f4f3ef);transition:transform .15s,box-shadow .15s}
.wp-block-button__link:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ao-fg,#f4f3ef)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ao-fg,#f4f3ef);border:2px solid var(--ao-fg,#f4f3ef);padding:.95rem 1.5rem;box-shadow:5px 5px 0 var(--ao-red)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{box-shadow:3px 3px 0 var(--ao-red)}
.wp-block-buttons{gap:1rem}

/* header */
.ao-header{position:sticky;top:0;z-index:50;background:rgba(12,12,13,.92);backdrop-filter:blur(10px);border-bottom:2px solid #f4f3ef;display:flex;flex-wrap:nowrap!important;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:.9rem;color:#f4f3ef}
.admin-bar .ao-header{top:32px}
.ao-logo{margin:0;width:9.5rem;flex:none}
.ao-logo img{display:block;width:100%;height:auto}
.ao-header-right{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.25rem);flex-wrap:nowrap!important}
.ao-nav{font-family:var(--ao-mono);font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase}
.ao-nav .wp-block-navigation__container{gap:clamp(1rem,2.4vw,2.25rem)}
.ao-nav .wp-block-navigation-item__content{padding-block:.4rem;border-bottom:2px solid transparent}
.ao-nav .wp-block-navigation-item__content:hover,.ao-nav .current-menu-item>.wp-block-navigation-item__content{border-bottom-color:var(--ao-red)}
.ao-header-cta .wp-block-button__link{padding:.6rem 1rem;box-shadow:none}
.wp-block-navigation__responsive-container.is-menu-open{background:#0c0c0d!important;color:#f4f3ef!important;padding:2rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:1.5rem;font-size:1.1rem}
@media (max-width:600px){.ao-header-cta{display:none}}

/* hero */
.ao-hero{position:relative;min-height:min(94vh,62rem);display:flex;align-items:flex-end;overflow:hidden;border-bottom:2px solid #f4f3ef;padding:0!important}
.ao-hero>*{margin-block:0!important}
.ao-hero-bg{position:absolute;inset:0;margin:0;z-index:0;max-width:none!important}
.ao-hero-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;filter:grayscale(1) contrast(1.15)}
.ao-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(12,12,13,.3) 0%,rgba(12,12,13,0) 28%,rgba(12,12,13,.6) 64%,#0c0c0d 100%)}
.ao-fig{position:absolute;z-index:2;left:0;top:0;background:#f4f3ef;color:#0c0c0d;font:500 .6875rem var(--ao-mono);letter-spacing:.1em;padding:.5rem .8rem}
.ao-tape{position:absolute;z-index:2;right:max(1.25rem,calc((100% - 84rem)/2 + 1rem));top:13%;width:min(27%,23rem);margin:0;background:var(--ao-red);border:2px solid #f4f3ef;transform:rotate(4deg);box-shadow:10px 10px 0 rgba(12,12,13,.85)}
.ao-tape img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) contrast(1.25) brightness(1.1);mix-blend-mode:multiply}
.ao-tape::before,.ao-tilt::before{content:"";position:absolute;top:-.9rem;left:38%;width:6rem;height:1.8rem;background:rgba(244,243,239,.78);transform:rotate(-5deg);z-index:2}
.ao-hero-body{position:relative;z-index:3;width:min(100% - clamp(2.5rem,8vw,7rem),84rem);margin-inline:auto!important;display:grid;gap:1.75rem;padding-bottom:3rem}
.ao-hero-body>*{margin:0!important}
.ao-hero-body .ao-label{color:#f4f3ef}
.ao-hero-logo{width:min(100%,48rem)}
.ao-hero-logo img{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(8px 8px 0 #e2281c)}
.ao-hero-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem}
.ao-tag{font-family:var(--wp--preset--font-family--display);font-weight:900;text-transform:uppercase;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1;letter-spacing:-.01em;max-width:24ch;margin:0}
.ao-facts{gap:0!important;border-bottom:2px solid #f4f3ef;max-width:none!important}
.ao-facts>.wp-block-column{padding:1.5rem clamp(1.25rem,4vw,3.5rem);border-left:2px solid #f4f3ef}
.ao-facts>.wp-block-column:first-child{border-left:0}
.ao-facts>.wp-block-column>*{margin:0}
.ao-fact{font-family:var(--ao-tall);font-weight:900;font-size:1.6rem;line-height:1.2;letter-spacing:.01em}
.ao-fact a{text-decoration:none}
.ao-fact a:hover{color:var(--ao-red)}
.ao-ticker{background:var(--ao-red);color:#fff;overflow:hidden;border-bottom:2px solid #f4f3ef;padding:1rem 0!important}
.ao-ticker-text{display:inline-block;white-space:nowrap;margin:0;padding-left:100%;font-family:var(--ao-tall);font-weight:900;font-size:1.25rem;text-transform:uppercase;letter-spacing:.06em;animation:ao-tick 34s linear infinite}
@keyframes ao-tick{to{transform:translateX(-100%)}}
.editor-styles-wrapper .ao-ticker-text{animation:none;padding-left:1rem}
@media (prefers-reduced-motion:reduce){.ao-ticker-text{animation:none;padding-left:1rem;white-space:normal}html{scroll-behavior:auto}}

/* sections */
.ao-section{padding-block:clamp(5rem,12vw,10rem)}
.ao-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;border-bottom:2px solid var(--ao-fg);padding-bottom:1.25rem;margin-bottom:clamp(2.5rem,6vw,4.5rem)!important}
.ao-head>*{margin:0!important}
.ao-pagehead{padding-block:clamp(4.5rem,11vw,8.5rem) clamp(2.5rem,6vw,4.5rem);border-bottom:2px solid #f4f3ef}
.ao-lede{font-size:1.15rem;max-width:52ch}
.ao-split{gap:clamp(2.5rem,7vw,7rem)!important;align-items:flex-start}
.ao-section .wp-block-buttons{margin-top:2.5rem}
.ao-split .wp-block-buttons{margin-top:2rem}

/* audio and video */
.ao-player{border:2px solid var(--ao-fg);box-shadow:8px 8px 0 var(--ao-red);background:var(--ao-bg);padding:0}
.ao-player>*{margin:0!important}
.ao-player .wp-block-audio{display:flex;flex-direction:column-reverse;gap:.75rem;padding:1.4rem 1.75rem;border-top:1px solid var(--ao-line)}
.ao-player .wp-block-audio:first-child{border-top:0}
.ao-player .wp-block-audio audio{width:100%;min-width:0;height:2.5rem}
.ao-player figcaption{font-family:var(--ao-tall);font-weight:900;font-size:1.35rem;text-transform:uppercase;letter-spacing:.01em;text-align:left;margin:0;color:var(--ao-fg)}
.ao-videos{gap:var(--ao-gap)!important}
.wp-block-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:2px solid var(--ao-fg);background:#000}
.wp-block-video figcaption{font-family:var(--ao-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-align:left;color:var(--ao-muted);margin-top:.9rem}

/* gigs */
.ao-gigs>*{margin:0!important}
.ao-gig{display:grid!important;grid-template-columns:7.5rem minmax(0,1.4fr) minmax(0,1fr) auto;gap:1.25rem 2.5rem;align-items:center;padding:1.9rem 1rem;border-top:1px solid var(--ao-line)}
.ao-gig:last-child{border-bottom:1px solid var(--ao-line)}
.ao-gig>*,.ao-gig-where>*{margin:0!important}
.ao-gig-date{font-family:var(--ao-tall);font-weight:900;font-size:2rem;line-height:1;letter-spacing:.01em}
.ao-gig h3{font-family:var(--ao-tall);font-stretch:100%;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:.01em;line-height:1.05}
.ao-gig-venue{color:var(--ao-muted);font-size:.9rem}
.ao-gig:hover{background:var(--ao-red);color:#fff}
.ao-gig:hover .ao-gig-venue,.ao-gig:hover .ao-label{color:#fff}
.ao-gig:hover .wp-block-button__link{background:#fff;border-color:#fff;color:#0c0c0d;box-shadow:5px 5px 0 #0c0c0d}
@media (max-width:781px){.ao-gig{grid-template-columns:5.5rem minmax(0,1fr)}.ao-gig>.ao-label{grid-column:2}.ao-gig>.wp-block-buttons{grid-column:1/-1}}

/* photos */
.wp-block-gallery.ao-gallery,.wp-block-gallery.ao-strip{gap:var(--ao-gap)!important}
.ao-gallery figure.wp-block-image,.ao-strip figure.wp-block-image,.ao-reel figure.wp-block-image,.ao-tilt{border:2px solid var(--ao-fg);background:#1a1a1a;overflow:hidden}
.ao-gallery img,.ao-strip img,.ao-reel img,.ao-tilt img{filter:grayscale(1) contrast(1.15);transition:filter .3s}
.wp-block-gallery.ao-reel{display:block!important;columns:3;column-gap:var(--ao-gap)}
.wp-block-gallery.ao-reel figure.wp-block-image{display:block!important;width:100%!important;margin:0 0 var(--ao-gap)!important;break-inside:avoid}
.wp-block-gallery.ao-reel figure.wp-block-image img{display:block;width:100%!important;height:auto!important}
.ao-reel figure.wp-block-image:nth-child(4n+2),.ao-gallery figure.wp-block-image:nth-child(2),.ao-strip figure.wp-block-image:nth-child(2){background:var(--ao-red)}
.ao-reel figure.wp-block-image:nth-child(4n+2) img,.ao-gallery figure.wp-block-image:nth-child(2) img,.ao-strip figure.wp-block-image:nth-child(2) img{filter:grayscale(1) contrast(1.25) brightness(1.1);mix-blend-mode:multiply}
.ao-reel figure.wp-block-image:hover img,.ao-gallery figure.wp-block-image:hover img,.ao-strip figure.wp-block-image:hover img{filter:none;mix-blend-mode:normal}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:#f4f3ef!important;color:#0c0c0d!important;font:500 .6875rem var(--ao-mono)!important;letter-spacing:.1em;text-transform:uppercase;text-align:left!important;text-shadow:none!important;padding:.3rem .6rem!important;width:auto!important;max-height:none!important;right:auto!important;left:0!important;bottom:0!important;margin:0!important;overflow:visible!important}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before{display:none!important}
.ao-tilt{position:relative;overflow:visible;transform:rotate(1.5deg);box-shadow:10px 10px 0 var(--ao-red);margin:0}
.ao-tilt img{display:block;width:100%;height:auto}
.ao-tilt figcaption{position:absolute;left:0;bottom:0;margin:0;background:#f4f3ef;color:#0c0c0d;font:500 .6875rem var(--ao-mono);letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem}
@media (max-width:781px){.wp-block-gallery.ao-reel{columns:2}.ao-tilt{transform:none}.ao-tape{display:none}.ao-facts>.wp-block-column{border-left:0;border-top:2px solid #f4f3ef}.ao-facts>.wp-block-column:first-child{border-top:0}}

/* cards, line-up, merch */
.ao-cards,.ao-products{gap:var(--ao-gap)!important}
.ao-card{border:2px solid var(--ao-fg);padding:2rem;box-shadow:6px 6px 0 var(--ao-red)}
.ao-card>*{margin-block:0 .9rem!important}
.ao-card h3,.ao-product h3,.ao-lineup h3{font-size:1.35rem;line-height:1.1}
.ao-lineup{gap:0!important;border-top:2px solid var(--ao-fg)}
.ao-lineup>.wp-block-column{padding:1.9rem 1rem 1.9rem 0;border-bottom:1px solid var(--ao-line)}
.ao-lineup>.wp-block-column>*{margin:0 0 .4rem!important}
.ao-products+.ao-products{margin-top:clamp(2.5rem,5vw,4rem)!important}
.ao-product>*{margin-block:0 1rem!important}
.ao-product-art{margin:0 0 1.2rem!important}
.ao-product-art img{display:block;width:100%;height:auto;border:2px solid var(--ao-fg)}
.ao-price{font-family:var(--ao-mono);font-variant-numeric:tabular-nums}
.ao-product .wp-block-buttons{margin-top:0}

/* forms */
.ao-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.ao-form .ao-full{grid-column:1/-1}
.ao-form label{display:grid;gap:.4rem;font-family:var(--ao-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.ao-form input,.ao-form select,.ao-form textarea,.ao-signup-form input{font:inherit;font-family:var(--wp--preset--font-family--body);font-size:1rem;letter-spacing:0;text-transform:none;color:inherit;background:transparent;border:2px solid currentColor;border-radius:0;padding:.85rem .9rem;width:100%;box-sizing:border-box}
.ao-paper .ao-form input,.ao-paper .ao-form select,.ao-paper .ao-form textarea{background:#fff}
.ao-form textarea{min-height:9rem;resize:vertical}
.ao-hp{position:absolute!important;left:-9999px}
.ao-form button,.ao-signup-form button{font-family:var(--ao-mono);font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:var(--ao-red);color:#fff;border:2px solid var(--ao-red);padding:.95rem 1.5rem;box-shadow:5px 5px 0 var(--ao-fg,#f4f3ef)}
.ao-signup-form{display:flex;flex-wrap:wrap;gap:.9rem}
.ao-signup-form input{flex:1 1 14rem;min-width:0}
.ao-status{font-family:var(--ao-mono);font-size:.85rem;border:2px solid currentColor;padding:.75rem 1rem;margin:0 0 1.5rem}
@media (max-width:600px){.ao-form{grid-template-columns:1fr}}

/* footer */
.ao-footer{background:var(--ao-red);color:#fff;border-top:2px solid #f4f3ef;padding-block:clamp(3.5rem,7vw,6rem) 2.5rem}
.ao-footer-logo{width:min(100%,30rem);margin:0 0 3.5rem!important}
.ao-footer-logo img{display:block;width:100%;height:auto}
.ao-footer-cols{gap:3rem!important}
.ao-footer-cols p{margin:0 0 .6rem!important;overflow-wrap:anywhere}
.ao-footer-cols a{text-decoration:none}
.ao-footer-cols a:hover{text-decoration:underline}
.ao-footer .ao-label{color:#fff;opacity:.75;margin-bottom:1rem!important}
.ao-legal{font-family:var(--ao-mono);font-size:.75rem;opacity:.8;border-top:1px solid rgba(255,255,255,.5);padding-top:1.25rem;margin-top:3.5rem!important}

/* layout refinements */
.ao-header{padding-inline:clamp(1.25rem,4vw,3.5rem)}
.ao-lede{max-width:var(--wp--style--global--content-size)!important;box-sizing:border-box;padding-inline-end:max(0px,calc(min(100%,84rem) - 36rem))}
.ao-signup h2{font-size:clamp(2rem,4.5vw,3.5rem)}
.ao-ticker-text{animation-delay:-14s}
.wp-block-gallery.ao-gallery,.wp-block-gallery.ao-strip{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}
.wp-block-gallery.ao-gallery figure.wp-block-image,.wp-block-gallery.ao-strip figure.wp-block-image{width:100%!important;margin:0!important;position:relative}
.wp-block-gallery.ao-strip figure.wp-block-image{aspect-ratio:4/3}
.wp-block-gallery.ao-gallery figure.wp-block-image{aspect-ratio:3/4}
.wp-block-gallery.ao-gallery figure.wp-block-image:first-child{grid-column:span 2;aspect-ratio:auto}
.wp-block-gallery.ao-gallery figure.wp-block-image img,.wp-block-gallery.ao-strip figure.wp-block-image img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
@media (max-width:781px){.wp-block-gallery.ao-strip{grid-template-columns:1fr}.wp-block-gallery.ao-strip figure.wp-block-image:nth-child(n+2){display:none!important}.wp-block-gallery.ao-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* editor only: lay the hero and photo grids out flat so every piece is easy to click and replace */
.editor-styles-wrapper .ao-hero{display:block;min-height:0;padding:2rem!important}
.editor-styles-wrapper .ao-hero::after{display:none}
.editor-styles-wrapper .ao-hero-bg,.editor-styles-wrapper .ao-tape,.editor-styles-wrapper .ao-fig{position:relative;inset:auto;right:auto;top:auto;left:auto;transform:none;box-shadow:none}
.editor-styles-wrapper .ao-fig{display:inline-block;margin-bottom:1rem!important}
.editor-styles-wrapper .ao-hero-bg{max-width:30rem!important;margin:0 0 1rem!important}
.editor-styles-wrapper .ao-hero-bg img{height:auto}
.editor-styles-wrapper .ao-tape{width:16rem;margin:0 0 1.5rem!important}
.editor-styles-wrapper .ao-tape::before,.editor-styles-wrapper .ao-tilt::before{display:none}
.editor-styles-wrapper .ao-hero-body{width:auto;padding-bottom:0}
.editor-styles-wrapper .ao-tilt{transform:none}
.editor-styles-wrapper .wp-block-gallery.ao-gallery figure.wp-block-image,.editor-styles-wrapper .wp-block-gallery.ao-strip figure.wp-block-image{aspect-ratio:auto}
.editor-styles-wrapper .wp-block-gallery.ao-gallery figure.wp-block-image img,.editor-styles-wrapper .wp-block-gallery.ao-strip figure.wp-block-image img{position:static;height:auto!important}
.editor-styles-wrapper .ao-gig:hover{background:transparent;color:inherit}
