/* ============================================================
   BagFinder Premium Design System v1
   Navy + gold editorial luxury. Applied via Customizer > Additional CSS.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bf-navy:#1A1A40;
  --bf-navy-deep:#0E0E28;
  --bf-navy-soft:#26264E;
  --bf-gold:#C6A15B;
  --bf-gold-light:#E7CB8B;
  --bf-gold-deep:#9C7A3C;
  --bf-cream:#FAF7F0;
  --bf-ink:#262633;
  --bf-muted:#6F6F80;
  --bf-line:rgba(26,26,64,.1);
  --bf-radius:16px;
  --bf-shadow:0 20px 50px -20px rgba(14,14,40,.30);
  --bf-shadow-soft:0 10px 30px -12px rgba(14,14,40,.18);
}

/* ---------- Base ---------- */
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--bf-ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.entry-title,.wp-block-heading{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  color:var(--bf-navy);
  letter-spacing:-.01em;
  line-height:1.18;
}
::selection{background:var(--bf-gold);color:var(--bf-navy-deep);}
a{color:var(--bf-navy);}
.entry-content a:not(.wp-block-button__link):not(.apm-buy-now):not(.apm-get-now){
  color:var(--bf-gold-deep);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ---------- Header / Nav ---------- */
.site-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--bf-line);
}
.main-navigation .main-nav ul li a{
  color:var(--bf-navy);
  font-weight:600;
  font-size:15px;
  padding-left:14px;
  padding-right:14px;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item a{
  color:var(--bf-gold-deep);
}
.site-branding .site-title a{color:var(--bf-navy);}

/* ---------- Buttons ---------- */
.wp-block-button__link{
  border-radius:999px;
  padding:14px 32px;
  font-weight:700;
  font-size:16px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button .wp-block-button__link{
  background:linear-gradient(135deg,var(--bf-gold-light),var(--bf-gold));
  color:var(--bf-navy-deep);
  box-shadow:0 12px 26px -12px rgba(198,161,91,.7);
}
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px -12px rgba(198,161,91,.85);
  color:var(--bf-navy-deep);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.85);
  box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  border-color:var(--bf-gold-light);
  color:var(--bf-gold-light);
  transform:translateY(-2px);
}

/* ---------- Homepage hero ---------- */
body.home .wp-block-cover{
  min-height:82vh;
  border-radius:0;
}
body.home .wp-block-cover .wp-block-cover__inner-container{
  max-width:820px;
}
.bf-eyebrow{
  display:inline-block;
  color:var(--bf-gold-light);
  font-size:13px;
  font-weight:700;
  letter-spacing:.32em;
  text-transform:uppercase;
  margin-bottom:18px;
}
body.home .wp-block-cover h1{
  color:#fff;
  font-size:clamp(40px,6vw,68px);
  font-weight:800;
  margin:0 0 18px;
}
body.home .wp-block-cover p{
  color:rgba(255,255,255,.88);
  font-size:clamp(16px,2vw,20px);
  max-width:640px;
  margin:0 auto 30px;
}

/* ---------- Trust bar ---------- */
.bf-trust{
  background:var(--bf-navy-deep);
  color:#fff;
  border-radius:var(--bf-radius);
  padding:26px 30px;
  margin-top:-46px;
  position:relative;
  z-index:2;
  box-shadow:var(--bf-shadow);
}
.bf-trust .wp-block-column{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:600;
  font-size:15px;
}
.bf-trust .bf-tick{
  color:var(--bf-gold);
  font-size:20px;
  flex:none;
}

/* ---------- Section headings ---------- */
.bf-section-title{
  text-align:center;
  font-size:clamp(30px,4vw,44px);
  margin-bottom:8px;
}
.bf-section-sub{
  text-align:center;
  color:var(--bf-muted);
  font-size:17px;
  max-width:620px;
  margin:0 auto 40px;
}
.bf-gold-rule{
  width:72px;height:3px;background:linear-gradient(90deg,var(--bf-gold-light),var(--bf-gold));
  margin:0 auto 34px;border-radius:2px;
}

/* ---------- Category covers ---------- */
.bf-cat-cover{
  border-radius:var(--bf-radius);
  overflow:hidden;
  min-height:380px;
  box-shadow:var(--bf-shadow-soft);
  transition:transform .22s ease, box-shadow .22s ease;
}
.bf-cat-cover:hover{
  transform:translateY(-6px);
  box-shadow:var(--bf-shadow);
}
.bf-cat-cover h3{
  color:#fff;
  font-size:28px;
  margin:0 0 8px;
}
.bf-cat-cover p{
  color:rgba(255,255,255,.85);
  font-size:15px;
  margin:0 0 18px;
}

/* ---------- How it works ---------- */
.bf-step{
  text-align:center;
  padding:10px 18px;
}
.bf-step .bf-step-num{
  font-family:'Playfair Display',Georgia,serif;
  font-size:64px;
  font-weight:800;
  line-height:1;
  background:linear-gradient(135deg,var(--bf-gold-light),var(--bf-gold-deep));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.bf-step h3{font-size:22px;margin:14px 0 8px;}
.bf-step p{color:var(--bf-muted);font-size:15px;margin:0;}

/* ---------- CTA band ---------- */
.bf-cta{
  background:linear-gradient(135deg,var(--bf-navy-deep),var(--bf-navy-soft));
  border-radius:calc(var(--bf-radius) + 6px);
  padding:56px 40px;
  text-align:center;
  color:#fff;
  box-shadow:var(--bf-shadow);
}
.bf-cta h2{color:#fff;font-size:clamp(28px,3.6vw,40px);margin:0 0 10px;}
.bf-cta p{color:rgba(255,255,255,.8);margin:0 0 26px;font-size:17px;}

/* ---------- Blog archive / cards ---------- */
body.blog .site-main .post,
body.archive .site-main .post{
  background:#fff;
  border:1px solid var(--bf-line);
  border-radius:var(--bf-radius);
  padding:30px 32px;
  margin-bottom:28px;
  box-shadow:var(--bf-shadow-soft);
}
body.blog .entry-title a,
body.archive .entry-title a{color:var(--bf-navy);text-decoration:none;}
body.blog .entry-title a:hover,
body.archive .entry-title a:hover{color:var(--bf-gold-deep);}
.post-image img{border-radius:var(--bf-radius);}

/* ---------- Single post ---------- */
body.single-post .entry-content{
  font-size:17.5px;
  line-height:1.75;
}
body.single-post .entry-content h2{
  font-size:clamp(26px,3.4vw,34px);
  margin:46px 0 16px;
  padding-left:16px;
  border-left:4px solid var(--bf-gold);
}
body.single-post .entry-content h3{
  font-size:22px;
  margin:34px 0 12px;
}
body.single-post .post-image img,
body.single-post .featured-image img{
  border-radius:var(--bf-radius);
  box-shadow:var(--bf-shadow-soft);
}
body.single-post table{
  border:1px solid var(--bf-line);
  border-radius:12px;
  overflow:hidden;
  font-size:15.5px;
}
body.single-post thead th{
  background:var(--bf-navy);
  color:#fff;
  font-family:'Inter',sans-serif;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:14px 16px;
}
body.single-post tbody td{
  padding:13px 16px;
  border-top:1px solid var(--bf-line);
}
body.single-post tbody tr:nth-child(even){background:var(--bf-cream);}

/* ---------- APM product cards (premium) ---------- */
.apm-carousel-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  margin:34px 0;
}
.apm-card{
  border:1px solid var(--bf-line);
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--bf-shadow-soft);
  transition:transform .22s ease, box-shadow .22s ease;
  background:#fff;
}
.apm-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--bf-shadow);
}
.apm-card .apm-card-title{
  font-family:'Playfair Display',Georgia,serif;
  color:var(--bf-navy);
  font-size:21px;
}
.apm-mini-carousel img,
.apm-single-image img{
  border-radius:12px;
}
.apm-nav{
  background:rgba(14,14,40,.72);
  color:var(--bf-gold-light);
  border-radius:50%;
  width:40px;height:40px;
  border:1px solid rgba(231,203,139,.5);
}
.apm-nav:hover{background:var(--bf-navy-deep);color:var(--bf-gold-light);}
a.apm-buy-now{
  display:inline-block;
  background:linear-gradient(135deg,var(--bf-gold-light),var(--bf-gold));
  color:var(--bf-navy-deep) !important;
  font-weight:700;
  padding:12px 30px;
  border-radius:999px;
  text-decoration:none;
  box-shadow:0 10px 24px -10px rgba(198,161,91,.8);
}
a.apm-buy-now:hover{transform:translateY(-2px);color:var(--bf-navy-deep) !important;}
a.apm-get-now{
  display:inline-block;
  background:#1FA855;
  color:#fff !important;
  font-weight:700;
  padding:12px 30px;
  border-radius:999px;
  text-decoration:none;
}
a.apm-get-now:hover{transform:translateY(-2px);color:#fff !important;}

/* ---------- Footer ---------- */
#colophon{
  background:var(--bf-navy-deep);
  color:rgba(255,255,255,.75);
}
.site-footer a{color:var(--bf-gold-light);}
.site-footer a:hover{color:#fff;}
.site-footer .site-info{
  padding:26px 0;
  font-size:14px;
}

/* ---------- Misc polish ---------- */
.entry-header{text-align:center;}
.entry-header .entry-title{font-size:clamp(32px,4.6vw,50px);}
html{scroll-behavior:smooth;}
img{max-width:100%;height:auto;}

/* ---------- BagFinder Design plugin extras (appended for v1.0.0) ---------- */
.site-logo img{max-width:200px;height:auto;}
.main-navigation .main-nav ul li a{white-space:nowrap;}
.bf-hero{background:linear-gradient(135deg,#0E0E28 0%,#2A2A5E 100%) !important;}
.bf-hero .wp-block-cover__background{display:none;}
.bf-cat-cover{background:linear-gradient(150deg,#10102A,#2A2A5E);}
.bf-cat-cover .wp-block-cover__background{display:none;}
body.home .entry-header{display:none;}
.site-footer .widget-title{color:#fff;}
@media (max-width:768px){.bf-trust{margin-top:-30px;padding:20px;}.bf-cta{padding:40px 24px;}body.home .wp-block-cover{min-height:72vh;}.wp-block-button__link{padding:13px 26px;font-size:15px;}}

/* ---------- Motion v1 : cinematic scroll experience ---------- */
/* Logo: image already contains the wordmark — hide duplicate text */
.site-branding .site-title,
.site-branding .site-description{display:none;}

/* Scroll reveal (JS adds .bf-reveal, IO adds .bf-in) */
@media (prefers-reduced-motion: no-preference){
  .bf-reveal{opacity:0;transform:translateY(38px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);}
  .bf-reveal.bf-in{opacity:1;transform:none;}
  .bf-reveal-d1{transition-delay:.12s;}
  .bf-reveal-d2{transition-delay:.24s;}
  .bf-reveal-d3{transition-delay:.36s;}
}

/* Marquee strip under hero */
.bf-marquee{background:var(--bf-navy-deep);border-top:1px solid rgba(198,161,91,.28);border-bottom:1px solid rgba(198,161,91,.28);padding:13px 0;overflow:hidden;}
.bf-marquee-track{display:inline-flex;white-space:nowrap;animation:bf-scroll-x 30s linear infinite;will-change:transform;}
.bf-marquee-track span{color:var(--bf-gold-light);font-weight:700;letter-spacing:.24em;font-size:13px;text-transform:uppercase;}
@keyframes bf-scroll-x{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.bf-marquee-track{animation:none;}}

/* 3D tilt on category cards (desktop) */
.bf-tilt{transform-style:preserve-3d;will-change:transform;}
