/* Arabic Novel Theme — front-end styles.
 * Everything configurable is a CSS variable (set from the Customizer, see inc/class-css.php)
 * or a data attribute on <html> (data-header, data-card, data-details, ...). Logical properties = native RTL/LTR. */

:root{
  --gutter:16px;
  --shadow:0 2px 10px rgba(0,0,0,.08);
  /* fallbacks only — real values are printed in <style id="anp-vars"> */
  --c-bg:#faf7f2;--c-surface:#fff;--c-text:#2b2622;--c-muted:#6b625a;--c-heading:#1a1410;--c-link:#7a3b2e;--c-border:#e6dfd3;
  --c-primary:#7a3b2e;--c-on-primary:#fff;--c-secondary:#2c3e50;--c-accent:#c9a227;
  --font-body:'IBM Plex Sans Arabic',system-ui,sans-serif;--font-heading:'Tajawal',system-ui,sans-serif;--font-reading:'Noto Naskh Arabic',serif;
  --fs-base:16px;--fs-base-m:15px;--fs-h1:40px;--fs-h2:30px;--fs-h3:22px;--lh-body:1.8;
  --container:1200px;--space:8px;--section-gap:48px;--radius:12px;--header-h:72px;
  --cover-ratio:2/3;--archive-cols:5;--details-cover-w:220px;
  --reader-size:20px;--reader-lh:2;--reader-width:720px;--reader-gap:1em;
}
[data-shadow="none"]{--shadow:none}
[data-shadow="strong"]{--shadow:0 8px 28px rgba(0,0,0,.22)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);overflow-wrap:break-word;color-scheme:light}
html[data-theme="dark"] body{color-scheme:dark}
@media (prefers-color-scheme:dark){html:not([data-theme]) body{color-scheme:dark}}
@media (max-width:640px){body{font-size:var(--fs-base-m)}}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-link);text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--c-heading);line-height:1.35;margin:0 0 .5em}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}
@media (max-width:640px){h1{font-size:calc(var(--fs-h1)*.75)}h2{font-size:calc(var(--fs-h2)*.82)}}
p{margin:0 0 1em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:8px;inset-block-start:-60px;background:var(--c-primary);color:var(--c-on-primary);padding:8px 14px;z-index:100;border-radius:var(--radius)}
.skip-link:focus{inset-block-start:8px}
.anp-container{width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}
.anp-icon{display:block}

/* Buttons */
.anp-btn,.wp-block-button__link,button.anp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:var(--radius);border:2px solid transparent;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.anp-btn--primary{background:var(--c-primary);color:var(--c-on-primary)}
.anp-btn--ghost{background:transparent;color:inherit;border-color:currentColor}
.anp-btn:hover{transform:translateY(-1px)}
.anp-icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:inherit;cursor:pointer}
.anp-icon-btn:hover{background:color-mix(in srgb,var(--c-primary) 12%,transparent)}

/* Header */
.anp-header{background:var(--c-surface);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:50}
[data-sticky="0"] .anp-header,.single-chapter .anp-header{position:static}
.anp-header__inner{display:flex;align-items:center;gap:16px;min-height:var(--header-h)}
.anp-brand{display:flex;align-items:center;gap:10px;color:var(--c-heading);text-decoration:none;font-family:var(--font-heading);font-weight:800;font-size:22px;line-height:1.2}
.anp-brand img{max-height:calc(var(--header-h) - 20px);width:auto}
.anp-nav{flex:1}
.anp-menu{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}
.anp-menu a{display:block;padding:10px 14px;border-radius:var(--radius);color:var(--c-text);text-decoration:none;font-weight:600}
.anp-menu a:hover,.anp-menu .current-menu-item>a{background:color-mix(in srgb,var(--c-primary) 12%,transparent);color:var(--c-primary)}
.anp-header__tools{display:flex;align-items:center;gap:2px;margin-inline-start:auto}
.anp-menu-btn{display:none}
[data-search="0"] .anp-search-btn,[data-search="0"] .anp-search{display:none!important}
[data-toggle="0"] .anp-mode-btn{display:none}
[data-header="centered"] .anp-header__inner{flex-wrap:wrap;justify-content:center;padding-block:12px}
[data-header="centered"] .anp-brand{width:100%;justify-content:center}
[data-header="centered"] .anp-nav{flex:0 1 auto}
[data-header="centered"] .anp-header__tools{margin-inline-start:0}
[data-header="compact"] .anp-nav{display:none}
[data-header="compact"] .anp-header__tools{margin-inline-start:auto}
@media (max-width:860px){
  .anp-menu-btn{display:inline-grid}
  [data-header] .anp-nav{display:none;position:absolute;inset-inline:0;inset-block-start:100%;background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:8px var(--gutter);box-shadow:var(--shadow)}
  .anp-nav.is-open{display:block!important}
  .anp-menu{flex-direction:column}
  [data-header="centered"] .anp-header__inner{justify-content:space-between}
  [data-header="centered"] .anp-brand{width:auto}
}
.anp-search{background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:14px 0}
.anp-search[hidden]{display:none}
.anp-search form,.anp-searchform{display:flex;gap:8px}
.anp-search input[type=search],.anp-searchform input[type=search]{flex:1;min-width:0;min-height:46px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);font:inherit}

/* Sections */
.anp-home{padding-block:0 var(--section-gap)}
.anp-sec{--pad:calc(var(--section-gap)*.5);padding-block:var(--pad)}
.anp-sec--sp-none{--pad:0px}
.anp-sec--sp-small{--pad:calc(var(--section-gap)*.25)}
.anp-sec--sp-large{--pad:var(--section-gap)}
.anp-sec--bg-surface{background:var(--c-surface)}
.anp-sec--bg-tint{background:color-mix(in srgb,var(--c-primary) 8%,var(--c-bg))}
.anp-sec--bg-custom{background:var(--sec-bg,transparent)}
.anp-sec__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:calc(var(--space)*2)}
.anp-sec__title{margin:0;font-size:var(--fs-h2)}
.anp-sec__sub{margin:4px 0 0;color:var(--c-muted)}
.anp-sec__desc{color:var(--c-muted);max-width:70ch;margin-top:-8px}
.anp-sec__more{font-weight:700;white-space:nowrap}
@media (min-width:769px){.anp-vis-mobile{display:none!important}}
@media (max-width:768px){.anp-vis-desktop{display:none!important}}
.anp-empty{padding:24px;border:1px dashed var(--c-border);border-radius:var(--radius);color:var(--c-muted);text-align:center;margin:0}

/* Grids */
.anp-grid{display:grid;grid-template-columns:repeat(var(--cols-d,6),minmax(0,1fr));gap:calc(var(--space)*2.5) calc(var(--space)*2)}
@media (max-width:1024px){.anp-grid{grid-template-columns:repeat(var(--cols-t,3),minmax(0,1fr))}}
@media (max-width:640px){.anp-grid{grid-template-columns:repeat(var(--cols-m,2),minmax(0,1fr));gap:calc(var(--space)*2) calc(var(--space)*1.5)}}
.anp-grid--scroll{display:flex;overflow-x:auto;scroll-snap-type:inline mandatory;padding-bottom:12px}
.anp-grid--scroll>*{flex:0 0 clamp(130px,calc(100%/var(--cols-d,6) - 16px),220px);scroll-snap-align:start}
.anp-grid--list{grid-template-columns:1fr!important}
.anp-grid--list .anp-card{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:start}
.anp-grid--archive{--cols-d:var(--archive-cols);--cols-t:3;--cols-m:2}
.anp-grid--chapters{grid-template-columns:repeat(var(--cols-d,2),minmax(0,1fr))}
@media (max-width:640px){.anp-grid--chapters{grid-template-columns:repeat(var(--cols-m,1),minmax(0,1fr))}}
.anp-grid--terms{grid-template-columns:repeat(var(--cols-d,6),minmax(0,1fr));gap:12px}

/* Novel card */
.anp-card{position:relative;min-width:0}
.anp-card__cover{position:relative;display:block;aspect-ratio:var(--cover-ratio);background:color-mix(in srgb,var(--c-primary) 10%,var(--c-surface));border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.anp-card__cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.anp-cover-ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--c-primary),var(--c-secondary));opacity:.35}
[data-hover="lift"] .anp-card:hover .anp-card__cover{transform:translateY(-4px)}
[data-hover="zoom"] .anp-card:hover .anp-card__cover img{transform:scale(1.07)}
.anp-card__status{position:absolute;inset-block-start:8px;inset-inline-start:8px;background:var(--c-primary);color:var(--c-on-primary);font-size:12px;font-weight:700;line-height:1;padding:5px 9px;border-radius:99px}
.anp-card__status[data-status="completed"]{background:var(--c-secondary);color:var(--c-on-primary)}
.anp-card__body{padding-top:10px}
.anp-card__title{font-size:1rem;margin:0 0 2px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.anp-card__title a{color:var(--c-heading);text-decoration:none}
.anp-card__title a:hover{color:var(--c-primary)}
.anp-card__author,.anp-card__meta,.anp-card__latest{font-size:.82rem;color:var(--c-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anp-card__meta span+span::before{content:" · "}
.anp-card__latest a{color:var(--c-primary);text-decoration:none}
[data-card-author="0"] .anp-card__author,[data-card-status="0"] .anp-card__status,[data-card-chapters="0"] .anp-card__chapters,[data-card-updated="0"] .anp-card__updated,[data-card-latest="0"] .anp-card__latest{display:none}
.anp-sec--no-author .anp-card__author,.anp-sec--no-status .anp-card__status,.anp-sec--no-meta .anp-card__meta,.anp-sec--no-chapter .anp-card__latest{display:none}
[data-card="bordered"] .anp-card{border:1px solid var(--c-border);border-radius:calc(var(--radius) + 2px);padding:8px;background:var(--c-surface)}
[data-card="compact"] .anp-card__body{padding-top:6px}
[data-card="compact"] .anp-card__author,[data-card="compact"] .anp-card__latest{display:none}
[data-card="overlay"] .anp-card__body{position:absolute;inset-inline:0;inset-block-end:0;padding:36px 10px 10px;border-radius:0 0 var(--radius) var(--radius);background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none}
[data-card="overlay"] .anp-card{aspect-ratio:var(--cover-ratio);border-radius:var(--radius);overflow:hidden}
[data-card="overlay"] .anp-card__cover{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;box-shadow:none}
[data-card="overlay"] .anp-card__title a,[data-card="overlay"] .anp-card__author,[data-card="overlay"] .anp-card__meta,[data-card="overlay"] .anp-card__latest a{color:#fff}
[data-card="overlay"] .anp-card__body a{pointer-events:auto}
[data-card="overlay"] .anp-card__latest{display:none}

/* Chapter rows */
.anp-chap{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:10px}
.anp-chap__cover{aspect-ratio:2/3;border-radius:calc(var(--radius)/1.5);overflow:hidden;background:color-mix(in srgb,var(--c-primary) 10%,var(--c-surface))}
.anp-chap__cover img{width:100%;height:100%;object-fit:cover}
.anp-chap__body{display:flex;flex-direction:column;min-width:0}
.anp-chap__novel{font-size:.82rem;color:var(--c-muted);text-decoration:none}
.anp-chap__title{font-weight:700;color:var(--c-heading);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anp-chap__date{font-size:.78rem;color:var(--c-muted)}

/* Terms */
.anp-term{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-heading);text-decoration:none;font-weight:700}
.anp-term:hover{border-color:var(--c-primary);color:var(--c-primary)}
.anp-term__count{font-size:.8rem;color:var(--c-muted);font-weight:500}

/* Hero & banner & prose */
.anp-hero{position:relative;overflow:hidden;border-radius:calc(var(--radius)*1.6);background:linear-gradient(135deg,var(--c-primary),var(--c-secondary));color:var(--c-on-primary);min-height:clamp(260px,38vw,420px);display:flex;align-items:center}
.anp-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.anp-hero__shade{position:absolute;inset:0;background:rgba(0,0,0,var(--overlay,.45))}
.anp-hero__body{position:relative;padding:clamp(24px,5vw,64px);max-width:720px}
.anp-align-center.anp-hero{justify-content:center;text-align:center}
.anp-hero__title{color:inherit;font-size:calc(var(--fs-h1)*1.15);margin-bottom:.3em}
.anp-hero__sub{font-size:1.25em;opacity:.95}
.anp-hero__desc{opacity:.9}
.anp-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.anp-align-center .anp-hero__actions{justify-content:center}
.anp-hero .anp-btn--primary{background:var(--c-accent);color:#1a1410}
.anp-banner{position:relative;display:block;height:var(--banner-h,220px);border-radius:var(--radius);overflow:hidden;background:var(--c-surface)}
.anp-banner__img{width:100%;height:100%;object-fit:cover}
.anp-banner__text{position:absolute;inset:auto 0 0;padding:16px 20px;color:#fff;font-weight:800;font-size:1.4em;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.anp-prose{max-width:75ch}
.anp-prose.anp-align-center{margin-inline:auto;text-align:center}
.anp-prose img{border-radius:var(--radius)}

/* Archive pages */
.anp-page-head{padding-block:calc(var(--space)*4) calc(var(--space)*2)}
.anp-page-head p{color:var(--c-muted);max-width:70ch}
.anp-sort{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.anp-sort a{padding:6px 14px;border:1px solid var(--c-border);border-radius:99px;text-decoration:none;color:var(--c-text);background:var(--c-surface);font-size:.9rem}
.anp-sort a[aria-current]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}
.anp-pagination{margin-block:32px}
.anp-pagination .nav-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.anp-pagination .page-numbers{min-width:44px;min-height:44px;display:inline-grid;place-items:center;padding:0 12px;border:1px solid var(--c-border);border-radius:var(--radius);text-decoration:none;color:var(--c-text);background:var(--c-surface)}
.anp-pagination .current{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary)}
.anp-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;font-size:.85rem;color:var(--c-muted)}
.anp-crumbs li+li::before{content:"‹";margin-inline-end:6px}
[dir="ltr"] .anp-crumbs li+li::before{content:"›"}
.anp-crumbs a{color:inherit}
.anp-main{padding-block:24px 56px}
.anp-article{max-width:75ch}

/* Novel details */
.anp-details__hero{display:grid;grid-template-columns:var(--details-cover-w) 1fr;gap:32px;align-items:start;margin-block:24px 32px}
.anp-details__cover{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:var(--cover-ratio);background:color-mix(in srgb,var(--c-primary) 10%,var(--c-surface))}
.anp-details__cover img{width:100%;height:100%;object-fit:cover}
.anp-details__title{margin-bottom:12px}
.anp-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 16px;padding:0}
.anp-chips a,.anp-chips span{display:inline-block;padding:4px 14px;border-radius:99px;background:var(--c-surface);border:1px solid var(--c-border);font-size:.88rem;color:var(--c-text);text-decoration:none}
.anp-chips .is-status{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary)}
.anp-facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0 0 20px;padding:0;list-style:none;color:var(--c-muted)}
.anp-facts strong{color:var(--c-heading)}
.anp-actions-row{display:flex;flex-wrap:wrap;gap:12px}
.anp-details__block{margin-block:32px}
.anp-details__synopsis{max-width:75ch}
[data-details="top"] .anp-details__hero{grid-template-columns:1fr}
[data-details="top"] .anp-details__cover{width:var(--details-cover-w)}
[data-details="centered"] .anp-details__hero{grid-template-columns:1fr;text-align:center;justify-items:center}
[data-details="centered"] .anp-details__cover{width:var(--details-cover-w)}
[data-details="centered"] .anp-chips,[data-details="centered"] .anp-facts,[data-details="centered"] .anp-actions-row{justify-content:center}
@media (max-width:640px){.anp-details__hero{grid-template-columns:1fr;text-align:center;justify-items:center}.anp-details__cover{width:min(var(--details-cover-w),60vw)}.anp-chips,.anp-facts,.anp-actions-row{justify-content:center}}
.anp-chapter-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
@media (max-width:640px){.anp-chapter-list{grid-template-columns:1fr}}
.anp-chapter-list a{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-text);text-decoration:none}
.anp-chapter-list a:hover{border-color:var(--c-primary);color:var(--c-primary)}
.anp-chapter-list time{color:var(--c-muted);font-size:.8rem;white-space:nowrap}

/* Reader */
.anp-reader{background:var(--c-bg);color:var(--c-text);min-height:100vh;transition:background .2s,color .2s}
.anp-progress{position:fixed;inset-block-start:0;inset-inline:0;height:4px;z-index:70;background:transparent;pointer-events:none}
.anp-progress span{display:block;height:100%;background:var(--c-accent);transform:scaleX(0);transform-origin:left}
[dir="rtl"] .anp-progress span{transform-origin:right}
[data-reader-progress="0"] .anp-progress{display:none}
.anp-reader__bar{background:var(--c-surface);border-bottom:1px solid var(--c-border);z-index:40}
[data-reader-sticky="1"] .anp-reader__bar{position:sticky;top:0}
.anp-reader__tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:56px;padding-block:6px}
.anp-reader__tools .sp{flex:1}
.anp-tool{min-width:44px;min-height:44px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
.anp-tool[aria-pressed="true"]{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary)}
.anp-tool:hover{border-color:var(--c-primary)}
.anp-reader__article{width:min(100% - 2*var(--gutter),var(--reader-width));margin-inline:auto;padding-block:40px 24px}
.anp-reader__title{font-size:calc(var(--reader-size)*1.5);text-align:center}
.anp-reader__novel{display:block;text-align:center;color:var(--c-muted);margin-bottom:24px;text-decoration:none}
.anp-reader__text{font-family:var(--font-reading);font-size:var(--reader-size);line-height:var(--reader-lh);color:var(--c-text)}
.anp-reader__text p{margin:0 0 var(--reader-gap)}
[data-reader-align="justify"] .anp-reader__text{text-align:justify}
.anp-reader__nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(100% - 2*var(--gutter),var(--reader-width));margin:0 auto;padding-bottom:56px}
.anp-reader__nav .anp-btn{width:100%}
.anp-reader__nav .is-disabled{opacity:.45;pointer-events:none}
.anp-reader:fullscreen{overflow:auto}

/* Footer */
.anp-footer{background:var(--c-surface);border-top:1px solid var(--c-border);padding-block:32px;color:var(--c-muted)}
.anp-footer__inner{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.anp-footer .anp-menu a{color:var(--c-muted)}
.anp-widget__title{font-size:1rem}
.anp-top{position:fixed;inset-block-end:20px;inset-inline-end:20px;z-index:45;width:48px;height:48px;border-radius:50%;border:0;background:var(--c-primary);color:var(--c-on-primary);box-shadow:var(--shadow);cursor:pointer;display:none;place-items:center}
.anp-top.is-visible{display:grid}
[data-backtop="0"] .anp-top{display:none!important}

/* Forms / comments / 404 */
.anp-404{text-align:center;padding-block:80px}
.anp-404 .anp-btn{margin-top:16px}
input,select,textarea{font:inherit}
