/*
Theme Name: SWFL Ticket Desk
Theme URI: https://swflplayplace.com/
Author: Site Editorial Studio
Description: A bold ticket-desk editorial theme for K-pop concert ticket guides. Original perforated layouts, preparation checklists, and accessible navigation.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: swfl-ticket-desk
*/

*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img{max-width:100%;height:auto}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a{text-underline-offset:.2em}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}.skip-link{position:absolute;z-index:1000;top:0;left:1rem;transform:translateY(-130%);background:#fff;color:#111;padding:1rem}.skip-link:focus{transform:none}.shell{width:min(1240px,calc(100% - 64px));margin-inline:auto}.brand img{display:block;width:100%;height:auto}.primary-menu{list-style:none;margin:0;padding:0}.primary-menu a{text-decoration:none}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.6}.text-link{font-size:.83rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.65rem}.text-link span{font-size:1.2rem}.button{display:inline-flex;gap:1rem;align-items:center;text-decoration:none;padding:14px 20px;font-weight:700}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.post-card h3{font-size:1.5rem;line-height:1.15;margin:.6rem 0}.post-card h3 a{text-decoration:none}.post-card p{line-height:1.7}.post-image{display:block;aspect-ratio:16/10;overflow:hidden}.post-image img{width:100%;height:100%;object-fit:cover}.reading-page{padding-top:72px;padding-bottom:88px;max-width:960px}.reading-page h1,.archive-page h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.04;letter-spacing:-.045em;margin:12px 0 28px}.article-date{font-size:.78rem;opacity:.75}.article-cover{margin:36px 0}.entry-content{max-width:760px;font-size:1.07rem;line-height:1.85}.entry-content h2,.entry-content h3{line-height:1.2;margin-top:2em}.entry-content img{max-width:100%}.entry-content iframe,.entry-content video{max-width:100%}.entry-content figure{margin:32px 0}.entry-content blockquote{margin:2em 0;padding-left:1.5em;border-left:3px solid currentColor}.entry-content table{border-collapse:collapse;max-width:100%;display:block;overflow:auto}.entry-content td,.entry-content th{padding:12px;border:1px solid currentColor}.archive-page{padding-top:72px;padding-bottom:88px}.archive-description{max-width:680px;line-height:1.8;margin-bottom:32px}.empty-state{max-width:650px;padding:40px 0}.empty-state p{line-height:1.8}.latest-posts{padding-block:70px}.section-head{margin-bottom:28px}.site-footer a{text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:.75rem}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}.alignwide{max-width:1100px}.alignfull{max-width:100%}.wp-caption-text{font-size:.8rem;opacity:.7}.navigation.pagination{margin-top:36px}.nav-links{display:flex;gap:14px;flex-wrap:wrap}.page-numbers{padding:8px 12px}.comment-form textarea{max-width:100%;width:100%}.comment-form input:not([type=checkbox]){max-width:100%;padding:10px}.comment-list{padding-left:22px}
@media(max-width:700px){.shell{width:calc(100% - 36px)}.post-grid{grid-template-columns:1fr}.reading-page,.archive-page{padding-block:44px}.footer-bottom{flex-direction:column;gap:8px}.entry-content{font-size:1rem}.latest-posts{padding-block:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

:root{--ink:#172739;--paper:#f5f3e9;--acid:#e8ff62;--muted:#586777;--line:#b8bdb7}body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.utility-strip{background:var(--ink);color:var(--paper);padding:10px 0;font-family:Consolas,'Courier New',monospace;font-size:.65rem;letter-spacing:.11em}.utility-strip .shell{display:flex;justify-content:space-between;gap:20px}.site-header{padding:28px 0;display:flex;justify-content:space-between;align-items:center}.brand{width:288px}.desk-label{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Consolas,'Courier New',monospace;font-size:.7rem}.status-dot{height:9px;width:9px;background:#468269;border-radius:50%}.site-nav{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}.primary-menu{display:grid;grid-template-columns:repeat(4,1fr)}.primary-menu li+li{border-left:1px solid var(--ink)}.primary-menu a{display:block;padding:17px 12px;text-align:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800}.primary-menu a:hover{background:var(--acid)}.ticket-intro{padding-top:54px}.intro-heading h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-stretch:condensed;font-size:clamp(5rem,12vw,10.8rem);font-weight:900;line-height:.89;letter-spacing:-.035em;margin:24px 0 26px}.intro-heading h1 span{-webkit-text-stroke:1.7px var(--ink);color:transparent}.intro-bottom{display:flex;justify-content:space-between;align-items:end;padding-bottom:30px}.intro-bottom p{font-size:1.15rem;line-height:1.5;margin:0}.button{background:var(--acid);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font-family:Consolas,'Courier New',monospace;font-size:.73rem}.button:hover{transform:translateY(-2px);box-shadow:4px 6px 0 var(--ink)}.ticket-visual{border-bottom:1px solid var(--ink);padding:18px 0 34px}.ticket-visual img{display:block;width:100%}.desk-grid{display:grid;grid-template-columns:.8fr 1.45fr .8fr;border-bottom:1px solid var(--ink);padding:56px 0;gap:42px}.desk-number>span{font-family:Consolas,monospace;font-size:.7rem}.desk-number h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:3.2rem;line-height:1;margin:22px 0}.desk-copy h3{font-size:2rem;line-height:1.06;letter-spacing:-.035em;margin:18px 0}.desk-copy>p,.queue-note p{font-size:.95rem;line-height:1.8}.note-line{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.note-line span{font-family:Consolas,monospace;font-size:.63rem;font-weight:700}.note-line p{font-size:.82rem;line-height:1.6}.queue-note{background:var(--acid);border:1px solid var(--ink);padding:25px;align-self:start;position:relative;transform:rotate(2deg)}.small-stamp{display:inline-block;border:1px solid currentColor;padding:4px 7px;font-family:Consolas,monospace;font-size:.61rem;letter-spacing:.1em}.queue-note h3{font-size:1.6rem;letter-spacing:-.04em;margin-top:23px}.ticket-dots{display:block;border-bottom:3px dotted var(--ink);margin:24px -25px 0}.seat-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:74px 0;align-items:center}.seat-section h2,.checklist-grid h2,.safety-section h2{font-size:clamp(2.4rem,4.3vw,4.2rem);letter-spacing:-.055em;line-height:1.03;margin:18px 0 25px}.seat-section p:not(.eyebrow){max-width:460px;line-height:1.8;color:var(--muted)}.seat-map{height:360px;position:relative;overflow:hidden;background:#e3e7df;border:1px solid #a5aea6;border-radius:200px 200px 6px 6px;display:flex;justify-content:center;align-items:flex-start}.stage{position:absolute;top:26px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:10px 30px;font-family:Consolas,monospace;font-size:.65rem;letter-spacing:.2em;z-index:3}.floor{position:absolute;top:88px;left:30%;right:30%;height:135px;background:var(--acid);border:1px solid var(--ink);display:grid;place-items:center;font-family:Consolas,monospace;font-size:.6rem;letter-spacing:.15em;z-index:3}.seat-band{position:absolute;top:50px;border:8px dashed #b4beb1;border-top:0;border-radius:0 0 50% 50%}.seat-band.one{width:64%;height:210px}.seat-band.two{width:80%;height:255px}.seat-band.three{width:96%;height:295px}.map-label{position:absolute;bottom:13px;right:12px;font-family:Consolas,monospace;font-size:.54rem;letter-spacing:.1em}.checklist-wrap{background:var(--ink);color:var(--paper);padding:66px 0;position:relative}.checklist-wrap::before,.checklist-wrap::after{content:'';position:absolute;left:0;right:0;height:8px;background:radial-gradient(circle,var(--paper) 4px,transparent 4px) 0 0/22px 8px}.checklist-wrap::before{top:-4px}.checklist-wrap::after{bottom:-4px}.checklist-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;align-items:center}.checklist-grid .eyebrow{color:var(--acid)}.checklist-grid>div>p:last-child{line-height:1.7;color:#d4dbe2}.booking-checks{padding:0;margin:0;border:0}.booking-checks label{display:flex;align-items:center;gap:18px;padding:21px 0;border-bottom:1px solid #4d5a66;font-size:.95rem;line-height:1.5;cursor:pointer}.booking-checks input{appearance:none;flex:none;width:22px;height:22px;border:1px solid #d5e2e7;background:transparent;display:grid;place-items:center;cursor:pointer}.booking-checks input:checked{background:var(--acid);border-color:var(--acid)}.booking-checks input:checked::after{content:'✓';color:var(--ink);font-weight:900}.booking-checks input:checked+span{opacity:.7}.safety-section{display:grid;grid-template-columns:80px 1fr 1fr;gap:35px;padding:74px 0}.safety-index{font-family:Impact,'Arial Narrow',sans-serif;font-size:5rem;line-height:1}.safety-section h2{font-size:2.8rem}.safety-section>div:last-child{padding-top:16px}.safety-section p:not(.eyebrow){line-height:1.85;color:var(--muted)}.latest-posts{border-top:2px solid var(--ink)}.section-head h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:3.5rem;margin:10px 0}.post-card{border:1px solid var(--ink);background:#fffdf5}.post-card-copy{padding:24px}.post-card .eyebrow a{color:#5a6656}.site-footer{background:var(--ink);color:var(--paper);padding:44px 0 24px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:end;padding-bottom:32px;border-bottom:1px solid #536171;margin-bottom:22px}.footer-brand{font-family:Impact,'Arial Narrow',sans-serif;font-size:2rem;line-height:1.1}.footer-top p{max-width:400px;line-height:1.6;font-size:.82rem;color:#cad0d4}.footer-bottom{font-family:Consolas,monospace;font-size:.63rem}.entry-content h2,.entry-content h3{letter-spacing:-.035em}.archive-page .eyebrow{color:#5a6656}.reading-page h1{font-family:Arial,sans-serif;font-weight:850}.archive-page h1{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase}.empty-state .button{margin-top:12px}
@media(max-width:950px){.desk-grid{grid-template-columns:.7fr 1.2fr;gap:26px}.queue-note{grid-column:1/-1;transform:none;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.queue-note h3{margin:0}.queue-note .small-stamp{justify-self:start}.queue-note .ticket-dots{display:none}.safety-section{grid-template-columns:55px 1fr}.safety-section>div:last-child{grid-column:2}.seat-map{height:320px}}
@media(max-width:700px){.utility-strip .shell span:last-child{display:none}.site-header{padding:24px 0}.brand{width:240px}.desk-label{display:none}.primary-menu{grid-template-columns:repeat(2,1fr)}.primary-menu li:nth-child(3){border-left:0}.primary-menu li:nth-child(n+3){border-top:1px solid var(--ink)}.primary-menu a{font-size:.65rem;padding:13px 8px}.ticket-intro{padding-top:35px}.intro-heading h1{font-size:clamp(3.25rem,13.4vw,6rem);margin-top:15px}.intro-bottom{flex-direction:column;align-items:start;gap:20px}.intro-bottom p{font-size:1rem}.ticket-visual{padding-bottom:22px}.desk-grid{grid-template-columns:1fr;padding:38px 0}.desk-number h2 br{display:none}.desk-number h2{font-size:2.5rem}.desk-copy h3{font-size:1.9rem}.queue-note{display:block}.queue-note h3{margin:20px 0}.seat-section{grid-template-columns:1fr;gap:30px;padding:46px 0}.seat-map{height:320px}.checklist-wrap{padding:42px 0}.checklist-grid{grid-template-columns:1fr;gap:20px}.booking-checks label{font-size:.88rem}.safety-section{grid-template-columns:1fr;padding:48px 0;gap:14px}.safety-section>div:last-child{grid-column:auto}.safety-index{font-size:3rem}.safety-section h2{font-size:2.4rem}.footer-top{flex-direction:column;align-items:start}.footer-top p{margin:0}}

/* Version 1.1.0: chronological ticket-desk publication. */
.ticket-publication .utility-strip{padding-block:7px}
.ticket-publication .site-header{padding-block:17px}
.ticket-publication .brand{width:265px}
.ticket-publication .primary-menu a{padding-block:13px}
.ticket-news{padding-top:25px;padding-bottom:38px}
.ticket-lead{display:grid;grid-template-columns:68px minmax(0,1.7fr) minmax(220px,.8fr);column-gap:28px;padding:18px 0 36px;border-bottom:2px solid var(--ink);align-items:start}
.ticket-lead-index{font-family:Consolas,'Courier New',monospace;border-right:1px solid var(--line);align-self:stretch;padding-right:15px}
.ticket-lead-index>span{font-size:2.2rem;display:block;letter-spacing:-.1em;line-height:1}
.ticket-lead-index>small{font-size:.58rem;line-height:1.7;letter-spacing:.06em;display:block;margin-top:22px}
.ticket-meta{display:flex;flex-wrap:wrap;gap:9px 18px;align-items:center;font: .65rem/1.5 Consolas,'Courier New',monospace;text-transform:uppercase;color:var(--muted)}
.ticket-meta a,.ticket-category a{text-decoration:none}
.ticket-latest{background:var(--acid);color:var(--ink);padding:4px 7px;font-weight:700}
.ticket-category{margin:14px 0 10px;font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ticket-lead h1{font-size:clamp(2rem,3.4vw,3.25rem);letter-spacing:-.045em;line-height:1.08;margin:0 0 18px;overflow-wrap:anywhere}
.ticket-lead h1 a,.ticket-story h2 a{text-decoration:none}
.ticket-lead h1 a:hover,.ticket-story h2 a:hover{text-decoration:underline;text-decoration-thickness:2px}
.ticket-deck{font-size:1rem;line-height:1.75;max-width:660px;margin:0 0 24px;color:#49596b}
.ticket-read{display:inline-flex;gap:28px;align-items:center;background:var(--ink);color:var(--acid);padding:13px 18px;text-decoration:none;font:700 .72rem/1.4 Consolas,'Courier New',monospace}
.ticket-read:hover{background:#2d435b}
.ticket-read span{font-size:1.3rem;line-height:1}
.ticket-lead-image{display:block;min-width:0;border:1px solid var(--ink);background:#e6e9db;align-self:center;overflow:hidden;position:relative;padding:12px}
.ticket-lead-image:before,.ticket-lead-image:after{content:'';position:absolute;background:var(--paper);border:1px solid var(--ink);width:24px;height:24px;border-radius:50%;top:calc(50% - 12px);z-index:1}
.ticket-lead-image:before{left:-13px}.ticket-lead-image:after{right:-13px}
.ticket-lead-image img{display:block;width:100%;height:240px;object-fit:cover}
.ticket-lead-image.is-illustration{background:var(--acid);padding:28px 14px;border-top:6px solid var(--ink);border-bottom:6px solid var(--ink)}
.ticket-lead-image.is-illustration img{height:190px;object-fit:contain}
.ticket-feed-heading{margin:28px 0 0;padding-bottom:13px;border-bottom:1px solid var(--ink);font:700 .8rem/1.5 Consolas,'Courier New',monospace;letter-spacing:.07em}
.ticket-story{display:grid;grid-template-columns:48px minmax(0,1fr) 185px;gap:24px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}
.ticket-story-number{font:1.1rem/1.5 Consolas,'Courier New',monospace;color:#657365}
.ticket-story h2{font-size:1.55rem;letter-spacing:-.035em;line-height:1.2;margin:12px 0}
.ticket-story-copy>p{font-size:.91rem;line-height:1.7;color:#526071;max-width:720px;margin:0 0 14px}
.ticket-story-read{font-size:.77rem;text-decoration:none;font-weight:700;display:inline-flex;gap:18px;padding-block:5px}
.ticket-story-image{display:block;border:1px solid #bec3b7;background:#e8e9df;align-self:center}
.ticket-story-image img{display:block;width:100%;height:125px;object-fit:cover}
.ticket-story-image.is-illustration{padding:10px}.ticket-story-image.is-illustration img{object-fit:contain;height:105px}
.ticket-publication .home-pagination{margin-top:27px}
.ticket-publication .home-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.ticket-publication .home-pagination .page-numbers{display:block;border:1px solid var(--ink);font: .75rem/1.4 Consolas,'Courier New',monospace;text-decoration:none;padding:10px 13px}
.ticket-publication .home-pagination .current{background:var(--acid)}
.ticket-quickcheck{display:grid;grid-template-columns:1fr 1.7fr;gap:40px;padding:25px 30px;margin-bottom:45px;border:1px dashed var(--ink);background:#e8eadc}
.ticket-quickcheck .eyebrow{font-size:.6rem;margin:0 0 8px}
.ticket-quickcheck h2{font-size:1.2rem;letter-spacing:-.03em;margin:0 0 13px;line-height:1.2}
.ticket-quickcheck .text-link{font-size:.7rem}
.ticket-quickcheck fieldset{margin:0;padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-content:center}
.ticket-quickcheck label{display:flex;align-items:center;gap:10px;font-size:.8rem;line-height:1.5;cursor:pointer}
.ticket-quickcheck input{accent-color:var(--ink);width:17px;height:17px;flex:none;margin:0}
.ticket-no-posts{padding:15px 0 30px}.ticket-no-posts h1{font-size:2rem}
@media(max-width:1000px){.ticket-lead{grid-template-columns:48px minmax(0,1fr);gap:20px}.ticket-lead-image{grid-column:2;width:100%;margin-top:25px}.ticket-lead-image img{height:180px}.ticket-lead-image.is-illustration img{height:130px}.ticket-lead-image.is-illustration{padding:10px 20px}.ticket-story{grid-template-columns:36px minmax(0,1fr) 140px;gap:18px}.ticket-quickcheck{gap:24px}}
@media(max-width:700px){.ticket-publication .site-header{padding-block:14px}.ticket-publication .brand{width:235px}.ticket-publication .primary-menu a{padding:10px 8px;font-size:.63rem}.ticket-news{padding-top:17px;padding-bottom:25px}.ticket-lead{display:flex;flex-direction:column;padding:8px 0 25px;gap:0}.ticket-lead-index{display:none}.ticket-lead h1{font-size:clamp(1.85rem,7.7vw,2.35rem);line-height:1.1;margin-bottom:15px}.ticket-category{margin-top:11px;font-size:.62rem}.ticket-meta{font-size:.59rem;gap:7px 12px}.ticket-deck{font-size:.91rem;line-height:1.65;margin-bottom:18px}.ticket-read{padding:12px 16px;font-size:.7rem}.ticket-lead-image{margin-top:25px}.ticket-lead-image.is-illustration img{height:100px}.ticket-lead-image img{height:175px}.ticket-story{grid-template-columns:28px minmax(0,1fr);gap:14px;padding:23px 0}.ticket-story h2{font-size:1.3rem;line-height:1.22}.ticket-story-image{grid-column:2;width:min(210px,100%);margin-top:4px}.ticket-story-copy>p{font-size:.88rem}.ticket-feed-heading{font-size:.72rem}.ticket-quickcheck{grid-template-columns:1fr;padding:22px;gap:20px;margin-bottom:30px}.ticket-quickcheck fieldset{grid-template-columns:1fr;gap:11px}}
