/* ==========================================================================
   AP Aromanish — core stylesheet
   Mobile-first, vanilla CSS, CSS variables, no build step required.
   ========================================================================== */

:root{
  --ap-ink:#1B1F3B;
  --ap-ink-soft:#3A3F63;
  --ap-gold:#C9A227;
  --ap-gold-dark:#a9860f;
  --ap-paper:#FAF7F2;
  --ap-paper-2:#F1ECE1;
  --ap-white:#ffffff;
  --ap-line:#E4DFD3;
  --ap-success:#2E7D32;
  --ap-radius:10px;
  --ap-shadow: 0 4px 20px rgba(27,31,59,.08);
  --ap-font-head: Georgia, 'Times New Roman', serif;
  --ap-font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Inter, Roboto, Arial, sans-serif;
  --ap-max: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--ap-font-body);
  color: var(--ap-ink);
  background: var(--ap-white);
  line-height: 1.6;
  font-size: 16px;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ap-ink); text-decoration: none; }
h1, h2, h3, h4 { font-family: var(--ap-font-head); line-height: 1.2; margin: 0 0 .5em; }
h1 { font-size: clamp(1.9rem, 4vw, 3rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1em; }
ul { margin: 0; padding: 0; list-style: none; }

.screen-reader-text{ position:absolute; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px; }
.ap-skip-link{ position:absolute; left:-999px; top:0; background:var(--ap-ink); color:#fff; padding:.75em 1em; z-index:1000; }
.ap-skip-link:focus{ left:0; }

.ap-container{ max-width: var(--ap-max); margin: 0 auto; padding: 0 1.25rem; }
.ap-container--narrow{ max-width: 760px; }
.ap-section{ padding: 3.5rem 0; }
.ap-section--tinted{ background: var(--ap-paper); }
.ap-section__title{ margin-top:.25rem; }
.ap-section__lede{ max-width: 640px; color: var(--ap-ink-soft); }
.ap-section__more{ margin-top: 1.5rem; }
.ap-eyebrow{ text-transform: uppercase; letter-spacing:.08em; font-size:.8rem; font-weight:700; color: var(--ap-gold-dark); margin-bottom:.5rem; }

/* ---------- Buttons ---------- */
.ap-btn{ display:inline-block; padding:.75em 1.4em; border-radius: var(--ap-radius); font-weight:600; border:2px solid transparent; transition: transform .15s ease, background .15s ease; }
.ap-btn:hover{ transform: translateY(-1px); }
.ap-btn--primary{ background: var(--ap-ink); color:#fff; }
.ap-btn--primary:hover{ background: var(--ap-ink-soft); color: #fff; }
.ap-btn--outline{ border-color: var(--ap-ink); color: var(--ap-ink); }
.ap-btn--outline:hover{ background: var(--ap-ink); color:#fff; }
.ap-btn--lg{ padding:1em 1.8em; font-size:1.05rem; }
.ap-link-arrow{ font-weight:600; color: var(--ap-gold-dark); }
.ap-link-arrow:hover{ text-decoration: underline; }

/* ---------- Header ---------- */
.ap-header{ position: sticky; top:0; z-index:100; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); border-bottom:1px solid var(--ap-line); }
.ap-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1.25rem; }
.ap-header__text-logo{ font-family: var(--ap-font-head); font-size:1.4rem; font-weight:700; }
.ap-nav{ display:none; }
.ap-nav__list{ display:flex; gap:1.5rem; }
.ap-nav__list a{ font-weight:600; }
.ap-nav__list a:hover{ color: var(--ap-gold-dark); }
.ap-header__actions{ display:flex; align-items:center; gap:.6rem; }
.ap-header__wa{ display:none; }
.ap-nav__toggle{ display:flex; flex-direction:column; gap:4px; background:none; border:0; padding:.4rem; cursor:pointer; }
.ap-nav__toggle span{ width:22px; height:2px; background: var(--ap-ink); display:block; }

@media (min-width: 900px){
  .ap-nav{ display:block; }
  .ap-nav__list{ position:static; flex-direction:row; background:none; padding:0; box-shadow:none; }
  .ap-header__wa{ display:inline-block; }
  .ap-nav__toggle{ display:none; }
}
@media (max-width: 899px){
  .ap-nav{ display:block; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--ap-line); box-shadow: var(--ap-shadow); }
  .ap-nav[hidden]{ display:none; }
  .ap-nav__list{ flex-direction:column; padding:1rem 1.25rem; gap:0; }
  .ap-nav__list li{ border-bottom:1px solid var(--ap-line); }
  .ap-nav__list a{ display:block; padding:.85rem 0; }
}

/* ---------- Breadcrumbs ---------- */
.ap-breadcrumbs{ font-size:.85rem; color: var(--ap-ink-soft); padding: .75rem 0; }
.ap-breadcrumbs ol{ display:flex; flex-wrap:wrap; gap:.35rem; }
.ap-breadcrumbs li:not(:last-child)::after{ content:'/'; margin-left:.35rem; color: var(--ap-line); }
.ap-breadcrumbs a:hover{ text-decoration: underline; }

/* ---------- Hero ---------- */
.ap-hero{ padding: 4.5rem 0 3rem; background: linear-gradient(180deg, var(--ap-paper), #fff); text-align:center; }
.ap-hero--page{ padding: 3rem 0 2rem; text-align:left; }
.ap-hero__inner{ max-width: 820px; margin:0 auto; }
.ap-hero__sub{ font-size:1.1rem; color: var(--ap-ink-soft); max-width: 640px; margin: 0 auto 1.5rem; }
.ap-hero--page .ap-hero__sub{ margin: 0 0 1.5rem; }
.ap-hero__cta{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:1.5rem; }
.ap-hero--page .ap-hero__cta{ justify-content:flex-start; }

.ap-trust-badges{ display:flex; gap:1.25rem; justify-content:center; flex-wrap:wrap; font-size:.85rem; color: var(--ap-success); font-weight:600; }

.ap-stats-strip{ display:grid; grid-template-columns: repeat(2, 1fr); gap:1.5rem; max-width: var(--ap-max); margin:0 auto; padding: 2rem 1.25rem; text-align:center; }
.ap-stats-strip__item strong{ display:block; font-family: var(--ap-font-head); font-size:1.8rem; color: var(--ap-ink); }
.ap-stats-strip__item span{ color: var(--ap-ink-soft); font-size:.9rem; }
@media (min-width: 700px){ .ap-stats-strip{ grid-template-columns: repeat(4, 1fr); } }

/* ---------- Grids & Cards ---------- */
.ap-grid{ display:grid; gap:1.5rem; margin-top:2rem; }
.ap-grid--2{ grid-template-columns: 1fr; }
.ap-grid--3{ grid-template-columns: 1fr; }
.ap-grid--4{ grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px){
  .ap-grid--2{ grid-template-columns: repeat(2, 1fr); }
  .ap-grid--3{ grid-template-columns: repeat(3, 1fr); }
  .ap-grid--4{ grid-template-columns: repeat(4, 1fr); }
}

.ap-card{ background:#fff; border:1px solid var(--ap-line); border-radius: var(--ap-radius); padding:1.5rem; box-shadow: var(--ap-shadow); }
.ap-service-card__icon{ font-size:2rem; margin-bottom:.5rem; }
.ap-service-card__list li{ position:relative; padding-left:1.2em; margin-bottom:.3em; color: var(--ap-ink-soft); font-size:.95rem; }
.ap-service-card__list li::before{ content:'✓'; position:absolute; left:0; color: var(--ap-gold-dark); }

.ap-package-card{ position:relative; text-align:center; }
.ap-package-card.is-featured{ border-color: var(--ap-gold); transform: scale(1.02); }
.ap-package-card__badge{ position:absolute; top:-12px; left:50%; transform:translateX(-50%); background: var(--ap-gold); color:#fff; font-size:.75rem; font-weight:700; padding:.25em .8em; border-radius:999px; }
.ap-package-card__price{ font-family: var(--ap-font-head); font-size:1.8rem; margin: .5rem 0 1rem; }
.ap-package-card__price span{ font-size:.9rem; font-weight:400; color: var(--ap-ink-soft); }
.ap-package-card ul{ text-align:left; margin-bottom:1.5rem; }
.ap-package-card ul li{ position:relative; padding-left:1.2em; margin-bottom:.4em; }
.ap-package-card ul li::before{ content:'✓'; position:absolute; left:0; color: var(--ap-success); }

.ap-post-card, .ap-book-card{ display:block; }
.ap-post-card img{ border-radius: var(--ap-radius) var(--ap-radius) 0 0; margin-bottom:1rem; aspect-ratio: 3/2; object-fit: cover; }
.ap-post-card__date{ font-size:.8rem; color: var(--ap-ink-soft); }

.ap-book-card{ text-align:center; }
.ap-book-card__cover img{ border-radius: var(--ap-radius); box-shadow: var(--ap-shadow); aspect-ratio: 2/3; object-fit: cover; margin: 0 auto 1rem; }
.ap-book-card__price{ font-weight:700; color: var(--ap-gold-dark); }

.ap-step-card{ text-align:center; }
.ap-step-card__num{ display:inline-flex; align-items:center; justify-content:center; width:2.2rem; height:2.2rem; border-radius:50%; background: var(--ap-ink); color:#fff; font-weight:700; margin-bottom:.75rem; }

.ap-case-card__stat{ font-size:1.2rem; color: var(--ap-gold-dark); }

/* ---------- CTA band ---------- */
.ap-section--cta{ background: var(--ap-ink); color:#fff; text-align:center; padding: 3.5rem 0; }
.ap-section--cta h2{ color:#fff; }
.ap-section--cta p{ color: #C9CBE0; }
.ap-section--cta--inline{ background: var(--ap-paper-2); color: var(--ap-ink); border-radius: var(--ap-radius); padding: 2.5rem; text-align:center; margin-top: 3rem; }
.ap-section--cta--inline h2{ color: var(--ap-ink); }

/* ---------- Author box / EEAT ---------- */
.ap-author-box{ display:flex; gap:1rem; align-items:flex-start; background: var(--ap-paper); border-radius: var(--ap-radius); padding:1.25rem; margin:2rem 0; }
.ap-author-box__avatar img{ border-radius:50%; }
.ap-author-box__label{ text-transform:uppercase; font-size:.75rem; letter-spacing:.06em; color: var(--ap-ink-soft); margin:0; }
.ap-author-box__name{ margin:.1rem 0; }
.ap-author-box__title{ color: var(--ap-gold-dark); font-weight:600; margin:.1rem 0; }
.ap-post-dates{ color: var(--ap-ink-soft); font-size:.85rem; }

/* ---------- Share buttons ---------- */
.ap-share{ display:flex; align-items:center; gap:.75rem; margin:2rem 0; padding-top:1.5rem; border-top:1px solid var(--ap-line); }
.ap-share a{ display:inline-flex; }

/* ---------- Social icons ---------- */
.ap-social-icons{ display:flex; gap:.75rem; margin-top:1rem; }
.ap-social-icons a{ display:flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; background: var(--ap-paper-2); color: var(--ap-ink); }
.ap-social-icons a:hover{ background: var(--ap-gold); color:#fff; }

/* ---------- WhatsApp float ---------- */
.ap-whatsapp-float{ position:fixed; bottom:1.5rem; right:1.5rem; width:56px; height:56px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(0,0,0,.25); z-index:200; }

/* ---------- Footer ---------- */
.ap-footer{ background: var(--ap-ink); color:#C9CBE0; padding: 3rem 0 1.5rem; margin-top:3rem; }
.ap-footer h4{ color:#fff; }
.ap-footer a{ color:#C9CBE0; }
.ap-footer a:hover{ color:#fff; }
.ap-footer__grid{ display:grid; gap:2rem; grid-template-columns: 1fr; }
.ap-footer__col ul li{ margin-bottom:.5rem; }
.ap-footer__logo-text{ color:#fff; font-family: var(--ap-font-head); font-size:1.3rem; }
.ap-footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.1); font-size:.85rem; }
.ap-footer__legal{ display:flex; gap:1.5rem; }
@media (min-width: 700px){ .ap-footer__grid{ grid-template-columns: 2fr 1fr 1fr 1fr; } }

/* ---------- Forms ---------- */
.ap-contact-form, .ap-search-form{ display:flex; flex-direction:column; gap:.75rem; max-width: 480px; }
.ap-search-form{ flex-direction:row; max-width:none; }
.ap-contact-form input, .ap-contact-form textarea, .ap-search-form input{ padding:.75em; border:1px solid var(--ap-line); border-radius: var(--ap-radius); font-family: inherit; font-size:1rem; }
.ap-search-form input{ flex:1; }
.ap-search-form button{ padding:.75em 1.2em; border:0; background: var(--ap-ink); color:#fff; border-radius: var(--ap-radius); cursor:pointer; }
.ap-form-note{ font-size:.85rem; color: var(--ap-ink-soft); font-style:italic; }
.ap-contact-side{ background: var(--ap-paper); border-radius: var(--ap-radius); padding:1.5rem; align-self:flex-start; }

/* ---------- FAQ ---------- */
.ap-faq-list{ margin-top:1.5rem; }
.ap-faq-item{ border-bottom:1px solid var(--ap-line); padding:1rem 0; }
.ap-faq-item summary{ font-weight:700; cursor:pointer; }

/* ---------- Layout w/ sidebar ---------- */
.ap-layout--sidebar{ display:grid; gap:2rem; grid-template-columns: 1fr; }
@media (min-width: 900px){ .ap-layout--sidebar{ grid-template-columns: 2.2fr 1fr; } }
.ap-widget{ margin-bottom:1.5rem; }
.ap-widget__title{ font-size:1rem; }

/* ---------- Delivery note / book meta (WooCommerce) ---------- */
.ap-delivery-note{ background: var(--ap-paper); border-radius: var(--ap-radius); padding:.75em 1em; font-weight:600; }
.ap-book-meta{ margin:1rem 0; }
.ap-book-meta li{ margin-bottom:.3em; }

/* ---------- Utility ---------- */
.ap-page-links{ margin-top:2rem; }
.ap-related{ margin-top:3rem; padding-top:2rem; border-top:1px solid var(--ap-line); }
.ap-comments{ margin-top:3rem; padding-top:2rem; border-top:1px solid var(--ap-line); }

/* ---------- WooCommerce spacing fixes (kept minimal on purpose) ---------- */
.ap-shop-wrap ul.products{ display:grid; grid-template-columns: repeat(2, 1fr); gap:1.5rem; list-style:none; padding:0; margin: 2rem 0 0; }
@media (min-width: 700px){ .ap-shop-wrap ul.products{ grid-template-columns: repeat(4, 1fr); } }
.ap-shop-wrap ul.products li.product{ background:#fff; border:1px solid var(--ap-line); border-radius: var(--ap-radius); padding:1rem; box-shadow: var(--ap-shadow); }
.ap-shop-wrap ul.products li.product img{ border-radius: var(--ap-radius); aspect-ratio:2/3; object-fit:cover; }
