/*
Theme Name: Raccooniverse — Fables for Adults
Theme URI: https://example.com/
Author: Raccooniverse
Description: A custom editorial WordPress theme for the Raccooniverse, featuring the original Grand Council homepage banner, illustrated fables, and character profiles.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: raccooniverse
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--deep:#092e29;--deep2:#071f1e;--emerald:#16483f;--plum:#501c48;--plum-dark:#351833;--cream:#fff7ec;--parchment:#f5eee3;--ivory:#fdf8ef;--ink:#203b35;--muted:#66716b;--metal:#a78771;--line:#d8c3ae;--max:1260px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit}a:hover{color:var(--plum)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8f718f;outline-offset:4px}button,input,textarea{font:inherit}button{cursor:pointer}p{margin:0 0 1rem}h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.04;font-weight:650}h1{font-size:clamp(3rem,5.7vw,5.5rem)}h2{font-size:clamp(2.45rem,4vw,4rem)}h3{font-size:2rem}.wrap{max-width:var(--max);margin:0 auto;padding-left:28px;padding-right:28px}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap} .editor-content:after{content:'';display:block;clear:both}
/* The banner is the original approved picture, including its embedded desktop lettering. */
.image-banner{background:#092b29;position:relative;line-height:0;overflow:hidden}.image-banner>img{width:100%;display:block;height:auto}.image-hotspot{position:absolute;z-index:1;border-radius:3px;display:block;min-width:6px;min-height:6px}.image-hotspot:focus-visible{background:#fff2;outline:2px solid #fff}.image-hotspot--home{left:32.2%;top:0;width:6%;height:12.5%}.image-hotspot--council{left:39.5%;top:0;width:8%;height:12.5%}.image-hotspot--stories{left:49.5%;top:0;width:7%;height:12.5%}.image-hotspot--characters{left:57.8%;top:0;width:8.5%;height:12.5%}.image-hotspot--test{left:67.7%;top:0;width:11%;height:12.5%}.image-hotspot--about{left:78.4%;top:0;width:5.3%;height:12.5%}.image-hotspot--council-cta{left:2.1%;top:87.8%;width:12.9%;height:11.5%}.image-hotspot--stories-cta{left:15.3%;top:87.8%;width:12.9%;height:11.5%}
.mobile-header,.mobile-hero{display:none}.site-header-simple{background:var(--deep);color:var(--cream);border-bottom:1px solid var(--metal)}.site-header-simple .wrap{min-height:85px;display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{font:700 2.25rem/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;text-decoration:none;color:#f7ecda}.brand:hover{color:#fff}.header-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:25px}.header-links a{color:var(--cream);text-decoration:none;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.35rem}.header-links a:hover{text-decoration:underline;text-underline-offset:5px}.mobile-toggle{display:none;color:#fff;background:transparent;border:1px solid #9d8c85;padding:8px 12px;border-radius:0}
.brand-band{text-align:center;background:linear-gradient(110deg,#0a302b,#14362f 50%,#311d32);border-top:1px solid #9f837c;border-bottom:1px solid #a88f80;color:var(--cream);padding:31px 20px 34px}.eyebrow{text-transform:uppercase;font-size:.68rem;letter-spacing:.26em;font-weight:700;color:#d6acbf}.brand-band h1{margin:0;line-height:1;font-size:clamp(3.25rem,5.5vw,5.3rem)}.brand-band p{color:#e6d3d0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.4rem,2.1vw,2rem);margin:5px 0 0}
.intro{text-align:center;padding:67px 28px 44px}.intro h2{color:var(--plum);margin:0 0 14px}.intro p{max-width:730px;margin:0 auto;font-size:1rem;line-height:1.8}.section{padding-top:47px;padding-bottom:72px}.section-heading{text-align:center;margin-bottom:27px}.section-heading h2{color:var(--plum);margin:0 0 7px}.section-heading p{color:var(--muted);max-width:800px;margin:0 auto;line-height:1.7}.section-heading:before{content:'❦';display:block;color:#ad8c80;font-size:1.5rem;line-height:1}.features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.feature{background:#fffaf2;border:1px solid #bda28d;padding:26px 23px 25px;min-height:240px;position:relative;box-shadow:0 2px 15px #24130b08}.feature:before,.feature:after{content:'';position:absolute;pointer-events:none;width:16px;height:16px;border:1px solid #a58c7b}.feature:before{top:8px;left:8px;border-right:0;border-bottom:0}.feature:after{bottom:8px;right:8px;border-left:0;border-top:0}.feature-icon{font-family:Georgia,serif;color:#9c7d83;font-size:2.2rem;line-height:1;margin-bottom:13px}.feature h3{margin:0 0 13px;color:#124039;font-size:2rem}.feature p{line-height:1.65;font-size:.86rem;margin:0}.quote-ribbon{text-align:center;color:#f6ebda;background:var(--plum);width:fit-content;max-width:calc(100% - 36px);margin:20px auto -5px;border:1px solid #c0a49a;padding:12px 28px;font:italic 1.55rem/1.2 'Cormorant Garamond',Georgia,serif;box-shadow:0 0 0 4px #f4e7dc,0 0 0 5px #ac8e83}
.council-section{background:linear-gradient(125deg,#082a27,#153c35 55%,#351c35);color:#f5ece0;padding:67px 0 77px}.council-section .section-heading h2{color:#f7ece0}.council-section .section-heading p{color:#d4c6c0}.member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.member-card{border:1px solid #917870;background:#ffffff0a;padding:12px;text-align:center}.member-photo{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;object-position:center top;border:1px solid #ae9480;background:#28352e}.member-inner{padding:15px 10px 19px}.member-card h3{color:#fff1df;font-size:1.95rem;line-height:1.07;margin:3px 0 12px}.member-card p{color:#d3c8c3;font-size:.85rem;margin:0;line-height:1.65}.member-card .minor{font-size:.75rem;font-style:italic;color:#e4cfd7;margin:0 0 7px}.btn{display:inline-block;color:#fff6e5;background:var(--plum);text-decoration:none;border:1px solid #a98d80;padding:12px 22px;letter-spacing:.01em;font-size:.85rem;font-weight:700;transition:background .2s}.btn:hover{background:#6a285d;color:#fff}.btn.light{background:#fff9f2;color:var(--plum)}.btn.light:hover{background:#f4e8ec}.section-actions{text-align:center;margin-top:26px}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.story-card{background:#fffaf3;border:1px solid #d6bdac;display:flex;flex-direction:column;min-height:290px;overflow:hidden}.story-card .story-photo{display:block;width:100%;height:178px;object-fit:cover}.story-content{padding:23px 25px 26px;display:flex;flex-direction:column;flex:1}.story-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#89617d}.story-card h3{margin:9px 0;font-size:2rem;color:#38233e}.story-card h3 a{text-decoration:none}.story-card p{font-size:.9rem;line-height:1.65;margin:0 0 15px}.story-card .story-link{font-weight:700;font-size:.85rem;color:var(--plum);margin-top:auto;text-decoration:underline;text-underline-offset:4px}.story-card--empty{min-height:220px}.story-card--empty .story-content{justify-content:center}
.theme-divider{height:1px;margin:0 auto;background:linear-gradient(90deg,transparent,#bb9c8c,transparent);max-width:1000px}.characters-preview{background:var(--parchment)}.character-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.character-mini{background:#fffaf4;border:1px solid #c5ae9d;overflow:hidden;text-decoration:none;display:block}.character-mini img{display:block;width:100%;height:230px;object-fit:cover}.character-mini .body{padding:14px 17px}.character-mini h3{font-size:1.7rem;color:var(--plum);margin:0 0 8px}.character-mini p{font-size:.86rem;margin:0}
.about-panel{text-align:center;background:linear-gradient(140deg,#f3e9e4,#f9f3e9);padding:71px 24px 83px}.about-panel h2{color:var(--plum);margin:0 0 15px}.about-panel p{max-width:700px;margin:0 auto 15px;line-height:1.75}.about-panel .btn{margin:13px 6px 0}.site-footer{padding:29px 20px;background:var(--deep2);color:#d9cbc5;text-align:center;font-size:.82rem;border-top:1px solid #b39284}.site-footer p{margin:0 0 5px}.site-footer a{color:inherit}
/* Content pages and the WordPress editor's published stories */
.content-hero{background:linear-gradient(120deg,#113a33,#332139);text-align:center;color:#fff4e9;padding:65px 25px 66px;border-bottom:3px solid #ae8e82}.content-hero h1{margin:0 0 9px}.content-hero p{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.65rem;margin:0;color:#e9d5d9}.content-shell{max-width:850px;margin:0 auto;padding:61px 26px 82px}.entry-meta{color:#8a617d;letter-spacing:.11em;text-transform:uppercase;font-size:.74rem;font-weight:700;margin-bottom:15px}.entry-content{font-size:1rem;line-height:1.85;overflow-wrap:break-word}.entry-content p{margin:0 0 1.4rem}.entry-content h2,.entry-content h3,.entry-content h4{color:var(--plum);margin:1.5em 0 .5em}.entry-content h2{font-size:2.5rem}.entry-content h3{font-size:2rem}.entry-content a{color:var(--plum)}.entry-content blockquote{border-left:3px solid #976b8a;padding:10px 0 10px 20px;font:italic 1.5rem/1.4 'Cormorant Garamond',serif;color:var(--plum)}.entry-content img{height:auto}.entry-content figure{max-width:100%}.featured-image{margin:0 0 31px;border:1px solid #c5ad9a}.featured-image img{width:100%;display:block}.post-navigation{display:flex;justify-content:space-between;gap:20px;margin-top:50px;border-top:1px solid #ccb7a6;padding-top:22px}.post-navigation a{text-decoration:none;color:var(--plum);font-weight:700}.post-list{padding-top:50px;padding-bottom:80px}.post-list .story-grid{margin-top:25px}.post-list .story-card{min-height:230px}.pagination{margin-top:30px;text-align:center}.pagination .page-numbers{display:inline-block;padding:7px 13px;text-decoration:none;border:1px solid #c4a6a0;margin:2px}.pagination .current{background:var(--plum);color:#fff}.placeholder-image{height:195px;background:linear-gradient(135deg,#1a4c42,#4e2649);display:grid;place-items:center;color:#ede2ce;font:italic 2rem 'Cormorant Garamond',serif}.search-form{display:flex;gap:6px;max-width:540px;margin:22px auto}.search-form input{width:100%;padding:11px 12px;border:1px solid #bea5a0;background:#fff}.search-form button{background:var(--plum);color:white;border:0;padding:10px 18px}.muted-note{color:var(--muted);font-size:.87rem}.coming-soon{font:italic 1.4rem 'Cormorant Garamond',serif;color:var(--plum);text-align:center}
@media(max-width:980px){.features{grid-template-columns:repeat(2,minmax(0,1fr))}.member-grid,.character-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-links{gap:13px}}
@media(max-width:690px){.image-banner{display:none}.mobile-header,.mobile-hero{display:block}.mobile-header{background:var(--deep);color:#f7ede2;padding:15px 19px;position:relative;border-bottom:1px solid #967b7e}.mobile-header-line{display:flex;justify-content:space-between;gap:14px;align-items:center}.mobile-header .brand{font-size:1.9rem}.mobile-menu-button{border:1px solid #9f8c85;background:transparent;color:#fff;padding:7px 11px}.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--deep);border-bottom:1px solid #a18687;box-shadow:0 10px 20px #0003}.mobile-menu[data-open="true"]{display:grid}.mobile-menu a{color:#fff8eb;text-decoration:none;padding:11px 24px;border-top:1px solid #ffffff1b}.mobile-hero-portrait{background:var(--deep);height:200px;overflow:hidden}.mobile-hero-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:57% 45%}.mobile-hero-copy{background:linear-gradient(130deg,#10372e,#391a37);padding:27px 21px 33px;color:var(--cream);text-align:center;border-bottom:2px solid #a8897b}.mobile-hero-copy h1{font-size:3.55rem;margin:4px 0 4px}.mobile-hero-copy p{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.6rem;line-height:1.15;margin:0}.mobile-hero-copy .btn{margin:17px 4px 0}.site-header-simple{display:none}.brand-band{padding:27px 18px}.brand-band h1{font-size:3.3rem}.brand-band p{font-size:1.55rem}.intro{padding:47px 19px 32px}.section{padding:39px 19px 50px}.features,.story-grid,.member-grid,.character-mini-grid{grid-template-columns:1fr}.feature{min-height:unset}.member-card{max-width:400px;width:100%;margin:auto}.member-photo{aspect-ratio:1.7/1;object-position:center 22%}.character-mini img{height:220px}.quote-ribbon{font-size:1.35rem}.content-hero{padding:46px 19px}.content-hero h1{font-size:3.3rem}.content-shell{padding:42px 20px}.search-form{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
