/* EXA Concept — styles partagés, variantes isolées par page. */@charset "utf-8";
/* CSS Document copyrights of E.X.A Concept digital.exa-concept.com */ :root {
  --company-color: #007cc2;
  --ok-color: #00DF1E;
  --oko-color: #FFAC05;
  --ko-color: #FF5A05;
  --gray-color: #AEAEAE;
  --promo-color: #FF9B05;
  --font-color: #000000;
  --bg-color: #F8F8F8;
  --info-color: #0678DC;
  --bg-alpha-color: rgba(255, 255, 255, 0.85);
  --header-bg-color: #FFFFFF;
  --header-mobile-menu-bg-color: rgba(0, 0, 0, 0.85);
  --header-mobile-menu-close: -1120px -80px;
  --header-border-color: #007cc2;
  --header-mOff-color: #000000;
  --header-mOn-color: #0088d5;
  --header-mOver-color: #E5E5E5;
  --header-logo-bg-p: 50% 0px;
  --header-mbi-color: 0px 0px;
  --header-ai-color: -80px 0px;
  --header-coffi-color: -160px 0px;
  --header-coni-color: -160px -80px;
  --header-dmi-color: -240px 0px;
  --phone-shadow: -3px 0px 3px rgba(0, 0, 0, 0.5);
  --switch-bg-color: #FFFFFF;
  --switch-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5);
  --svg-color: #000000;
  --review-bg-color: #FFFFFF;
  --title-img-position: 50% 100%;
  --card-bg-color: #EEEEEE;
  --card-border-color: #dbdbdb;
  --card-info-bg-color: #dedede;
  --card-icon-bg-position: -876px -21px;
  --card-icon-bgc-position: -630px -21px;
  --list-bg-color: #FFFFFF;
  --link-color: #0088d5;
  --ao-bg-color: rgba(255, 255, 255, 0.85);
  --onglet-font-color: #808080;
  --onglet-border-color: #CFCFCF;
  --onglet-separator-color: #707070;
  --confirmed-bg-color: #012D40;
  --ctan-bg-color: #E5E5E5;
  --ctao-bg-color: #CFCFCF;
  --ctar-bg-color: #000000;
  --input-title-color: #808080;
  --input-bg-color: #FBFBFB;
  --input-border-color: #dfdfdf;
  --input-placeholder-color: #dfdfdf;
  --editor-bg-color: #F9F5E7;
  --editor-title-bg-color: #EBE8DF;
  --editor-price-bg-color: #E9E3CA;
  --editor-vz-bg-color: #e3eaf2;
  --ticket-price-bg-color: #373737;
  --selected-bg-color: #FFECD4;
  --close-bg-color: #F1F1F1;
  --close-color: #AEAEAE;
}
[data-theme="dark"] {
  --company-color: #007cc2;
  --header-mOff-color: #FFFFFF;
  --header-mOn-color: #0088d5;
  --header-mOver-color: #404040;
  --ok-color: #00DF1E;
  --oko-color: #FFAC05;
  --ko-color: #FF5A05;
  --gray-color: #AEAEAE;
  --promo-color: #FF9B05;
  --font-color: #FFFFFF;
  --bg-color: #070707;
  --info-color: #0678DC;
  --bg-alpha-color: rgba(0, 0, 0, 0.85);
  --header-bg-color: #000000;
  --header-mobile-menu-bg-color: rgba(255, 255, 255, 0.5);
  --header-mobile-menu-close: -1120px 0px;
  --header-border-color: #007cc2;
  --header-logo-bg-p: 50% -80px;
  --header-mbi-color: 0px -80px;
  --header-ai-color: -80px -160px;
  --header-coffi-color: -160px -160px;
  --header-coni-color: -320px -80px;
  --header-dmi-color: -240px -80px;
  --phone-shadow: -3px 0px 3px rgba(255, 255, 255, 0.5);
  --switch-bg-color: #1C1C1C;
  --switch-shadow: 0px 1px 2px rgba(255, 255, 255, 0.5);
  --svg-color: #FFFFFF;
  --review-bg-color: #2e2e2e;
  --title-img-position: 50% 0%;
  --card-bg-color: #111111;
  --card-border-color: #242424;
  --card-info-bg-color: #212121;
  --card-icon-bg-position: -998px -21px;
  --card-icon-bgc-position: -753px -21px;
  --list-bg-color: #000000;
  --link-color: #0088d5;
  --ao-bg-color: rgba(0, 0, 0, 0.85);
  --onglet-font-color: #7f7f7f;
  --onglet-border-color: #303030;
  --onglet-separator-color: #8f8f8f;
  --confirmed-bg-color: #012D40;
  --ctan-bg-color: #E5E5E5;
  --ctao-bg-color: #CFCFCF;
  --ctar-bg-color: #131313;
  --input-title-color: #808080;
  --input-bg-color: #2C2C2C;
  --input-border-color: #444;
  --input-placeholder-color: #444;
  --editor-bg-color: #222;
  --editor-title-bg-color: #1A1A1A;
  --editor-price-bg-color: #1A1A1A;
  --editor-vz-bg-color: #0d0e0f;
  --ticket-price-bg-color: #1c1b1b;
  --selected-bg-color: #1b1b1b;
  --close-bg-color: #0e0e0e;
  --close-color: #515151;
}
}
body {
  margin: 0px;
  padding: 0px;
}
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,300;1,9..144,400;1,9..144,500;1,9..144,600;1,9..144,700&family=Source+Sans+3:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&display=swap');
:where(html.c0) *,:where(html.c0):is(*),:where(html.c0) ::before,:where(html.c0):is(::before),:where(html.c0) ::after,:where(html.c0):is(::after) {box-sizing: border-box; margin: 0px; padding: 0px;}
:where(html.c1) :root,:where(html.c1):is(:root) {--background: #FAF8F4; --foreground: #1C1917; --card: #FFFFFF; --primary: #235776; --primary-foreground: #FAF8F4; --secondary: #EDE6DB; --muted: #E0D8CC; --muted-foreground: #6B6058; --accent: #C4593A; --border: #D4C9BA; --font-display: 'Poppins', sans-serif; --font-sans: 'Source Sans 3', sans-serif; --font-serif: 'Fraunces', serif;}
:where(html.c1) body,:where(html.c1):is(body) {background: var(--background); color: var(--foreground); font-family: var(--font-sans); line-height: 1.6;}
:where(html.c1) a,:where(html.c1):is(a) {text-decoration: none; color: inherit;}
:where(html.c2) :root,:where(html.c2):is(:root) {--background: #FAF8F4; --foreground: #1C1917; --card: #FFFFFF; --card-foreground: #1C1917; --primary: #235776; --primary-foreground: #FAF8F4; --secondary: #EDE6DB; --secondary-foreground: #2C2420; --muted: #E0D8CC; --muted-foreground: #6B6058; --accent: #C4593A; --accent-foreground: #FFFFFF; --border: #D4C9BA; --ring: #235776; --radius: 2px; --font-display: 'Poppins', system-ui, sans-serif; --font-sans: 'Source Sans 3', system-ui, sans-serif; --font-serif: 'Fraunces', Georgia, serif;}
:where(html.c2) html,:where(html.c2):is(html),:where(html.c2) body,:where(html.c2):is(body) {margin: 0px; padding: 0px; min-height: 100%; background-color: var(--background); color: var(--foreground); font-family: var(--font-sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; scroll-behavior: smooth;}
:where(html.c2) h1,:where(html.c2):is(h1) {font-family: var(--font-display); line-height: 1.15; letter-spacing: -0.02em; margin: 0px;}
:where(html.c2) h2,:where(html.c2):is(h2),:where(html.c2) h3,:where(html.c2):is(h3),:where(html.c2) h4,:where(html.c2):is(h4),:where(html.c2) h5,:where(html.c2):is(h5) {font-family: var(--font-serif); line-height: 1.15; letter-spacing: -0.02em; margin: 0px;}
:where(html.c2) p,:where(html.c2):is(p) {margin: 0px;}
:where(html.c2) button,:where(html.c2):is(button),:where(html.c2) a,:where(html.c2):is(a) {cursor: pointer;}
:where(html.c3) img,:where(html.c3):is(img) {display: block; max-width: 100%;}
:where(html.c1) .site-header,:where(html.c1):is(.site-header) {position: fixed; top: 0px; left: 0px; right: 0px; z-index: 100; background: rgba(250, 248, 244, 0.96); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); padding: 0px 2rem; height: 68px; display: flex; align-items: center; justify-content: space-between;}
:where(html.c1) .header-logo,:where(html.c1):is(.header-logo) {font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; letter-spacing: 0.12em; color: var(--primary); text-transform: uppercase;}
:where(html.c1) .header-nav,:where(html.c1):is(.header-nav) {display: flex; gap: 2rem; align-items: center;}
:where(html.c1) .header-nav a,:where(html.c1):is(.header-nav a) {font-family: var(--font-sans); font-size: 0.875rem; font-weight: 500; color: var(--foreground); letter-spacing: 0.02em; transition: color 0.2s;}
:where(html.c1) .header-nav a:hover,:where(html.c1):is(.header-nav a:hover) {color: var(--primary);}
:where(html.c1) .header-nav .nav-cta,:where(html.c1):is(.header-nav .nav-cta) {background: var(--primary); color: var(--primary-foreground); padding: 0.45rem 1.1rem; border-radius: 4px; font-weight: 600;}
:where(html.c1) .header-nav .nav-cta:hover,:where(html.c1):is(.header-nav .nav-cta:hover) {background: #235776; color: var(--primary-foreground);}
:where(html.c1) .hamburger,:where(html.c1):is(.hamburger) {display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none;}
:where(html.c1) .hamburger span,:where(html.c1):is(.hamburger span) {display: block; width: 24px; height: 2px; background: var(--foreground); border-radius: 2px;}
:where(html.c1) .mobile-nav,:where(html.c1):is(.mobile-nav) {display: none; position: fixed; inset: 68px 0px 0px; background: var(--background); z-index: 99; flex-direction: column; padding: 2rem; gap: 1.5rem;}
:where(html.c1) .mobile-nav.open,:where(html.c1):is(.mobile-nav.open) {display: flex;}
:where(html.c1) .mobile-nav a,:where(html.c1):is(.mobile-nav a) {font-family: var(--font-sans); font-size: 1.1rem; font-weight: 500; color: var(--foreground);}
:where(html.c1) .mobile-nav a:hover,:where(html.c1):is(.mobile-nav a:hover) {color: var(--primary);}
:where(html.c1) .site-footer,:where(html.c1):is(.site-footer) {background: var(--foreground); color: rgb(204, 204, 204); padding: 4rem 2rem 2rem; margin-top: 5rem;}
:where(html.c1) .footer-grid,:where(html.c1):is(.footer-grid) {max-width: 1200px; margin: 0px auto; display: grid; grid-template-columns: repeat(5, 1fr); gap: 2.5rem;}
:where(html.c1) .footer-brand .brand-name,:where(html.c1):is(.footer-brand .brand-name) {font-family: var(--font-display); font-weight: 700; font-size: 1rem; letter-spacing: 0.12em; color: var(--primary-foreground); text-transform: uppercase; margin-bottom: 0.75rem;}
:where(html.c1) .footer-brand p,:where(html.c1):is(.footer-brand p) {font-size: 0.8rem; line-height: 1.7; color: rgb(154, 144, 135);}
:where(html.c1) .footer-col h4,:where(html.c1):is(.footer-col h4) {font-family: var(--font-sans); font-weight: 600; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(136, 136, 136); margin-bottom: 1rem;}
:where(html.c1) .footer-col ul,:where(html.c1):is(.footer-col ul) {list-style: none; display: flex; flex-direction: column; gap: 0.5rem;}
:where(html.c1) .footer-col ul li a,:where(html.c1):is(.footer-col ul li a) {font-size: 0.85rem; color: rgb(170, 170, 170); transition: color 0.2s;}
:where(html.c1) .footer-col ul li a:hover,:where(html.c1):is(.footer-col ul li a:hover) {color: var(--primary-foreground);}
:where(html.c1) .footer-bottom,:where(html.c1):is(.footer-bottom) {max-width: 1200px; margin: 3rem auto 0px; border-top: 1px solid rgb(46, 43, 40); padding-top: 1.5rem; display: flex; justify-content: space-between; align-items: center; font-size: 0.78rem; color: rgb(102, 102, 102);}
:where(html.c1) main,:where(html.c1):is(main) {padding-top: 68px;}
@media (max-width: 900px) {:where(html.c1) .header-nav,:where(html.c1):is(.header-nav) {display: none;}
:where(html.c1) .hamburger,:where(html.c1):is(.hamburger) {display: flex;}
:where(html.c1) .footer-grid,:where(html.c1):is(.footer-grid) {grid-template-columns: repeat(2, 1fr);}
:where(html.c1) .footer-brand,:where(html.c1):is(.footer-brand) {grid-column: 1 / -1;}}
@media (max-width: 600px) {:where(html.c1) .footer-grid,:where(html.c1):is(.footer-grid) {grid-template-columns: 1fr;}}
:where(html.c4) .carousel,:where(html.c4):is(.carousel) {position: relative; width: 100%; height: min(90vh, 720px); overflow: hidden; background: rgb(17, 17, 17);}
:where(html.c4) .carousel-track,:where(html.c4):is(.carousel-track) {display: flex; width: 300%; height: 100%; transition: transform 0.6s cubic-bezier(0.77, 0, 0.18, 1);}
:where(html.c4) .carousel-slide,:where(html.c4):is(.carousel-slide) {position: relative; width: calc(33.3333%); height: 100%; flex-shrink: 0; display: flex; align-items: center; overflow: hidden;}
:where(html.c4) .slide-bg,:where(html.c4):is(.slide-bg) {position: absolute; inset: 0px; background-size: cover; background-position: center center;}
:where(html.c4) .slide-overlay,:where(html.c4):is(.slide-overlay) {position: absolute; inset: 0px;}
:where(html.c4) .slide-content,:where(html.c4):is(.slide-content) {position: relative; z-index: 2; max-width: 1200px; margin: 0px auto; width: 100%; padding: 3rem 2rem; display: flex; align-items: center; gap: 4rem;}
:where(html.c4) .slide-text,:where(html.c4):is(.slide-text) {flex: 1 1 0%; color: rgb(255, 255, 255); max-width: 520px;}
:where(html.c4) .slide-eyebrow,:where(html.c4):is(.slide-eyebrow) {font-family: var(--font-sans); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); margin-bottom: 1rem;}
:where(html.c4) .slide-headline,:where(html.c4):is(.slide-headline) {font-family: var(--font-serif); font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 600; line-height: 1.1; margin-bottom: 1.25rem; color: rgb(255, 255, 255);}
:where(html.c4) .slide-body,:where(html.c4):is(.slide-body) {font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.7; color: rgba(255, 255, 255, 0.82); margin-bottom: 2rem;}
:where(html.c4) .slide-ctas,:where(html.c4):is(.slide-ctas) {display: flex; gap: 1rem; flex-wrap: wrap;}
:where(html.c4) .cta-primary,:where(html.c4):is(.cta-primary) {background: var(--primary); color: rgb(255, 255, 255); padding: 0.75rem 1.75rem; border-radius: 4px; font-family: var(--font-sans); font-weight: 600; font-size: 0.9rem; transition: background 0.2s, transform 0.15s;}
:where(html.c4) .cta-primary:hover,:where(html.c25):is(.btn-primary-lg:hover) {background: var(--accent); color: rgb(255, 255, 255);}
/*:where(html.c4) .cta-primary:hover,:where(html.c4):is(.cta-primary:hover) {background: #235776; transform: translateY(-1px);}*/
:where(html.c4) .cta-secondary,:where(html.c4):is(.cta-secondary) {background: rgba(255, 255, 255, 0.12); color: rgb(255, 255, 255); padding: 0.75rem 1.75rem; border-radius: 4px; font-family: var(--font-sans); font-weight: 500; font-size: 0.9rem; border: 1px solid rgba(255, 255, 255, 0.3); transition: background 0.2s;}
:where(html.c4) .cta-secondary:hover,:where(html.c4):is(.cta-secondary:hover) {background: rgba(255, 255, 255, 0.2);}
:where(html.c4) .slide-books,:where(html.c4):is(.slide-books) {display: flex; gap: 1.5rem; align-items: flex-end; flex-shrink: 0;}
:where(html.c4) .book-card-hero,:where(html.c4):is(.book-card-hero) {text-align: center; color: rgba(255, 255, 255, 0.85);}
:where(html.c4) .book-card-hero img,:where(html.c4):is(.book-card-hero img) {width: 140px; height: 210px; object-fit: cover; border-radius: 4px 6px 6px 4px; box-shadow: rgba(0, 0, 0, 0.5) -4px 4px 20px, rgba(0, 0, 0, 0.3) 2px 0px 6px; transition: transform 0.3s;}
:where(html.c4) .book-card-hero:hover img,:where(html.c4):is(.book-card-hero:hover img) {transform: translateY(-4px) scale(1.03);}
:where(html.c4) .book-card-hero span,:where(html.c4):is(.book-card-hero span) {display: block; font-size: 0.75rem; margin-top: 0.5rem; font-family: var(--font-sans); font-weight: 500;}
:where(html.c4) .carousel-prev,:where(html.c4):is(.carousel-prev),:where(html.c4) .carousel-next,:where(html.c4):is(.carousel-next) {position: absolute; top: 50%; z-index: 10; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.25); color: rgb(255, 255, 255); font-size: 1.2rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transform: translateY(-50%); transition: background 0.2s;}
:where(html.c4) .carousel-prev:hover,:where(html.c4):is(.carousel-prev:hover),:where(html.c4) .carousel-next:hover,:where(html.c4):is(.carousel-next:hover) {background: rgba(255, 255, 255, 0.25);}
:where(html.c4) .carousel-prev,:where(html.c4):is(.carousel-prev) {left: 1.5rem;}
:where(html.c4) .carousel-next,:where(html.c4):is(.carousel-next) {right: 1.5rem;}
:where(html.c4) .carousel-dots,:where(html.c4):is(.carousel-dots) {position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.5rem; z-index: 10;}
:where(html.c4) .dot,:where(html.c4):is(.dot) {height: 6px; width: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.35); transition: width 0.3s, background 0.3s; cursor: pointer;}
:where(html.c4) .dot.active,:where(html.c4):is(.dot.active) {width: 24px; background: rgb(255, 255, 255);}
:where(html.c4) .carousel-counter,:where(html.c4):is(.carousel-counter) {position: absolute; bottom: 1.5rem; right: 1.5rem; z-index: 10; font-family: var(--font-display); font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); letter-spacing: 0.05em;}
:where(html.c4) .section,:where(html.c4):is(.section) {padding: 5rem 2rem; max-width: 1200px; margin: 0px auto;}
:where(html.c4) .section-title,:where(html.c4):is(.section-title) {font-family: var(--font-serif); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 600; margin-bottom: 0.5rem; color: var(--foreground);}
:where(html.c4) .section-subtitle,:where(html.c4):is(.section-subtitle) {font-family: var(--font-sans); color: var(--muted-foreground); margin-bottom: 2.5rem; font-size: 1rem;}
:where(html.c4) .categories-grid,:where(html.c4):is(.categories-grid) {display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem;}
:where(html.c4) .cat-card,:where(html.c4):is(.cat-card) {position: relative; border-radius: 8px; overflow: hidden; aspect-ratio: 4 / 3; display: block;}
:where(html.c4) .cat-card img,:where(html.c4):is(.cat-card img) {width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s;}
:where(html.c4) .cat-card:hover img,:where(html.c4):is(.cat-card:hover img) {transform: scale(1.05);}
:where(html.c4) .cat-overlay,:where(html.c4):is(.cat-overlay) {position: absolute; inset: 0px; background: linear-gradient(0deg, rgba(28, 25, 23, 0.75) 0%, rgba(28, 25, 23, 0.1) 60%); display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem;}
:where(html.c4) .cat-name,:where(html.c4):is(.cat-name) {font-family: var(--font-serif); font-size: 1.5rem; font-weight: 600; color: rgb(255, 255, 255);}
:where(html.c4) .cat-link,:where(html.c4):is(.cat-link) {font-family: var(--font-sans); font-size: 0.85rem; color: rgba(255, 255, 255, 0.75); margin-top: 0.35rem;}
:where(html.c4) .books-strip,:where(html.c4):is(.books-strip) {display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem;}
:where(html.c4) .book-strip-card,:where(html.c4):is(.book-strip-card) {text-align: center;}
:where(html.c4) .book-strip-card a,:where(html.c4):is(.book-strip-card a) {display: block;}
:where(html.c4) .book-strip-card img,:where(html.c4):is(.book-strip-card img) {width: 100%; /*aspect-ratio: 2 / 3;*/ object-fit: cover; border-radius: 4px 6px 6px 4px; box-shadow: rgba(0, 0, 0, 0.18) -3px 3px 14px; transition: transform 0.3s, box-shadow 0.3s;}
:where(html.c4) .book-strip-card:hover img,:where(html.c4):is(.book-strip-card:hover img) {transform: translateY(-4px); box-shadow: rgba(0, 0, 0, 0.28) -4px 6px 22px;}
:where(html.c4) .book-strip-title,:where(html.c4):is(.book-strip-title) {font-family: var(--font-serif); font-size: 1rem; font-weight: 600; margin-top: 0.75rem; color: var(--foreground);}
:where(html.c4) .book-strip-price,:where(html.c4):is(.book-strip-price) {font-family: var(--font-sans); font-size: 0.85rem; color: var(--muted-foreground); margin-top: 0.2rem;}
:where(html.c4) .newsletter,:where(html.c4):is(.newsletter) {background: var(--foreground); color: rgb(255, 255, 255); padding: 5rem 2rem; text-align: center;}
:where(html.c4) .newsletter-inner,:where(html.c4):is(.newsletter-inner) {max-width: 560px; margin: 0px auto;}
:where(html.c4) .newsletter h2,:where(html.c4):is(.newsletter h2) {font-family: var(--font-serif); font-size: 2rem; font-weight: 600; margin-bottom: 0.75rem;}
:where(html.c4) .newsletter p,:where(html.c4):is(.newsletter p) {color: rgba(255, 255, 255, 0.65); margin-bottom: 2rem;}
:where(html.c4) .newsletter-form,:where(html.c4):is(.newsletter-form) {display: flex; gap: 0.75rem; max-width: 420px; margin: 0px auto;}
:where(html.c4) .newsletter-form input,:where(html.c4):is(.newsletter-form input) {flex: 1 1 0%; padding: 0.75rem 1rem; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 4px; background: rgba(255, 255, 255, 0.07); color: rgb(255, 255, 255); font-family: var(--font-sans); font-size: 0.9rem;}
:where(html.c4) .newsletter-form input::placeholder,:where(html.c4):is(.newsletter-form input::placeholder) {color: rgba(255, 255, 255, 0.4);}
:where(html.c4) .button, .newsletter-form button,:where(html.c4):is(.newsletter-form button) {background: var(--primary); color: rgb(255, 255, 255); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 0.75rem 1.5rem; border-radius: 4px; font-family: var(--font-sans); font-weight: 600; font-size: 0.9rem; transition: background 0.2s;}
:where(html.c4) .button:hover,:where(html.c25):is(.btn-primary-lg:hover) {background: var(--accent); color: rgb(255, 255, 255);}
:where(html.c4) .newsletter-form button:hover,:where(html.c4):is(.newsletter-form button:hover) {background: #235776;}
:where(html.c4) .newsletter-note,:where(html.c4):is(.newsletter-note) {font-size: 0.78rem; color: rgba(255, 255, 255, 0.4); margin-top: 1rem;}
@media (max-width: 900px) {:where(html.c4) .slide-books,:where(html.c4):is(.slide-books) {display: none;}
:where(html.c4) .books-strip,:where(html.c4):is(.books-strip) {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 600px) {:where(html.c4) .categories-grid,:where(html.c4):is(.categories-grid) {grid-template-columns: 1fr;}
:where(html.c4) .newsletter-form,:where(html.c4):is(.newsletter-form) {flex-direction: column;}}
:where(html.c2) :focus-visible,:where(html.c2):is(:focus-visible) {outline: 2px solid var(--ring); outline-offset: 2px;}
:where(html.c2) ::-webkit-scrollbar,:where(html.c2):is(::-webkit-scrollbar) {width: 4px; height: 4px;}
:where(html.c2) ::-webkit-scrollbar-track,:where(html.c2):is(::-webkit-scrollbar-track) {background: transparent;}
:where(html.c2) ::-webkit-scrollbar-thumb,:where(html.c2):is(::-webkit-scrollbar-thumb) {background: var(--muted); border-radius: 2px;}
:where(html.c2) .label-caps,:where(html.c2):is(.label-caps) {font-family: var(--font-sans); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground);}
:where(html.c2) .placeholder-info,:where(html.c2):is(.placeholder-info) {background: rgb(254, 243, 199); color: rgb(146, 64, 14); padding: 0.15em 0.4em; border-radius: 2px; font-size: inherit;}
:where(html.c2) .site-wrapper,:where(html.c2):is(.site-wrapper) {min-height: 100vh; display: flex; flex-direction: column;}
:where(html.c2) .site-main,:where(html.c2):is(.site-main) {flex: 1 1 0%;}
:where(html.c2) .site-header,:where(html.c2):is(.site-header) {position: sticky; top: 0px; z-index: 40; background-color: var(--background); border-bottom: 0.5px solid var(--border); backdrop-filter: blur(8px);}
:where(html.c2) .header-inner,:where(html.c2):is(.header-inner) {display: flex; align-items: center; justify-content: space-between; padding: 0px 2.5rem; height: 64px;}
@media (max-width: 767px) {:where(html.c2) .header-inner,:where(html.c2):is(.header-inner) {padding: 0px 1.5rem;}}
:where(html.c2) .logo,:where(html.c2):is(.logo) {display: flex; align-items: baseline; gap: 0.25rem; text-decoration: none; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; padding: 0px; cursor: pointer;}
:where(html.c2) .logo-exa,:where(html.c2):is(.logo-exa) {font-family: var(--font-display); font-size: 1.375rem; font-weight: 600; letter-spacing: -0.03em; color: var(--primary);}
:where(html.c2) .logo-concept,:where(html.c2):is(.logo-concept) {font-family: var(--font-display); font-size: 1.375rem; font-weight: 300; letter-spacing: 0.05em; color: var(--foreground);}
:where(html.c2) .header-nav,:where(html.c2):is(.header-nav) {display: flex; align-items: center; gap: 2rem;}
:where(html.c2) .header-nav a,:where(html.c2):is(.header-nav a) {font-family: var(--font-sans); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.04em; color: var(--foreground); opacity: 0.75; text-decoration: none; transition: opacity 0.15s;}
:where(html.c2) .header-nav a:hover,:where(html.c2):is(.header-nav a:hover) {opacity: 1;}
@media (max-width: 767px) {:where(html.c2) .header-nav,:where(html.c2):is(.header-nav) {display: none;}}
:where(html.c2) .header-actions,:where(html.c2):is(.header-actions) {display: flex; align-items: center; gap: 0.75rem;}
:where(html.c2) .icon-btn,:where(html.c2):is(.icon-btn) {background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; padding: 0.5rem; color: var(--foreground); cursor: pointer; display: flex; align-items: center; justify-content: center;}
:where(html.c2) .mobile-menu-btn,:where(html.c2):is(.mobile-menu-btn) {display: none;}
@media (max-width: 767px) {:where(html.c2) .mobile-menu-btn,:where(html.c2):is(.mobile-menu-btn) {display: flex;}}
:where(html.c2) .mobile-nav,:where(html.c2):is(.mobile-nav) {position: fixed; inset: 0px; z-index: 30; padding-top: 64px; display: flex; flex-direction: column; background-color: var(--background);}
:where(html.c2) .mobile-nav a,:where(html.c2):is(.mobile-nav a) {display: block; padding: 1rem 1.5rem; font-family: var(--font-serif); font-size: 1.5rem; font-weight: 400; border-bottom: 0.5px solid var(--border); text-decoration: none; color: var(--foreground);}
:where(html.c2) [data-mobile-nav],:where(html.c2):is([data-mobile-nav]) {display: none;}
:where(html.c2) [data-mobile-nav].open,:where(html.c2):is([data-mobile-nav].open) {display: flex;}
:where(html.c2) .site-footer,:where(html.c2):is(.site-footer) {background-color: var(--foreground); color: rgba(255, 255, 255, 0.75);}
:where(html.c2) .footer-top,:where(html.c2):is(.footer-top) {padding: 4rem 5rem; display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr; gap: 2.5rem;}
@media (max-width: 1023px) {:where(html.c2) .footer-top,:where(html.c2):is(.footer-top) {padding: 3rem 1.5rem; grid-template-columns: 1fr 1fr;}}
@media (max-width: 600px) {:where(html.c2) .footer-top,:where(html.c2):is(.footer-top) {grid-template-columns: 1fr; gap: 2rem;}}
:where(html.c2) .footer-brand-logo,:where(html.c2):is(.footer-brand-logo) {display: flex; align-items: baseline; gap: 0.25rem; text-decoration: none; margin-bottom: 1rem;}
:where(html.c2) .footer-logo-exa,:where(html.c2):is(.footer-logo-exa) {font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; color: rgb(255, 255, 255); letter-spacing: -0.03em;}
:where(html.c2) .footer-logo-concept,:where(html.c2):is(.footer-logo-concept) {font-family: var(--font-display); font-size: 1.25rem; font-weight: 300; color: rgba(255, 255, 255, 0.7); letter-spacing: 0.05em;}
:where(html.c2) .footer-brand-desc,:where(html.c2):is(.footer-brand-desc) {font-family: var(--font-sans); font-size: 0.875rem; line-height: 1.6; color: rgba(255, 255, 255, 0.5); max-width: 220px;}
:where(html.c2) .footer-col-title,:where(html.c2):is(.footer-col-title) {font-family: var(--font-sans); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.4); margin-bottom: 1.25rem; display: block;}
:where(html.c2) .footer-col ul,:where(html.c2):is(.footer-col ul) {list-style: none; margin: 0px; padding: 0px; display: flex; flex-direction: column; gap: 0.75rem;}
:where(html.c2) .footer-col a,:where(html.c2):is(.footer-col a) {font-family: var(--font-sans); font-size: 0.9rem; color: rgba(255, 255, 255, 0.65); text-decoration: none; transition: color 0.15s;}
:where(html.c5) :root,:where(html.c5):is(:root) {--background: #FAF8F4; --foreground: #1C1917; --primary: #235776; --primary-foreground: #FAF8F4; --secondary: #EDE6DB; --muted: #E0D8CC; --muted-foreground: #6B6058; --accent: #C4593A; --border: #D4C9BA; --font-display: 'Poppins', sans-serif; --font-sans: 'Source Sans 3', sans-serif; --font-serif: 'Fraunces', serif;}
:where(html.c6) html,:where(html.c6):is(html) {scroll-behavior: smooth;}
:where(html.c6) body,:where(html.c6):is(body) {background: var(--background); color: var(--foreground); font-family: var(--font-sans); font-size: 16px; line-height: 1.7; min-height: 100vh; display: flex; flex-direction: column;}
:where(html.c6) a,:where(html.c6):is(a) {color: var(--primary); text-decoration: underline; text-underline-offset: 3px;}
:where(html.c6) a:hover,:where(html.c6):is(a:hover) {color: var(--accent);}
:where(html.c7) html,:where(html.c7):is(html) {font-size: 16px; scroll-behavior: smooth;}
:where(html.c7) body,:where(html.c7):is(body) {background: var(--background); color: var(--foreground); font-family: var(--font-sans); line-height: 1.6;}
:where(html.c7) .label-caps,:where(html.c7):is(.label-caps) {font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;}
:where(html.c8) body,:where(html.c8):is(body) {font-family: var(--font-sans); background: var(--background); color: var(--foreground); min-height: 100vh; display: flex; flex-direction: column;}
:where(html.c9) a,:where(html.c9):is(a) {color: inherit; text-decoration: none;}
:where(html.c7) img,:where(html.c7):is(img) {max-width: 100%;}
:where(html.c10) .site-header,:where(html.c10):is(.site-header) {background: var(--background); border-bottom: 1px solid var(--border); position: sticky; top: 0px; z-index: 100;}
:where(html.c10) .header-inner,:where(html.c10):is(.header-inner) {max-width: 1200px; margin: 0px auto; padding: 0px 1.5rem; display: flex; align-items: center; justify-content: space-between; height: 64px;}
:where(html.c6) .logo-link,:where(html.c6):is(.logo-link) {text-decoration: none; display: flex; flex-direction: column; line-height: 1;}
:where(html.c6) .logo-exa,:where(html.c6):is(.logo-exa) {font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; color: var(--primary); letter-spacing: 0.08em;}
:where(html.c6) .logo-concept,:where(html.c6):is(.logo-concept) {font-family: var(--font-display); font-weight: 300; font-size: 0.6rem; color: var(--muted-foreground); letter-spacing: 0.2em; text-transform: uppercase;}
:where(html.c6) .site-nav,:where(html.c6):is(.site-nav) {display: flex; gap: 1.75rem; list-style: none;}
:where(html.c6) .site-nav a,:where(html.c6):is(.site-nav a) {font-family: var(--font-display); font-size: 0.8rem; font-weight: 500; color: var(--foreground); text-decoration: none; letter-spacing: 0.04em; transition: color 0.2s;}
:where(html.c6) .site-nav a:hover,:where(html.c6):is(.site-nav a:hover) {color: var(--primary);}
:where(html.c6) .nav-toggle,:where(html.c6):is(.nav-toggle) {display: none; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 0.25rem;}
:where(html.c6) .nav-toggle span,:where(html.c6):is(.nav-toggle span) {display: block; width: 22px; height: 2px; background: var(--foreground); margin: 5px 0px; transition: 0.3s;}
@media (max-width: 768px) {:where(html.c6) .nav-toggle,:where(html.c6):is(.nav-toggle) {display: block;}
:where(html.c6) .site-nav,:where(html.c6):is(.site-nav) {display: none; position: absolute; top: 64px; left: 0px; right: 0px; background: var(--background); flex-direction: column; gap: 0px; border-bottom: 1px solid var(--border); padding: 0.5rem 0px;}
:where(html.c6) .site-nav.open,:where(html.c6):is(.site-nav.open) {display: flex;}
:where(html.c6) .site-nav li,:where(html.c6):is(.site-nav li) {padding: 0px;}
:where(html.c6) .site-nav a,:where(html.c6):is(.site-nav a) {display: block; padding: 0.75rem 1.5rem; font-size: 0.9rem;}}
:where(html.c6) .site-footer,:where(html.c6):is(.site-footer) {background: var(--foreground); color: var(--primary-foreground); margin-top: auto; padding: 3rem 1.5rem 1.5rem;}
:where(html.c6) .footer-inner,:where(html.c6):is(.footer-inner) {max-width: 1200px; margin: 0px auto;}
:where(html.c6) .footer-grid,:where(html.c6):is(.footer-grid) {display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; margin-bottom: 2rem;}
:where(html.c6) .footer-col h4,:where(html.c6):is(.footer-col h4) {font-family: var(--font-display); font-weight: 600; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.75rem;}
:where(html.c7) .logo,:where(html.c7):is(.logo) {font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; letter-spacing: 0.08em; color: var(--primary);}
:where(html.c7) .logo span,:where(html.c7):is(.logo span) {font-weight: 300; color: var(--foreground);}
:where(html.c7) .nav-links,:where(html.c7):is(.nav-links) {display: flex; gap: 1.75rem; list-style: none;}
:where(html.c7) .nav-links a,:where(html.c7):is(.nav-links a) {font-family: var(--font-display); font-size: 0.8125rem; font-weight: 500; color: var(--muted-foreground); transition: color 0.2s;}
:where(html.c7) .nav-links a:hover,:where(html.c7):is(.nav-links a:hover) {color: var(--primary);}
:where(html.c7) .nav-toggle,:where(html.c7):is(.nav-toggle) {display: none; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 0.5rem; color: var(--foreground);}
:where(html.c7) .nav-toggle svg,:where(html.c7):is(.nav-toggle svg) {width: 22px; height: 22px;}
@media (max-width: 768px) {:where(html.c7) .nav-toggle,:where(html.c7):is(.nav-toggle) {display: block;}
:where(html.c7) .nav-links,:where(html.c7):is(.nav-links) {display: none; flex-direction: column; gap: 0px; position: absolute; top: 64px; left: 0px; right: 0px; background: var(--background); border-bottom: 1px solid var(--border); padding: 1rem 1.5rem;}
:where(html.c7) .nav-links.open,:where(html.c7):is(.nav-links.open) {display: flex;}
:where(html.c7) .nav-links a,:where(html.c7):is(.nav-links a) {padding: 0.5rem 0px; font-size: 0.9375rem; border-bottom: 1px solid var(--muted);}
:where(html.c7) .nav-links li:last-child a,:where(html.c7):is(.nav-links li:last-child a) {border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}}
:where(html.c7) .site-footer,:where(html.c7):is(.site-footer) {background: var(--foreground); color: var(--primary-foreground); margin-top: 5rem;}
:where(html.c7) .footer-inner,:where(html.c7):is(.footer-inner) {max-width: 1200px; margin: 0px auto; padding: 3rem 1.5rem 2rem; display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem;}
:where(html.c7) .footer-col h3,:where(html.c7):is(.footer-col h3) {font-family: var(--font-display); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 1rem;}
:where(html.c10) .footer-col ul,:where(html.c10):is(.footer-col ul) {list-style: none;}
:where(html.c6) .footer-col li,:where(html.c6):is(.footer-col li) {margin-bottom: 0.4rem;}
:where(html.c6) .footer-col a,:where(html.c6):is(.footer-col a) {color: rgb(200, 191, 181); font-size: 0.85rem; text-decoration: none; font-family: var(--font-sans); transition: color 0.2s;}
:where(html.c11) .footer-col a:hover,:where(html.c11):is(.footer-col a:hover) {color: rgb(255, 255, 255);}
:where(html.c2) .footer-bottom,:where(html.c2):is(.footer-bottom) {padding: 1.25rem 5rem; border-top: 0.5px solid rgba(255, 255, 255, 0.08); display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;}
@media (max-width: 1023px) {:where(html.c2) .footer-bottom,:where(html.c2):is(.footer-bottom) {padding: 1.25rem 1.5rem;}}
:where(html.c2) .footer-copy,:where(html.c2):is(.footer-copy) {font-family: var(--font-sans); font-size: 0.75rem; color: rgba(255, 255, 255, 0.3);}
:where(html.c2) .footer-tagline,:where(html.c2):is(.footer-tagline) {font-family: var(--font-sans); font-size: 0.6875rem; color: rgba(255, 255, 255, 0.2); letter-spacing: 0.06em;}
:where(html.c2) .btn-primary,:where(html.c2):is(.btn-primary) {display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--font-sans); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.04em; padding: 0.75rem 1.5rem; background: var(--primary); color: var(--primary-foreground); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; text-decoration: none; transition: background 0.15s;}
:where(html.c2) .btn-primary:hover,:where(html.c2):is(.btn-primary:hover) {background: var(--accent);}
:where(html.c2) .btn-outline,:where(html.c2):is(.btn-outline) {display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--font-sans); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.04em; padding: 0.75rem 1.5rem; background: transparent; color: var(--foreground); border: 1px solid var(--border); cursor: pointer; text-decoration: none; transition: border-color 0.15s;}
:where(html.c2) .btn-outline:hover,:where(html.c2):is(.btn-outline:hover) {border-color: var(--foreground);}
:where(html.c2) .page-hero,:where(html.c2):is(.page-hero) {padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 6vw, 5rem); border-bottom: 0.5px solid var(--border);}
:where(html.c2) .page-hero .hero-eyebrow,:where(html.c2):is(.page-hero .hero-eyebrow) {margin-bottom: 0.75rem;}
:where(html.c2) .page-hero h1,:where(html.c2):is(.page-hero h1) {font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; margin-bottom: 1rem;}
:where(html.c2) .page-hero .hero-sub,:where(html.c2):is(.page-hero .hero-sub) {font-family: var(--font-sans); font-size: clamp(1rem, 1.8vw, 1.125rem); line-height: 1.7; color: var(--muted-foreground); max-width: 640px;}
:where(html.c2) .book-card,:where(html.c2):is(.book-card) {display: flex; flex-direction: column; cursor: pointer; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; padding: 0px; text-align: left;}
:where(html.c2) .book-card-img,:where(html.c2):is(.book-card-img) {width: 100%; aspect-ratio: 2 / 3; object-fit: cover; display: block; transition: opacity 0.2s;}
:where(html.c2) .book-card:hover .book-card-img,:where(html.c2):is(.book-card:hover .book-card-img) {opacity: 0.92;}
:where(html.c2) .book-card-body,:where(html.c2):is(.book-card-body) {padding: 1rem 0px 0px;}
:where(html.c2) .book-card-title,:where(html.c2):is(.book-card-title) {font-family: var(--font-serif); font-size: 1rem; font-weight: 500; color: var(--foreground); margin-bottom: 0.2rem;}
:where(html.c2) .book-card-creator,:where(html.c2):is(.book-card-creator) {font-family: var(--font-sans); font-size: 0.8125rem; color: var(--muted-foreground); margin-bottom: 0.5rem;}
:where(html.c2) .book-card-price,:where(html.c2):is(.book-card-price) {font-family: var(--font-sans); font-size: 0.9rem; font-weight: 600; color: var(--foreground);}
:where(html.c2) .section-padded,:where(html.c2):is(.section-padded) {padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 6vw, 5rem);}
:where(html.c2) .container,:where(html.c2):is(.container) {max-width: 1152px; margin: 0px auto; width: 100%;}
:where(html.c2) .container-narrow,:where(html.c2):is(.container-narrow) {max-width: 760px; margin: 0px auto;}
:where(html.c2) .grid-2,:where(html.c2):is(.grid-2) {display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;}
:where(html.c2) .grid-3,:where(html.c2):is(.grid-3) {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;}
:where(html.c2) .grid-4,:where(html.c2):is(.grid-4) {display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem;}
@media (max-width: 1023px) {:where(html.c2) .grid-4,:where(html.c2):is(.grid-4) {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 767px) {:where(html.c2) .grid-2,:where(html.c2):is(.grid-2),:where(html.c2) .grid-3,:where(html.c2):is(.grid-3),:where(html.c2) .grid-4,:where(html.c2):is(.grid-4) {grid-template-columns: 1fr;}}
:where(html.c2) .cart-badge,:where(html.c2):is(.cart-badge) {position: absolute; top: 0px; right: 0px; width: 16px; height: 16px; border-radius: 50%; background: var(--primary); color: var(--primary-foreground); font-size: 0.625rem; font-weight: 600; display: flex; align-items: center; justify-content: center; transform: translate(25%, -25%);}
:where(html.c12) .tag-filter,:where(html.c12):is(.tag-filter) {display: flex; gap: 0.5rem; flex-wrap: wrap; padding: 1.5rem clamp(1.5rem, 6vw, 5rem); border-bottom: 0.5px solid var(--border);}
:where(html.c12) .tag-btn,:where(html.c12):is(.tag-btn) {font-family: var(--font-sans); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.4rem 1rem; border: 1px solid var(--border); background: transparent; color: var(--muted-foreground); cursor: pointer; transition: 0.15s;}
:where(html.c12) .tag-btn:hover,:where(html.c12):is(.tag-btn:hover),:where(html.c12) .tag-btn.active,:where(html.c12):is(.tag-btn.active) {background: var(--primary); color: var(--primary-foreground); border-color: var(--primary);}
:where(html.c12) .articles-section,:where(html.c12):is(.articles-section) {padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 6vw, 5rem);}
:where(html.c12) .featured-article,:where(html.c12):is(.featured-article) {display: grid; grid-template-columns: 1.5fr 1fr; gap: 0px; margin-bottom: 3rem; border: 0.5px solid var(--border); overflow: hidden;}
@media (max-width: 767px) {:where(html.c12) .featured-article,:where(html.c12):is(.featured-article) {grid-template-columns: 1fr;}}
:where(html.c12) .featured-img,:where(html.c12):is(.featured-img) {width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block;}
@media (max-width: 767px) {:where(html.c12) .featured-img,:where(html.c12):is(.featured-img) {min-height: 220px;}}
:where(html.c12) .featured-body,:where(html.c12):is(.featured-body) {padding: 2.5rem; display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem; background: var(--background);}
:where(html.c12) .featured-body h2,:where(html.c12):is(.featured-body h2) {font-family: var(--font-serif); font-size: clamp(1.25rem, 2.5vw, 1.75rem); font-weight: 500; line-height: 1.25; color: var(--foreground);}
:where(html.c12) .featured-body p,:where(html.c12):is(.featured-body p) {font-family: var(--font-sans); font-size: 0.9375rem; line-height: 1.7; color: var(--muted-foreground);}
:where(html.c12) .article-meta,:where(html.c12):is(.article-meta) {display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;}
:where(html.c12) .article-date,:where(html.c12):is(.article-date) {font-family: var(--font-sans); font-size: 0.8125rem; color: var(--muted-foreground);}
:where(html.c12) .tag-badge,:where(html.c12):is(.tag-badge) {font-family: var(--font-sans); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.2em 0.6em; background: var(--secondary); color: var(--muted-foreground); border-radius: 2px;}
:where(html.c12) .articles-grid,:where(html.c12):is(.articles-grid) {display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem;}
@media (max-width: 1023px) {:where(html.c12) .articles-grid,:where(html.c12):is(.articles-grid) {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 600px) {:where(html.c12) .articles-grid,:where(html.c12):is(.articles-grid) {grid-template-columns: 1fr;}}
:where(html.c12) .article-card,:where(html.c12):is(.article-card) {display: flex; flex-direction: column; border: 0.5px solid var(--border); overflow: hidden; transition: box-shadow 0.15s;}
:where(html.c12) .article-card:hover,:where(html.c12):is(.article-card:hover) {box-shadow: rgba(28, 25, 23, 0.08) 0px 4px 24px;}
:where(html.c12) .article-card img,:where(html.c12):is(.article-card img) {width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block;}
:where(html.c12) .article-card-body,:where(html.c12):is(.article-card-body) {padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; flex: 1 1 0%;}
:where(html.c12) .article-card-body h3,:where(html.c12):is(.article-card-body h3) {font-family: var(--font-serif); font-size: 1.0625rem; font-weight: 500; line-height: 1.3; color: var(--foreground);}
:where(html.c12) .article-card a.read-more,:where(html.c12):is(.article-card a.read-more) {font-family: var(--font-sans); font-size: 0.8125rem; font-weight: 600; color: var(--primary); text-decoration: none; letter-spacing: 0.04em; margin-top: auto;}
:where(html.c12) .article-card a.read-more:hover,:where(html.c12):is(.article-card a.read-more:hover) {color: var(--accent);}
:where(html.c13) .editorial-section,:where(html.c13):is(.editorial-section) {padding: 2.5rem 0px; border-bottom: 0.5px solid var(--border); display: grid; grid-template-columns: 120px 1fr; gap: 2.5rem; align-items: start;}
@media (max-width: 600px) {:where(html.c13) .editorial-section,:where(html.c13):is(.editorial-section) {grid-template-columns: 1fr; gap: 1rem;}}
:where(html.c13) .editorial-number,:where(html.c13):is(.editorial-number) {font-family: var(--font-display); font-size: 3rem; font-weight: 700; color: var(--muted); line-height: 1; padding-top: 0.25rem;}
:where(html.c13) .editorial-content,:where(html.c13):is(.editorial-content) {border-left: 3px solid var(--accent); padding-left: 1.5rem;}
:where(html.c13) .editorial-content h2,:where(html.c13):is(.editorial-content h2) {font-family: var(--font-serif); font-size: clamp(1.25rem, 2.5vw, 1.625rem); font-weight: 500; margin-bottom: 0.75rem; color: var(--foreground);}
:where(html.c13) .editorial-content p,:where(html.c13):is(.editorial-content p) {font-family: var(--font-sans); font-size: 1rem; line-height: 1.75; color: var(--muted-foreground);}
:where(html.c14) .about-identity,:where(html.c14):is(.about-identity) {display: grid; grid-template-columns: 1fr 1.5fr; gap: 4rem; align-items: center;}
@media (max-width: 767px) {:where(html.c14) .about-identity,:where(html.c14):is(.about-identity) {grid-template-columns: 1fr; gap: 2.5rem;}}
:where(html.c14) .about-identity-placeholder,:where(html.c14):is(.about-identity-placeholder) {aspect-ratio: 2 / 3; max-width: 320px; width: 100%; background: linear-gradient(145deg, var(--primary) 0%, #3A2D42 50%, var(--accent) 100%); border-radius: 2px; display: flex; align-items: center; justify-content: center;}
:where(html.c14) .about-identity-placeholder span,:where(html.c14):is(.about-identity-placeholder span) {font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; color: rgba(255, 255, 255, 0.4); letter-spacing: 0.08em;}
:where(html.c14) .about-identity-text h2,:where(html.c14):is(.about-identity-text h2) {font-family: var(--font-serif); font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 500; margin-bottom: 1.5rem; color: var(--foreground);}
:where(html.c14) .about-identity-text p,:where(html.c14):is(.about-identity-text p) {font-family: var(--font-sans); font-size: 1rem; line-height: 1.75; color: var(--muted-foreground); margin-bottom: 1rem;}
:where(html.c14) .category-cards,:where(html.c14):is(.category-cards) {display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;}
@media (max-width: 600px) {:where(html.c14) .category-cards,:where(html.c14):is(.category-cards) {grid-template-columns: 1fr;}}
:where(html.c14) .category-card,:where(html.c14):is(.category-card) {padding: 2rem; background: var(--secondary); display: flex; flex-direction: column; gap: 0.75rem;}
:where(html.c14) .category-card-icon,:where(html.c14):is(.category-card-icon) {width: 40px; height: 40px; color: var(--primary);}
:where(html.c14) .category-card h3,:where(html.c14):is(.category-card h3) {font-family: var(--font-serif); font-size: 1.1875rem; font-weight: 500; color: var(--foreground);}
:where(html.c14) .category-card p,:where(html.c14):is(.category-card p) {font-family: var(--font-sans); font-size: 0.9rem; line-height: 1.65; color: var(--muted-foreground); flex: 1 1 0%;}
:where(html.c14) .category-card a,:where(html.c14):is(.category-card a) {font-family: var(--font-sans); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; color: var(--primary); text-decoration: none; text-transform: uppercase;}
:where(html.c14) .category-card a:hover,:where(html.c14):is(.category-card a:hover) {color: var(--accent);}
:where(html.c14) .cta-band,:where(html.c14):is(.cta-band) {background: var(--secondary); padding: clamp(3rem, 6vw, 4.5rem) clamp(1.5rem, 6vw, 5rem); text-align: center;}
:where(html.c14) .cta-band h2,:where(html.c14):is(.cta-band h2) {font-family: var(--font-serif); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; margin-bottom: 1.5rem; color: var(--foreground);}
:where(html.c15) .authors-grid,:where(html.c15):is(.authors-grid) {display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem;}
@media (max-width: 1023px) {:where(html.c15) .authors-grid,:where(html.c15):is(.authors-grid) {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 600px) {:where(html.c15) .authors-grid,:where(html.c15):is(.authors-grid) {grid-template-columns: 1fr;}}
:where(html.c15) .author-card,:where(html.c15):is(.author-card) {display: flex; flex-direction: column; gap: 1rem;}
:where(html.c15) .author-photo,:where(html.c15):is(.author-photo) {width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; filter: grayscale(15%); transition: filter 0.2s;}
:where(html.c15) .author-card:hover .author-photo,:where(html.c15):is(.author-card:hover .author-photo) {filter: grayscale(0%);}
:where(html.c15) .author-card-body,:where(html.c15):is(.author-card-body) {display: flex; flex-direction: column; gap: 0.4rem;}
:where(html.c15) .author-name,:where(html.c15):is(.author-name) {font-family: var(--font-serif); font-size: 1.125rem; font-weight: 500; color: var(--foreground);}
:where(html.c15) .author-book,:where(html.c15):is(.author-book) {font-family: var(--font-sans); font-size: 0.9rem; color: var(--muted-foreground);}
:where(html.c15) .author-link,:where(html.c15):is(.author-link) {display: inline-flex; align-items: center; gap: 0.25rem; font-family: var(--font-sans); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; color: var(--primary); text-decoration: none; text-transform: uppercase; margin-top: 0.25rem;}
:where(html.c15) .author-link:hover,:where(html.c15):is(.author-link:hover) {color: var(--accent);}
:where(html.c15) .editorial-note,:where(html.c15):is(.editorial-note) {padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 6vw, 5rem); background: var(--secondary); text-align: center;}
:where(html.c15) .editorial-note p,:where(html.c15):is(.editorial-note p) {font-family: var(--font-sans); font-size: 0.9375rem; font-style: italic; color: var(--muted-foreground); max-width: 560px; margin: 0px auto; line-height: 1.7;}
:where(html.c16) .catalogue-hero,:where(html.c16):is(.catalogue-hero) {background: var(--secondary); padding: 4rem 2rem 3rem; text-align: center;}
:where(html.c16) .catalogue-hero h1,:where(html.c16):is(.catalogue-hero h1) {font-family: var(--font-serif); font-size: clamp(2rem, 5vw, 3rem); font-weight: 600; color: var(--foreground); margin-bottom: 0.5rem;}
:where(html.c16) .catalogue-hero p,:where(html.c16):is(.catalogue-hero p) {font-family: var(--font-sans); color: var(--muted-foreground); font-size: 1rem;}
:where(html.c16) .catalogue-toolbar,:where(html.c16):is(.catalogue-toolbar) {max-width: 1200px; margin: 0px auto; padding: 2rem 2rem 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;}
:where(html.c16) .filter-buttons,:where(html.c16):is(.filter-buttons) {display: flex; flex-wrap: wrap; gap: 0.5rem;}
:where(html.c16) .filter-btn,:where(html.c16):is(.filter-btn) {font-family: var(--font-sans); font-size: 0.85rem; font-weight: 500; padding: 0.45rem 1.1rem; border-radius: 100px; border: 1.5px solid var(--border); background: transparent; color: var(--muted-foreground); cursor: pointer; transition: border-color 0.2s, background 0.2s, color 0.2s;}
:where(html.c16) .filter-btn:hover,:where(html.c16):is(.filter-btn:hover) {border-color: var(--primary); color: var(--primary);}
:where(html.c16) .filter-btn.active,:where(html.c16):is(.filter-btn.active) {background: var(--primary); border-color: var(--primary); color: var(--primary-foreground);}
:where(html.c16) .sort-select,:where(html.c16):is(.sort-select) {font-family: var(--font-sans); font-size: 0.875rem; padding: 0.45rem 1rem; border: 1.5px solid var(--border); border-radius: 6px; background: var(--card); color: var(--foreground); cursor: pointer;}
:where(html.c16) .results-count,:where(html.c16):is(.results-count) {max-width: 1200px; margin: 0px auto; padding: 0px 2rem 0.5rem; font-family: var(--font-sans); font-size: 0.85rem; color: var(--muted-foreground);}
:where(html.c16) .catalogue-grid,:where(html.c16):is(.catalogue-grid) {max-width: 1200px; margin: 0px auto; padding: 1.5rem 2rem 4rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem;}
:where(html.c16) .book-card,:where(html.c16):is(.book-card) {background: var(--card); border-radius: 8px; overflow: hidden; transition: box-shadow 0.3s, transform 0.2s; box-shadow: rgba(0, 0, 0, 0.08) 0px 1px 4px;}
:where(html.c16) .book-card:hover,:where(html.c16):is(.book-card:hover) {box-shadow: rgba(0, 0, 0, 0.14) 0px 8px 28px; transform: translateY(-3px);}
:where(html.c16) .book-cover,:where(html.c16):is(.book-cover) {width: 100%; /*aspect-ratio: 2 / 3;*/ object-fit: cover; display: block;}
:where(html.c16) .book-info,:where(html.c16):is(.book-info) {padding: 1rem;}
:where(html.c16) .book-tag,:where(html.c16):is(.book-tag) {font-family: var(--font-sans); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-bottom: 0.35rem;}
:where(html.c16) .book-title,:where(html.c16):is(.book-title) {font-family: var(--font-serif); font-size: 1.1rem; font-weight: 600; color: var(--foreground); margin-bottom: 0.2rem; line-height: 1.3;}
:where(html.c16) .book-collection,:where(html.c16):is(.book-collection) {font-family: var(--font-sans); font-size: 0.8rem; color: var(--muted-foreground); margin-bottom: 0.75rem;}
:where(html.c16) .book-footer,:where(html.c16):is(.book-footer) {display: flex; justify-content: space-between; align-items: center;}
:where(html.c16) .book-price,:where(html.c16):is(.book-price) {font-family: var(--font-display); font-size: 1rem; font-weight: 600; color: var(--primary);}
:where(html.c16) .book-cta,:where(html.c16):is(.book-cta) {font-family: var(--font-sans); font-size: 0.8rem; font-weight: 600; background: var(--primary); color: var(--primary-foreground); padding: 0.38rem 0.9rem; border-radius: 4px; transition: background 0.2s;}
:where(html.c16) .book-cta:hover,:where(html.c25):is(.btn-primary-lg:hover) {background: var(--accent); color: rgb(255, 255, 255);}
/*:where(html.c16) .book-cta:hover,:where(html.c16):is(.book-cta:hover) {background: #235776;}*/
:where(html.c16) .no-results,:where(html.c16):is(.no-results) {max-width: 1200px; margin: 0px auto; padding: 3rem 2rem; text-align: center; display: none;}
:where(html.c16) .no-results.visible,:where(html.c16):is(.no-results.visible) {display: block;}
:where(html.c16) .no-results p,:where(html.c16):is(.no-results p) {font-family: var(--font-sans); color: var(--muted-foreground); font-size: 1rem;}
@media (max-width: 1000px) {:where(html.c16) .catalogue-grid,:where(html.c16):is(.catalogue-grid) {grid-template-columns: repeat(3, 1fr);}}
@media (max-width: 700px) {:where(html.c16) .catalogue-grid,:where(html.c16):is(.catalogue-grid) {grid-template-columns: repeat(2, 1fr); gap: 1rem;}
:where(html.c16) .catalogue-toolbar,:where(html.c16):is(.catalogue-toolbar) {flex-direction: column; align-items: flex-start;}}
@media (max-width: 400px) {:where(html.c16) .catalogue-grid,:where(html.c16):is(.catalogue-grid) {grid-template-columns: 1fr;}}
:where(html.c6) .footer-bottom,:where(html.c6):is(.footer-bottom) {border-top: 1px solid rgb(58, 53, 48); padding-top: 1.25rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem;}
:where(html.c6) .footer-copy,:where(html.c6):is(.footer-copy) {font-size: 0.78rem; color: var(--muted-foreground); font-family: var(--font-sans);}
@media (max-width: 900px) {:where(html.c6) .footer-grid,:where(html.c6):is(.footer-grid) {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 500px) {:where(html.c6) .footer-grid,:where(html.c6):is(.footer-grid) {grid-template-columns: 1fr;}}
:where(html.c6) .ph,:where(html.c6):is(.ph) {background: rgb(254, 243, 199); color: rgb(146, 64, 14); padding: 0.15em 0.4em; border-radius: 2px; font-style: italic; font-size: 0.92em;}
:where(html.c6) .container-narrow,:where(html.c6):is(.container-narrow) {max-width: 760px; margin: 0px auto; padding: 0px 1.5rem;}
:where(html.c6) .page-hero,:where(html.c6):is(.page-hero) {padding: 3.5rem 1.5rem 2.5rem; text-align: center; border-bottom: 1px solid var(--border); margin-bottom: 3rem;}
:where(html.c6) .page-hero h1,:where(html.c6):is(.page-hero h1) {font-family: var(--font-serif); font-size: clamp(2rem, 5vw, 3rem); font-weight: 700; color: var(--primary); margin-bottom: 0.5rem;}
:where(html.c6) .page-hero p,:where(html.c6):is(.page-hero p) {font-family: var(--font-sans); color: var(--muted-foreground); font-size: 1.05rem; max-width: 560px; margin: 0px auto;}
:where(html.c6) .legal-section,:where(html.c6):is(.legal-section) {margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--muted);}
:where(html.c6) .legal-section:last-child,:where(html.c6):is(.legal-section:last-child) {border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
:where(html.c6) .legal-section h2,:where(html.c6):is(.legal-section h2) {font-family: var(--font-serif); font-size: 1.45rem; font-weight: 700; color: var(--foreground); margin-bottom: 1rem;}
:where(html.c6) .legal-section p,:where(html.c6):is(.legal-section p) {margin-bottom: 0.75rem; font-size: 0.975rem;}
:where(html.c6) .legal-section ul,:where(html.c6):is(.legal-section ul) {padding-left: 1.5rem; margin-bottom: 0.75rem;}
:where(html.c6) .legal-section li,:where(html.c6):is(.legal-section li) {margin-bottom: 0.35rem; font-size: 0.975rem;}
:where(html.c6) .legal-dl,:where(html.c6):is(.legal-dl) {display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 1.25rem;}
:where(html.c6) .legal-dl dt,:where(html.c6):is(.legal-dl dt) {font-weight: 600; font-size: 0.9rem; white-space: nowrap; padding-top: 0.1rem;}
:where(html.c6) .legal-dl dd,:where(html.c6):is(.legal-dl dd) {font-size: 0.975rem;}
:where(html.c6) main,:where(html.c6):is(main) {flex: 1 1 0%; padding-bottom: 4rem;}
:where(html.c17) .cgv-warning,:where(html.c17):is(.cgv-warning) {background: rgb(254, 243, 199); border: 1px solid rgb(245, 158, 11); border-radius: 6px; padding: 1rem 1.25rem; margin-bottom: 2.5rem; color: rgb(146, 64, 14); font-size: 0.92rem;}
:where(html.c17) .cgv-warning strong,:where(html.c17):is(.cgv-warning strong) {display: block; margin-bottom: 0.25rem; font-size: 1rem;}
:where(html.c17) .cgv-toc,:where(html.c17):is(.cgv-toc) {background: var(--secondary); border-radius: 8px; padding: 1.25rem 1.5rem; margin-bottom: 2.5rem;}
:where(html.c17) .cgv-toc h3,:where(html.c17):is(.cgv-toc h3) {font-family: var(--font-display); font-weight: 600; font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 0.75rem;}
:where(html.c17) .cgv-toc ol,:where(html.c17):is(.cgv-toc ol) {padding-left: 1.25rem;}
:where(html.c17) .cgv-toc li,:where(html.c17):is(.cgv-toc li) {font-size: 0.9rem; margin-bottom: 0.3rem;}
:where(html.c17) .cgv-toc a,:where(html.c17):is(.cgv-toc a) {color: var(--primary); text-decoration: none;}
:where(html.c17) .cgv-toc a:hover,:where(html.c17):is(.cgv-toc a:hover) {text-decoration: underline;}
:where(html.c17) .article-num,:where(html.c17):is(.article-num) {font-family: var(--font-display); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 0.25rem;}
:where(html.c18) .checkout-layout,:where(html.c18):is(.checkout-layout) {display: grid; grid-template-columns: 1fr 340px; gap: 2.5rem; max-width: 1100px; margin: 0px auto; padding: 2.5rem 1.5rem 4rem;}
@media (max-width: 860px) {:where(html.c18) .checkout-layout,:where(html.c18):is(.checkout-layout) {grid-template-columns: 1fr;}}
:where(html.c18) .demo-notice,:where(html.c18):is(.demo-notice) {background: rgb(254, 243, 199); border: 1px solid rgb(245, 158, 11); color: rgb(146, 64, 14); border-radius: 6px; padding: 0.65rem 1rem; font-size: 0.875rem; margin-bottom: 1.75rem;}
:where(html.c18) .step-indicator,:where(html.c18):is(.step-indicator) {display: flex; align-items: center; margin-bottom: 2rem;}
:where(html.c18) .step,:where(html.c18):is(.step) {display: flex; align-items: center; gap: 0.5rem;}
:where(html.c18) .step-circle,:where(html.c18):is(.step-circle) {width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 0.8rem; border: 2px solid var(--muted); color: var(--muted-foreground); transition: 0.3s; flex-shrink: 0;}
:where(html.c18) .step.active .step-circle,:where(html.c18):is(.step.active .step-circle) {background: var(--primary); border-color: var(--primary); color: rgb(255, 255, 255);}
:where(html.c18) .step.done .step-circle,:where(html.c18):is(.step.done .step-circle) {background: rgb(59, 122, 87); border-color: rgb(59, 122, 87); color: rgb(255, 255, 255);}
:where(html.c18) .step-label,:where(html.c18):is(.step-label) {font-family: var(--font-display); font-size: 0.78rem; font-weight: 500; color: var(--muted-foreground);}
:where(html.c18) .step.active .step-label,:where(html.c18):is(.step.active .step-label) {color: var(--primary); font-weight: 600;}
:where(html.c18) .step-sep,:where(html.c18):is(.step-sep) {flex: 1 1 0%; height: 1px; background: var(--border); margin: 0px 0.5rem;}
:where(html.c18) .form-panel,:where(html.c18):is(.form-panel) {display: none;}
:where(html.c18) .form-panel.active,:where(html.c18):is(.form-panel.active) {display: block;}
:where(html.c18) .form-panel h2,:where(html.c18):is(.form-panel h2) {font-family: var(--font-serif); font-size: 1.4rem; margin-bottom: 1.25rem; color: var(--foreground);}
:where(html.c18) .form-grid,:where(html.c18):is(.form-grid) {display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;}
:where(html.c18) .form-grid .full,:where(html.c18):is(.form-grid .full) {grid-column: 1 / -1;}
:where(html.c18) .field,:where(html.c18):is(.field) {display: flex; flex-direction: column; gap: 0.3rem;}
:where(html.c18) .field label,:where(html.c18):is(.field label) {font-family: var(--font-display); font-size: 0.8rem; font-weight: 600; color: var(--muted-foreground); letter-spacing: 0.04em;}
:where(html.c18) .field input,:where(html.c18):is(.field input),:where(html.c18) .field select,:where(html.c18):is(.field select) {border: 1px solid var(--border); border-radius: 5px; padding: 0.6rem 0.75rem; font-family: var(--font-sans); font-size: 0.95rem; background: rgb(255, 255, 255); color: var(--foreground); transition: border-color 0.2s;}
:where(html.c18) .field input:focus,:where(html.c18):is(.field input:focus),:where(html.c18) .field select:focus,:where(html.c18):is(.field select:focus) {outline: none; border-color: var(--primary);}
:where(html.c18) .field input.error,:where(html.c18):is(.field input.error) {border-color: rgb(220, 38, 38);}
:where(html.c18) .field .field-error,:where(html.c18):is(.field .field-error) {font-size: 0.78rem; color: rgb(220, 38, 38); display: none;}
:where(html.c18) .field.has-error .field-error,:where(html.c18):is(.field.has-error .field-error) {display: block;}
:where(html.c18) .btn-primary,:where(html.c18):is(.btn-primary) {background: var(--primary); color: var(--primary-foreground); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 5px; padding: 0.75rem 2rem; font-family: var(--font-display); font-weight: 600; font-size: 0.95rem; cursor: pointer; transition: background 0.2s; margin-top: 1.5rem;}
:where(html.c18) .btn-primary:hover,:where(html.c18):is(.btn-primary:hover) {background: var(--accent);}
:where(html.c18) .shipping-options,:where(html.c18):is(.shipping-options) {display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1rem;}
:where(html.c18) .shipping-option,:where(html.c18):is(.shipping-option) {display: flex; align-items: center; gap: 0.75rem; border: 1px solid var(--border); border-radius: 6px; padding: 0.9rem 1rem; cursor: pointer; transition: border-color 0.2s;}
:where(html.c18) .shipping-option:has(input:checked),:where(html.c18):is(.shipping-option:has(input:checked)) {border-color: var(--primary); background: rgb(253, 246, 248);}
:where(html.c18) .shipping-option input,:where(html.c18):is(.shipping-option input) {accent-color: var(--primary); width: 16px; height: 16px;}
:where(html.c18) .shipping-option-label,:where(html.c18):is(.shipping-option-label) {flex: 1 1 0%;}
:where(html.c18) .shipping-option-label strong,:where(html.c18):is(.shipping-option-label strong) {display: block; font-family: var(--font-display); font-size: 0.9rem;}
:where(html.c18) .shipping-option-label span,:where(html.c18):is(.shipping-option-label span) {font-size: 0.82rem; color: var(--muted-foreground);}
:where(html.c18) .shipping-price,:where(html.c18):is(.shipping-price) {font-family: var(--font-display); font-weight: 700; color: var(--primary);}
:where(html.c18) .payment-placeholder,:where(html.c18):is(.payment-placeholder) {background: var(--secondary); border-radius: 8px; padding: 1.25rem; margin-bottom: 1rem;}
:where(html.c18) .card-mock,:where(html.c18):is(.card-mock) {display: grid; gap: 0.75rem;}
:where(html.c18) .card-mock input,:where(html.c18):is(.card-mock input) {border: 1px solid var(--border); border-radius: 5px; padding: 0.6rem 0.75rem; font-family: var(--font-sans); font-size: 0.95rem; background: rgb(240, 236, 230); color: var(--muted-foreground); width: 100%;}
:where(html.c18) .card-mock-row,:where(html.c18):is(.card-mock-row) {display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem;}
:where(html.c18) .payment-note,:where(html.c18):is(.payment-note) {background: rgb(254, 243, 199); border-radius: 5px; padding: 0.65rem 0.85rem; font-size: 0.83rem; color: rgb(146, 64, 14); margin-bottom: 0.75rem;}
:where(html.c18) .confirmation-box,:where(html.c18):is(.confirmation-box) {text-align: center; padding: 3rem 1.5rem;}
:where(html.c18) .confirmation-icon,:where(html.c18):is(.confirmation-icon) {width: 64px; height: 64px; background: rgb(209, 250, 229); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0px auto 1.25rem; font-size: 2rem;}
:where(html.c18) .confirmation-box h2,:where(html.c18):is(.confirmation-box h2) {font-family: var(--font-serif); font-size: 1.75rem; margin-bottom: 0.75rem; color: var(--foreground);}
:where(html.c18) .confirmation-box p,:where(html.c18):is(.confirmation-box p) {color: var(--muted-foreground); margin-bottom: 1.5rem;}
:where(html.c18) .btn-outline,:where(html.c18):is(.btn-outline) {border: 1.5px solid var(--primary); color: var(--primary); background: transparent; border-radius: 5px; padding: 0.65rem 1.5rem; font-family: var(--font-display); font-weight: 600; font-size: 0.9rem; cursor: pointer; text-decoration: none; display: inline-block; transition: 0.2s;}
:where(html.c18) .btn-outline:hover,:where(html.c18):is(.btn-outline:hover) {background: var(--primary); color: rgb(255, 255, 255);}
:where(html.c18) .order-sidebar,:where(html.c18):is(.order-sidebar) {position: sticky; top: 80px; align-self: start;}
:where(html.c18) .sidebar-card,:where(html.c18):is(.sidebar-card) {background: var(--secondary); border-radius: 10px; padding: 1.5rem;}
:where(html.c18) .sidebar-card h3,:where(html.c18):is(.sidebar-card h3) {font-family: var(--font-display); font-weight: 700; font-size: 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--border); padding-bottom: 0.75rem;}
:where(html.c18) .cart-item-row,:where(html.c18):is(.cart-item-row) {display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.85rem;}
:where(html.c18) .cart-thumb,:where(html.c18):is(.cart-thumb) {width: 44px; height: 60px; background: var(--muted); border-radius: 3px; object-fit: cover; flex-shrink: 0;}
:where(html.c18) .cart-thumb-ph,:where(html.c18):is(.cart-thumb-ph) {width: 44px; height: 60px; background: var(--muted); border-radius: 3px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 1.2rem;}
:where(html.c18) .cart-item-info,:where(html.c18):is(.cart-item-info) {flex: 1 1 0%; min-width: 0px;}
:where(html.c18) .cart-item-title,:where(html.c18):is(.cart-item-title) {font-family: var(--font-display); font-size: 0.82rem; font-weight: 600;}
:where(html.c18) .cart-item-qty,:where(html.c18):is(.cart-item-qty) {font-size: 0.78rem; color: var(--muted-foreground);}
:where(html.c18) .cart-item-price,:where(html.c18):is(.cart-item-price) {font-family: var(--font-display); font-size: 0.88rem; font-weight: 600;}
:where(html.c18) .sidebar-total,:where(html.c18):is(.sidebar-total) {display: flex; justify-content: space-between; border-top: 1px solid var(--border); padding-top: 0.75rem; margin-top: 0.5rem; font-family: var(--font-display); font-weight: 700;}
:where(html.c18) .empty-cart-msg,:where(html.c18):is(.empty-cart-msg) {color: var(--muted-foreground); font-size: 0.875rem; font-style: italic;}
:where(html.c18) .cart-limit-note,:where(html.c18):is(.cart-limit-note) {font-size: 0.75rem; color: var(--muted-foreground); margin-top: 0.75rem; font-style: italic;}
@media (max-width: 480px) {:where(html.c18) .form-grid,:where(html.c18):is(.form-grid) {grid-template-columns: 1fr;}
:where(html.c18) .form-grid .full,:where(html.c18):is(.form-grid .full) {grid-column: 1;}}
:where(html.c19) .rgpd-table,:where(html.c19):is(.rgpd-table) {width: 100%; border-collapse: collapse; font-size: 0.9rem; margin-top: 0.75rem;}
:where(html.c19) .rgpd-table th,:where(html.c19):is(.rgpd-table th) {background: var(--secondary); font-family: var(--font-display); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.04em; text-align: left; padding: 0.6rem 0.75rem; border: 1px solid var(--border);}
:where(html.c19) .rgpd-table td,:where(html.c19):is(.rgpd-table td) {padding: 0.55rem 0.75rem; border: 1px solid var(--border); vertical-align: top;}
:where(html.c19) .rgpd-table tr:nth-child(2n) td,:where(html.c19):is(.rgpd-table tr:nth-child(2n) td) {background: rgb(250, 248, 244);}
:where(html.c7) .footer-col li,:where(html.c7):is(.footer-col li) {margin-bottom: 0.5rem;}
:where(html.c7) .footer-col a,:where(html.c7):is(.footer-col a) {font-size: 0.875rem; color: rgba(250, 248, 244, 0.7); transition: color 0.2s;}
:where(html.c7) .footer-col a:hover,:where(html.c7):is(.footer-col a:hover) {color: var(--primary-foreground);}
:where(html.c7) .footer-bottom,:where(html.c7):is(.footer-bottom) {border-top: 1px solid rgba(255, 255, 255, 0.1); padding: 1.25rem 1.5rem; max-width: 1200px; margin: 0px auto; display: flex; justify-content: space-between; align-items: center;}
:where(html.c7) .footer-bottom p,:where(html.c7):is(.footer-bottom p) {font-size: 0.8125rem; color: rgba(250, 248, 244, 0.5);}
@media (max-width: 900px) {:where(html.c7) .footer-inner,:where(html.c7):is(.footer-inner) {grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 480px) {:where(html.c7) .footer-inner,:where(html.c7):is(.footer-inner) {grid-template-columns: 1fr;}
:where(html.c7) .footer-bottom,:where(html.c7):is(.footer-bottom) {flex-direction: column; gap: 0.5rem; text-align: center;}}
:where(html.c7) .page-content,:where(html.c7):is(.page-content) {max-width: 1200px; margin: 0px auto; padding: 3rem 1.5rem;}
:where(html.c7) .page-hero,:where(html.c7):is(.page-hero) {text-align: center; padding: 3rem 1.5rem 2rem;}
:where(html.c7) .page-hero h1,:where(html.c7):is(.page-hero h1) {font-family: var(--font-serif); font-size: clamp(2rem, 5vw, 3rem); color: var(--primary); margin-bottom: 0.75rem;}
:where(html.c7) .page-hero p,:where(html.c7):is(.page-hero p) {font-size: 1.125rem; color: var(--muted-foreground); max-width: 600px; margin: 0px auto;}
:where(html.c20) .contact-layout,:where(html.c20):is(.contact-layout) {display: grid; grid-template-columns: 1fr 320px; gap: 3rem; max-width: 1100px; margin: 0px auto; padding: 3rem 1.5rem;}
@media (max-width: 860px) {:where(html.c20) .contact-layout,:where(html.c20):is(.contact-layout) {grid-template-columns: 1fr;}}
:where(html.c20) .contact-main h1,:where(html.c20):is(.contact-main h1) {font-family: var(--font-serif); font-size: clamp(1.75rem, 4vw, 2.5rem); color: var(--primary); margin-bottom: 0.5rem;}
:where(html.c20) .contact-main .subtitle,:where(html.c20):is(.contact-main .subtitle) {color: var(--muted-foreground); margin-bottom: 2rem;}
:where(html.c20) .demo-notice,:where(html.c20):is(.demo-notice) {background: rgb(254, 243, 199); border: 1px solid rgb(217, 119, 6); border-radius: 6px; padding: 0.75rem 1rem; margin-bottom: 1.75rem; font-size: 0.875rem; color: rgb(146, 64, 14); display: flex; align-items: flex-start; gap: 0.5rem;}
:where(html.c20) .demo-notice svg,:where(html.c20):is(.demo-notice svg) {flex-shrink: 0; margin-top: 2px;}
:where(html.c20) .form-group,:where(html.c20):is(.form-group) {margin-bottom: 1.375rem;}
:where(html.c20) .form-group label,:where(html.c20):is(.form-group label) {display: block; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 0.4rem;}
:where(html.c20) .form-group input,:where(html.c20):is(.form-group input),:where(html.c20) .form-group select,:where(html.c20):is(.form-group select),:where(html.c20) .form-group textarea,:where(html.c20):is(.form-group textarea) {width: 100%; padding: 0.625rem 0.875rem; border: 1px solid var(--border); border-radius: 4px; font-family: var(--font-sans); font-size: 1rem; background: rgb(255, 255, 255); color: var(--foreground); transition: border-color 0.2s, box-shadow 0.2s; outline: none; appearance: none;}
:where(html.c20) .form-group select,:where(html.c20):is(.form-group select) {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6058' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.75rem center; padding-right: 2.5rem;}
:where(html.c20) .form-group input:focus,:where(html.c20):is(.form-group input:focus),:where(html.c20) .form-group select:focus,:where(html.c20):is(.form-group select:focus),:where(html.c20) .form-group textarea:focus,:where(html.c20):is(.form-group textarea:focus) {border-color: var(--primary); box-shadow: rgba(124, 45, 66, 0.12) 0px 0px 0px 3px;}
:where(html.c20) .form-group.has-error input,:where(html.c20):is(.form-group.has-error input),:where(html.c20) .form-group.has-error select,:where(html.c20):is(.form-group.has-error select),:where(html.c20) .form-group.has-error textarea,:where(html.c20):is(.form-group.has-error textarea) {border-color: var(--accent);}
:where(html.c20) .field-error,:where(html.c20):is(.field-error) {display: none; color: var(--accent); font-size: 0.8125rem; margin-top: 0.35rem;}
:where(html.c20) .form-group.has-error .field-error,:where(html.c20):is(.form-group.has-error .field-error) {display: block;}
:where(html.c20) .form-group textarea,:where(html.c20):is(.form-group textarea) {resize: vertical; min-height: 140px;}
:where(html.c20) .btn-submit,:where(html.c20):is(.btn-submit) {display: inline-flex; align-items: center; gap: 0.625rem; background: var(--primary); color: var(--primary-foreground); font-family: var(--font-display); font-size: 0.9375rem; font-weight: 600; padding: 0.75rem 2rem; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 4px; cursor: pointer; transition: background 0.2s, opacity 0.2s;}
:where(html.c20) .btn-submit:hover,:where(html.c20):is(.btn-submit:hover) {background: var(--accent); color: rgb(255, 255, 255);}
:where(html.c20) .btn-submit:disabled,:where(html.c20):is(.btn-submit:disabled) {opacity: 0.65; cursor: not-allowed;}
:where(html.c20) .spinner,:where(html.c20):is(.spinner) {width: 18px; height: 18px; border-width: 2px; border-style: solid; border-right-color: rgba(250, 248, 244, 0.4); border-bottom-color: rgba(250, 248, 244, 0.4); border-left-color: rgba(250, 248, 244, 0.4); border-image: none; border-top-color: var(--primary-foreground); border-radius: 50%; animation: 0.7s linear 0s infinite normal none running spin; display: none;}
@keyframes spin { 
  100% { transform: rotate(360deg); }
}
:where(html.c20) .btn-submit.loading .spinner,:where(html.c20):is(.btn-submit.loading .spinner) {display: block;}
:where(html.c20) .btn-submit.loading .btn-text,:where(html.c20):is(.btn-submit.loading .btn-text) {opacity: 0.7;}
:where(html.c20) .success-message,:where(html.c20):is(.success-message) {display: none; text-align: center; padding: 3rem 2rem; background: var(--secondary); border-radius: 8px;}
:where(html.c20) .success-message.visible,:where(html.c20):is(.success-message.visible) {display: block;}
:where(html.c20) .success-icon,:where(html.c20):is(.success-icon) {width: 56px; height: 56px; background: rgb(22, 163, 74); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0px auto 1.25rem;}
:where(html.c20) .success-message h2,:where(html.c20):is(.success-message h2) {font-family: var(--font-serif); font-size: 1.75rem; color: var(--primary); margin-bottom: 0.75rem;}
:where(html.c20) .success-message p,:where(html.c20):is(.success-message p) {color: var(--muted-foreground);}
:where(html.c20) .contact-sidebar,:where(html.c20):is(.contact-sidebar) {display: flex; flex-direction: column; gap: 1.5rem;}
:where(html.c20) .sidebar-card,:where(html.c20):is(.sidebar-card) {background: var(--secondary); border-radius: 8px; padding: 1.5rem;}
:where(html.c20) .sidebar-card h3,:where(html.c20):is(.sidebar-card h3) {font-family: var(--font-display); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 0.75rem;}
:where(html.c20) .sidebar-card p,:where(html.c20):is(.sidebar-card p) {font-size: 0.9375rem; color: var(--foreground); margin-bottom: 0.5rem;}
:where(html.c20) .sidebar-card a,:where(html.c20):is(.sidebar-card a) {color: var(--primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px;}
:where(html.c20) .info-placeholder,:where(html.c20):is(.info-placeholder) {font-style: italic; color: var(--muted-foreground); font-size: 0.875rem;}
:where(html.c21) .faq-page,:where(html.c21):is(.faq-page) {max-width: 820px; margin: 0px auto; padding: 2rem 1.5rem 5rem;}
:where(html.c21) .faq-page h1,:where(html.c21):is(.faq-page h1) {font-family: var(--font-serif); font-size: clamp(1.75rem, 4vw, 2.5rem); color: var(--primary); margin-bottom: 0.5rem;}
:where(html.c21) .faq-page .subtitle,:where(html.c21):is(.faq-page .subtitle) {color: var(--muted-foreground); margin-bottom: 2.5rem;}
:where(html.c21) .faq-group,:where(html.c21):is(.faq-group) {margin-bottom: 2.5rem;}
:where(html.c21) .faq-group-title,:where(html.c21):is(.faq-group-title) {font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 0.875rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--border);}
:where(html.c21) .accordion-item,:where(html.c21):is(.accordion-item) {border-bottom: 1px solid var(--border);}
:where(html.c21) .accordion-trigger,:where(html.c21):is(.accordion-trigger) {width: 100%; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; display: flex; justify-content: space-between; align-items: center; padding: 1rem 0px; cursor: pointer; text-align: left; font-family: var(--font-sans); font-size: 1rem; font-weight: 600; color: var(--foreground); gap: 1rem; transition: color 0.2s;}
:where(html.c21) .accordion-trigger:hover,:where(html.c21):is(.accordion-trigger:hover) {color: var(--primary);}
:where(html.c21) .accordion-trigger[aria-expanded="true"],:where(html.c21):is(.accordion-trigger[aria-expanded="true"]) {color: var(--primary);}
:where(html.c21) .accordion-icon,:where(html.c21):is(.accordion-icon) {width: 22px; height: 22px; flex-shrink: 0; position: relative; border: 2px solid; border-radius: 50%; transition: background 0.2s, color 0.2s;}
:where(html.c21) .accordion-icon::before,:where(html.c21):is(.accordion-icon::before),:where(html.c21) .accordion-icon::after,:where(html.c21):is(.accordion-icon::after) {content: ""; position: absolute; background: currentcolor; border-radius: 2px; transition: transform 0.25s, opacity 0.25s;}
:where(html.c21) .accordion-icon::before,:where(html.c21):is(.accordion-icon::before) {width: 10px; height: 2px; top: 50%; left: 50%; transform: translate(-50%, -50%);}
:where(html.c21) .accordion-icon::after,:where(html.c21):is(.accordion-icon::after) {width: 2px; height: 10px; top: 50%; left: 50%; transform: translate(-50%, -50%);}
:where(html.c21) .accordion-trigger[aria-expanded="true"] .accordion-icon,:where(html.c21):is(.accordion-trigger[aria-expanded="true"] .accordion-icon) {background: var(--primary); color: var(--primary-foreground); border-color: var(--primary);}
:where(html.c21) .accordion-trigger[aria-expanded="true"] .accordion-icon::after,:where(html.c21):is(.accordion-trigger[aria-expanded="true"] .accordion-icon::after) {transform: translate(-50%, -50%) rotate(90deg); opacity: 0;}
:where(html.c21) .accordion-panel,:where(html.c21):is(.accordion-panel) {overflow: hidden; max-height: 0px; transition: max-height 0.3s;}
:where(html.c21) .accordion-panel.open,:where(html.c21):is(.accordion-panel.open) {max-height: 500px;}
:where(html.c21) .accordion-panel-inner,:where(html.c21):is(.accordion-panel-inner) {padding: 0px 0px 1rem; color: var(--muted-foreground); line-height: 1.7;}
:where(html.c21) .accordion-panel-inner a,:where(html.c21):is(.accordion-panel-inner a) {color: var(--primary); font-weight: 600; text-underline-offset: 2px; text-decoration: underline;}
:where(html.c21) .faq-cta,:where(html.c21):is(.faq-cta) {background: var(--secondary); border-radius: 10px; padding: 2.5rem; text-align: center; margin-top: 3rem;}
:where(html.c21) .faq-cta p,:where(html.c21):is(.faq-cta p) {font-family: var(--font-serif); font-size: 1.375rem; color: var(--foreground); margin-bottom: 1rem;}
:where(html.c21) .faq-cta a,:where(html.c21):is(.faq-cta a) {display: inline-block; background: var(--primary); color: var(--primary-foreground); font-family: var(--font-display); font-weight: 700; font-size: 0.9375rem; padding: 0.7rem 1.75rem; border-radius: 4px; transition: background 0.2s;}
:where(html.c21) .faq-cta a:hover,:where(html.c21):is(.faq-cta a:hover) {background: rgb(107, 37, 56);}
:where(html.c22) .kp-page,:where(html.c22):is(.kp-page) {max-width: 1000px; margin: 0px auto; padding: 2rem 1.5rem 5rem;}
:where(html.c22) .book-presentation,:where(html.c22):is(.book-presentation) {display: grid; grid-template-columns: 1fr 300px; gap: 3rem; align-items: start; margin-bottom: 4rem; padding-bottom: 3rem; border-bottom: 1px solid var(--border);}
@media (max-width: 720px) {:where(html.c22) .book-presentation,:where(html.c22):is(.book-presentation) {grid-template-columns: 1fr;}
:where(html.c22) .book-mockup-wrap,:where(html.c22):is(.book-mockup-wrap) {display: flex; justify-content: center;}}
:where(html.c22) .book-meta .badge,:where(html.c22):is(.book-meta .badge) {display: inline-block; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--primary); background: rgba(124, 45, 66, 0.1); border: 1px solid rgba(124, 45, 66, 0.25); border-radius: 3px; padding: 0.2rem 0.6rem; margin-bottom: 1rem;}
:where(html.c22) .book-meta h1,:where(html.c22):is(.book-meta h1) {font-family: var(--font-serif); font-size: clamp(1.75rem, 4vw, 2.5rem); color: var(--foreground); margin-bottom: 0.375rem;}
:where(html.c22) .book-meta .author,:where(html.c22):is(.book-meta .author) {font-family: var(--font-display); font-size: 1.0625rem; color: var(--muted-foreground); margin-bottom: 1.5rem;}
:where(html.c22) .pub-date-block,:where(html.c22):is(.pub-date-block) {display: flex; align-items: center; gap: 0.5rem; border-left: 3px solid var(--accent); padding-left: 0.875rem; margin-bottom: 1.5rem;}
:where(html.c22) .pub-date-block svg,:where(html.c22):is(.pub-date-block svg) {color: var(--accent); flex-shrink: 0;}
:where(html.c22) .pub-date-block span,:where(html.c22):is(.pub-date-block span) {font-size: 0.9375rem; color: var(--muted-foreground); font-style: italic;}
:where(html.c22) .book-synopsis,:where(html.c22):is(.book-synopsis) {border-left: 3px solid var(--border); padding-left: 1rem; font-style: italic; color: var(--muted-foreground); line-height: 1.75; margin-bottom: 1rem;}
:where(html.c22) .book-mockup-wrap,:where(html.c22):is(.book-mockup-wrap) {perspective: 900px;}
:where(html.c22) .book-3d,:where(html.c22):is(.book-3d) {width: 180px; height: 260px; position: relative; transform-style: preserve-3d; transform: rotateY(-25deg) rotateX(5deg); filter: drop-shadow(rgba(0, 0, 0, 0.3) -20px 20px 40px);}
:where(html.c22) .book-cover,:where(html.c22):is(.book-cover) {width: 100%; height: 100%; border-radius: 2px 6px 6px 2px; background: linear-gradient(145deg, rgb(44, 26, 78) 0%, rgb(124, 45, 66) 45%, rgb(196, 89, 58) 100%); display: flex; flex-direction: column; justify-content: space-between; padding: 1.25rem 1rem; position: absolute; backface-visibility: hidden;}
:where(html.c22) .book-cover-publisher,:where(html.c22):is(.book-cover-publisher) {font-family: var(--font-display); font-size: 0.5625rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(250, 248, 244, 0.6);}
:where(html.c22) .book-cover-title,:where(html.c22):is(.book-cover-title) {font-family: var(--font-serif); font-size: 1rem; color: rgb(250, 248, 244); line-height: 1.3; font-weight: 600;}
:where(html.c22) .book-cover-author,:where(html.c22):is(.book-cover-author) {font-family: var(--font-display); font-size: 0.625rem; color: rgba(250, 248, 244, 0.75);}
:where(html.c22) .book-spine,:where(html.c22):is(.book-spine) {width: 28px; height: 260px; background: linear-gradient(rgb(44, 26, 78) 0%, rgb(90, 32, 53) 100%); position: absolute; left: -27px; top: 0px; transform: rotateY(-90deg) translateZ(0px); transform-origin: right center; border-radius: 2px 0px 0px 2px; display: flex; align-items: center; justify-content: center;}
:where(html.c22) .book-spine span,:where(html.c22):is(.book-spine span) {font-family: var(--font-display); font-size: 0.5rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(250, 248, 244, 0.7); writing-mode: vertical-rl; transform: rotate(180deg);}
:where(html.c22) .section-lock,:where(html.c22):is(.section-lock),:where(html.c22) .section-unlock,:where(html.c22):is(.section-unlock) {margin-top: 1rem;}
:where(html.c22) .section-title,:where(html.c22):is(.section-title) {font-family: var(--font-serif); font-size: 1.5rem; color: var(--primary); margin-bottom: 1rem;}
:where(html.c22) .lock-card,:where(html.c22):is(.lock-card) {background: var(--secondary); border-radius: 10px; padding: 2rem; max-width: 520px;margin:auto;}
:where(html.c22) .lock-card p,:where(html.c22):is(.lock-card p) {color: var(--muted-foreground); margin-bottom: 1.25rem; line-height: 1.65;}
:where(html.c22) .demo-code-notice,:where(html.c22):is(.demo-code-notice) {background: rgb(239, 246, 255); border: 1px solid rgb(147, 197, 253); border-radius: 6px; padding: 0.75rem 1rem; font-size: 0.875rem; color: rgb(30, 64, 175); margin-bottom: 1.25rem;}
:where(html.c22) .code-form,:where(html.c22):is(.code-form) {display: flex; gap: 0.75rem; flex-wrap: wrap;}
:where(html.c22) .code-input,:where(html.c22):is(.code-input) {flex: 1 1 0%; min-width: 180px; padding: 0.625rem 0.875rem; border: 1px solid var(--border); border-radius: 4px; font-family: var(--font-display); font-size: 1rem; font-weight: 600; letter-spacing: 0.08em; background: rgb(255, 255, 255); color: var(--foreground); outline: none; transition: border-color 0.2s, box-shadow 0.2s;}
:where(html.c22) .code-input:focus,:where(html.c22):is(.code-input:focus) {border-color: var(--primary); box-shadow: rgba(124, 45, 66, 0.12) 0px 0px 0px 3px;}
:where(html.c22) .code-input.error,:where(html.c22):is(.code-input.error) {border-color: var(--accent);}
:where(html.c22) .btn-validate,:where(html.c22):is(.btn-validate) {background: var(--primary); color: var(--primary-foreground); font-family: var(--font-display); font-weight: 700; font-size: 0.9375rem; padding: 0.625rem 1.5rem; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 4px; cursor: pointer; white-space: nowrap; transition: background 0.2s;}
:where(html.c22) .btn-validate:hover,:where(html.c22):is(.btn-validate:hover) {background: rgb(107, 37, 56);}
:where(html.c22) .code-error,:where(html.c22):is(.code-error) {color: var(--accent); font-size: 0.875rem; margin-top: 0.5rem; display: none;}
:where(html.c22) .code-error.visible,:where(html.c22):is(.code-error.visible) {display: block;}
:where(html.c22) .unlock-badge,:where(html.c22):is(.unlock-badge) {display: inline-flex; align-items: center; gap: 0.5rem; background: rgb(209, 250, 229); border: 1px solid rgb(110, 231, 183); border-radius: 20px; padding: 0.35rem 1rem; font-size: 0.8125rem; font-weight: 600; color: rgb(6, 95, 70); margin-bottom: 1.25rem;}
:where(html.c22) .unlock-badge svg,:where(html.c22):is(.unlock-badge svg) {color: rgb(5, 150, 105);}
:where(html.c22) .resources-grid,:where(html.c22):is(.resources-grid) {display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; margin-bottom: 2rem;}
:where(html.c22) .resource-card,:where(html.c22):is(.resource-card) {background: var(--secondary); border: 1px solid var(--border); border-radius: 8px; padding: 1.25rem; display: flex; flex-direction: column; gap: 0.75rem;}
:where(html.c22) .resource-card h4,:where(html.c22):is(.resource-card h4) {font-family: var(--font-display); font-size: 0.875rem; font-weight: 600; color: var(--foreground);}
:where(html.c22) .resource-card p,:where(html.c22):is(.resource-card p) {font-size: 0.8125rem; color: var(--muted-foreground); flex: 1 1 0%;}
:where(html.c22) .btn-download,:where(html.c22):is(.btn-download) {display: block; text-align: center; background: var(--muted); color: var(--muted-foreground); font-family: var(--font-display); font-size: 0.8125rem; font-weight: 600; padding: 0.5rem 1rem; border-radius: 4px; border: 1px solid var(--border); cursor: not-allowed;}
:where(html.c22) .section-subtitle,:where(html.c22):is(.section-subtitle) {font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground); margin: 1.5rem 0px 0.875rem;}
:where(html.c22) .video-card,:where(html.c22):is(.video-card) {background: rgb(28, 25, 23); border-radius: 10px; padding: 2.5rem; /*display: flex; flex-direction: column; align-items: center; gap: 1rem;*/ cursor: pointer; /*max-width: 440px;*/position: relative; overflow: hidden;}
:where(html.c22) .video-card::before,:where(html.c22):is(.video-card::before) {content: ""; /*position: absolute;*/ inset: 0px; background: linear-gradient(145deg, rgba(44, 26, 78, 0.2), rgba(124, 45, 66, 0.2));}
:where(html.c22) .play-btn,:where(html.c22):is(.play-btn) {width: 60px; height: 60px; border-radius: 50%; background: rgba(250, 248, 244, 0.15); border: 2px solid rgba(250, 248, 244, 0.4); display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; transition: background 0.2s;}
:where(html.c22) .video-card:hover .play-btn,:where(html.c22):is(.video-card:hover .play-btn) {background: rgba(250, 248, 244, 0.25);}
:where(html.c22) .play-btn svg,:where(html.c22):is(.play-btn svg) {color: rgb(250, 248, 244); margin-left: 3px;}
:where(html.c22) .video-card p,:where(html.c22):is(.video-card p) {color: rgba(250, 248, 244, 0.7); font-size: 0.9375rem; position: relative; z-index: 1;}
:where(html.c22) .video-msg,:where(html.c22):is(.video-msg) {display: none; color: rgba(250, 248, 244, 0.9); font-size: 0.875rem; position: relative; z-index: 1; text-align: center;}
:where(html.c22) .kp-important-note,:where(html.c22):is(.kp-important-note) {background: rgb(254, 243, 199); border: 1px solid rgb(217, 119, 6); border-radius: 6px; padding: 1rem 1.25rem; margin-top: 2rem; font-size: 0.875rem; color: rgb(146, 64, 14); line-height: 1.6;}
:where(html.c22) .kp-important-note strong,:where(html.c22):is(.kp-important-note strong) {display: block; margin-bottom: 0.25rem;}
:where(html.c23) .lr-layout,:where(html.c23):is(.lr-layout) {display: grid; grid-template-columns: 200px 1fr; gap: 3rem; max-width: 1100px; margin: 0px auto; padding: 2rem 1.5rem 4rem;}
@media (max-width: 780px) {:where(html.c23) .lr-layout,:where(html.c23):is(.lr-layout) {grid-template-columns: 1fr;}}
:where(html.c23) .toc-sidebar,:where(html.c23):is(.toc-sidebar) {position: sticky; top: 80px; align-self: start;}
:where(html.c23) .toc-sidebar h2,:where(html.c23):is(.toc-sidebar h2) {font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 0.875rem;}
:where(html.c23) .toc-list,:where(html.c23):is(.toc-list) {list-style: none;}
:where(html.c23) .toc-list li,:where(html.c23):is(.toc-list li) {margin-bottom: 0.25rem;}
:where(html.c23) .toc-list a,:where(html.c23):is(.toc-list a) {font-size: 0.875rem; color: var(--muted-foreground); transition: color 0.2s; display: block; padding: 0.2rem 0px 0.2rem 0.75rem; border-left: 2px solid transparent;}
:where(html.c23) .toc-list a:hover,:where(html.c23):is(.toc-list a:hover),:where(html.c23) .toc-list a.active,:where(html.c23):is(.toc-list a.active) {color: var(--primary); border-left-color: var(--primary);}
:where(html.c23) .toc-mobile,:where(html.c23):is(.toc-mobile) {margin-bottom: 2rem; display: none;}
@media (max-width: 780px) {:where(html.c23) .toc-mobile,:where(html.c23):is(.toc-mobile) {display: block;}
:where(html.c23) .toc-sidebar,:where(html.c23):is(.toc-sidebar) {display: none;}}
:where(html.c23) .toc-mobile h2,:where(html.c23):is(.toc-mobile h2) {font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 0.75rem;}
:where(html.c23) .toc-mobile ul,:where(html.c23):is(.toc-mobile ul) {list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem;}
:where(html.c23) .toc-mobile a,:where(html.c23):is(.toc-mobile a) {font-size: 0.8125rem; color: var(--primary); border: 1px solid var(--border); border-radius: 3px; padding: 0.2rem 0.6rem; background: var(--secondary);}
:where(html.c23) .lr-content,:where(html.c23):is(.lr-content) {max-width: 760px;}
:where(html.c23) .lr-content section,:where(html.c23):is(.lr-content section) {margin-bottom: 3rem; scroll-margin-top: 90px;}
:where(html.c23) .lr-content h2,:where(html.c23):is(.lr-content h2) {font-family: var(--font-serif); font-size: 1.5rem; color: var(--primary); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--border);}
:where(html.c23) .lr-content h3,:where(html.c23):is(.lr-content h3) {font-family: var(--font-display); font-size: 1rem; font-weight: 600; color: var(--foreground); margin: 1.25rem 0px 0.5rem;}
:where(html.c23) .lr-content p,:where(html.c23):is(.lr-content p) {margin-bottom: 0.75rem; color: var(--foreground);}
:where(html.c23) .lr-content ul,:where(html.c23):is(.lr-content ul) {margin-left: 1.25rem; margin-bottom: 0.75rem;}
:where(html.c23) .lr-content li,:where(html.c23):is(.lr-content li) {margin-bottom: 0.4rem;}
:where(html.c23) .placeholder,:where(html.c23):is(.placeholder) {font-style: italic; color: var(--muted-foreground);}
:where(html.c23) .info-box,:where(html.c23):is(.info-box) {background: var(--secondary); border-left: 3px solid var(--primary); border-radius: 0px 6px 6px 0px; padding: 0.875rem 1.125rem; margin: 1rem 0px; font-size: 0.9375rem;}
:where(html.c23) .info-box strong,:where(html.c23):is(.info-box strong) {color: var(--primary);}
:where(html.c23) .data-table,:where(html.c23):is(.data-table) {width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.9375rem;}
:where(html.c23) .data-table th,:where(html.c23):is(.data-table th) {background: var(--secondary); text-align: left; padding: 0.625rem 0.875rem; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted-foreground); border-bottom: 2px solid var(--border);}
:where(html.c23) .data-table td,:where(html.c23):is(.data-table td) {padding: 0.625rem 0.875rem; border-bottom: 1px solid var(--muted); font-style: italic; color: var(--muted-foreground);}
:where(html.c23) .data-table tr:last-child td,:where(html.c23):is(.data-table tr:last-child td) {border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
:where(html.c23) .contact-cta,:where(html.c23):is(.contact-cta) {background: var(--primary); color: var(--primary-foreground); border-radius: 8px; padding: 1.5rem; text-align: center;}
:where(html.c23) .contact-cta p,:where(html.c23):is(.contact-cta p) {margin-bottom: 0.75rem; opacity: 0.9;}
:where(html.c23) .contact-cta a,:where(html.c23):is(.contact-cta a) {display: inline-block; background: var(--primary-foreground); color: var(--primary); font-family: var(--font-display); font-weight: 700; font-size: 0.9375rem; padding: 0.6rem 1.5rem; border-radius: 4px;}
:where(html.c24) .univers-section,:where(html.c24):is(.univers-section) {display: grid; grid-template-columns: 1fr 1fr; min-height: 520px;}
:where(html.c24) .univers-section:nth-child(2n) .univers-image,:where(html.c24):is(.univers-section:nth-child(2n) .univers-image) {order: 2;}
:where(html.c24) .univers-section:nth-child(2n) .univers-text,:where(html.c24):is(.univers-section:nth-child(2n) .univers-text) {order: 1;}
@media (max-width: 767px) {:where(html.c24) .univers-section,:where(html.c24):is(.univers-section) {grid-template-columns: 1fr; min-height: auto;}
:where(html.c24) .univers-section:nth-child(2n) .univers-image,:where(html.c24):is(.univers-section:nth-child(2n) .univers-image) {order: 0;}
:where(html.c24) .univers-section:nth-child(2n) .univers-text,:where(html.c24):is(.univers-section:nth-child(2n) .univers-text) {order: 0;}}
:where(html.c24) .univers-image,:where(html.c24):is(.univers-image) {position: relative; overflow: hidden;}
:where(html.c24) .univers-image img,:where(html.c24):is(.univers-image img) {width: 100%; height: 100%; object-fit: cover; display: block;}
:where(html.c24) .univers-image-overlay,:where(html.c24):is(.univers-image-overlay) {position: absolute; inset: 0px; /*background: rgba(28, 25, 23, 0.55);*/}
:where(html.c24) .univers-text,:where(html.c24):is(.univers-text) {padding: clamp(2.5rem, 5vw, 4.5rem); display: flex; flex-direction: column; justify-content: center; gap: 1.5rem; background: var(--background);}
:where(html.c24) .univers-subtitle,:where(html.c24):is(.univers-subtitle) {font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; font-family: var(--font-sans);}
:where(html.c24) .univers-title,:where(html.c24):is(.univers-title) {font-family: var(--font-serif); font-size: clamp(1.75rem, 3.5vw, 2.75rem); font-weight: 500; line-height: 1.1; color: var(--foreground);}
:where(html.c24) .univers-desc,:where(html.c24):is(.univers-desc) {font-family: var(--font-sans); font-size: 1rem; line-height: 1.75; color: var(--muted-foreground); max-width: 500px;}
:where(html.c24) .univers-atmo,:where(html.c24):is(.univers-atmo) {font-family: var(--font-sans); font-size: 0.8125rem; font-style: italic; color: var(--muted-foreground); opacity: 0.8;}
:where(html.c24) .univers-link,:where(html.c24):is(.univers-link) {display: inline-flex; align-items: center; gap: 0.35rem; font-family: var(--font-sans); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.04em; text-decoration: none; padding: 0.65rem 0px; border-bottom: 2px solid; transition: opacity 0.15s; width: fit-content;}
:where(html.c24) .univers-link:hover,:where(html.c24):is(.univers-link:hover) {opacity: 0.75;}
:where(html.c24) .page-hero-univers,:where(html.c24):is(.page-hero-univers) {padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 6vw, 5rem); border-bottom: 0.5px solid var(--border); text-align: center;}
:where(html.c24) .page-hero-univers h1,:where(html.c24):is(.page-hero-univers h1) {font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 600; letter-spacing: -0.025em; margin-bottom: 1rem;}
:where(html.c24) .page-hero-univers .hero-sub,:where(html.c24):is(.page-hero-univers .hero-sub) {font-family: var(--font-sans); font-size: 1.0625rem; color: var(--muted-foreground); max-width: 580px; margin: 0px auto; line-height: 1.7;}
:where(html.c25) .cart-page,:where(html.c25):is(.cart-page) {max-width: 960px; margin: 0px auto; padding: 2.5rem 1.5rem 4rem;}
:where(html.c25) .cart-page-title,:where(html.c25):is(.cart-page-title) {font-family: var(--font-serif); font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; color: var(--primary); margin-bottom: 0.25rem;}
:where(html.c25) .cart-subtitle,:where(html.c25):is(.cart-subtitle) {color: var(--muted-foreground); font-size: 0.95rem; margin-bottom: 2rem; min-height: 1.5rem;}
:where(html.c25) .cart-empty,:where(html.c25):is(.cart-empty) {text-align: center; padding: 4rem 1.5rem;}
:where(html.c25) .cart-empty-icon,:where(html.c25):is(.cart-empty-icon) {font-size: 3.5rem; margin-bottom: 1rem;}
:where(html.c25) .cart-empty h2,:where(html.c25):is(.cart-empty h2) {font-family: var(--font-serif); font-size: 1.5rem; margin-bottom: 0.75rem; color: var(--foreground);}
:where(html.c25) .cart-empty p,:where(html.c25):is(.cart-empty p) {color: var(--muted-foreground); margin-bottom: 1.5rem;}
:where(html.c25) .btn-primary-lg,:where(html.c25):is(.btn-primary-lg) {background: var(--primary); color: var(--primary-foreground); text-decoration: none; border-radius: 6px; padding: 0.8rem 2rem; font-family: var(--font-display); font-weight: 600; font-size: 1rem; display: inline-block; transition: background 0.2s;}
:where(html.c25) .btn-primary-lg:hover,:where(html.c25):is(.btn-primary-lg:hover) {background: var(--accent); color: rgb(255, 255, 255);}
:where(html.c25) .cart-table-wrap,:where(html.c25):is(.cart-table-wrap) {overflow-x: auto; margin-bottom: 1.5rem;}
:where(html.c25) table.cart-table,:where(html.c25):is(table.cart-table) {width: 100%; border-collapse: collapse;}
:where(html.c25) .cart-table th,:where(html.c25):is(.cart-table th) {font-family: var(--font-display); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted-foreground); padding: 0.6rem 0.75rem; border-bottom: 2px solid var(--border); text-align: left;}
:where(html.c25) .cart-table td,:where(html.c25):is(.cart-table td) {padding: 1rem 0.75rem; border-bottom: 1px solid var(--muted); vertical-align: middle;}
:where(html.c25) .cart-table tr:last-child td,:where(html.c25):is(.cart-table tr:last-child td) {border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
:where(html.c25) .cart-product-cell,:where(html.c25):is(.cart-product-cell) {display: flex; align-items: flex-start; gap: 1rem; min-width: 220px;}
:where(html.c25) .cart-cover,:where(html.c25):is(.cart-cover) {width: 52px; height: 70px; object-fit: cover; border-radius: 3px; background: var(--muted); flex-shrink: 0;}
:where(html.c25) .cart-cover-ph,:where(html.c25):is(.cart-cover-ph) {width: 52px; height: 70px; background: var(--muted); border-radius: 3px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 1.4rem;}
:where(html.c25) .cart-product-title,:where(html.c25):is(.cart-product-title) {font-family: var(--font-display); font-weight: 600; font-size: 0.9rem; margin-bottom: 0.2rem;}
:where(html.c25) .cart-product-variant,:where(html.c25):is(.cart-product-variant) {font-size: 0.8rem; color: var(--muted-foreground);}
:where(html.c25) .cart-unit-price,:where(html.c25):is(.cart-unit-price) {font-family: var(--font-display); font-size: 0.95rem; white-space: nowrap;}
:where(html.c25) .qty-control,:where(html.c25):is(.qty-control) {display: flex; align-items: center; border: 1px solid var(--border); border-radius: 5px; overflow: hidden; width: fit-content;}
:where(html.c25) .qty-btn,:where(html.c25):is(.qty-btn) {background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; width: 30px; height: 30px; cursor: pointer; font-size: 1.1rem; color: var(--foreground); transition: background 0.2s;}
:where(html.c8) img,:where(html.c8):is(img) {display: block; max-width: 100%;}
:where(html.c8) .label-caps,:where(html.c8):is(.label-caps) {font-family: var(--font-display); font-variant: small-caps; text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.75rem; font-weight: 600;}
:where(html.c8) header,:where(html.c8):is(header) {background: var(--background); border-bottom: 1px solid var(--border); position: sticky; top: 0px; z-index: 100;}
:where(html.c8) .header-inner,:where(html.c8):is(.header-inner) {max-width: 1200px; margin: 0px auto; padding: 0px 1.5rem; height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 2rem;}
:where(html.c8) .logo,:where(html.c8):is(.logo) {font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; color: var(--primary); letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap;}
:where(html.c8) nav.main-nav,:where(html.c8):is(nav.main-nav) {display: flex; align-items: center; gap: 1.75rem;}
:where(html.c8) nav.main-nav a,:where(html.c8):is(nav.main-nav a) {font-family: var(--font-display); font-size: 0.8rem; font-weight: 500; color: var(--foreground); letter-spacing: 0.04em; white-space: nowrap; transition: color 0.2s;}
:where(html.c8) nav.main-nav a:hover,:where(html.c8):is(nav.main-nav a:hover) {color: var(--primary);}
:where(html.c8) .menu-toggle,:where(html.c8):is(.menu-toggle) {display: none; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; flex-direction: column; gap: 5px; padding: 4px;}
:where(html.c8) .menu-toggle span,:where(html.c8):is(.menu-toggle span) {display: block; width: 24px; height: 2px; background: var(--foreground); border-radius: 2px; transition: 0.3s;}
:where(html.c8) .mobile-nav,:where(html.c8):is(.mobile-nav) {display: none; flex-direction: column; background: var(--background); border-top: 1px solid var(--border); padding: 1rem 1.5rem; gap: 0.75rem;}
:where(html.c8) .mobile-nav.open,:where(html.c8):is(.mobile-nav.open) {display: flex;}
:where(html.c8) .mobile-nav a,:where(html.c8):is(.mobile-nav a) {font-family: var(--font-display); font-size: 0.9rem; font-weight: 500; color: var(--foreground); padding: 0.4rem 0px; border-bottom: 1px solid var(--muted);}
:where(html.c8) .mobile-nav a:last-child,:where(html.c8):is(.mobile-nav a:last-child) {border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
@media (max-width: 860px) {:where(html.c8) nav.main-nav,:where(html.c8):is(nav.main-nav) {display: none;}
:where(html.c8) .menu-toggle,:where(html.c8):is(.menu-toggle) {display: flex;}}
:where(html.c8) main,:where(html.c8):is(main) {flex: 1 1 0%;}
:where(html.c8) .page-wrap,:where(html.c8):is(.page-wrap) {max-width: 1200px; margin: 0px auto; padding: 3rem 1.5rem 5rem;}
:where(html.c8) .breadcrumb,:where(html.c8):is(.breadcrumb) {display: flex; align-items: center; gap: 0.5rem; margin: 2.5rem 0px; font-family: var(--font-display); font-size: 0.75rem; font-weight: 500; color: var(--muted-foreground);}
:where(html.c8) .breadcrumb a:hover,:where(html.c8):is(.breadcrumb a:hover) {color: var(--primary);}
:where(html.c8) .breadcrumb span,:where(html.c8):is(.breadcrumb span) {color: var(--muted-foreground);}
:where(html.c8) .book-layout,:where(html.c8):is(.book-layout) {display: grid; grid-template-columns: minmax(220px, 400px) 1fr; gap: 4rem; align-items: start;}
@media (max-width: 760px) {:where(html.c8) .book-layout,:where(html.c8):is(.book-layout) {grid-template-columns: 1fr; gap: 2rem;}}
:where(html.c8) .book-cover-wrap,:where(html.c8):is(.book-cover-wrap) {position: sticky; top: 80px;}
:where(html.c8) .book-cover-wrap img,:where(html.c8):is(.book-cover-wrap img) {width: 100%; /*aspect-ratio: 2 / 3; object-fit: cover; border-radius: 4px; box-shadow: rgba(28, 25, 23, 0.18) 0px 8px 32px, rgba(28, 25, 23, 0.1) 0px 2px 8px;*/}
@media (max-width: 760px) {:where(html.c8) .book-cover-wrap,:where(html.c8):is(.book-cover-wrap) {position: static; max-width: 280px; margin: 0px auto;}}
:where(html.c8) .book-info,:where(html.c8):is(.book-info) {display: flex; flex-direction: column; gap: 1.25rem;}
:where(html.c8) .book-category,:where(html.c8):is(.book-category) {color: var(--accent);}
:where(html.c8) .book-info h1,:where(html.c8):is(.book-info h1) {font-family: var(--font-serif); font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.2; color: var(--foreground);}
:where(html.c8) .book-creator,:where(html.c8):is(.book-creator),:where(html.c8) .book-collection,:where(html.c8):is(.book-collection) {font-family: var(--font-sans); font-size: 0.95rem; color: var(--muted-foreground);}
:where(html.c8) .book-creator strong,:where(html.c8):is(.book-creator strong),:where(html.c8) .book-collection strong,:where(html.c8):is(.book-collection strong) {color: var(--foreground); font-weight: 600;}
:where(html.c8) .selector-group,:where(html.c8):is(.selector-group) {display: flex; flex-direction: column; gap: 0.5rem;}
:where(html.c8) .selector-label,:where(html.c8):is(.selector-label) {font-family: var(--font-display); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted-foreground);}
:where(html.c8) .variant-options,:where(html.c8):is(.variant-options) {display: flex; flex-wrap: wrap; gap: 0.5rem;}
:where(html.c8) .variant-btn,:where(html.c8):is(.variant-btn) {font-family: var(--font-display); font-size: 0.8rem; font-weight: 500; padding: 0.45rem 1rem; border: 1.5px solid var(--border); border-radius: 4px; background: var(--background); color: var(--foreground); cursor: pointer; transition: 0.2s;}
:where(html.c8) .variant-btn:hover:not(:disabled),:where(html.c8):is(.variant-btn:hover:not(:disabled)) {border-color: var(--primary); color: var(--primary);}
:where(html.c8) .variant-btn.active,:where(html.c8):is(.variant-btn.active) {border-color: var(--primary); background: var(--primary); color: var(--primary-foreground);}
:where(html.c8) .variant-btn:disabled,:where(html.c8):is(.variant-btn:disabled) {opacity: 0.45; cursor: not-allowed; text-decoration: line-through;}
:where(html.c8) .price-display,:where(html.c8):is(.price-display) {font-family: var(--font-display); font-size: 1.75rem; font-weight: 700; color: var(--primary);}
:where(html.c8) .purchase-row,:where(html.c8):is(.purchase-row) {display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;}
:where(html.c8) .qty-group,:where(html.c8):is(.qty-group) {display: flex; align-items: center; border: 1.5px solid var(--border); border-radius: 4px; overflow: hidden;}
:where(html.c8) .qty-btn,:where(html.c8):is(.qty-btn) {width: 36px; height: 40px; background: var(--secondary); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; font-size: 1.1rem; font-family: var(--font-display); color: var(--foreground); transition: background 0.2s; display: flex; align-items: center; justify-content: center;}
:where(html.c26) .qty-btn:hover,:where(html.c26):is(.qty-btn:hover) {background: var(--muted);}
:where(html.c25) .qty-display,:where(html.c25):is(.qty-display) {width: 32px; text-align: center; font-family: var(--font-display); font-size: 0.9rem; font-weight: 600; border-left: 1px solid var(--border); border-right: 1px solid var(--border); line-height: 30px;}
:where(html.c25) .cart-line-total,:where(html.c25):is(.cart-line-total) {font-family: var(--font-display); font-weight: 700; font-size: 0.95rem; white-space: nowrap;}
:where(html.c25) .btn-remove,:where(html.c25):is(.btn-remove) {background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: var(--muted-foreground); cursor: pointer; font-size: 1.2rem; transition: color 0.2s; padding: 0.25rem; line-height: 1;}
:where(html.c25) .btn-remove:hover,:where(html.c25):is(.btn-remove:hover) {color: rgb(220, 38, 38);}
:where(html.c25) .cart-footer-bar,:where(html.c25):is(.cart-footer-bar) {display: flex; justify-content: flex-end; align-items: center; gap: 2rem; flex-wrap: wrap; border-top: 2px solid var(--border); padding-top: 1.25rem;}
:where(html.c25) .cart-total-label,:where(html.c25):is(.cart-total-label) {font-family: var(--font-display); font-size: 0.95rem; color: var(--muted-foreground);}
:where(html.c25) .cart-total-amount,:where(html.c25):is(.cart-total-amount) {font-family: var(--font-display); font-weight: 700; font-size: 1.4rem; color: var(--primary);}
:where(html.c25) .btn-checkout,:where(html.c25):is(.btn-checkout) {background: var(--primary); color: var(--primary-foreground); text-decoration: none; border-radius: 6px; padding: 0.8rem 2rem; font-family: var(--font-display); font-weight: 600; font-size: 1rem; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; transition: background 0.2s; display: inline-block;}
:where(html.c25) .btn-checkout:hover,:where(html.c25):is(.btn-checkout:hover) {background: var(--accent); color: rgb(255, 255, 255);}
:where(html.c25) .cart-note,:where(html.c25):is(.cart-note) {font-size: 0.78rem; color: var(--muted-foreground); font-style: italic; margin-top: 1.25rem; background: var(--secondary); border-radius: 5px; padding: 0.65rem 0.9rem;}
:where(html.c27) html,:where(html.c27):is(html),:where(html.c27) body,:where(html.c27):is(body) {min-height: 100vh; background: var(--background); color: var(--foreground); font-family: var(--font-sans);}
:where(html.c27) body::before,:where(html.c27):is(body::before) {content: ""; position: fixed; border-radius: 3px; pointer-events: none; width: 120px; height: 180px; top: -30px; left: -20px; background: var(--primary); opacity: 0.06; transform: rotate(-18deg);}
:where(html.c27) body::after,:where(html.c27):is(body::after) {content: ""; position: fixed; border-radius: 3px; pointer-events: none; width: 90px; height: 140px; top: 40px; left: 60px; background: var(--secondary); opacity: 0.5; transform: rotate(-8deg);}
:where(html.c27) .deco-1,:where(html.c27):is(.deco-1) {position: fixed; border-radius: 3px; pointer-events: none; width: 160px; height: 240px; bottom: -40px; right: -30px; background: var(--primary); opacity: 0.05; transform: rotate(14deg);}
:where(html.c27) .deco-2,:where(html.c27):is(.deco-2) {position: fixed; border-radius: 3px; pointer-events: none; width: 100px; height: 155px; bottom: 80px; right: 80px; background: var(--accent); opacity: 0.06; transform: rotate(6deg);}
:where(html.c27) .deco-3,:where(html.c27):is(.deco-3) {position: fixed; border-radius: 3px; pointer-events: none; width: 70px; height: 105px; top: 20%; left: 5%; background: var(--muted); opacity: 0.6; transform: rotate(22deg);}
:where(html.c27) .deco-4,:where(html.c27):is(.deco-4) {position: fixed; border-radius: 3px; pointer-events: none; width: 55px; height: 85px; top: 60%; right: 8%; background: var(--secondary); opacity: 0.55; transform: rotate(-12deg);}
:where(html.c27) .page-wrap,:where(html.c27):is(.page-wrap) {min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem 1.5rem; position: relative; z-index: 1; text-align: center;}
:where(html.c27) .logo,:where(html.c27):is(.logo) {font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--primary); margin-bottom: 3rem;}
:where(html.c27) .headline,:where(html.c27):is(.headline) {font-family: var(--font-serif); font-size: clamp(2rem, 6vw, 3.5rem); font-weight: 300; line-height: 1.15; color: var(--foreground); margin-bottom: 1.5rem; max-width: 600px;}
:where(html.c27) .headline em,:where(html.c27):is(.headline em) {font-style: italic; color: var(--primary); font-weight: 400;}
:where(html.c27) .divider,:where(html.c27):is(.divider) {width: 60px; height: 2px; background: var(--border); margin: 0px auto 1.75rem; border-radius: 2px;}
:where(html.c27) .body-text,:where(html.c27):is(.body-text) {font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.75; color: var(--muted-foreground); max-width: 480px; margin: 0px auto 2.5rem;}
:where(html.c27) .back-btn,:where(html.c27):is(.back-btn) {display: inline-block; font-family: var(--font-sans); font-size: 0.9rem; font-weight: 600; color: var(--primary); border: 1.5px solid var(--primary); padding: 0.7rem 1.75rem; border-radius: 4px; text-decoration: none; transition: background 0.2s, color 0.2s;}
:where(html.c27) .back-btn:hover,:where(html.c27):is(.back-btn:hover) {background: var(--primary); color: var(--primary-foreground);}
:where(html.c8) .qty-input,:where(html.c8):is(.qty-input) {width: 48px; height: 40px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; text-align: center; font-family: var(--font-display); font-size: 0.95rem; font-weight: 600; background: var(--background); color: var(--foreground); outline: none;}
:where(html.c8) .add-to-cart,:where(html.c8):is(.add-to-cart) {flex: 1 1 0%; min-width: 160px; height: 44px; background: var(--primary); color: var(--primary-foreground); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 4px; font-family: var(--font-display); font-size: 0.85rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: opacity 0.2s;}
:where(html.c8) .add-to-cart:hover,:where(html.c8):is(.add-to-cart:hover) {opacity: 0.88;}
:where(html.c8) .divider,:where(html.c8):is(.divider) {height: 1px; background: var(--border); margin: 0.5rem 0px;}
:where(html.c8) .book-description,:where(html.c8):is(.book-description) {font-family: var(--font-sans); font-size: 1rem; line-height: 1.75; color: var(--foreground);}
:where(html.c8) .specs-table,:where(html.c8):is(.specs-table) {width: 100%; border-collapse: collapse;}
:where(html.c8) .specs-table th,:where(html.c8):is(.specs-table th),:where(html.c8) .specs-table td,:where(html.c8):is(.specs-table td) {text-align: left; padding: 0.55rem 0px; border-bottom: 1px solid var(--muted); font-family: var(--font-sans); font-size: 0.9rem;}
:where(html.c8) .specs-table th,:where(html.c8):is(.specs-table th) {color: var(--muted-foreground); font-weight: 400; width: 40%;}
:where(html.c8) .specs-table td,:where(html.c8):is(.specs-table td) {font-weight: 600;}
:where(html.c8) .related-title,:where(html.c8):is(.related-title) {font-family: var(--font-display); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 1rem;}
:where(html.c8) .related-grid,:where(html.c8):is(.related-grid) {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;}
@media (max-width: 540px) {:where(html.c8) .related-grid,:where(html.c8):is(.related-grid) {grid-template-columns: repeat(2, 1fr);}}
:where(html.c8) .related-card,:where(html.c8):is(.related-card) {display: block;}
:where(html.c8) .related-card img,:where(html.c8):is(.related-card img) {width: 100%; /*aspect-ratio: 2 / 3;*/ object-fit: cover; border-radius: 3px; box-shadow: rgba(28, 25, 23, 0.12) 0px 2px 8px; transition: transform 0.25s, box-shadow 0.25s;}
:where(html.c8) .related-card:hover img,:where(html.c8):is(.related-card:hover img) {transform: translateY(-3px); box-shadow: rgba(28, 25, 23, 0.18) 0px 6px 20px;}
:where(html.c8) .related-card-title,:where(html.c8):is(.related-card-title) {width:100%;margin-top: 0.5rem; font-family: var(--font-display); font-size: 0.8rem; font-weight: 600; color: var(--foreground);}
:where(html.c8) .related-card-cat,:where(html.c8):is(.related-card-cat) {font-family: var(--font-sans); font-size: 0.75rem; color: var(--muted-foreground); margin-top: 0.15rem;}
:where(html.c8) footer,:where(html.c8):is(footer) {background: var(--foreground); color: var(--primary-foreground); padding: 3.5rem 1.5rem 2rem;}
:where(html.c8) .footer-inner,:where(html.c8):is(.footer-inner) {max-width: 1200px; margin: 0px auto; display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 2.5rem;}
@media (max-width: 900px) {:where(html.c8) .footer-inner,:where(html.c8):is(.footer-inner) {grid-template-columns: 1fr 1fr;}}
@media (max-width: 520px) {:where(html.c8) .footer-inner,:where(html.c8):is(.footer-inner) {grid-template-columns: 1fr;}}
:where(html.c8) .footer-brand .logo,:where(html.c8):is(.footer-brand .logo) {color: var(--primary-foreground); font-size: 1.1rem;}
:where(html.c8) .footer-tagline,:where(html.c8):is(.footer-tagline) {font-size: 0.8rem; color: rgba(250, 248, 244, 0.55); margin-top: 0.6rem; line-height: 1.6;}
:where(html.c8) .footer-col h4,:where(html.c8):is(.footer-col h4) {font-family: var(--font-display); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(250, 248, 244, 0.45); margin-bottom: 0.9rem;}
:where(html.c8) .footer-col ul,:where(html.c8):is(.footer-col ul) {list-style: none; display: flex; flex-direction: column; gap: 0.5rem;}
:where(html.c8) .footer-col ul li a,:where(html.c8):is(.footer-col ul li a) {font-family: var(--font-sans); font-size: 0.82rem; color: rgba(250, 248, 244, 0.75); transition: color 0.2s;}
:where(html.c8) .footer-col ul li a:hover,:where(html.c8):is(.footer-col ul li a:hover) {color: rgb(250, 248, 244);}
:where(html.c8) .footer-bottom,:where(html.c8):is(.footer-bottom) {max-width: 1200px; margin: 2.5rem auto 0px; border-top: 1px solid rgba(250, 248, 244, 0.1); padding-top: 1.25rem; font-size: 0.75rem; color: rgba(250, 248, 244, 0.35); font-family: var(--font-sans);}
/* Styles ponctuels mutualisés. */
:is(#__exa_inline,[data-exa-style="s0"]) {background-image:url('https://images.unsplash.com/photo-1516414447565-b14be0adf13e?w=1800&h=1000&fit=crop&auto=format');}
:is(#__exa_inline,[data-exa-style="s1"]) {background:linear-gradient(110deg,rgba(20,8,14,0.85) 0%,rgba(20,8,14,0.55) 55%,rgba(20,8,14,0.2) 100%);}
:is(#__exa_inline,[data-exa-style="s2"]) {background-image:url('https://images.unsplash.com/photo-1425082661705-1834bfd09dca?w=1800&h=1000&fit=crop&auto=format');}
:is(#__exa_inline,[data-exa-style="s3"]) {background:linear-gradient(110deg,rgba(10,18,48,0.88) 0%,rgba(10,18,48,0.55) 55%,rgba(10,18,48,0.15) 100%);}
:is(#__exa_inline,[data-exa-style="s4"]) {background-image:url('https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?w=1800&h=1000&fit=crop&auto=format');}
:is(#__exa_inline,[data-exa-style="s5"]) {background:linear-gradient(110deg,rgba(8,12,20,0.88) 0%,rgba(8,12,20,0.55) 55%,rgba(8,12,20,0.15) 100%);}
:is(#__exa_inline,[data-exa-style="s6"]) {background:var(--secondary);padding:5rem 2rem;}
:is(#__exa_inline,[data-exa-style="s7"]) {max-width:1200px;margin:0 auto;}
:is(#__exa_inline,[data-exa-style="s8"]) {margin-bottom:0.5rem;}
:is(#__exa_inline,[data-exa-style="s9"]) {text-align:center;margin-top:2.5rem;}
:is(#__exa_inline,[data-exa-style="s10"]) {display:inline-block;border:1.5px solid var(--primary);color:var(--primary);padding:0.75rem 2rem;border-radius:4px;font-family:var(--font-sans);font-weight:600;font-size:0.9rem;transition:background 0.2s,color 0.2s;}
:is(#__exa_inline,[data-exa-style="s11"]) {margin-bottom:1rem;}
:is(#__exa_inline,[data-exa-style="s12"]) {width:fit-content;}
:is(#__exa_inline,[data-exa-style="s13"]) {margin-top:0.75rem;}
:is(#__exa_inline,[data-exa-style="s14"]) {border-bottom:none;}
:is(#__exa_inline,[data-exa-style="s15"]) {padding-top:0;border-top:0.5px solid var(--border);}
:is(#__exa_inline,[data-exa-style="s16"]) {display:flex;gap:1rem;flex-wrap:wrap;}
:is(#__exa_inline,[data-exa-style="s17"]) {padding-top:0;}
:is(#__exa_inline,[data-exa-style="s18"]) {margin-bottom:2rem;}
:is(#__exa_inline,[data-exa-style="s19"]) {font-family:var(--font-sans);font-size:1rem;color:var(--muted-foreground);margin-bottom:1.5rem;}
:is(#__exa_inline,[data-exa-style="s20"]) {color:var(--muted-foreground);}
:is(#__exa_inline,[data-exa-style="s21"]) {padding-left:1.5rem;margin-top:0.5rem;}
:is(#__exa_inline,[data-exa-style="s22"]) {margin-bottom:0.3rem;}
:is(#__exa_inline,[data-exa-style="s23"]) {margin-top:0.5rem; font-size:0.875rem; color:var(--muted-foreground);}
:is(#__exa_inline,[data-exa-style="s24"]) {font-size:0.875rem;color:var(--muted-foreground);}
:is(#__exa_inline,[data-exa-style="s25"]) {font-size:0.9375rem;}
:is(#__exa_inline,[data-exa-style="s26"]) {font-size:0.9375rem;margin-bottom:0.75rem;}
:is(#__exa_inline,[data-exa-style="s27"]) {display:none;}
:is(#__exa_inline,[data-exa-style="s28"]) {color:var(--muted-foreground);margin-bottom:1.75rem;}
:is(#__exa_inline,[data-exa-style="s29"]) {color:var(--primary);font-weight:600;}
:is(#__exa_inline,[data-exa-style="s30"]) {margin-left:1.25rem;margin-bottom:0.75rem;}
:is(#__exa_inline,[data-exa-style="s31"]) {margin-bottom:0.75rem;}
:is(#__exa_inline,[data-exa-style="s32"]) {color:#235776;}
:is(#__exa_inline,[data-exa-style="s33"]) {color:#3A5C7C;}
:is(#__exa_inline,[data-exa-style="s34"]) {color:#3A7C4E;}
:is(#__exa_inline,[data-exa-style="s35"]) {color:#6B4A2C;}
:is(#__exa_inline,[data-exa-style="s36"]) {color:var(--foreground)}
/* Navigation commune et panier accessible */
#exa-header{position:fixed;inset:0 0 auto;z-index:1000;height:68px;background:#faf8f4;border-bottom:1px solid #d4c9ba;display:flex;align-items:center;justify-content:flex-start;gap:32px;padding:0 32px;box-sizing:border-box;font-family:var(--font-sans,sans-serif)}
#exa-header .exa-brand{flex:none;font-family:var(--font-display,sans-serif);font-size:20px;font-weight:600;letter-spacing:1px;color:#235776;text-decoration:none}
#exa-main-nav{display:flex;align-items:center;justify-content:flex-start;gap:24px;margin:0;padding:0;position:static;flex:1}
#exa-main-nav a{font-size:14px;text-decoration:none;color:#1c1917;white-space:nowrap}
#exa-main-nav a[aria-current="page"]{color:#235776;text-decoration:underline;text-underline-offset:6px}
#exa-header button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:transparent;border:0;color:#1c1917;cursor:pointer;padding:8px;font:inherit}
#exa-header .exa-cart-trigger{margin-left:auto;gap:5px;flex:none}
#exa-header svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
#exa-header [data-cart-count]{background:#235776;color:white;border-radius:50%;min-width:20px;height:20px;text-align:center;font-size:12px;line-height:20px}
#exa-header #exa-menu-toggle{display:none}
html.exa-cart-open{overflow:hidden}
#exa-cart-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);height:100dvh;max-height:100dvh;max-width:100%;border:0;padding:0;background:#faf8f4;color:#1c1917;font-family:var(--font-sans,sans-serif);box-shadow:-8px 0 40px #0002;box-sizing:border-box}
#exa-cart-dialog[open]{display:flex;flex-direction:column}
#exa-cart-dialog::backdrop{background:#0007}
.exa-cart-heading{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid #d4c9ba}
#exa-cart-title{font-size:26px;margin:0}
#exa-cart-close{font-size:28px;background:none;border:0;min-width:44px;min-height:44px;cursor:pointer}
#exa-cart-items{overflow:auto;flex:1;padding:20px}
.exa-cart-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:18px 0;border-bottom:1px solid #d4c9ba;font-size:14px}
.exa-cart-row img{width:55px;height:80px;object-fit:contain}.exa-cart-row p{margin:4px 0;color:#6b6058;font-size:13px}
.exa-cart-quantity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.exa-cart-quantity button{min-width:36px;min-height:36px;border:1px solid #d4c9ba;background:transparent;color:inherit;cursor:pointer;padding:4px 8px}
.exa-cart-bottom{padding:20px;border-top:1px solid #d4c9ba;display:grid;gap:12px}.exa-cart-bottom p{display:flex;justify-content:space-between;margin:0}.exa-cart-bottom small{color:#6b6058}
.exa-cart-primary{display:block;padding:13px 18px;background:#235776;color:#fff!important;text-align:center;text-decoration:none}.exa-cart-primary[hidden]{display:none}
#exa-cart-continue{background:transparent;border:0;text-decoration:underline;cursor:pointer;padding:10px;font:inherit;color:inherit}
#exa-cart-status{padding:0 20px;font-size:13px;color:#235776}.exa-cart-empty{margin:20px 0}.exa-cart-page-total{font-size:22px;margin:20px 0}
@media(max-width:1000px){#exa-header{padding:0 16px;gap:12px}#exa-header #exa-menu-toggle{display:inline-flex}#exa-main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#faf8f4;padding:20px;box-shadow:0 8px 14px #0002;flex-direction:column;align-items:flex-start;gap:20px}#exa-main-nav.exa-menu-open{display:flex}#exa-header .exa-cart-trigger{margin-left:auto}#exa-header .exa-brand{font-size:17px}}
@media(min-width:721px){.book-presentation-src {padding-top: 180px; }}
@media(max-width:720px){.book-presentation-src {padding-top: 15px; }}
.ecCBox {
  background-color: var(--confirmed-bg-color);
  width: calc(100% - 20px);
  min-width: 340px;
  max-width: 360px;
  margin: auto;
  color: var(--header-bg-color);
  bottom: 20px;
  left: 0px;
  right: 0px;
  padding: 20px;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.35);
  z-index: 1006;
}
.tC {
  text-align: center;
}
.bR {
  border-radius: 3px;
}
.pF {
  position: fixed;
}
.ecTIBox {
  display: flex;
  flex-wrap: nowrap;
}
a p, .ecJBox p, .ecTIBox p {
  float: left;
}
.ecIa {
  width: 27px;
  padding-right: 6px;
}
.qty-input::-webkit-inner-spin-button, .no-spin::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.qty-input {
    -moz-appearance:textfield !important;
}