/*
Theme Name: Dorset Aurora Writer
Theme URI: https://benjaminarthorobinsonauthor.com/
Author: Ben Robinson
Description: A cinematic, responsive WordPress theme for writers, poets and independent authors, with WooCommerce and Pixel Marketplace compatibility.
Version: 1.1.2
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: dorset-aurora-writer
*/
:root{--navy:#071a2d;--navy2:#102f4d;--gold:#d8a84e;--cream:#fffaf0;--paper:#fff;--ink:#14202b;--muted:#66717d;--teal:#2b8385;--line:#d8d0c1;--shadow:0 18px 55px rgba(7,26,45,.14);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#f4efe5,#fff 45%,#edf4f3);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.7}a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}img{max-width:100%;height:auto}.screen-reader-text{position:absolute;left:-9999px}.site-shell{width:min(1440px,calc(100% - 40px));margin:auto}.site-header{position:relative;color:#fff;background:var(--navy);isolation:isolate}.header-art{min-height:clamp(360px,52vw,680px);display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(4,18,33,.9) 0%,rgba(4,18,33,.62) 40%,rgba(4,18,33,.12) 75%),var(--header-image);background-size:cover;background-position:center}.header-art:after{content:"";position:absolute;inset:18px;border:1px solid rgba(216,168,78,.75);pointer-events:none;z-index:-1}.brand{max-width:680px;padding:70px 0}.eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;color:#f1cc83;font:700 13px/1.2 system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{content:"";width:46px;height:1px;background:currentColor}.site-title{margin:0;font-size:clamp(48px,7vw,96px);line-height:.92;letter-spacing:-.045em;text-wrap:balance}.site-title a{color:#fff;text-decoration:none}.site-description{max-width:620px;margin:24px 0 0;color:#f4ead5;font-size:clamp(18px,2.2vw,27px);line-height:1.45}.header-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold)!important;border-radius:999px!important;padding:12px 22px!important;background:var(--gold)!important;color:#102235!important;font:800 14px/1 system-ui,sans-serif!important;text-decoration:none!important;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.06)}.button--ghost{background:rgba(4,18,33,.5)!important;color:#fff!important}.nav-wrap{position:sticky;top:0;z-index:1000;background:rgba(7,26,45,.97);border-top:1px solid rgba(216,168,78,.35);border-bottom:1px solid rgba(216,168,78,.35);box-shadow:0 8px 30px rgba(0,0,0,.15)}.nav-inner{display:flex;align-items:center;min-height:68px}.menu-toggle{display:none;margin-left:auto;border:1px solid var(--gold);border-radius:8px;padding:9px 12px;background:transparent;color:#fff;font:700 14px system-ui,sans-serif}.primary-menu{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;padding:0;list-style:none}.primary-menu a{display:block;padding:9px 14px;border-radius:999px;color:#fff;font:700 14px system-ui,sans-serif;text-decoration:none}.primary-menu a:hover,.primary-menu .current-menu-item>a{background:var(--gold);color:var(--navy)}.site-content{padding:52px 0 70px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}.content-grid.is-full{display:block}.bs-card-box,.card{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,52px);box-shadow:var(--shadow)}.entry-header{margin-bottom:30px}.entry-title{margin:0;color:var(--navy);font-size:clamp(34px,5vw,66px);line-height:1.05;letter-spacing:-.03em}.entry-meta{margin-top:10px;color:var(--muted);font:600 13px system-ui,sans-serif}.entry-content{font-size:18px}.entry-content>p:first-child:first-letter{float:left;margin:9px 10px 0 0;color:var(--gold);font-size:68px;line-height:.72}.entry-content h2,.entry-content h3{color:var(--navy);line-height:1.2}.entry-content blockquote{margin:32px 0;padding:10px 0 10px 26px;border-left:4px solid var(--gold);color:#44505a;font-size:1.25em;font-style:italic}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.post-card{overflow:hidden;padding:0}.post-card__image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.post-card__body{padding:24px}.post-card h2{margin:0 0 8px;color:var(--navy);font-size:27px;line-height:1.15}.post-card h2 a{color:inherit;text-decoration:none}.read-more{display:inline-block;margin-top:10px;color:var(--teal);font:800 13px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em}.sidebar{display:grid;gap:22px}.widget{padding:26px;background:var(--navy);border:1px solid rgba(216,168,78,.55);border-radius:16px;color:#e9edf0;box-shadow:var(--shadow)}.widget-title{margin:0 0 14px;color:#f2c870;font-size:22px}.widget a{color:#fff}.widget ul{margin:0;padding-left:20px}.site-footer{padding:46px 0;background:var(--navy);color:#ccd7df;text-align:center}.site-footer a{color:#f2c870}.pagination{margin-top:35px}.page-numbers{display:inline-block;margin:3px;padding:7px 13px;border-radius:999px;background:#fff;text-decoration:none}.page-numbers.current{background:var(--gold);color:var(--navy)}
/* Pixel Marketplace integration */
.has-pixel-marketplace .site-shell{width:min(1500px,calc(100% - 32px))}.has-pixel-marketplace .content-grid{display:block}.has-pixel-marketplace .bs-card-box{height:auto!important;max-height:none!important;overflow:visible!important;padding:clamp(12px,2vw,30px)}.has-pixel-marketplace .bar-pm-full-column,.has-pixel-marketplace [class*="col-lg-"]{flex:0 0 100%!important;width:100%!important;max-width:100%!important}.has-pixel-marketplace .bar-pm{width:100%!important;max-width:100%!important;margin:20px auto!important;transform:none!important}.has-pixel-marketplace .bar-pm__viewport{max-width:100%!important}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.woocommerce span.onsale{background:var(--gold);color:var(--navy)}
@media(max-width:900px){.content-grid{grid-template-columns:1fr}.post-grid{grid-template-columns:1fr}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-toggle{display:block}.primary-menu{display:none;position:absolute;left:20px;right:20px;top:62px;padding:15px;background:var(--navy);border:1px solid var(--gold);border-radius:12px}.primary-menu.is-open{display:block}.primary-menu a{border-radius:6px}.header-art{background-position:62% center}.brand{padding:58px 0}}
@media(max-width:560px){.site-shell{width:min(100% - 22px,1440px)}.header-art{min-height:520px}.header-art:after{inset:9px}.brand{padding:45px 12px}.site-title{font-size:48px}.site-content{padding-top:24px}.bs-card-box,.card{padding:22px;border-radius:14px}.woocommerce ul.products{grid-template-columns:1fr}.has-pixel-marketplace .site-shell{width:100%}.has-pixel-marketplace .bs-card-box{padding:10px;border-radius:0}}

/* Centred author header and enhanced accessible navigation */
.header-art{background-image:linear-gradient(90deg,rgba(4,18,33,.72),rgba(4,18,33,.42),rgba(4,18,33,.72)),var(--header-image)}
.brand{width:100%;max-width:none;text-align:center;transform:translateY(clamp(-105px,-7vw,-62px))}
.eyebrow{justify-content:center}.eyebrow:after{content:"";width:46px;height:1px;background:currentColor}
.site-title{font-size:clamp(24px,4.35vw,64px);line-height:1.05;letter-spacing:-.035em;white-space:nowrap}
.site-description{margin-left:auto;margin-right:auto}.header-cta{justify-content:center}
.nav-inner{justify-content:center}.primary-menu{justify-content:center}
.primary-menu>li{position:relative;display:flex;align-items:center}
.primary-menu a{transition:background-color .2s,color .2s,transform .2s}.primary-menu a:hover,.primary-menu a:focus-visible{transform:translateY(-1px)}
.submenu-toggle{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:-7px;border:1px solid rgba(216,168,78,.58);border-radius:50%;background:rgba(255,255,255,.06);color:#f4d188;cursor:pointer;font:800 16px/1 system-ui,sans-serif;transition:.2s}
.submenu-toggle:hover,.submenu-toggle:focus-visible{background:var(--gold);color:var(--navy)}
.sub-menu{display:none;position:absolute;z-index:20;top:calc(100% + 9px);left:50%;min-width:220px;margin:0;padding:10px;list-style:none;background:rgba(7,26,45,.99);border:1px solid rgba(216,168,78,.65);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.3);transform:translateX(-50%)}
.sub-menu li{position:relative}.sub-menu a{border-radius:8px;white-space:nowrap}.menu-item-has-children.submenu-open>.sub-menu{display:block}
.homepage-shortcode-box{margin:0 0 32px;text-align:center}.homepage-shortcode-box__title{margin:0 0 20px;color:var(--navy);font-size:clamp(28px,4vw,48px);line-height:1.1}.homepage-shortcode-box__content{width:100%;overflow:visible}
@media(min-width:901px){.primary-menu>.menu-item-has-children:hover>.sub-menu,.primary-menu>.menu-item-has-children:focus-within>.sub-menu{display:block}}
@media(max-width:900px){.nav-inner{justify-content:center}.menu-toggle{margin:10px auto;border-radius:999px;padding:11px 20px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.primary-menu{top:68px;max-height:calc(100vh - 90px);overflow-y:auto;text-align:center;box-shadow:0 18px 45px rgba(0,0,0,.35)}.primary-menu>li{display:grid;grid-template-columns:minmax(0,1fr) 40px;width:100%;align-items:center}.primary-menu>li>a{grid-column:1;padding-left:40px}.primary-menu .submenu-toggle{grid-column:2;margin:0 5px 0 -5px}.sub-menu{position:static;grid-column:1/-1;width:100%;min-width:0;margin:4px 0 8px;padding:7px;background:rgba(255,255,255,.055);transform:none;box-shadow:none}.sub-menu a{white-space:normal}.brand{padding-left:10px;padding-right:10px;transform:translateY(-58px)}.site-title{font-size:clamp(20px,6vw,48px)}}
@media(max-width:560px){.brand{transform:translateY(-44px)}.site-title{font-size:clamp(18px,5.9vw,34px)}.eyebrow{font-size:11px;letter-spacing:.13em}.eyebrow:before,.eyebrow:after{width:24px}.site-description{text-align:center}.homepage-shortcode-box{margin-bottom:20px}}
