/*
Theme Name: Caption Hype Studio
Theme URI: https://captionhype.com/
Author: Caption Hype
Description: A bilingual caption magazine with accessible light and dark modes, copyable captions and a fast, responsive layout.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: captionhype
*/
:root{color-scheme:light;--bg:#f7f5ee;--panel:#fffef9;--ink:#18251f;--muted:#58655d;--line:#d6dcd3;--lime:#d9f15c;--blue:#244ec9;--coral:#ef886c;--teal:#d5e9df;--radius:22px;--shadow:0 14px 45px #18251f0b}
:root[data-theme=dark]{color-scheme:dark;--bg:#111b16;--panel:#19271f;--ink:#f7f5ee;--muted:#b5c3b8;--line:#36483a;--blue:#9eb8ff;--teal:#294c3a;--shadow:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI","Nirmala UI",sans-serif;font-size:17px;line-height:1.65}a{color:var(--blue);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img{max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.wrap{max-width:1220px;margin:auto;padding:0 28px}.skip-link{position:absolute;top:-90px;left:20px;z-index:100}.skip-link:focus{top:15px;background:var(--panel);padding:10px}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-weight:800;font-size:23px;letter-spacing:-1px}.brand svg{width:44px;height:44px;flex-shrink:0}.site-nav{display:flex;align-items:center;gap:25px}.site-nav a{color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}.header-actions{display:flex;gap:10px;align-items:center}.mode-button,.menu-button{border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--ink);width:44px;height:44px;font-size:19px}.menu-button{display:none}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;border-radius:100px;background:var(--ink);color:var(--bg);text-decoration:none;border:1px solid var(--ink);font-weight:650;font-size:15px;gap:8px}.button.lime{background:var(--lime);color:#18251f;border-color:var(--lime)}.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;padding:74px 0 60px;align-items:center}.hero h1{font-family:Georgia,serif;font-size:clamp(48px,6.5vw,83px);font-weight:500;line-height:1.06;letter-spacing:-4px;margin:19px 0 25px}.hero h1 em{font-weight:500;color:var(--blue)}.hero p{font-size:18px;max-width:570px;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.hero-note{font-size:13px!important}.hero-art{position:relative;padding:34px 12px}.quote-sheet{border:1px solid #18251f;border-radius:20px;padding:29px 32px;min-height:220px;box-shadow:6px 7px 0 #18251f;position:relative;transform:rotate(-4deg);background:var(--lime);color:#18251f}.quote-sheet.second{background:var(--coral);transform:rotate(5deg);margin-top:-22px;margin-left:56px;min-height:180px}.quote-sheet .eyebrow{color:#344b34}.quote-sheet p{font-family:Georgia,"Nirmala UI",serif;color:#18251f;font-size:29px;line-height:1.3;margin:20px 0}.quote-sheet button{background:#18251f;color:#fff;border:0;border-radius:30px;padding:8px 14px;font-size:13px}.search-bar{display:flex;gap:10px;background:var(--panel);padding:12px;border:1px solid var(--line);border-radius:100px;max-width:750px;box-shadow:var(--shadow)}.search-bar input{border:0;background:transparent;color:var(--ink);padding:8px 14px;min-width:0;width:100%}.topic-strip{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 50px}.chip{border:1px solid var(--line);border-radius:100px;padding:8px 16px;text-decoration:none;font-size:14px;color:var(--ink);background:var(--panel)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:40px 0 24px}.section-heading h2{font-family:Georgia,serif;font-size:38px;line-height:1.2;margin:7px 0;font-weight:500;letter-spacing:-1px}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.post-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card-visual{display:flex;align-items:center;justify-content:center;min-height:160px;padding:24px;background:var(--teal);color:#18251f;border-bottom:1px solid var(--line);font-family:Georgia,"Nirmala UI",serif;font-size:30px;text-align:center;line-height:1.2}.post-card:nth-child(3n+2) .card-visual{background:#f3d7ce}.post-card:nth-child(3n) .card-visual{background:#dbe1ff}.card-body{padding:23px}.card-body h3{font-size:21px;line-height:1.3;margin:10px 0 13px;letter-spacing:-.5px}.card-body h3 a{text-decoration:none;color:var(--ink)}.card-body p{font-size:15px;color:var(--muted);margin:12px 0}.card-meta{font-size:12px;color:var(--muted)}.read-link{font-size:14px;font-weight:700}.feature-band{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:var(--teal);border:1px solid var(--line);border-radius:var(--radius);padding:42px;margin:55px 0}.feature-band h2{font-family:Georgia,serif;font-size:36px;font-weight:500;line-height:1.2;margin:10px 0}.feature-band p{color:var(--muted)}.ch-form label{display:block;font-size:14px;font-weight:600;margin:11px 0 5px}.ch-form input:not([type=checkbox]),.ch-form textarea,.ch-form select,.finder select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}.ch-form .consent{display:flex;gap:10px;align-items:start;font-weight:400;font-size:13px;line-height:1.5;margin:14px 0}.consent input{margin-top:4px;flex-shrink:0}.form-status{font-size:14px;min-height:24px;margin:8px 0}.ch-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.site-footer{border-top:1px solid var(--line);padding:45px 0 28px;margin-top:65px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer-top p{font-size:14px;color:var(--muted);max-width:350px}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{font-size:14px;color:var(--ink)}.footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}.page-intro{padding:55px 0 25px}.page-intro h1,.article-title{font-family:Georgia,"Nirmala UI",serif;font-weight:500;font-size:clamp(34px,4vw,54px);letter-spacing:-1.7px;line-height:1.17;margin:18px 0}.article-layout{display:grid;grid-template-columns:minmax(0,800px) 260px;gap:60px;max-width:1120px;margin:auto;padding:50px 28px}.article-meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px}.entry-content{margin-top:32px;overflow-wrap:anywhere}.entry-content p{margin:20px 0}.entry-content h2{font-size:28px;line-height:1.3;letter-spacing:-.5px;margin:42px 0 17px;scroll-margin-top:24px}.entry-content h3{font-size:21px;margin:25px 0 10px}.entry-content li{margin:8px 0}.entry-content table{border-collapse:collapse;width:100%;font-size:15px}.entry-content th,.entry-content td{border:1px solid var(--line);padding:12px;text-align:left}.quick-answer{padding:25px;border-left:4px solid var(--blue);background:var(--teal);border-radius:0 16px 16px 0;margin:25px 0}.quick-answer h2{margin:0 0 8px;font-size:20px}.caption-list{list-style:none;padding:0;display:grid;gap:12px}.caption-list li{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px;display:flex;gap:16px;justify-content:space-between;align-items:start;font-size:16px;margin:0}.copy-button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:30px;padding:5px 12px;font-size:12px;flex-shrink:0}.copy-button:hover{background:var(--lime);color:#18251f}.lang-controls{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.lang-controls button{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:8px 15px;border-radius:100px;font-size:14px}.lang-controls button[aria-pressed=true]{background:var(--lime);color:#18251f;border-color:var(--lime)}.article-sidebar{font-size:14px;padding-top:18px}.sidebar-box{border:1px solid var(--line);background:var(--panel);padding:23px;border-radius:18px;margin-bottom:20px}.sidebar-box h2{font-size:17px;margin-top:0}.sidebar-box a{display:block;margin:10px 0}.toc ol{padding-left:20px}.toc li{margin:8px 0}.toc a{color:var(--ink);text-decoration:none}.author-box{margin:35px 0;padding:24px;border:1px solid var(--line);border-radius:17px;background:var(--panel);font-size:14px}.narrow{max-width:820px;margin:auto}.breadcrumbs{font-size:12px;color:var(--muted)}.breadcrumbs a{color:var(--muted)}.pagination{margin:35px 0}.nav-links{display:flex;gap:12px;flex-wrap:wrap}.page-numbers{padding:7px 13px;border:1px solid var(--line);border-radius:8px}.page-numbers.current{background:var(--teal)}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:30px;max-width:470px;width:calc(100% - 40px)}dialog::backdrop{background:#08150e88}.dialog-close{float:right;border:0;background:transparent;color:var(--ink);font-size:23px}.dialog-heading{font-family:Georgia,serif;font-size:32px;line-height:1.15;margin:22px 0 15px}.finder{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--panel);margin:20px 0}.finder-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}.finder label{font-size:14px;display:block;margin:8px 0}.finder-output{font-family:Georgia,"Nirmala UI",serif;font-size:25px;background:var(--teal);padding:22px;border-radius:13px;margin:20px 0}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.comments-area{border-top:1px solid var(--line);padding-top:25px}.comment-form textarea,.comment-form input:not([type=submit]):not([type=checkbox]){width:100%;background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:10px;border-radius:8px}.comment-form .submit{padding:10px 18px;border:0;background:var(--ink);color:var(--bg);border-radius:100px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#111b16;--panel:#19271f;--ink:#f7f5ee;--muted:#b5c3b8;--line:#36483a;--blue:#9eb8ff;--teal:#294c3a;--shadow:none}}
@media(max-width:950px){.site-nav{gap:15px}.header-actions .button{display:none}.hero{gap:35px}.hero h1{letter-spacing:-2px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:minmax(0,1fr)}.article-sidebar{display:none}}
@media(max-width:700px){.wrap{padding:0 20px}.header-inner{min-height:78px;gap:10px}.brand{font-size:21px}.brand svg{width:36px;height:36px}.menu-button{display:block}.site-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--panel);padding:22px;z-index:5;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.site-nav.is-open{display:flex}.hero{grid-template-columns:1fr;padding:40px 0 30px;gap:12px}.hero h1{font-size:54px;letter-spacing:-2px}.hero-art{padding:20px 15px}.quote-sheet{min-height:175px;padding:22px}.quote-sheet.second{min-height:150px;margin-left:30px}.quote-sheet p{font-size:25px}.search-bar{border-radius:17px}.search-bar .button{padding:10px 16px}.topic-strip{margin-bottom:32px}.section-heading h2{font-size:30px}.post-grid{grid-template-columns:1fr}.card-visual{min-height:120px;font-size:26px}.feature-band{grid-template-columns:1fr;padding:25px;gap:12px}.feature-band h2{font-size:30px}.footer-top{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column}.article-layout{padding:30px 20px}.article-title{font-size:35px}.entry-content h2{font-size:25px}.caption-list li{padding:13px;font-size:15px}.finder-fields{grid-template-columns:1fr;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.nav-menu{display:contents;list-style:none;margin:0;padding:0}.nav-menu li{list-style:none}.caption-pair-note{font-size:14px;color:var(--muted)}
.language-nav{border-bottom:1px solid var(--line);font-size:13px;padding:10px 0}.language-nav .wrap{display:flex;gap:20px;flex-wrap:wrap}.language-nav span{color:var(--muted)}.language-nav a{color:var(--ink);font-weight:650}
