*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --cream:#fdf6ee; --warm:#f5e8d3; --terracotta:#c96b3e;
      --terra-dark:#a0522d; --gold:#d4a855; --brown:#5c3d2e;
      --text:#3b2a1a; --muted:#8a7060; --white:#ffffff;
      --radius:12px; --shadow:0 4px 20px rgba(92,61,46,.12);
      --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
      --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    }
    html { scroll-behavior: smooth; }
    body { font-family:var(--sans); background:var(--cream); color:var(--text); line-height:1.7; }
    h1,h2,h3,h4 { font-family:var(--serif); line-height:1.3; }
    a { color:inherit; text-decoration:none; }
    img { max-width:100%; border-radius:var(--radius); display:block; }

    .section-tag { display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--terracotta); margin-bottom:.6rem; }
    .container { max-width:1140px; margin:0 auto; padding:0 24px; }
    .btn { display:inline-block; padding:.75rem 1.75rem; border-radius:50px; font-weight:700; font-size:.9rem; cursor:pointer; transition:all .25s; border:2px solid transparent; font-family:'Lato',sans-serif; }
    .btn-primary { background:var(--terracotta); color:var(--white); }
    .btn-primary:hover { background:var(--terra-dark); transform:translateY(-2px); box-shadow:var(--shadow); }
    .btn-outline { background:transparent; border-color:var(--terracotta); color:var(--terracotta); }
    .btn-outline:hover { background:var(--terracotta); color:var(--white); transform:translateY(-2px); }
    .btn-gold { background:var(--gold); color:var(--brown); }
    .btn-gold:hover { background:#c49040; transform:translateY(-2px); }

    /* ===== NAVBAR ===== */
    #navbar { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(253,246,238,.97); backdrop-filter:blur(8px); border-bottom:1px solid rgba(212,168,85,.25); transition:box-shadow .3s; }
    #navbar.scrolled { box-shadow:0 2px 16px rgba(92,61,46,.15); }
    .nav-inner { display:flex; align-items:center; justify-content:space-between; height:68px; }
    .logo { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:700; color:var(--brown); display:flex; align-items:center; gap:.4rem; cursor:pointer; }
    .logo span { color:var(--terracotta); }
    .nav-links { display:flex; list-style:none; gap:1.5rem; align-items:center; }
    .nav-links a { font-size:.88rem; font-weight:700; color:var(--brown); transition:color .2s; position:relative; padding-bottom:2px; }
    .nav-links a::after { content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--terracotta); transition:width .25s; }
    .nav-links a:hover { color:var(--terracotta); }
    .nav-links a:hover::after { width:100%; }
    .nav-links .shop-link { color:var(--terracotta); }

    /* Language switcher */
    .lang-switcher { display:flex; gap:4px; align-items:center; background:var(--warm); border-radius:50px; padding:4px; }
    .lang-btn { background:none; border:none; padding:4px 8px; border-radius:20px; font-size:.78rem; font-weight:700; cursor:pointer; color:var(--muted); transition:all .2s; font-family:'Lato',sans-serif; }
    .lang-btn.active { background:var(--terracotta); color:var(--white); }
    .lang-btn:hover:not(.active) { background:rgba(201,107,62,.15); color:var(--terracotta); }

    .cart-icon { position:relative; cursor:pointer; font-size:1.2rem; }
    .cart-badge { position:absolute; top:-6px; right:-8px; background:var(--terracotta); color:var(--white); border-radius:50%; width:16px; height:16px; font-size:.65rem; display:flex; align-items:center; justify-content:center; font-weight:700; }
    .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
    .hamburger span { width:26px; height:2px; background:var(--brown); border-radius:2px; }
    .mobile-menu { display:none; position:fixed; top:68px; left:0; right:0; background:var(--cream); border-bottom:1px solid var(--warm); padding:1.2rem; z-index:999; flex-direction:column; gap:.6rem; }
    .mobile-menu.open { display:flex; }
    .mobile-menu a { display:block; padding:.6rem 1rem; border-radius:8px; font-weight:700; color:var(--brown); }
    .mobile-menu a:hover { background:var(--warm); color:var(--terracotta); }
    .mobile-lang { display:flex; gap:6px; padding:.5rem 1rem; }

    /* ===== PAGES ===== */
    .page { display:none; }
    .page.active { display:block; }

    /* ===== HERO ===== */
    .hero { background:linear-gradient(135deg,#fdf0e2,#f9e4cc 60%,#faebd0); padding:80px 0 60px; position:relative; overflow:hidden; }
    .hero::before { content:''; position:absolute; top:-80px; right:-80px; width:420px; height:420px; background:radial-gradient(circle,rgba(212,168,85,.18),transparent 70%); border-radius:50%; }
    .hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
    .hero-text h1 { font-size:2.8rem; color:var(--brown); margin-bottom:1rem; }
    .hero-text h1 em { font-style:normal; color:var(--terracotta); }
    .hero-text p { font-size:1.05rem; color:var(--muted); margin-bottom:1.8rem; max-width:480px; }
    .hero-btns { display:flex; gap:1rem; flex-wrap:wrap; }
    .hero-visual { display:flex; justify-content:center; align-items:center; gap:16px; }
    .book-visual { width:130px; height:190px; border-radius:6px 14px 14px 6px; position:relative; box-shadow:6px 8px 24px rgba(92,61,46,.35); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:.8rem; color:var(--white); text-align:center; padding:12px; line-height:1.4; }
    .book-visual::before { content:''; position:absolute; left:0; top:0; bottom:0; width:12px; background:rgba(0,0,0,.15); border-radius:6px 0 0 6px; }
    .book-1 { background:linear-gradient(160deg,#3d7a5e,#1f4d3a); transform:rotate(-5deg); }
    .book-2 { background:linear-gradient(160deg,#c96b3e,#8b3a1c); transform:rotate(3deg) translateY(-12px); }
    .book-3 { background:linear-gradient(160deg,#5b4e8c,#3b2d6e); transform:rotate(-2deg) translateY(8px); }

    .section-title { text-align:center; margin-bottom:3rem; }
    .section-title h2 { font-size:2.1rem; color:var(--brown); margin-bottom:.5rem; }
    .section-title p { color:var(--muted); max-width:560px; margin:0 auto; }

    .strip { background:var(--brown); color:var(--white); padding:22px 0; }
    .strip-inner { display:flex; gap:2rem; justify-content:center; flex-wrap:wrap; }
    .strip-item { display:flex; align-items:center; gap:.6rem; font-size:.88rem; font-weight:700; }

    /* ===== BOOKS ===== */
    .books-section { padding:80px 0; }
    .filter-tabs { display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; margin-bottom:2.5rem; }
    .filter-tab { padding:.45rem 1.2rem; border-radius:50px; border:2px solid var(--warm); background:var(--warm); color:var(--muted); font-size:.85rem; font-weight:700; cursor:pointer; transition:all .2s; }
    .filter-tab.active,.filter-tab:hover { background:var(--terracotta); border-color:var(--terracotta); color:var(--white); }
    .books-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:28px; }
    .book-card { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:transform .25s,box-shadow .25s; }
    .book-card:hover { transform:translateY(-6px); box-shadow:0 12px 32px rgba(92,61,46,.18); }
    .book-cover { height:240px; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; color:var(--white); font-size:1rem; text-align:center; padding:20px; position:relative; }
    .book-cover.has-image { padding:0; background:var(--warm); overflow:hidden; }
    .book-cover.has-image img { width:100%; height:100%; object-fit:cover; border-radius:0; }
    .book-cover .badge { position:absolute; top:12px; right:12px; background:var(--gold); color:var(--brown); font-size:.65rem; font-weight:700; padding:3px 8px; border-radius:20px; text-transform:uppercase; }
    .book-info { padding:16px; }
    .book-info h3 { font-size:1rem; margin-bottom:.25rem; color:var(--brown); }
    .book-info .author { font-size:.82rem; color:var(--muted); margin-bottom:.5rem; }
    .book-info .price { font-weight:700; color:var(--terracotta); font-size:1rem; }
    .book-info .add-btn { display:block; margin-top:.75rem; text-align:center; background:var(--warm); color:var(--brown); padding:.45rem; border-radius:8px; font-size:.82rem; font-weight:700; cursor:pointer; transition:background .2s; }
    .book-info .add-btn:hover { background:var(--terracotta); color:var(--white); }

    /* ===== ABOUT ===== */
    .about-section { padding:80px 0; background:var(--warm); }
    .about-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
    .about-visual { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .about-img { border-radius:var(--radius); height:160px; display:flex; align-items:center; justify-content:center; font-size:2.5rem; }
    .about-img.tall { grid-row:span 2; height:100%; }
    .about-text h2 { font-size:2rem; color:var(--brown); margin-bottom:1rem; }
    .about-text p { color:var(--muted); margin-bottom:1rem; }
    .values { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
    .value-chip { background:var(--white); border-radius:50px; padding:.4rem 1rem; font-size:.82rem; font-weight:700; color:var(--brown); display:flex; align-items:center; gap:.4rem; box-shadow:0 2px 8px rgba(92,61,46,.1); }

    /* ===== AUTHORS ===== */
    .authors-section { padding:80px 0; }
    .authors-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:28px; }
    .author-card { background:var(--white); border-radius:var(--radius); padding:28px 24px; text-align:center; box-shadow:var(--shadow); transition:transform .25s; }
    .author-card:hover { transform:translateY(-4px); }
    .author-avatar { width:90px; height:90px; border-radius:50%; margin:0 auto 1rem; display:flex; align-items:center; justify-content:center; font-size:2.4rem; }
    .author-avatar.has-image { overflow:hidden; background:var(--warm); }
    .author-avatar.has-image img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
    .author-card h3 { font-size:1.1rem; color:var(--brown); margin-bottom:.25rem; }
    .author-card .role { font-size:.82rem; color:var(--terracotta); font-weight:700; margin-bottom:.75rem; }
    .author-card p { font-size:.88rem; color:var(--muted); }

    /* ===== SHOP ===== */
    .shop-section { padding:80px 0; background:var(--warm); }
    .shop-categories { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; margin-bottom:3rem; }
    .shop-cat { background:var(--white); border-radius:var(--radius); padding:24px; text-align:center; box-shadow:var(--shadow); cursor:pointer; transition:all .25s; border:2px solid transparent; }
    .shop-cat:hover,.shop-cat.active { border-color:var(--terracotta); transform:translateY(-4px); }
    .shop-cat .cat-icon { font-size:2.2rem; margin-bottom:.6rem; }
    .shop-cat h3 { color:var(--brown); margin-bottom:.3rem; font-size:1rem; }
    .shop-cat p { font-size:.82rem; color:var(--muted); }
    .shop-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:24px; }
    .shop-item { background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:transform .25s; }
    .shop-item:hover { transform:translateY(-5px); }
    .shop-img { height:190px; display:flex; align-items:center; justify-content:center; font-size:3rem; }
    .shop-img.has-image { padding:0; overflow:hidden; background:var(--warm); }
    .shop-img.has-image img { width:100%; height:100%; object-fit:cover; border-radius:0; }
    .shop-item-info { padding:16px; }
    .shop-item-info h4 { font-size:.95rem; color:var(--brown); margin-bottom:.25rem; }
    .shop-item-info .desc { font-size:.8rem; color:var(--muted); margin-bottom:.6rem; }
    .shop-item-info .row { display:flex; justify-content:space-between; align-items:center; }
    .shop-item-info .price { font-weight:700; color:var(--terracotta); }
    .shop-item-info .cart-btn { background:var(--gold); color:var(--brown); border:none; border-radius:8px; padding:.35rem .75rem; font-size:.82rem; font-weight:700; cursor:pointer; transition:background .2s; font-family:'Lato',sans-serif; }
    .shop-item-info .cart-btn:hover { background:#c49040; }

    .shop-cat { font-family:'Lato',sans-serif; }
    .book-info form { margin-top:.75rem; }
    .book-info .add-btn { width:100%; border:none; font-family:'Lato',sans-serif; }
    [data-cart-submit] { position:relative; min-height:34px; }
    [data-cart-submit].is-loading { pointer-events:none; color:transparent !important; opacity:.9; }
    [data-cart-submit].is-loading span { opacity:0; }
    [data-cart-submit].is-loading::after {
      content:'';
      position:absolute;
      inset:0;
      margin:auto;
      width:16px;
      height:16px;
      border-radius:50%;
      border:2px solid rgba(255,255,255,.95);
      border-top-color:transparent;
      animation:spin .75s linear infinite;
    }
    @keyframes spin { to { transform:rotate(360deg); } }

    .cart-shell { background:var(--white); border-radius:var(--radius); padding:12px 24px 24px; box-shadow:var(--shadow); }
    .cart-list { display:flex; flex-direction:column; }
    .cart-item { display:grid; grid-template-columns:1fr auto; gap:1.5rem; align-items:center; padding:18px 0; border-bottom:1px solid var(--warm); transition:opacity .22s, transform .22s; }
    .cart-item.is-removing { opacity:0; transform:translateX(16px); }
    .cart-item-main { display:flex; gap:1rem; align-items:center; min-width:0; }
    .cart-item-main strong { color:var(--brown); }
    .cart-item-mark { width:46px; height:58px; border-radius:8px; background:linear-gradient(160deg,var(--terracotta),var(--terra-dark)); color:var(--white); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-weight:700; box-shadow:0 6px 16px rgba(92,61,46,.16); flex-shrink:0; }
    .cart-meta { color:var(--muted); font-size:.9rem; }
    .cart-actions { display:flex; align-items:center; gap:1rem; }
    .qty-control { display:flex; align-items:center; gap:0; border:2px solid var(--warm); border-radius:999px; overflow:hidden; background:var(--cream); }
    .qty-control form { margin:0; }
    .qty-btn { width:34px; height:34px; border:none; background:transparent; color:var(--brown); font-size:1rem; font-weight:700; cursor:pointer; font-family:'Lato',sans-serif; }
    .qty-btn:hover { background:var(--warm); }
    .qty-number { min-width:34px; text-align:center; color:var(--brown); font-weight:700; }
    .cart-line-total { min-width:96px; text-align:right; color:var(--terracotta); }
    .remove-btn { border:none; background:rgba(201,107,62,.1); color:var(--terracotta); border-radius:999px; padding:.5rem .9rem; font-size:.82rem; font-weight:700; cursor:pointer; font-family:'Lato',sans-serif; }
    .remove-btn:hover { background:var(--terracotta); color:var(--white); }
    .cart-total { display:flex; justify-content:space-between; align-items:center; margin-top:1.2rem; padding:1.2rem 0 0; font-size:1.2rem; color:var(--brown); }
    .cart-footer-actions { display:flex; gap:1rem; justify-content:flex-end; flex-wrap:wrap; margin-top:1.5rem; }

    /* ===== CONTACT ===== */
    .contact-section { padding:80px 0; }
    .contact-inner { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; align-items:start; }
    .contact-info h2 { font-size:1.9rem; color:var(--brown); margin-bottom:1rem; }
    .contact-info p { color:var(--muted); margin-bottom:2rem; }
    .contact-details { display:flex; flex-direction:column; gap:1rem; }
    .contact-detail { display:flex; align-items:flex-start; gap:.9rem; }
    .contact-detail .icon { width:40px; height:40px; background:var(--warm); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
    .contact-detail strong { display:block; color:var(--brown); font-size:.9rem; }
    .contact-detail span { font-size:.85rem; color:var(--muted); }
    .contact-form { background:var(--white); border-radius:var(--radius); padding:36px; box-shadow:var(--shadow); }
    .contact-form h3 { font-size:1.3rem; color:var(--brown); margin-bottom:1.5rem; }
    .form-group { margin-bottom:1.2rem; }
    .form-group label { display:block; font-size:.85rem; font-weight:700; color:var(--brown); margin-bottom:.4rem; }
    .form-group input,.form-group select,.form-group textarea { width:100%; padding:.75rem 1rem; border:2px solid var(--warm); border-radius:10px; font-family:'Lato',sans-serif; font-size:.9rem; color:var(--text); background:var(--cream); transition:border-color .2s; outline:none; }
    .form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--terracotta); }
    .form-group textarea { height:130px; resize:vertical; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
    .form-success { display:none; text-align:center; padding:1.5rem; color:var(--terracotta); font-weight:700; }

    /* ===== NEWSLETTER ===== */
    .newsletter { background:linear-gradient(135deg,var(--terracotta),var(--terra-dark)); padding:60px 0; text-align:center; color:var(--white); }
    .newsletter h2 { font-size:1.8rem; margin-bottom:.5rem; }
    .newsletter p { opacity:.85; margin-bottom:1.8rem; }
    .nl-form { display:flex; gap:.75rem; max-width:460px; margin:0 auto; }
    .nl-form input { flex:1; padding:.75rem 1.2rem; border-radius:50px; border:none; font-size:.9rem; outline:none; font-family:'Lato',sans-serif; }

    /* ===== STATS ===== */
    .stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:24px; margin-top:4rem; }
    .stat-box { text-align:center; padding:2rem; background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); }
    .stat-num { font-size:2.4rem; font-family:'Playfair Display',serif; color:var(--terracotta); font-weight:700; }
    .stat-lbl { color:var(--muted); font-size:.88rem; }

    /* ===== SOCIALS ===== */
    .socials { display:flex; gap:.75rem; }
    .social-btn { width:36px; height:36px; background:rgba(255,255,255,.1); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; cursor:pointer; transition:background .2s; }
    .social-btn:hover { background:var(--gold); }

    /* ===== FOOTER ===== */
    footer { background:var(--brown); color:rgba(255,255,255,.8); padding:60px 0 28px; }
    .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
    .footer-logo { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--white); margin-bottom:.75rem; }
    .footer-logo span { color:var(--gold); }
    .footer-col p { font-size:.875rem; line-height:1.8; }
    .footer-col h4 { font-size:.88rem; color:var(--white); font-weight:700; margin-bottom:1rem; letter-spacing:.05em; }
    .footer-links { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
    .footer-links a { font-size:.85rem; color:rgba(255,255,255,.65); transition:color .2s; }
    .footer-links a:hover { color:var(--gold); }
    .footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem; font-size:.8rem; color:rgba(255,255,255,.5); }
    .footer-bottom a { color:var(--gold); }

    /* ===== TOAST ===== */
    .toast { position:fixed; bottom:28px; right:28px; background:var(--brown); color:var(--white); padding:.9rem 1.4rem; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.2); font-size:.9rem; font-weight:700; z-index:9999; opacity:0; transform:translateY(20px); transition:all .35s; pointer-events:none; }
    .toast.show { opacity:1; transform:translateY(0); }

    /* ===== RESPONSIVE ===== */
    @media(max-width:960px) {
      .nav-links { display:none; }
      .hamburger { display:flex; }
      .hero-inner,.about-inner,.contact-inner { grid-template-columns:1fr; }
      .hero-visual,.about-visual { display:none; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .nl-form { flex-direction:column; }
    }
    @media(max-width:600px) {
      .hero-text h1 { font-size:2rem; }
      .footer-grid { grid-template-columns:1fr; }
      .form-row { grid-template-columns:1fr; }
      .cart-shell { padding:8px 16px 20px; }
      .cart-item { grid-template-columns:1fr; gap:1rem; }
      .cart-actions { justify-content:space-between; flex-wrap:wrap; }
      .cart-line-total { text-align:left; min-width:auto; }
    }

    /* ===== WORDPRESS-LIKE SCROLL FADE IN ===== */
    [data-animate] {
      opacity: 0;
      transform: translateY(34px);
      transition:
        opacity .85s ease,
        transform .85s cubic-bezier(.2,.8,.2,1);
      transition-delay: var(--delay, 0ms);
      will-change: opacity, transform;
    }
    [data-animate].is-visible {
      opacity: 1;
      transform: translateY(0);
    }
    [data-animate="fade-left"] { transform: translateX(34px); }
    [data-animate="fade-right"] { transform: translateX(-34px); }
    [data-animate="zoom-in"] { transform: scale(.94); }
    [data-animate="fade-left"].is-visible,
    [data-animate="fade-right"].is-visible,
    [data-animate="zoom-in"].is-visible {
      transform: translateX(0) scale(1);
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      [data-animate] {
        opacity: 1;
        transform: none;
        transition: none;
      }
    }
