@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* =====================================================================
   OLD MONEY · ROMANIAN EXECUTIVE  —  public theme for the smartrecupe linktree
   Scoped to body:not([data-theme]) so the /admin panel (data-theme="light")
   is never affected.  No HTML/structure/content is changed; this stylesheet
   only restyles the classes emitted by index.php / page_template.php.
   Readability pass: body text uses Lora (legible serif), higher contrast and
   larger sizes; original "Smart Recupe" logo preserved on an ivory plate.
   ===================================================================== */

:root {
  --om-bg:#0f0d0b; --om-card:#171411;
  --om-brass-d:#8a6a3d; --om-brass:#b89152; --om-brass-l:#d6b06d;
  --om-label:#cda564;                 /* brighter brass for small-caps labels */
  --om-border:#6e5530; --om-ivory:#f2e5c9;
  --om-ivory-dim:rgba(242,229,201,0.88); --om-ivory-faint:rgba(242,229,201,0.62);
  --om-plate:#f3ead4;                 /* ivory plate behind the dark logo */
}

body:not([data-theme]) *,
body:not([data-theme]) *::before,
body:not([data-theme]) *::after { box-sizing:border-box; }

body:not([data-theme]) {
  margin:0; min-height:100vh; color:var(--om-ivory);
  font-family:'Lora', Georgia, 'Times New Roman', serif; font-size:18px; line-height:1.62;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
  background-color:var(--om-bg);
  background-image:
    radial-gradient(120% 78% at 50% -6%, rgba(255,214,140,0.12), rgba(214,176,109,0.03) 28%, transparent 56%),
    radial-gradient(150% 125% at 50% 40%, transparent 44%, rgba(0,0,0,0.66) 100%),
    linear-gradient(rgba(12,9,7,0.40), rgba(12,9,7,0.52)),
    url('../img/leather.jpg');
  background-size:auto, auto, auto, cover;
  background-position:center, center, center, center;
  background-repeat:no-repeat, no-repeat, no-repeat, no-repeat;
  background-attachment:fixed;
}
body:not([data-theme]) h1,
body:not([data-theme]) h2,
body:not([data-theme]) h3,
body:not([data-theme]) p { margin:0; }
body:not([data-theme]) a { color:var(--om-brass); }

body:not([data-theme])::before {
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(42% 30% at 50% 1%, rgba(255,214,140,0.12), transparent 70%);
  mix-blend-mode:screen;
}
body:not([data-theme])::after {
  content:""; position:fixed; inset:9px; z-index:60; pointer-events:none;
  border:14px solid transparent; border-image:url('../img/frame.svg') 70 stretch; opacity:0.85;
}

body:not([data-theme]) .wrap { position:relative; z-index:1; max-width:660px; margin:0 auto; padding:60px 22px 90px; }

/* photo-real props (cropped from the reference image).
   Small screens: lamp+flag and the framed arch appear as accents framing the
   top of the page (scroll away with the header) so they never cover the text.
   Wide desktop (>=1200px): they become full-height fixed side rails, plus books. */
body:not([data-theme]) .wrap::before,    /* left rail: offshore flags + globe + book */
body:not([data-theme]) .wrap::after,     /* right rail: Arc de Triomphe + monuments on books */
body:not([data-theme]) .footer::after {  /* legacy books slot (now folded into the right rail) */
  content:""; position:absolute; z-index:-1; pointer-events:none; background-repeat:no-repeat; background-size:contain;
}
body:not([data-theme]) .wrap::before {
  left:-14px; top:0; width:148px; height:448px;
  background-image:url('../img/prop-left.webp?v=2'); background-position:left top; opacity:0.9;
}
body:not([data-theme]) .wrap::after {
  right:-12px; top:0; width:146px; height:218px;
  background-image:url('../img/prop-arch.webp?v=2'); background-position:right top; opacity:0.9;
}
body:not([data-theme]) .footer::after { display:none; }   /* books: desktop only */

@media (min-width:1200px) {
  body:not([data-theme]) .wrap::before {
    position:fixed; left:0; top:78px; width:302px; height:min(88vh,860px); opacity:0.98;
    background-position:left top;
  }
  body:not([data-theme]) .wrap::after {
    position:fixed; right:8px; top:78px; width:308px; height:min(88vh,860px); opacity:0.98;
    background-position:right top;
  }
  body:not([data-theme]) .footer::after { display:none; }   /* books now part of the right strip */
}



/* ---- header as a framed brass panel + original logo plate ---------- */
body:not([data-theme]) .header {
  position:relative; text-align:center;
  border:15px solid transparent; border-image:url('../img/frame.svg') 70 stretch;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(120,92,52,0.14), transparent 60%),
    linear-gradient(180deg, #16120d, #100d09);
  padding:34px 30px 30px; margin-bottom:42px;
  box-shadow:inset 0 0 0 1px rgba(184,145,82,0.10), 0 24px 50px rgba(0,0,0,0.5);
  opacity:0; animation:omUp .55s ease .02s forwards;
}
/* original "Smart Recupe" logo, preserved exactly, on an ivory plate so it stays legible on the dark panel */
body:not([data-theme]) .header::before {
  content:""; display:block; width:230px; max-width:74%; height:62px; margin:0 auto 22px;
  background:var(--om-plate) url('../logo.png') center / 80% auto no-repeat;
  border:1px solid var(--om-border); border-radius:7px;
  box-shadow:0 8px 18px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(255,255,255,0.28);
}
body:not([data-theme]) .company {
  font-family:'Cinzel',serif; font-weight:500; font-size:0.78rem;
  letter-spacing:0.36em; text-transform:uppercase; color:var(--om-label);
  padding-left:0.36em; margin-bottom:12px;
}
body:not([data-theme]) .name {
  font-family:'Playfair Display',serif; font-weight:600;
  font-size:clamp(2.4rem,7vw,3.4rem); line-height:1.04; letter-spacing:0.005em; margin-bottom:10px;
  background:linear-gradient(180deg,#f6e2b2,#dcb267 52%,#b48a45);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
body:not([data-theme]) .role {
  font-family:'Cinzel',serif; font-weight:500; font-size:0.84rem;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--om-label); margin-bottom:18px;
}
body:not([data-theme]) .divider {
  position:relative; width:160px; height:1px; margin:18px auto 22px;
  background:linear-gradient(90deg,transparent,var(--om-border) 16%,var(--om-brass) 50%,var(--om-border) 84%,transparent);
}
body:not([data-theme]) .divider::before {
  content:""; position:absolute; left:50%; top:50%; width:9px; height:9px;
  transform:translate(-50%,-50%) rotate(45deg);
  background:var(--om-brass-l); box-shadow:0 0 9px rgba(214,176,109,0.55);
}
body:not([data-theme]) .bio {
  font-family:'Lora',serif; font-size:1.18rem; color:var(--om-ivory-dim);
  line-height:1.6; max-width:46ch; margin:0 auto 12px;
}
body:not([data-theme]) .legal { font-family:'Lora',serif; font-size:0.95rem; color:var(--om-ivory-faint); line-height:1.55; max-width:54ch; margin:0 auto; }

/* ---- social medallions -------------------------------------------- */
body:not([data-theme]) .social-icons { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin:20px 0 6px; }
body:not([data-theme]) .social-icon {
  position:relative; width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center; text-decoration:none; isolation:isolate; border:1px solid #41310f;
  background:radial-gradient(circle at 32% 28%, #ecd293, #b89152 36%, #876738 72%, #57401f 100%);
  box-shadow:inset 0 2px 3px rgba(255,240,200,0.55), inset 0 -3px 6px rgba(0,0,0,0.6), 0 5px 11px rgba(0,0,0,0.6);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body:not([data-theme]) .social-icon-bg {
  position:absolute; inset:4px; border-radius:50%; pointer-events:none;
  background:
    radial-gradient(circle at 50% 10%, rgba(0,0,0,0.42) 0 1.3px, transparent 2px),
    radial-gradient(circle at 50% 90%, rgba(0,0,0,0.42) 0 1.3px, transparent 2px),
    radial-gradient(circle at 10% 50%, rgba(0,0,0,0.42) 0 1.3px, transparent 2px),
    radial-gradient(circle at 90% 50%, rgba(0,0,0,0.42) 0 1.3px, transparent 2px);
  box-shadow:inset 0 0 0 1px rgba(65,49,15,0.7);
}
body:not([data-theme]) .social-icon-shine {
  position:absolute; top:6px; left:9px; width:54%; height:36%; border-radius:50%;
  background:linear-gradient(160deg, rgba(255,255,255,0.5), transparent 70%); filter:blur(1px); pointer-events:none;
}
body:not([data-theme]) .social-icon svg { width:21px; height:21px; position:relative; z-index:2; color:#36280f; fill:#36280f; filter:drop-shadow(0 1px 0 rgba(255,235,190,0.45)); }
body:not([data-theme]) .social-icon:hover {
  transform:translateY(-3px); filter:brightness(1.08);
  box-shadow:inset 0 2px 3px rgba(255,240,200,0.6), inset 0 -3px 6px rgba(0,0,0,0.5), 0 9px 18px rgba(0,0,0,0.6), 0 0 16px rgba(214,176,109,0.4);
}
body:not([data-theme]) .social-icon:focus-visible { outline:2px solid var(--om-brass-l); outline-offset:3px; }

/* ---- section headings with ✦ ornaments ---------------------------- */
body:not([data-theme]) .sec { display:flex; align-items:center; gap:16px; margin:46px 0 18px; opacity:0; animation:omUp .5s ease forwards; }
body:not([data-theme]) .sec::before,
body:not([data-theme]) .sec::after { content:""; flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--om-border),transparent); }
body:not([data-theme]) .sec span {
  position:relative; font-family:'Cinzel',serif; font-weight:600; font-size:0.88rem;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--om-label);
  white-space:nowrap; padding:0 32px; text-shadow:0 1px 0 rgba(0,0,0,0.55);
}
body:not([data-theme]) .sec span::before,
body:not([data-theme]) .sec span::after { content:"\2726"; position:absolute; top:50%; transform:translateY(-50%); font-size:0.72rem; color:var(--om-brass); }
body:not([data-theme]) .sec span::before { left:4px; }
body:not([data-theme]) .sec span::after { right:4px; }

/* ---- service cards → executive panels + concierge brass boss ------- */
body:not([data-theme]) .card,
body:not([data-theme]) .group-top,
body:not([data-theme]) .group-bottom {
  display:block; position:relative; text-decoration:none; color:var(--om-ivory);
  background:linear-gradient(160deg, #1c1813, #15110b 62%, #100d08);
  border:1px solid var(--om-border); border-radius:5px;
  padding:0; margin-bottom:16px; overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,0.55), inset 0 1px 0 rgba(214,176,109,0.10);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  opacity:0; animation:omUp .5s ease forwards;
}
body:not([data-theme]) .card-head::before {
  content:""; position:absolute; left:22px; top:50%; transform:translateY(-50%);
  width:76px; height:76px; pointer-events:none;
  background:url('../img/boss.svg') center / contain no-repeat;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,0.7));
  transition:transform .14s ease, filter .2s ease;
}
body:not([data-theme]) .card::after,
body:not([data-theme]) .group-top::after,
body:not([data-theme]) .group-bottom::after {
  content:""; position:absolute; inset:5px; pointer-events:none;
  border:13px solid transparent; border-image:url('../img/card-frame.svg') 46 stretch; opacity:0.5;
}
body:not([data-theme]) .card:hover,
body:not([data-theme]) .group-top:hover,
body:not([data-theme]) .group-bottom:hover {
  transform:translateY(-4px); border-color:var(--om-brass);
  box-shadow:0 28px 54px rgba(0,0,0,0.62), inset 0 1px 0 rgba(214,176,109,0.18), 0 0 0 1px rgba(184,145,82,0.22);
}
body:not([data-theme]) .card:hover .card-head::before { transform:translateY(-50%) scale(0.95); filter:drop-shadow(0 2px 4px rgba(0,0,0,0.7)) brightness(1.05); }
body:not([data-theme]) .card:hover::after,
body:not([data-theme]) .group-top:hover::after,
body:not([data-theme]) .group-bottom:hover::after { opacity:0.8; }

/* ── accordion cards: collapsed shows title (+ price) + toggle; click reveals desc + CTA ── */
body:not([data-theme]) .card-head {
  position:relative; width:100%; box-sizing:border-box; margin:0; font:inherit; text-align:left;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:transparent; border:0; color:var(--om-ivory); cursor:pointer;
  padding:22px 26px 22px 116px; min-height:118px;
}
body:not([data-theme]) .card-head .card-title { margin:0; }
body:not([data-theme]) .card-head-right { display:flex; align-items:center; gap:14px; flex-shrink:0; }
body:not([data-theme]) .card-toggle {
  width:36px; height:36px; border-radius:50%; display:grid; place-items:center; flex-shrink:0;
  background:radial-gradient(circle at 34% 30%, #ecd293, #b89152 40%, #876738 78%, #57401f 100%);
  border:1px solid #41310f;
  box-shadow:inset 0 1px 2px rgba(255,240,200,0.5), inset 0 -2px 4px rgba(0,0,0,0.5), 0 2px 6px rgba(0,0,0,0.55);
  transition:transform .25s ease, filter .2s ease;
}
body:not([data-theme]) .card-chevron {
  width:9px; height:9px; margin-top:-3px;
  border-right:2px solid #2a1f0c; border-bottom:2px solid #2a1f0c;
  transform:rotate(45deg);
}
body:not([data-theme]) .card.open .card-toggle { transform:rotate(180deg); }
body:not([data-theme]) .card:hover .card-toggle { filter:brightness(1.08); }
body:not([data-theme]) .card-head:focus-visible { outline:2px solid var(--om-brass-l); outline-offset:-5px; border-radius:5px; }

body:not([data-theme]) .card-panel {
  max-height:0; overflow:hidden; opacity:0;
  transition:max-height .4s ease, opacity .32s ease;
}
body:not([data-theme]) .card.open .card-panel { opacity:1; }
body:not([data-theme]) .card-panel-inner { padding:2px 26px 24px 116px; }
body:not([data-theme]) .card-panel-inner .card-desc { margin:0; }
body:not([data-theme]) .card-panel-inner .card-sub { margin-top:9px; }

body:not([data-theme]) .card-cta {
  display:inline-flex; align-items:center; gap:9px; margin-top:16px; text-decoration:none;
  font-family:'Cinzel',serif; font-weight:600; font-size:0.8rem; letter-spacing:0.06em; text-transform:uppercase;
  color:#211808; padding:11px 20px; border-radius:4px;
  background:linear-gradient(180deg,#e0c281,#bd965a 55%,#8a6a3d); border:1px solid #5a4326;
  box-shadow:inset 0 1px 0 rgba(255,245,210,0.6), 0 3px 8px rgba(0,0,0,0.5);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body:not([data-theme]) .card-cta:hover {
  transform:translateY(-2px); filter:brightness(1.07);
  box-shadow:inset 0 1px 0 rgba(255,245,210,0.7), 0 6px 14px rgba(0,0,0,0.55), 0 0 14px rgba(214,176,109,0.4);
}
body:not([data-theme]) .cta-arr { font-size:1.05rem; line-height:1; }

body:not([data-theme]) .card-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
body:not([data-theme]) .card-body { flex:1; min-width:0; }
body:not([data-theme]) .card-title {
  font-family:'Playfair Display',serif; font-weight:600; font-size:1.32rem; line-height:1.28;
  color:var(--om-ivory); margin-bottom:9px;
}
body:not([data-theme]) .card-desc { font-family:'Lora',serif; font-weight:500; font-size:1.08rem; color:var(--om-ivory-dim); line-height:1.55; }
body:not([data-theme]) .card-sub  { font-family:'Lora',serif; font-size:0.94rem; font-style:italic; color:var(--om-label); margin-top:9px; }
body:not([data-theme]) .card-right { display:flex; flex-direction:column; align-items:flex-end; gap:10px; flex-shrink:0; }

/* price seals */
body:not([data-theme]) .price {
  font-family:'Cinzel',serif; font-weight:600; font-size:0.82rem; letter-spacing:0.03em; white-space:nowrap;
  padding:6px 12px; border-radius:3px; color:#1c150b;
  background:linear-gradient(180deg,#ecd29a,#bd965a 55%,#8a6a3d); border:1px solid #5a4326;
  box-shadow:inset 0 1px 0 rgba(255,245,210,0.7), 0 2px 5px rgba(0,0,0,0.5); text-shadow:0 1px 0 rgba(255,245,210,0.5);
}
body:not([data-theme]) .price-free { background:linear-gradient(180deg,#efe9da,#c4bba1 55%,#948b71); color:#231f16; }

/* engraved brass nameplate "Află mai multe" (replaces the bare arrow) */
body:not([data-theme]) .arr,
body:not([data-theme]) .arr-green {
  position:relative; display:grid; place-items:center; width:96px; min-height:48px; padding:8px;
  font-size:0; color:transparent; text-decoration:none;
  background:
    radial-gradient(circle at 12% 22%, rgba(0,0,0,0.4) 0 1px, transparent 1.6px),
    radial-gradient(circle at 88% 22%, rgba(0,0,0,0.4) 0 1px, transparent 1.6px),
    radial-gradient(circle at 12% 78%, rgba(0,0,0,0.4) 0 1px, transparent 1.6px),
    radial-gradient(circle at 88% 78%, rgba(0,0,0,0.4) 0 1px, transparent 1.6px),
    linear-gradient(180deg,#e0c281,#bd965a 50%,#8a6a3d);
  border:1px solid #5a4326;
  clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);
  box-shadow:inset 0 1px 0 rgba(255,245,210,0.65), inset 0 -2px 3px rgba(0,0,0,0.35), 0 3px 6px rgba(0,0,0,0.5);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body:not([data-theme]) .arr::after,
body:not([data-theme]) .arr-green::after {
  content:"Află mai multe"; font-family:'Cinzel',serif; font-weight:600; font-size:10px; line-height:1.2;
  letter-spacing:0.06em; text-transform:uppercase; color:#211808; text-align:center;
  text-shadow:0 1px 0 rgba(255,245,210,0.6);
}
body:not([data-theme]) .card:hover .arr,
body:not([data-theme]) .group-top:hover .arr-green,
body:not([data-theme]) .group-bottom:hover .arr {
  transform:translateY(-1px); filter:brightness(1.08);
  box-shadow:inset 0 1px 0 rgba(255,245,210,0.75), 0 5px 12px rgba(0,0,0,0.55), 0 0 14px rgba(214,176,109,0.45);
}

/* ---- paired-course group ------------------------------------------ */
body:not([data-theme]) .course-group { position:relative; margin-bottom:16px; opacity:0; animation:omUp .5s ease forwards; }
body:not([data-theme]) .group-label { display:flex; align-items:center; justify-content:center; gap:10px; margin:8px 0 14px; }
body:not([data-theme]) .group-label-icon { font-size:1.05rem; filter:sepia(0.4) brightness(0.95); }
body:not([data-theme]) .group-label-text { font-family:'Cinzel',serif; font-size:0.84rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--om-label); text-align:center; }
body:not([data-theme]) .group-top-row,
body:not([data-theme]) .group-bottom-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
body:not([data-theme]) .group-top-title,
body:not([data-theme]) .group-bottom-title { font-family:'Playfair Display',serif; font-weight:600; font-size:1.28rem; color:var(--om-ivory); margin-bottom:9px; }
body:not([data-theme]) .group-top-desc,
body:not([data-theme]) .group-bottom-desc { font-family:'Lora',serif; font-weight:500; font-size:1.06rem; color:var(--om-ivory-dim); line-height:1.55; }
body:not([data-theme]) .group-top-sub,
body:not([data-theme]) .group-bottom-sub { font-family:'Lora',serif; font-size:0.92rem; font-style:italic; color:var(--om-label); margin-top:9px; }
body:not([data-theme]) .group-or { display:flex; align-items:center; justify-content:center; gap:12px; margin:6px 0 12px; }
body:not([data-theme]) .group-or::before,
body:not([data-theme]) .group-or::after { content:""; height:1px; flex:1; max-width:90px; background:linear-gradient(90deg,transparent,var(--om-border),transparent); }
body:not([data-theme]) .group-or span { font-family:'Cinzel',serif; font-size:0.78rem; letter-spacing:0.26em; text-transform:uppercase; color:var(--om-label); }

/* ---- footer ------------------------------------------------------- */
body:not([data-theme]) .footer { position:relative; margin-top:70px; padding:34px 20px 8px; background:transparent; border:none; box-shadow:none; }
body:not([data-theme]) .footer::before { content:""; display:block; width:170px; height:1px; margin:0 auto 22px; background:linear-gradient(90deg,transparent,var(--om-brass),transparent); }
body:not([data-theme]) .footer-inner { max-width:580px; margin:0 auto; text-align:center; }
body:not([data-theme]) .footer-rule { display:none; }
body:not([data-theme]) .footer-text { font-family:'Lora',serif; font-size:1rem; color:var(--om-ivory-faint); line-height:1.6; margin-bottom:14px; }
body:not([data-theme]) .footer-copy { font-family:'Cinzel',serif; font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--om-label); }
body:not([data-theme]) .footer-copy b { font-weight:600; }

/* ---- internal pages (page_template.php) --------------------------- */
body:not([data-theme]) .container {
  position:relative; z-index:1; max-width:680px; margin:48px auto; padding:40px 36px 34px; text-align:center;
  border:14px solid transparent; border-image:url('../img/frame.svg') 70 stretch;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(120,92,52,0.13), transparent 60%),
    linear-gradient(180deg,#16120d,#100d09);
  box-shadow:inset 0 0 0 1px rgba(184,145,82,0.10), 0 24px 50px rgba(0,0,0,0.5);
}
/* original logo preserved on an ivory plate so it stays readable on dark */
body:not([data-theme]) .logo {
  display:block; margin:0 auto 24px; height:auto; max-height:74px; width:auto; max-width:280px;
  padding:10px 18px; background:var(--om-plate); border:1px solid var(--om-border); border-radius:7px;
  box-shadow:0 8px 18px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(255,255,255,0.28);
}
body:not([data-theme]) .container h1 { font-family:'Playfair Display',serif; font-weight:600; font-size:clamp(1.8rem,5vw,2.6rem); text-align:center; color:var(--om-brass-l); margin-bottom:24px; }
body:not([data-theme]) .page-content { font-family:'Lora',serif; font-size:1.12rem; color:var(--om-ivory-dim); line-height:1.72; }
body:not([data-theme]) .page-content h2 { font-family:'Playfair Display',serif; color:var(--om-brass-l); margin:1.4em 0 0.5em; }
body:not([data-theme]) .page-content p { margin:0 0 1em; }
body:not([data-theme]) .materials-section h2 { font-family:'Playfair Display',serif; color:var(--om-brass-l); }
body:not([data-theme]) .ebooks-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:18px; margin-top:18px; }
body:not([data-theme]) .ebook-card { display:block; text-decoration:none; color:var(--om-ivory); background:var(--om-card); border:1px solid var(--om-border); border-radius:6px; padding:10px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
body:not([data-theme]) .ebook-card:hover { transform:translateY(-3px); border-color:var(--om-brass); box-shadow:0 12px 24px rgba(0,0,0,0.5); }
body:not([data-theme]) .ebook-card img { width:100%; display:block; border-radius:4px; }
body:not([data-theme]) .ebook-title { font-family:'Cinzel',serif; font-size:0.84rem; margin-top:8px; color:var(--om-label); }
/* cookies page (cookies.php) */
body:not([data-theme]) .container .author { font-family:'Cinzel',serif; font-size:0.82rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--om-label); text-align:center; margin:0 0 6px; }
body:not([data-theme]) .container .tagline { font-family:'Lora',serif; font-size:1.06rem; color:var(--om-ivory-dim); text-align:center; margin:0 0 10px; }
body:not([data-theme]) .container .social-icons { margin:18px 0 24px; }
body:not([data-theme]) .container h2 { font-family:'Playfair Display',serif; font-weight:600; font-size:clamp(1.4rem,4vw,1.9rem); color:var(--om-brass-l); text-align:center; margin:0 0 8px; }
body:not([data-theme]) .container > h2 { position:relative; padding-top:24px; margin-top:30px; }
body:not([data-theme]) .container > h2::before { content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:130px; height:1px; background:linear-gradient(90deg,transparent,var(--om-brass),transparent); }
body:not([data-theme]) .container .page-content { text-align:left; margin-top:14px; }
body:not([data-theme]) .container .page-content p { margin:0 0 1em; }
body:not([data-theme]) .btn {
  display:inline-block; font-family:'Cinzel',serif; font-weight:600; font-size:0.84rem; letter-spacing:0.07em; text-transform:uppercase;
  padding:12px 22px; border-radius:4px; text-decoration:none; color:#211808;
  background:linear-gradient(180deg,#e0c281,#bd965a 55%,#8a6a3d); border:1px solid #5a4326;
  box-shadow:inset 0 1px 0 rgba(255,245,210,0.65), 0 3px 8px rgba(0,0,0,0.5); transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body:not([data-theme]) .btn:hover { transform:translateY(-2px); filter:brightness(1.07); box-shadow:inset 0 1px 0 rgba(255,245,210,0.75), 0 6px 14px rgba(0,0,0,0.55), 0 0 14px rgba(214,176,109,0.4); }
body:not([data-theme]) .btn-tertiary { background:linear-gradient(180deg,#2c261d,#1b1610); color:var(--om-label); border:1px solid var(--om-border); text-shadow:none; }
body:not([data-theme]) .btn-secondary { background:linear-gradient(180deg,#2c261d,#1b1610); color:var(--om-label); border:1px solid var(--om-border); text-shadow:none; }
body:not([data-theme]) .container footer { margin-top:42px; text-align:center; color:var(--om-ivory-faint); font-family:'Lora',serif; }
body:not([data-theme]) .container footer strong { color:var(--om-label); font-weight:600; }

/* ---- motion ------------------------------------------------------- */
@keyframes omUp { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
body:not([data-theme]) .d1  { animation-delay:.05s; }
body:not([data-theme]) .d2  { animation-delay:.11s; }
body:not([data-theme]) .d3  { animation-delay:.17s; }
body:not([data-theme]) .d4  { animation-delay:.23s; }
body:not([data-theme]) .d5  { animation-delay:.29s; }
body:not([data-theme]) .d6  { animation-delay:.35s; }
body:not([data-theme]) .d7  { animation-delay:.41s; }
body:not([data-theme]) .d8  { animation-delay:.47s; }
body:not([data-theme]) .d9  { animation-delay:.53s; }
body:not([data-theme]) .d10 { animation-delay:.59s; }
body:not([data-theme]) .d11 { animation-delay:.65s; }

/* ---- responsive --------------------------------------------------- */
@media (max-width:680px) {
  body:not([data-theme]) .wrap::before { width:118px; height:358px; left:-12px; opacity:0.6; }
  body:not([data-theme]) .wrap::after { width:116px; height:174px; right:-10px; opacity:0.62; }
  body:not([data-theme]) .wrap { padding:50px 14px 76px; }
  body:not([data-theme]) .header { padding:28px 18px 24px; border-width:12px; }
  body:not([data-theme]) .header::before { width:200px; height:54px; }
  body:not([data-theme]) .card-head { padding:16px 14px 16px 90px; min-height:96px; }
  body:not([data-theme]) .card-panel-inner { padding:0 16px 18px 90px; }
  body:not([data-theme]) .card-head::before { left:14px; width:62px; height:62px; }
  body:not([data-theme]) .container { margin:28px auto; padding:26px 18px 24px; border-width:11px; }
  body:not([data-theme])::after { inset:5px; border-width:11px; }
}

/* ---- reduced motion ----------------------------------------------- */
@media (prefers-reduced-motion:reduce) {
  body:not([data-theme]) .header,
  body:not([data-theme]) .sec,
  body:not([data-theme]) .card,
  body:not([data-theme]) .course-group { animation:none; opacity:1; transform:none; }
  body:not([data-theme]) * { transition:none !important; }
}
