@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500&family=Manrope:wght@300;400;500;600&display=swap";:root{--color-bg:#fff;--color-text:#1f1f1f;--color-muted:#666;--color-accent:#ba8992;--color-accent-dark:#9f7079;--color-soft:#f8f3f4;--color-cart:#222;--color-border:#e8e1e3;--color-card:#fff;--color-danger:#9e3b3b;--font-interface:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-title:"Cormorant Garamond", Georgia, serif;--max-width:1240px;--radius-xl:30px;--radius-lg:22px;--shadow-soft:0 24px 80px #1f1f1f0f;--transition:.18s ease}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-interface);color:var(--color-text);background:radial-gradient(circle at 0 0,#ba89921a,#0000 34rem),linear-gradient(#fff 0% 62%,#fbf8f9 100%);min-height:100vh;margin:0;font-weight:300}button,input,select,textarea{font:inherit}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--color-accent);color:#fff}h1,h2,h3{font-weight:300}.small-muted{color:var(--color-muted);font-size:13px;line-height:1.6}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{width:min(var(--max-width), calc(100% - 32px));flex:1;margin:0 auto}.header{width:min(var(--max-width), calc(100% - 32px));z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border-bottom:1px solid #e8e1e38c;justify-content:space-between;align-items:center;gap:22px;margin:0 auto;padding:26px 0 18px;display:flex;position:sticky;top:0}.header-logo{object-fit:contain;width:auto;height:42px}.header-nav{color:var(--color-muted);letter-spacing:.02em;align-items:center;gap:22px;font-size:13px;display:flex}.header-nav a{transition:color var(--transition)}.header-nav a:hover{color:var(--color-text)}.nav-pill{border:1px solid var(--color-border);background:#ffffff9e;border-radius:999px;align-items:center;min-height:38px;padding:0 16px;display:inline-flex}.footer{border-top:1px solid var(--color-border);color:var(--color-muted);background:#ffffff8c;margin-top:96px;padding:34px 0}.footer-inner{width:min(var(--max-width), calc(100% - 32px));justify-content:space-between;gap:20px;margin:0 auto;font-size:13px;display:flex}.page-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:#ffffffd6;padding:clamp(22px,4vw,44px)}.header{background:#ffffffdb;border-bottom:1px solid #e8e1e373;padding:18px 0 14px}.header-brand{align-items:center;display:inline-flex}.header-logo{height:38px}.cart-pill{min-height:42px;color:var(--color-text);background:#ffffffd1;gap:10px;padding:0 18px;box-shadow:0 12px 34px #1f1f1f09}.cart-pill strong{background:var(--color-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:12px;font-weight:500;display:inline-flex}.cart-pill em{color:var(--color-muted);font-size:12px;font-style:normal}.header{z-index:60;-webkit-backdrop-filter:blur(18px);background:#ffffffdb;border:1px solid #e8e1e3c7;border-radius:999px;width:min(760px,100% - 32px);margin:18px auto 0;padding:10px 12px 10px 18px;position:sticky;top:14px;box-shadow:0 18px 54px #1f1f1f13,0 2px 12px #ba89920e,inset 0 0 0 1px #ffffff9e}.header-brand{align-items:center;min-width:0;display:inline-flex}.header-logo{object-fit:contain;max-width:210px;height:34px}.cart-pill{min-height:40px;box-shadow:none;background:#ffffffeb;border:1px solid #e8e1e3f0;border-radius:999px;padding:0 16px}.cart-pill:hover{background:#fff;border-color:#ba899257;transform:translateY(-1px)}@media (width<=620px){.header{width:min(420px,100% - 24px);margin-top:10px;padding:9px 10px 9px 14px;top:10px}.header-logo{max-width:150px;height:30px}.cart-pill{gap:7px;min-height:36px;padding:0 12px}.cart-pill em{display:none}}.header{width:min(var(--max-width), calc(100% - 32px));z-index:60;-webkit-backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #e8e1e3c7;border-radius:999px;margin:18px auto 0;padding:10px 12px 10px 18px;position:sticky;top:14px;box-shadow:0 18px 54px #1f1f1f13,0 2px 12px #ba89920e,inset 0 0 0 1px #ffffff9e}.header-actions{justify-content:flex-end;align-items:center;gap:18px;display:inline-flex}.weather-pill{min-height:38px;color:var(--color-muted);letter-spacing:.02em;white-space:nowrap;background:#f8f3f48a;border:1px solid #e8e1e3d6;border-radius:999px;justify-content:center;align-items:center;padding:0 15px;font-size:13px;display:inline-flex}.cart-pill{flex-shrink:0}@media (width<=620px){.header{width:min(var(--max-width), calc(100% - 24px))}.header-actions{gap:10px}.weather-pill{min-height:34px;padding:0 11px;font-size:12px}}.btn{cursor:pointer;min-height:44px;transition:transform var(--transition), opacity var(--transition), background var(--transition), border-color var(--transition);white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-dark)}.btn-dark{background:var(--color-cart);color:#fff}.btn-ghost{border:1px solid var(--color-border);color:var(--color-text);background:#ffffffb8}.btn-danger{background:var(--color-danger);color:#fff}.input,.textarea,.select{border:1px solid var(--color-border);width:100%;color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#ffffffe0;border-radius:18px;outline:none;padding:14px 16px;font-weight:300}.input:focus,.textarea:focus,.select:focus{background:#fff;border-color:#ba8992b8;box-shadow:0 0 0 4px #ba89921f}.textarea{resize:vertical;min-height:140px}.modal-backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:80;background:#ffffff94;place-items:center;padding:20px;animation:.18s fadeIn;display:grid;position:fixed;inset:0}.modal-card{background:#ffffffe6;border:1px solid #e8e1e3eb;border-radius:34px;width:min(940px,100%);padding:clamp(20px,3vw,34px);animation:.2s riseIn;box-shadow:0 30px 120px #1f1f1f1f}.cookie-banner{z-index:100;border:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-radius:24px;max-width:920px;margin:0 auto;padding:18px;position:fixed;bottom:24px;left:24px;right:24px;box-shadow:0 18px 60px #00000014}.cookie-actions{flex-wrap:wrap;gap:10px;display:flex}.badge{background:var(--color-soft);min-height:28px;color:var(--color-accent-dark);letter-spacing:.02em;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.notice{border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-muted);background:#f8f3f48c;padding:16px;line-height:1.7}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.cookie-settings{gap:10px;margin:8px 0;display:grid}.cookie-choice{border:1px solid var(--color-border);background:#f8f3f46b;border-radius:18px;grid-template-columns:20px 1fr;align-items:start;gap:12px;padding:12px;display:grid}.cookie-choice small{color:var(--color-muted);line-height:1.5}.status-pill{border:1px solid var(--color-border);min-width:98px;color:var(--color-text);white-space:nowrap;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;line-height:1;display:inline-flex}.status-pill-paid{color:#2f6e45;background:#eef8f1;border-color:#cfead7}.status-pill-pending{color:#8a621d;background:#fff8ec;border-color:#f2ddb5}.status-pill-failed{color:#9a4250;background:#fff1f3;border-color:#ebc7cf}.status-pill-cancelled{color:#666;background:#f5f5f5;border-color:#ddd}.status-pill-refunded{color:#3e587d;background:#f1f4fa;border-color:#cad5ea}.btn-compact{min-height:34px;padding:0 14px;font-size:12px}.status-pill{min-width:98px;min-height:34px;padding:0 14px;font-size:12px}.status-pill-action{cursor:pointer;font-family:inherit}.status-pill-action:hover{border-color:#ba89926b;transform:translateY(-1px)}.admin-search-bar{margin:0 0 18px}.admin-search-bar .input{max-width:620px}.category-admin-list{gap:0;display:grid}.category-admin-row{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;display:grid}.category-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=720px){.category-admin-row{grid-template-columns:1fr}.category-admin-actions{justify-content:flex-start}}.hero{text-align:center;padding:64px 0 32px}.hero-kicker{color:var(--color-accent-dark);letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;font-size:12px;display:inline-flex}.hero h1{font-family:var(--font-title);letter-spacing:-.055em;margin:0;font-size:clamp(58px,10vw,126px);font-weight:300;line-height:.86}.hero p{max-width:690px;color:var(--color-muted);margin:22px auto 0;font-size:15px;line-height:1.85}.shop-tools{border:1px solid var(--color-border);background:#ffffffa3;border-radius:26px;grid-template-columns:minmax(220px,1fr) 230px 220px;align-items:center;gap:14px;margin:42px 0 34px;padding:12px;display:grid;box-shadow:0 18px 70px #1f1f1f0a}.product-grid{grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,30px);display:grid}.product-card{cursor:pointer;border:1px solid #0000;border-radius:26px;transition:transform .22s,border .22s,opacity .22s}.product-card:hover{transform:translateY(-5px)}.product-cover{background:linear-gradient(145deg, var(--color-soft), #fff);aspect-ratio:3/4;border:1px solid var(--color-border);border-radius:26px;transition:box-shadow .22s,border-color .22s;overflow:hidden}.product-cover img{object-fit:contain;width:100%;height:100%}.product-info{padding:15px 4px 0}.product-title{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:400}.product-subtitle{color:var(--color-muted);margin:7px 0 10px;font-size:13px;line-height:1.55}.product-meta-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.product-price{color:var(--color-text);font-size:14px;font-weight:500}.product-modal-layout{grid-template-columns:minmax(210px,330px) 1fr;align-items:start;gap:clamp(22px,4vw,40px);display:grid}.modal-title{font-family:var(--font-title);letter-spacing:-.045em;margin:0;font-size:clamp(38px,6vw,58px);font-weight:300;line-height:.94}.cart-list{gap:14px;display:grid}.cart-row{border:1px solid var(--color-border);background:#ffffffb8;border-radius:22px;grid-template-columns:70px 1fr auto;align-items:center;gap:16px;padding:14px;display:grid}.cart-thumb{object-fit:contain;border:1px solid var(--color-border);border-radius:12px;width:70px;height:94px}.checkout-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px;display:grid}.checkout-summary{position:sticky;top:104px}.success-download-row{border-top:1px solid var(--color-border);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:18px 0;display:grid}.product-cover{box-shadow:0 18px 46px #1f1f1f0e;background:0 0!important;border:0!important;border-radius:22px!important;overflow:hidden!important}.product-cover img{object-fit:cover!important;object-position:center center!important;width:100%!important;height:100%!important;display:block!important}.product-card:hover .product-cover{border-color:#0000!important;box-shadow:0 26px 70px #1f1f1f13!important}.cart-thumb{object-fit:cover!important;border:0!important}.admin-shell{background:linear-gradient(#fff 0%,#fbf8f9 100%);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb3;padding:24px}.admin-sidebar h2{font-family:var(--font-title);letter-spacing:-.04em;margin:0 0 22px;font-size:34px;font-weight:300}.admin-sidebar nav{gap:8px;display:grid}.admin-sidebar a{min-height:40px;color:var(--color-muted);transition:background var(--transition), color var(--transition);border-radius:999px;align-items:center;padding:0 12px;display:flex}.admin-sidebar a:hover{background:var(--color-soft);color:var(--color-text)}.admin-content{padding:clamp(22px,4vw,42px)}.admin-content h1{font-family:var(--font-title);letter-spacing:-.05em;margin:0 0 24px;font-size:clamp(42px,6vw,72px);line-height:.95}.admin-card{border:1px solid var(--color-border);background:#ffffffc7;border-radius:24px;padding:22px;box-shadow:0 18px 70px #1f1f1f0a}.admin-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=1100px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static}}@media (width<=980px){.product-grid{grid-template-columns:repeat(3,1fr)}.shop-tools,.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.admin-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.product-modal-layout{grid-template-columns:1fr}.modal-card .product-cover{max-width:260px;margin:0 auto}.cart-row{grid-template-columns:58px 1fr}.cart-row .btn{grid-column:1/-1}.success-download-row{grid-template-columns:1fr}}@media (width<=640px){.site-main,.header,.footer-inner{width:min(100% - 24px, var(--max-width))}.header{gap:12px;padding-top:14px}.header-logo{height:34px}.header-nav{gap:8px;font-size:12px}.header-nav a:not(.nav-pill){display:none}.hero{padding-top:46px}.hero p{font-size:14px}.product-grid{grid-template-columns:repeat(2,1fr);gap:16px}.product-title{font-size:13px}.product-subtitle{font-size:12px}.modal-card{border-radius:22px;max-height:calc(100vh - 30px);padding:18px;overflow:auto}.footer-inner{flex-direction:column}.admin-grid{grid-template-columns:1fr}}

/* V1.0.35 legal page + non interactive commitments band */
.commitments-section {
  width: min(var(--max-width), calc(100% - 32px));
  margin: -18px auto 42px;
}

.commitments-card {
  border: 1px solid rgba(232, 225, 227, 0.84);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 26px 80px rgba(31, 31, 31, 0.045);
  padding: 40px 44px 42px;
  text-align: center;
}

.commitments-kicker {
  display: inline-block;
  color: var(--color-accent);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: 11px;
  margin-bottom: 10px;
}

.commitments-card h2 {
  font-family: var(--font-title);
  font-weight: 300;
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1;
  margin: 0 0 34px;
  color: var(--color-text);
}

.commitments-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px;
}

.commitment-item {
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 12px;
  min-height: 190px;
  padding: 8px 8px 0;
  pointer-events: none;
}

.commitment-icon {
  width: 50px;
  height: 50px;
  color: var(--color-accent);
  opacity: .92;
  margin-bottom: 4px;
}

.commitment-item h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 500;
  color: var(--color-text);
}

.commitment-item p {
  margin: 0;
  max-width: 230px;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.72;
}

.legal-page {
  max-width: 930px;
  margin: 0 auto;
  line-height: 1.9;
  padding: 48px 52px;
}

.legal-content h2 {
  font-family: var(--font-title);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 300;
  line-height: 1.08;
  margin: 48px 0 14px;
  color: var(--color-text);
}

.legal-content h2:first-of-type {
  margin-top: 18px;
}

.legal-content p {
  color: var(--color-muted);
  margin: 0 0 16px;
}

.legal-content strong {
  color: var(--color-text);
  font-weight: 500;
}

.legal-updated {
  color: var(--color-accent) !important;
  font-size: 13px;
  letter-spacing: .06em;
}

.legal-cookie-reset {
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border);
}

@media (max-width: 1024px) {
  .commitments-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
  }

  .commitments-card {
    padding: 34px 26px 36px;
  }
}

@media (max-width: 620px) {
  .commitments-section {
    width: min(var(--max-width), calc(100% - 24px));
    margin-top: -8px;
  }

  .commitments-card {
    border-radius: 28px;
    padding: 30px 18px 32px;
  }

  .commitments-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 14px;
  }

  .commitment-icon {
    width: 42px;
    height: 42px;
  }

  .commitment-item {
    min-height: 210px;
    padding: 0;
  }

  .commitment-item h3 {
    font-size: 15px;
  }

  .commitment-item p {
    font-size: 12.5px;
    line-height: 1.62;
  }

  .legal-page {
    padding: 34px 22px;
  }
}


/* V1.0.36.2 featured banner + commitments reposition, safe external patch */
.featured-banner-section {
  width: min(var(--max-width), calc(100% - 32px));
  margin: 12px auto 34px;
}

.featured-banner {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  align-items: center;
  gap: 24px;
  padding: 42px 46px 70px;
  border: 1px solid rgba(232, 225, 227, .9);
  border-radius: 36px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(248, 243, 244, .96));
  box-shadow: 0 32px 90px rgba(31, 31, 31, .075);
}

.featured-library-blur {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .58;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.88), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.45)),
    repeating-linear-gradient(90deg,
      rgba(186,137,146,.12) 0 18px,
      rgba(89,67,47,.08) 18px 30px,
      rgba(36,32,33,.06) 30px 48px,
      rgba(186,137,146,.05) 48px 68px
    ),
    linear-gradient(180deg, rgba(82,57,45,.10), rgba(82,57,45,.03));
  filter: blur(10px) saturate(.9);
  transform: scale(1.08);
}

.featured-banner::after {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.48);
  pointer-events: none;
}

.featured-copy,
.featured-cover-stage,
.featured-dots {
  position: relative;
  z-index: 1;
}

.featured-copy {
  max-width: 560px;
}

.featured-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(232,225,227,.95);
  color: var(--color-accent);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.featured-title {
  font-family: var(--font-title);
  font-weight: 300;
  font-size: clamp(44px, 6vw, 76px);
  line-height: .96;
  margin: 0 0 14px;
  color: var(--color-text);
}

.featured-subtitle {
  margin: 0 0 14px;
  color: var(--color-text);
  font-size: 18px;
  line-height: 1.6;
  max-width: 520px;
}

.featured-description {
  margin: 0 0 22px;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.84;
  max-width: 520px;
}

.featured-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.featured-price {
  font-size: 28px;
  font-weight: 600;
  color: var(--color-text);
}

.featured-buy {
  padding: 14px 26px;
  min-width: 150px;
}

.featured-cover-stage {
  display: flex;
  justify-content: flex-end;
}

.featured-cover-card {
  width: min(100%, 360px);
  aspect-ratio: 3 / 4;
  border-radius: 30px;
  background: transparent;
  box-shadow: 0 24px 70px rgba(31,31,31,.16);
  overflow: hidden;
}

.featured-cover-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.featured-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.featured-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 1px solid rgba(186,137,146,.52);
  background: rgba(255,255,255,.86);
  padding: 0;
  cursor: pointer;
  transition: all .2s ease;
}

.featured-dot.is-active {
  width: 28px;
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.commitments-section {
  width: min(var(--max-width), calc(100% - 32px));
  margin: 34px auto 42px;
}

@media (max-width: 1024px) {
  .featured-banner {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 36px 34px 68px;
  }

  .featured-copy {
    text-align: left;
    max-width: none;
  }

  .featured-cover-stage {
    justify-content: center;
  }

  .featured-cover-card {
    width: min(100%, 320px);
  }

  .featured-title {
    font-size: clamp(42px, 8vw, 62px);
  }
}

@media (max-width: 620px) {
  .featured-banner-section,
  .commitments-section {
    width: min(var(--max-width), calc(100% - 24px));
  }

  .featured-banner {
    padding: 28px 18px 62px;
    border-radius: 28px;
  }

  .featured-kicker {
    font-size: 11px;
    letter-spacing: .14em;
  }

  .featured-title {
    font-size: 42px;
  }

  .featured-subtitle {
    font-size: 16px;
  }

  .featured-description {
    font-size: 14px;
    line-height: 1.72;
  }

  .featured-cover-card {
    width: min(100%, 260px);
    border-radius: 24px;
  }

  .featured-dots {
    bottom: 18px;
  }
}


/* V1.0.37 forced visible featured banner fallback */
.featured-banner-section {
  display: block !important;
  opacity: 1 !important;
}

.featured-banner {
  min-height: 420px;
}

.featured-cover-card:empty {
  background:
    linear-gradient(135deg, rgba(255,255,255,.84), rgba(248,243,244,.98)),
    repeating-linear-gradient(90deg, rgba(186,137,146,.16) 0 14px, rgba(31,31,31,.05) 14px 26px);
}

@media (max-width: 620px) {
  .featured-banner {
    min-height: 0;
  }
}


/* V1.0.38 compact featured banner + editor correction */
.featured-banner-section {
  width: min(var(--max-width), calc(100% - 32px));
  margin: 4px auto 22px;
}

.featured-banner {
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 245px);
  gap: 20px;
  padding: 24px 28px 44px;
  border-radius: 30px;
  box-shadow: 0 18px 54px rgba(31, 31, 31, .055);
}

.featured-banner::after {
  inset: 12px;
  border-radius: 23px;
}

.featured-library-blur {
  opacity: .38;
  filter: blur(8px) saturate(.85);
}

.featured-copy {
  max-width: 620px;
}

.featured-kicker {
  padding: 6px 12px;
  font-size: 10.5px;
  letter-spacing: .16em;
  margin-bottom: 10px;
}

.featured-title {
  font-size: clamp(32px, 4.2vw, 50px);
  line-height: 1;
  margin-bottom: 8px;
}

.featured-subtitle {
  font-size: 15px;
  line-height: 1.45;
  margin-bottom: 8px;
}

.featured-description {
  font-size: 13.5px;
  line-height: 1.62;
  margin-bottom: 14px;
  max-width: 560px;
}

.featured-meta {
  gap: 9px;
  margin-bottom: 14px;
}

.featured-price {
  font-size: 20px;
}

.featured-buy {
  min-width: 128px;
  padding: 11px 20px;
}

.featured-cover-stage {
  justify-content: flex-end;
  align-self: center;
}

.featured-cover-card {
  width: min(100%, 218px);
  border-radius: 22px;
  box-shadow: 0 16px 42px rgba(31, 31, 31, .14);
}

.featured-dots {
  bottom: 15px;
  gap: 8px;
}

.featured-dot {
  width: 9px;
  height: 9px;
}

.featured-dot.is-active {
  width: 22px;
}

@media (max-width: 1024px) {
  .featured-banner {
    grid-template-columns: minmax(0, 1fr) minmax(150px, 210px);
    gap: 18px;
    padding: 22px 24px 42px;
  }

  .featured-cover-stage {
    justify-content: flex-end;
  }

  .featured-cover-card {
    width: min(100%, 190px);
  }

  .featured-title {
    font-size: clamp(30px, 5vw, 44px);
  }
}

@media (max-width: 620px) {
  .featured-banner-section {
    width: min(var(--max-width), calc(100% - 24px));
    margin: 0 auto 18px;
  }

  .featured-banner {
    grid-template-columns: minmax(0, 1fr) 106px;
    gap: 12px;
    padding: 17px 15px 36px;
    border-radius: 24px;
    align-items: center;
  }

  .featured-banner::after {
    inset: 9px;
    border-radius: 18px;
  }

  .featured-kicker {
    padding: 5px 10px;
    font-size: 9.5px;
    letter-spacing: .12em;
    margin-bottom: 8px;
  }

  .featured-title {
    font-size: 26px;
    line-height: 1.02;
    margin-bottom: 6px;
  }

  .featured-subtitle {
    font-size: 12.5px;
    line-height: 1.35;
    margin-bottom: 7px;
  }

  .featured-description {
    display: none;
  }

  .featured-meta {
    margin-bottom: 10px;
  }

  .featured-meta .badge {
    display: none;
  }

  .featured-price {
    font-size: 16px;
  }

  .featured-buy {
    min-width: 104px;
    padding: 9px 14px;
    font-size: 12px;
  }

  .featured-cover-stage {
    justify-content: flex-end;
    align-self: center;
  }

  .featured-cover-card {
    width: 106px;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(31, 31, 31, .13);
  }

  .featured-dots {
    bottom: 12px;
  }

  .featured-dot {
    width: 8px;
    height: 8px;
  }

  .featured-dot.is-active {
    width: 18px;
  }
}


/* V1.0.39 mobile footer links + warmer animated featured banner */

/* Footer links visible and readable on mobile */
.footer .header-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
}

.footer .header-nav a {
  color: var(--color-muted);
  text-decoration: none;
  font-size: 13px;
}

.footer .header-nav a:hover {
  color: var(--color-accent);
}

@media (max-width: 620px) {
  .footer-inner {
    display: grid;
    gap: 14px;
    justify-items: center;
    text-align: center;
  }

  .footer .header-nav {
    display: flex !important;
    width: 100%;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
  }

  .footer .header-nav a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border: 1px solid rgba(232, 225, 227, .92);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--color-text);
    font-size: 12.5px;
  }
}

/* More premium, warmer, useful featured banner */
.featured-banner {
  isolation: isolate;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.98), rgba(255,255,255,.38) 35%, rgba(255,255,255,0) 58%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,243,244,.94) 48%, rgba(241,226,229,.92));
  box-shadow:
    0 20px 58px rgba(31,31,31,.07),
    0 8px 24px rgba(186,137,146,.08),
    inset 0 1px 0 rgba(255,255,255,.72);
}

.featured-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .32;
  background:
    radial-gradient(circle at 88% 16%, rgba(186,137,146,.24) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 34%, rgba(31,31,31,.11) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 76%, rgba(186,137,146,.18) 0 2px, transparent 3px),
    repeating-linear-gradient(45deg, rgba(186,137,146,.08) 0 1px, transparent 1px 18px);
  animation: featuredPatternDrift 14s ease-in-out infinite alternate;
}

.featured-library-blur {
  opacity: .46;
  background:
    linear-gradient(90deg, rgba(255,255,255,.86), rgba(255,255,255,.34)),
    repeating-linear-gradient(90deg,
      rgba(91,62,49,.14) 0 14px,
      rgba(186,137,146,.18) 14px 24px,
      rgba(245,238,230,.30) 24px 36px,
      rgba(40,32,31,.08) 36px 48px,
      rgba(186,137,146,.08) 48px 64px
    );
  filter: blur(9px) saturate(.95);
  transform: scale(1.06);
}

.featured-kicker {
  background: rgba(255,255,255,.78);
  box-shadow: 0 8px 24px rgba(186,137,146,.08);
}

.featured-title {
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}

.featured-cover-card {
  transform: rotate(1.2deg);
  transition: transform .35s ease, box-shadow .35s ease;
  box-shadow:
    0 18px 44px rgba(31,31,31,.16),
    0 0 0 1px rgba(255,255,255,.72);
}

.featured-banner:hover .featured-cover-card {
  transform: rotate(.3deg) translateY(-2px);
  box-shadow:
    0 24px 58px rgba(31,31,31,.18),
    0 0 0 1px rgba(255,255,255,.82);
}

.featured-buy {
  box-shadow: 0 12px 30px rgba(186,137,146,.18);
}

.featured-dots {
  z-index: 2;
}

@keyframes featuredPatternDrift {
  from {
    transform: translate3d(-6px, -4px, 0);
  }
  to {
    transform: translate3d(8px, 5px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .featured-banner::before {
    animation: none;
  }

  .featured-cover-card {
    transition: none;
  }
}

@media (max-width: 620px) {
  .featured-banner {
    box-shadow:
      0 14px 36px rgba(31,31,31,.055),
      0 5px 16px rgba(186,137,146,.06);
  }

  .featured-banner::before {
    opacity: .22;
  }

  .featured-cover-card {
    transform: rotate(.8deg);
  }

  .featured-banner:hover .featured-cover-card {
    transform: rotate(.8deg);
  }
}


/* V1.0.40 product grid pagination */
.product-card-hidden-by-pagination {
  display: none !important;
}

.product-pagination {
  width: min(var(--max-width), calc(100% - 32px));
  margin: 30px auto 12px;
  display: grid;
  justify-items: center;
  gap: 10px;
}

.product-pagination-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex-wrap: wrap;
}

.product-page-bubble {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(232, 225, 227, .96);
  background: rgba(255, 255, 255, .86);
  color: var(--color-muted);
  font-size: 13px;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.product-page-bubble:hover {
  transform: translateY(-1px);
  color: var(--color-text);
  border-color: rgba(186, 137, 146, .42);
  box-shadow: 0 10px 24px rgba(31,31,31,.055);
}

.product-page-bubble.is-active {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: #fff;
  box-shadow: 0 12px 28px rgba(186,137,146,.22);
}

.product-pagination-info {
  margin: 0;
  color: var(--color-muted);
  font-size: 12px;
  letter-spacing: .04em;
}

@media (max-width: 620px) {
  .product-pagination {
    width: min(var(--max-width), calc(100% - 24px));
    margin: 24px auto 10px;
  }

  .product-page-bubble {
    width: 34px;
    height: 34px;
    font-size: 12px;
  }

  .product-pagination-info {
    font-size: 11.5px;
  }
}


/* V1.0.41 centered footer on desktop, tablet and mobile */
.footer-inner {
  display: grid !important;
  justify-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 14px !important;
}

.footer-inner > span {
  display: block;
  text-align: center;
  width: 100%;
}

.footer .header-nav {
  width: 100%;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.footer .header-nav a {
  text-align: center !important;
}


/* V1.0.42 footer links as pills everywhere */
.footer .header-nav a {
  display: inline-flex !important;
  min-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(232, 225, 227, .92) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .74) !important;
  color: var(--color-text) !important;
  font-size: 12.5px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(31, 31, 31, .035) !important;
  transition: transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.footer .header-nav a:hover {
  transform: translateY(-1px);
  color: var(--color-accent) !important;
  border-color: rgba(186, 137, 146, .42) !important;
  background: rgba(255, 255, 255, .9) !important;
  box-shadow: 0 10px 26px rgba(31, 31, 31, .05) !important;
}

@media (max-width: 620px) {
  .footer .header-nav a {
    min-height: 34px !important;
    padding: 7px 12px !important;
    font-size: 12.5px !important;
  }
}


/* V1.0.44 featured cover slightly closer to center */
.featured-cover-stage {
  justify-content: center !important;
  padding-right: 10px;
}

.featured-cover-card {
  transform: translateX(-10px) rotate(1.2deg);
}

.featured-banner:hover .featured-cover-card {
  transform: translateX(-8px) rotate(.3deg) translateY(-2px);
}

@media (max-width: 1024px) {
  .featured-cover-stage {
    justify-content: center !important;
    padding-right: 0;
  }

  .featured-cover-card {
    transform: translateX(-6px) rotate(1deg);
  }

  .featured-banner:hover .featured-cover-card {
    transform: translateX(-6px) rotate(.5deg);
  }
}

@media (max-width: 620px) {
  .featured-cover-stage {
    justify-content: center !important;
  }

  .featured-cover-card {
    transform: translateX(-4px) rotate(.8deg);
  }

  .featured-banner:hover .featured-cover-card {
    transform: translateX(-4px) rotate(.8deg);
  }
}


/* V1.0.45 admin CSV export buttons */
.admin-export-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid rgba(232, 225, 227, .92);
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
}

.admin-export-note {
  margin: 0 !important;
}

.admin-export-button {
  white-space: nowrap;
  border-radius: 999px !important;
  padding: 10px 16px !important;
}

@media (max-width: 720px) {
  .admin-export-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-export-button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}


/* V1.0.46 force visible admin CSV export buttons */
.admin-export-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 12px 0 18px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(232, 225, 227, .95) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: 0 10px 30px rgba(31,31,31,.04) !important;
}

.admin-export-note {
  margin: 0 !important;
  color: var(--color-muted) !important;
}

.admin-export-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  text-decoration: none !important;
}

@media (max-width: 720px) {
  .admin-export-bar {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .admin-export-button {
    width: 100% !important;
  }
}


/* V1.0.47 correction largeur boutons export CSV admin */
.admin-export-bar {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  overflow: visible !important;
}

.admin-export-note {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.admin-export-button {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 170px !important;
  max-width: none !important;
  height: auto !important;
  min-height: 42px !important;
  padding: 11px 18px !important;
  overflow: visible !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  flex-shrink: 0 !important;
  line-height: 1.1 !important;
}

@media (max-width: 720px) {
  .admin-export-bar {
    grid-template-columns: 1fr !important;
  }

  .admin-export-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* V1.0.55 customer/admin polish */

/* Add-to-cart toast */
.livres-toast-layer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 24px;
  z-index: 99999;
  display: grid;
  justify-items: center;
  pointer-events: none;
}

.livres-toast {
  transform: translateY(18px) scale(.96);
  opacity: 0;
  min-width: 180px;
  max-width: calc(100vw - 32px);
  padding: 13px 20px;
  border-radius: 999px;
  text-align: center;
  font-weight: 600;
  letter-spacing: .01em;
  box-shadow: 0 18px 48px rgba(31,31,31,.12);
  transition: opacity .28s ease, transform .28s ease;
}

.livres-toast.is-visible {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.livres-toast.is-success {
  background: #BA8992;
  color: #fff;
}

.livres-toast.is-error {
  background: #fff;
  color: #9b1c1c;
  border: 1px solid #ffd2d2;
}

.livres-confetti {
  position: fixed;
  left: 50%;
  bottom: 70px;
  width: 1px;
  height: 1px;
  z-index: 99998;
  pointer-events: none;
}

.livres-confetti i {
  position: absolute;
  width: 7px;
  height: 12px;
  border-radius: 2px;
  background: var(--c);
  animation: livresConfettiFly 1300ms ease-out forwards;
}

@keyframes livresConfettiFly {
  0% { transform: translate(0,0) rotate(0deg); opacity: 1; }
  100% { transform: translate(var(--x), -140px) rotate(var(--r)); opacity: 0; }
}

/* Login password recovery */
.admin-forgot-password {
  display: grid;
  gap: 10px;
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border);
}

.admin-forgot-toggle {
  border: 0;
  background: transparent;
  color: var(--color-accent);
  cursor: pointer;
  justify-self: start;
  padding: 0;
  font-size: 13px;
}

.admin-forgot-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(248,243,244,.72);
  border: 1px solid rgba(232,225,227,.92);
}

.admin-reset-status {
  margin: 0 !important;
}

.admin-reset-status.is-success {
  color: #1b6b35 !important;
}

.admin-reset-status.is-error {
  color: #9b1c1c !important;
}

/* Checkout trust logos */
.payment-trust-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 2vw, 14px);
  flex-wrap: nowrap;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border);
}

.payment-logo-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(58px, 14vw, 96px);
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(232,225,227,.95);
  background: rgba(255,255,255,.86);
  color: var(--color-text);
  font-size: clamp(11px, 2.5vw, 14px);
  font-weight: 650;
  box-shadow: 0 8px 24px rgba(31,31,31,.035);
  white-space: nowrap;
}

.checkout-product-row {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border-top: 1px solid var(--color-border);
  padding: 14px 0;
}

.checkout-product-cover {
  width: 54px;
  aspect-ratio: 3 / 4;
  border-radius: 10px;
  overflow: hidden;
  background: #F8F3F4;
  border: 1px solid var(--color-border);
}

.checkout-product-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.checkout-product-info {
  min-width: 0;
}

.checkout-product-info strong {
  display: block;
  line-height: 1.35;
}

.checkout-product-price {
  font-weight: 600;
  white-space: nowrap;
}

.checkout-totals-v55 {
  border-top: 1px solid var(--color-border);
  margin-top: 8px;
  padding-top: 12px;
  display: grid;
  gap: 8px;
}

.checkout-totals-v55 div,
.checkout-total-final {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.checkout-totals-v55 span {
  color: var(--color-muted);
}

.checkout-total-final {
  border-top: 1px solid var(--color-border);
  padding-top: 12px;
}

@media (max-width: 520px) {
  .payment-trust-logos {
    gap: 6px;
  }

  .payment-logo-pill {
    min-width: 0;
    flex: 1 1 0;
    padding: 0 8px;
    height: 34px;
  }

  .checkout-product-row {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .checkout-product-price {
    grid-column: 2;
  }
}
