/* Stage 3 — homepage shop identity only. Do not restyle listing/detail cards. */

.home-bookstore-hero{
  min-height:0;
  padding:22px max(5%,20px) 18px;
  background:var(--site-bg,var(--bg));
}

.home-hero-inner{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,440px);
  align-items:center;
  gap:var(--space-6,32px);
}

.home-hero-copy{
  max-width:none;
}

.home-hero-eyebrow{
  display:block;
  margin:0 0 var(--space-1,4px);
  color:var(--site-text-soft,var(--text-soft));
  font-size:var(--font-size-lg,16px);
  font-weight:var(--font-weight-medium,700);
}

.home-hero-trust{
  display:inline-block;
  margin:0 0 var(--space-3,12px);
  color:var(--site-brown,var(--brown));
  font-size:var(--font-size-md,14px);
  font-weight:var(--font-weight-bold,800);
  letter-spacing:0.02em;
}

.home-bookstore-hero h1,
.home-hero-campaign-title{
  margin:0 0 var(--space-3,12px);
  color:var(--site-text,var(--text));
  font-size:clamp(28px,3.4vw,42px);
  line-height:1.35;
  font-weight:var(--font-weight-bold,800);
}

.home-hero-campaign-title[hidden]{
  display:none !important;
}

.home-bookstore-hero p{
  margin:0 0 var(--space-4,16px);
  max-width:none;
  color:var(--site-text,var(--text));
  font-size:var(--font-size-xl,18px);
  line-height:1.75;
  font-weight:var(--font-weight-medium,700);
}

.home-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-3,12px);
}

.home-hero-actions .button,
.home-hero-secondary{
  min-height:48px;
  padding:10px 18px;
  font-size:var(--font-size-lg,16px);
  white-space:normal;
}

.shop-hero-media{
  min-width:0;
}

.shop-hero-frame{
  position:relative;
  overflow:hidden;
  aspect-ratio:4 / 3;
  width:100%;
  max-height:360px;
  border:1px solid var(--site-border,var(--border));
  border-radius:var(--radius-lg,14px);
  background:var(--site-bg-soft,#fbf8f2);
  box-shadow:var(--shadow-sm,0 4px 14px rgba(75,51,39,.08));
}

.shop-hero-frame [data-shop-hero-slide]{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 46%;
  opacity:0;
  transition:opacity .8s ease;
}

.shop-hero-frame [data-shop-hero-slide].is-active{
  opacity:1;
  z-index:1;
}

.shop-hero-frame [data-shop-hero-slide][data-hero-shot="library"]{
  object-position:center 42%;
}

.shop-hero-frame [data-shop-hero-slide][data-hero-shot="exterior"]{
  object-position:center 58%;
}

.shop-hero-frame [data-shop-hero-slide][data-hero-kind="campaign"]{
  object-fit:contain;
  object-position:center;
  background:var(--site-card,var(--card,#fffdf9));
}

.shop-hero-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:10px;
}

.shop-hero-dots button{
  width:12px;
  height:12px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border:0;
  border-radius:var(--radius-pill,999px);
  background:transparent;
  box-shadow:inset 0 0 0 16px transparent;
  cursor:pointer;
  position:relative;
}

.shop-hero-dots button::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:var(--site-border,#e8dccb);
}

.shop-hero-dots button.is-active::after,
.shop-hero-dots button[aria-current="true"]::after{
  background:var(--site-brown,#70503d);
}

.shop-hero-dots button:focus-visible{
  outline:2px solid var(--site-brown,#70503d);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  .shop-hero-frame [data-shop-hero-slide]{
    transition:none;
  }
}

.about-pro .about-intro{
  margin:0 0 var(--space-4,16px);
  color:var(--site-text,var(--text));
  font-size:var(--font-size-lg,16px);
  line-height:1.85;
  font-weight:var(--font-weight-medium,700);
}

.about-pro .about-story p{
  margin:0 0 var(--space-3,12px);
  color:var(--site-text-soft,var(--text-soft));
  font-size:var(--font-size-md,14px);
  line-height:1.9;
}

.about-pro .about-closing{
  margin:var(--space-4,16px) 0 0;
  color:var(--site-text,var(--text));
  font-size:var(--font-size-md,14px);
  line-height:1.9;
}

.about-year-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  margin:0 0 var(--space-2,8px);
  padding:0 10px;
  border:1px solid var(--site-border,#e8dccb);
  border-radius:var(--radius-pill,999px);
  background:var(--site-bg-soft,#fbf8f2);
  color:var(--site-brown,#70503d);
  font-size:var(--font-size-xs,11px);
  font-weight:var(--font-weight-bold,800);
}

.about-service-chips{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-3,12px);
  margin-top:var(--space-5,24px);
}

/* theme.css `.about p { color:#fff !important }` must not apply here.
   Chips are cream cards, so labels stay dark brown. */
#about.about .about-service-chips .about-service-chip,
section.about .about-service-chips .about-service-chip{
  margin:0;
  padding:14px 14px 16px;
  border:1px solid #e8dccb !important;
  border-radius:var(--radius-md,10px);
  background:#fff8ed !important;
  color:#3d2a23 !important;
  -webkit-text-fill-color:#3d2a23;
  font-size:var(--font-size-sm,13px);
  line-height:1.7;
  font-weight:var(--font-weight-medium,700);
}

.contact-hours small{
  white-space:pre-line;
}

.contact-instagram{
  color:var(--site-text,#44352d);
}

body.dark-mode .shop-hero-frame,
html.dark-mode .shop-hero-frame{
  background:var(--site-bg-soft);
  border-color:var(--site-border);
}

body.dark-mode .about-year-badge,
html.dark-mode .about-year-badge{
  background:var(--site-bg-soft);
  border-color:var(--site-border);
  color:var(--site-text);
}

body.dark-mode #about .about-service-chip,
body.dark-mode section.about .about-service-chip,
html.dark-mode #about .about-service-chip,
html.dark-mode section.about .about-service-chip{
  background:#fff8ed !important;
  border-color:#e8dccb !important;
  color:#3d2a23 !important;
  -webkit-text-fill-color:#3d2a23;
}

@media (min-width:701px){
  .home-bookstore-hero{
    min-height:0 !important;
    padding:14px clamp(22px,5vw,74px) 16px !important;
  }
  .home-hero-inner{
    gap:28px !important;
    align-items:center;
  }
  .home-hero-eyebrow{
    font-size:16px !important;
  }
  .home-hero-trust{
    font-size:15px !important;
    margin-bottom:10px !important;
  }
  .shop-hero-frame{
    max-height:360px !important;
  }
  .home-bookstore-hero p{
    margin-bottom:16px !important;
    font-size:20px !important;
    line-height:1.7 !important;
  }
  .home-hero-actions .button,
  .home-hero-secondary{
    min-height:48px !important;
    font-size:15px !important;
  }
}

@media (max-width:768px){
  .home-hero-inner{
    grid-template-columns:1fr;
    gap:10px;
  }
  .home-hero-copy{
    max-width:none;
    text-align:center;
  }
  .home-hero-eyebrow{
    font-size:14px !important;
  }
  .home-hero-trust{
    font-size:13px !important;
    margin-bottom:8px;
  }
  .home-bookstore-hero p{
    margin:0 auto 12px !important;
    font-size:15px !important;
    line-height:1.8 !important;
  }
  .home-hero-actions .button,
  .home-hero-secondary{
    font-size:14px !important;
    min-height:44px !important;
  }
  .shop-hero-frame{
    aspect-ratio:16 / 10;
    max-height:210px !important;
  }
  .about-service-chips{
    grid-template-columns:1fr;
  }
}

@media (max-width:390px){
  .shop-hero-frame{
    max-height:188px !important;
  }
}
