/* Self Publishing Books - Shop Page Styles */

/* ── HERO ───────────────────────────────────────────── */
.spb-shop-hero{
  position:relative;overflow:hidden;
  padding:60px 24px 40px;text-align:center;
  background:linear-gradient(135deg,#1a1a2e 0%,#2d1b69 50%,#6c5ce7 100%);
  min-height:240px;display:flex;align-items:center;justify-content:center;
}
.spb-shop-hero-content{position:relative;z-index:2;max-width:650px}
.spb-shop-hero-content h1{
  font-size:clamp(26px,4.5vw,40px);font-weight:800;color:#fff;
  margin:0 0 10px;line-height:1.2;
}
.spb-shop-hero-content p{
  font-size:clamp(1rem,2vw,1.15rem);color:rgba(255,255,255,.8);margin:0;
}

/* ── SEARCH ─────────────────────────────────────────── */
.spb-shop-search-section{
  text-align:center;padding:32px 24px;
  background:linear-gradient(180deg,#f8f9fe 0%,#fff 100%);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.spb-shop-search-form{
  display:flex;align-items:center;gap:0;
  max-width:720px;margin:0 auto;
  background:#fff;border-radius:16px;
  box-shadow:0 4px 24px rgba(0,0,0,.08);
  border:2px solid #e2e8f0;
  overflow:hidden;transition:all .3s;
}
.spb-shop-search-form:focus-within{
  border-color:#6c5ce7;
  box-shadow:0 4px 30px rgba(108,92,231,.15);
}
.spb-shop-search-form svg{margin-left:20px;flex-shrink:0;color:#94a3b8}
.spb-shop-search-form input[type="search"]{
  flex:1;border:none;outline:none;
  padding:18px 16px;font-size:1rem;
  color:#1e293b;background:transparent;
}
.spb-shop-search-form input::placeholder{color:#94a3b8}
.spb-shop-search-form button{
  padding:14px 32px;margin:6px;
  background:linear-gradient(135deg,#6c5ce7,#a855f7);
  color:#fff;border:none;border-radius:12px;
  font-weight:700;font-size:1rem;cursor:pointer;
  transition:all .25s;white-space:nowrap;
}
.spb-shop-search-form button:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 15px rgba(108,92,231,.4);
}
.spb-shop-search-compact{
  max-width:500px;margin:0 0 24px;box-shadow:0 2px 12px rgba(0,0,0,.06);
}

/* ── SEARCH RESULTS ─────────────────────────────────── */
.spb-shop-search-results{
  display:flex;align-items:baseline;gap:12px;
  max-width:1200px;margin:32px auto 20px;padding:0 24px;
  flex-wrap:wrap;
}
.spb-shop-search-results h2{
  font-size:clamp(20px,3vw,26px);font-weight:800;color:#1e293b;margin:0;
}
.spb-shop-search-results span{font-size:.9rem;color:#94a3b8;font-weight:500}
.spb-shop-no-results{text-align:center;padding:60px 24px}
.spb-shop-no-results h3{font-size:1.3rem;font-weight:700;color:#1e293b;margin:16px 0 8px}
.spb-shop-no-results p{color:#94a3b8;margin:0}

/* ── CATEGORY SECTION ───────────────────────────────── */
.spb-shop-category{
  padding:40px 24px;border-bottom:1px solid rgba(0,0,0,.04);
}
.spb-shop-category:nth-child(even){background:#fafafe}
.spb-shop-category-header{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1200px;margin:0 auto 24px;
}
.spb-shop-category-header h2{
  font-size:clamp(20px,3vw,28px);font-weight:800;color:#1e293b;margin:0;
}
.spb-shop-category-count{font-size:.9rem;color:#94a3b8;font-weight:500}
.spb-shop-see-more{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 20px;border-radius:10px;
  background:linear-gradient(135deg,#6c5ce7,#a855f7);
  color:#fff;text-decoration:none;
  font-weight:700;font-size:.9rem;
  transition:all .25s;white-space:nowrap;
  box-shadow:0 2px 10px rgba(108,92,231,.25);
}
.spb-shop-see-more:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(108,92,231,.4);
}
.spb-shop-see-more svg{transition:transform .2s}
.spb-shop-see-more:hover svg{transform:translateX(3px)}

/* ── BOOK GRID ──────────────────────────────────────── */
.spb-shop-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  max-width:1200px;margin:0 auto;
}
.spb-shop-card{
  background:#fff;border-radius:16px;overflow:hidden;
  border:1px solid #f0f0f5;transition:all .3s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
.spb-shop-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(0,0,0,.1);
  border-color:transparent;
}
.spb-shop-card-cover{
  position:relative;display:block;overflow:hidden;aspect-ratio:2/3;
}
.spb-shop-card-cover img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.spb-shop-card:hover .spb-shop-card-cover img{transform:scale(1.05)}
.spb-shop-card-placeholder{
  width:100%;height:100%;display:flex;
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,#f8f9fe,#ede9fe);
}
.spb-shop-card-overlay{
  position:absolute;top:0;left:0;width:100%;height:100%;
  background:rgba(108,92,231,.85);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:all .3s;
}
.spb-shop-card:hover .spb-shop-card-overlay{opacity:1}
.spb-shop-card-overlay span{
  padding:10px 24px;border-radius:10px;
  background:#fff;color:#6c5ce7;
  font-weight:700;font-size:.85rem;
  transform:translateY(10px);transition:transform .3s;
}
.spb-shop-card:hover .spb-shop-card-overlay span{transform:translateY(0)}
.spb-shop-card-info{padding:16px;display:flex;flex-direction:column;gap:4px;flex:1}
.spb-shop-card-info h3{
  font-size:.95rem;font-weight:700;color:#1e293b;margin:0;
  line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
}
.spb-shop-card-info h3 a{color:inherit;text-decoration:none}
.spb-shop-card-info h3 a:hover{color:#6c5ce7}
.spb-shop-card-author{font-size:.82rem;color:#94a3b8;font-weight:500;margin:0}
.spb-shop-card-formats{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.spb-shop-card-formats span{
  display:inline-block;font-size:.7rem;font-weight:600;
  color:#6c5ce7;background:#f5f3ff;padding:2px 8px;border-radius:12px;
}
.spb-shop-card-bottom{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:auto;padding-top:10px;
}
.spb-shop-card-price{font-size:1.05rem;font-weight:800;color:#6c5ce7}
.spb-shop-card-price .woocommerce-Price-amount{font-size:1.05rem;font-weight:800;color:#6c5ce7}
.spb-shop-card-price del .woocommerce-Price-amount{font-size:.82rem;font-weight:500;color:#94a3b8}
.spb-shop-card-btn{
  padding:8px 18px;border-radius:8px;
  background:linear-gradient(135deg,#6c5ce7,#a855f7);
  color:#fff;text-decoration:none;
  font-weight:700;font-size:.82rem;transition:all .25s;
}
.spb-shop-card-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 10px rgba(108,92,231,.35);
}

/* ── FORMAT PURCHASE OPTIONS (Print / eBook / Both) ── */
.spb-shop-options{
  margin-top:auto;display:flex;flex-direction:column;gap:8px;
  padding-top:10px;
}
.spb-shop-option{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:1px solid #f0f0f5;border-radius:10px;padding:8px 10px;
  background:#fafaff;transition:border-color .25s;
}
.spb-shop-option:hover{border-color:rgba(108,92,231,.4)}
.spb-shop-option-both{
  background:linear-gradient(135deg,#f5f3ff,#ede9fe);
  border-color:rgba(108,92,231,.3);
}
.spb-shop-option-head{display:flex;flex-direction:column;gap:2px;min-width:0}
.spb-shop-option-name{font-size:.74rem;font-weight:700;color:#1e293b}
.spb-shop-option-price{font-size:.85rem;font-weight:800;color:#6c5ce7}
.spb-shop-option-price .woocommerce-Price-amount{
  font-size:.85rem;font-weight:800;color:#6c5ce7;
}
.spb-shop-option-price del .woocommerce-Price-amount{
  font-size:.72rem;font-weight:500;color:#94a3b8;
}
.spb-shop-option-btn{
  flex-shrink:0;padding:7px 14px;border-radius:8px;
  background:linear-gradient(135deg,#6c5ce7,#a855f7);
  color:#fff;text-decoration:none;font-weight:700;font-size:.74rem;
  transition:all .25s;white-space:nowrap;
}
.spb-shop-option-btn:hover{
  transform:translateY(-1px);box-shadow:0 3px 10px rgba(108,92,231,.35);
  color:#fff;
}
.spb-shop-option-btn-both{
  box-shadow:0 3px 10px rgba(108,92,231,.35);
}

/* ── EMPTY SHOP ─────────────────────────────────────── */
.spb-shop-empty{text-align:center;padding:80px 24px}
.spb-shop-empty h2{font-size:1.5rem;font-weight:800;color:#1e293b;margin:0 0 8px}
.spb-shop-empty p{color:#94a3b8;margin:0}

/* ── PUBLISH CTA ────────────────────────────────────── */
.spb-shop-publish-cta{
  padding:70px 24px;text-align:center;
  background:linear-gradient(135deg,#1a1a2e 0%,#2d1b69 50%,#6c5ce7 100%);
  position:relative;overflow:hidden;
}
.spb-shop-publish-cta::before{
  content:'';position:absolute;top:-50%;right:-20%;
  width:500px;height:500px;border-radius:50%;
  background:rgba(108,92,231,.15);pointer-events:none;
}
.spb-shop-publish-inner{max-width:650px;margin:0 auto;position:relative;z-index:2}
.spb-shop-publish-badge{
  display:inline-block;padding:6px 18px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25);
  border-radius:20px;color:#fff;
  font-weight:700;font-size:.85rem;margin-bottom:20px;
}
.spb-shop-publish-inner h2{
  font-size:clamp(24px,4vw,36px);font-weight:800;color:#fff;
  margin:0 0 12px;line-height:1.2;
}
.spb-shop-publish-inner>p{
  font-size:1.05rem;color:rgba(255,255,255,.8);
  margin:0 0 28px;line-height:1.7;
}
.spb-shop-publish-features{
  display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:32px;
}
.spb-shop-publish-features span{
  color:rgba(255,255,255,.9);font-size:.95rem;font-weight:600;
}
.spb-shop-publish-btn{
  display:inline-block;padding:16px 40px;border-radius:12px;
  background:#fff;color:#6c5ce7;
  font-weight:800;font-size:1.05rem;text-decoration:none;
  transition:all .25s;box-shadow:0 4px 24px rgba(0,0,0,.2);
}
.spb-shop-publish-btn:hover{
  transform:translateY(-3px);box-shadow:0 8px 36px rgba(0,0,0,.3);
}

/* ── RESPONSIVE ─────────────────────────────────────── */
@media(max-width:1024px){
  .spb-shop-grid{grid-template-columns:repeat(2,1fr);gap:20px}
}
@media(max-width:768px){
  .spb-shop-hero{padding:48px 20px 32px}
  .spb-shop-search-form{flex-wrap:wrap}
  .spb-shop-search-form input[type="search"]{width:100%;padding:16px;font-size:.95rem}
  .spb-shop-search-form button{width:calc(100% - 12px);text-align:center}
  .spb-shop-category{padding:32px 16px}
  .spb-shop-category-header{flex-direction:column;align-items:flex-start;gap:12px}
  .spb-shop-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .spb-shop-card-info{padding:12px}
  .spb-shop-publish-features{flex-direction:column;align-items:center;gap:12px}
  .spb-shop-publish-cta{padding:48px 20px}
}
@media(max-width:480px){
  .spb-shop-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .spb-shop-card-info{padding:10px}
  .spb-shop-card-info h3{font-size:.82rem}
  .spb-shop-card-price{font-size:.92rem}
  .spb-shop-card-btn{padding:6px 14px;font-size:.78rem}
  .spb-shop-option{flex-direction:column;align-items:stretch;gap:6px;text-align:center}
  .spb-shop-option-btn{text-align:center;padding:7px 10px}
}
