/* The Bible House storefront design. Everything is scoped to body.tbh.
   Colours come from the logo (night, blue, sky) and from the bindings sold here (gilt, oxblood); the only images are the real books. */

@font-face { font-family: "TBH Garamond"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/tbh/eb-garamond-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "TBH Garamond"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/tbh/eb-garamond-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "TBH Garamond"; font-weight: 400; font-style: italic; font-display: swap; src: url("../fonts/tbh/eb-garamond-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Amiri looks smaller than Garamond at the same size: size-adjust evens out French and Arabic in the same line. */
@font-face { font-family: "TBH Amiri"; font-weight: 400; font-style: normal; font-display: swap; size-adjust: 112%; src: url("../fonts/tbh/amiri-arabic-400-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: "TBH Amiri"; font-weight: 700; font-style: normal; font-display: swap; size-adjust: 112%; src: url("../fonts/tbh/amiri-arabic-700-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: "TBH Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/tbh/ibm-plex-sans-arabic-arabic-400-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: "TBH Sans"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/tbh/ibm-plex-sans-arabic-arabic-500-normal.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }

body.tbh {
    --primary: #02629a;
    --secondary: #4f6478;
    --night: #042b53;
    --blue: #02629a;
    --sky: #27a0cf;
    --gilt: #e4c67c;
    --oxblood: #9b1f2f;
    --mist: #eef4f8;
    --rule: #cdd9e2;
    --muted: #4f6478;
    --serif: "TBH Garamond", "TBH Amiri", Georgia, "Times New Roman", serif;
    --sans: Inter, "TBH Sans", "Inter Fallback", Arial, sans-serif;
    --gutter: clamp(18px, 4.2vw, 60px);
    --outer: max(var(--gutter), calc((100vw - 1320px) / 2));
    margin: 0;
    color: var(--night);
    background: #fff;
    font-family: var(--serif);
    font-size: 18px;
    line-height: 1.4;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
}
body.tbh [dir="auto"] { text-align: left; }
body.tbh[dir="rtl"] [dir="auto"] { text-align: right; }

.tbh-page { overflow-x: clip; }
.tbh-page :where(h1, h2, h3, p, ul, ol, dl, dd, address) { margin: 0; padding: 0; }
.tbh-page :where(h2, h3) { font-family: var(--serif); font-weight: 500; color: inherit; }
.tbh-page :where(ul, ol) { list-style: none; }
.tbh-page a { color: inherit; }
.tbh-page a:hover { text-decoration: none; }
.tbh-page img { display: block; }
.tbh-wrap { box-sizing: border-box; width: 100%; max-width: calc(1320px + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
body.tbh :is(a, button, input):focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
body.tbh :is(.tbh-hero, .tbh-tongues, .tbh-pack, .tbh-footer, #site-header .topbar) :is(a, button):focus-visible { outline-color: var(--gilt); }

/* ---------- Small parts ---------- */
.tbh-button {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 52px; padding: 8px 30px;
    background: #fff; color: var(--night) !important; border: 0; border-radius: 0;
    font-family: var(--serif); font-size: 21px; font-weight: 500; line-height: 1.1;
    transition: background-color .2s ease, color .2s ease;
}
.tbh-button:hover { background: var(--gilt); }
.tbh-button--ink { background: var(--night); color: #fff !important; }
.tbh-button--ink:hover { background: var(--blue); }

.tbh-link {
    font-style: italic; font-size: 21px; line-height: 1.2; white-space: nowrap;
    text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px;
    transition: color .2s ease;
}
.tbh-page a.tbh-link:hover { color: var(--blue); text-decoration: underline; }

.tbh-round {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; padding: 0;
    border: 0; border-radius: 0; background: none; color: inherit; cursor: pointer;
    transition: opacity .2s ease, color .2s ease;
}
.tbh-round svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.tbh-round:hover:not(:disabled) { color: var(--gilt); }
.tbh-round--ink:hover:not(:disabled) { color: var(--blue); }
.tbh-round:disabled { opacity: .25; cursor: default; }
body.tbh[dir="rtl"] .tbh-round:not(.tbh-round--pause) svg { transform: scaleX(-1); }

.tbh-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding-top: 18px; border-top: 2px solid var(--night); }
.tbh-heading h2 { font-size: clamp(36px, 2.3vw + 14px, 50px); line-height: 1.05; }

/* The studs of a Tunisian door, as a frieze. */
.tbh-frieze {
    height: 28px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='28' viewBox='0 0 72 28'%3E%3Cg fill='%23e4c67c'%3E%3Ccircle cx='36' cy='14' r='3.6'/%3E%3Ccircle cx='24' cy='14' r='1.6'/%3E%3Ccircle cx='48' cy='14' r='1.6'/%3E%3Ccircle cx='30' cy='8' r='1.6'/%3E%3Ccircle cx='42' cy='8' r='1.6'/%3E%3Ccircle cx='30' cy='20' r='1.6'/%3E%3Ccircle cx='42' cy='20' r='1.6'/%3E%3Ccircle cx='36' cy='2.5' r='1.6'/%3E%3Ccircle cx='36' cy='25.5' r='1.6'/%3E%3Ccircle cx='9' cy='14' r='1.6'/%3E%3Ccircle cx='63' cy='14' r='1.6'/%3E%3Ccircle cx='0' cy='14' r='2.6'/%3E%3Ccircle cx='72' cy='14' r='2.6'/%3E%3C/g%3E%3C/svg%3E") center / 72px 28px repeat-x;
}

/* ---------- Header ---------- */
body.tbh #site-header { box-shadow: none; }
body.tbh #site-header .topbar { background: var(--night); border: 0 !important; }
body.tbh #site-header .topbar .container-fluid,
body.tbh #site-header .masthead .container-fluid { max-width: calc(1320px + 2 * var(--gutter)); padding-inline: var(--gutter) !important; }
body.tbh #site-header .topbar__nav--left { margin-inline-start: -10px; }
body.tbh #site-header .topbar__nav--right { margin-inline-end: -10px; }
body.tbh #site-header .topbar .nav-link { padding: 7px 10px !important; color: #dce8f1 !important; font-family: var(--sans); font-size: 12.5px; }
body.tbh #site-header .topbar .nav-link:hover { color: var(--gilt) !important; }
body.tbh #site-header .topbar i { color: inherit; }
body.tbh #site-header .topbar .dropdown-menu { border-radius: 0 !important; }
body.tbh #site-header .masthead { margin: 0 !important; padding: 16px 0; border-bottom: 1px solid var(--rule); }
body.tbh #site-header .tbh-masthead { display: grid; grid-template-columns: auto auto minmax(180px, 1fr) auto; align-items: center; gap: 12px 36px; }
body.tbh #site-header .site-branding { grid-column: 1; grid-row: 1; }
body.tbh #site-header .site-branding img { display: block; width: 208px; height: auto; max-width: 100%; }
body.tbh #site-header .site-navigation { grid-column: 2; grid-row: 1; width: auto; margin: 0 !important; }
body.tbh #site-header .site-navigation > .nav { flex-wrap: nowrap; justify-content: flex-start; align-items: center; gap: 0 26px; }
body.tbh #site-header .site-navigation .nav-link { padding: 8px 0 !important; margin: 0 !important; color: var(--night) !important; font-family: var(--serif); font-size: 21px; font-weight: 500; white-space: nowrap; }
body.tbh #site-header .site-navigation .nav-link:hover { color: var(--blue) !important; }
body.tbh #site-header .tbh-megastore .nav-link { font-style: italic; font-weight: 400; }
body.tbh #site-header .dropdown-menu { border: 1px solid var(--night) !important; border-radius: 0 !important; box-shadow: none; }
body.tbh #site-header .site-navigation .dropdown-item { padding-block: 8px; font-family: var(--serif); font-size: 19px; color: var(--night); }
body.tbh #site-header .site-navigation .dropdown-item:hover { background: var(--mist); color: var(--blue); }
body.tbh #site-header .site-search { grid-column: 3; grid-row: 1; width: 100%; min-width: 0; margin: 0 !important; }
body.tbh .site-search .input-group { min-height: 46px; border: 1px solid var(--night); border-radius: 0; background: #fff; overflow: hidden; }
body.tbh .site-search .input-group:focus-within { border-color: var(--blue); box-shadow: none; outline: 1px solid var(--blue); }
body.tbh .site-search .form-control { height: 44px; min-height: 44px; padding: 8px 14px !important; border: 0 !important; border-radius: 0; background: #fff !important; color: var(--night); font-family: var(--serif); font-size: 19px; }
body.tbh .site-search .form-control::placeholder { color: var(--muted); font-style: italic; opacity: 1; }
body.tbh .site-search button { width: 48px; border-radius: 0; background: var(--night); }
body.tbh .site-search button:hover { background: var(--blue); }
body.tbh #site-header .bh-header-actions { grid-column: 4; grid-row: 1; gap: 8px; margin: 0; }
body.tbh #site-header .bh-header-actions .nav-link { padding: 8px 4px !important; color: var(--night) !important; }
body.tbh #site-header .bh-header-actions .nav-link > i { font-size: 23px; }
body.tbh #site-header .bh-action-label { font-family: var(--sans); font-size: 12.5px; }
body.tbh #site-header .bh-header-actions #cartCount,
body.tbh #site-header .bh-header-actions #wishlistCount { background: var(--oxblood) !important; }
@media (max-width: 1319.98px) {
    body.tbh #site-header .bh-action-label { display: none; }
}
@media (max-width: 1199.98px) {
    body.tbh #site-header .tbh-masthead { grid-template-columns: 190px minmax(160px, 1fr) auto; column-gap: 20px; }
    body.tbh #site-header .site-search { grid-column: 2; }
    body.tbh #site-header .site-navigation { grid-column: 1 / -1; grid-row: 2; }
    body.tbh #site-header .site-navigation > .nav { justify-content: center; }
    body.tbh #site-header .bh-header-actions { grid-column: 3; }
}
@media (max-width: 767.98px) {
    body.tbh #site-header .masthead { padding: 10px 0 12px; }
    body.tbh #site-header .tbh-masthead { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px 12px; }
    body.tbh #site-header .offcanvas-toggler { grid-column: 1; grid-row: 1; color: var(--night); }
    body.tbh #site-header .offcanvas-toggler a { display: flex; color: inherit; }
    body.tbh #site-header .site-branding { grid-column: 2; }
    body.tbh #site-header .site-branding img { width: 168px; }
    body.tbh #site-header .bh-header-actions { grid-column: 3; gap: 0; }
    body.tbh #site-header .site-search { grid-column: 1 / -1; grid-row: 2; }
}

/* ---------- Hero: a white doorway in a blue wall ---------- */
.tbh-hero { background: var(--blue); color: #fff; }
.tbh-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(24px, 4vw, 72px); align-items: end; }
.tbh-hero__copy { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; padding-block: clamp(36px, 4.6vw, 68px) 22px; min-width: 0; }
.tbh-stack { display: grid; }
.tbh-stack > * { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; min-width: 0; }
.tbh-stack > .is-active { opacity: 1; visibility: visible; }
.tbh-copy__kicker { margin-bottom: 16px; font-size: clamp(21px, 1.1vw + 10px, 26px); font-style: italic; color: #d4e7f3; }
.tbh-copy__title { font-size: clamp(46px, 5.1vw + 8px, 92px); line-height: 1.02; letter-spacing: -.01em; color: #fff; overflow-wrap: anywhere; }
.tbh-copy__title em { display: block; font-style: italic; font-weight: 400; color: var(--gilt); }
.tbh-copy__text { max-width: 33em; margin-top: 20px; font-size: clamp(19px, .5vw + 15px, 22px); line-height: 1.36; color: #eef6fb; }
.tbh-copy .tbh-button { margin-top: 28px; }
.tbh-hero__controls { display: flex; align-items: center; margin-inline-start: -11px; }
.tbh-hero__count { min-width: 3.2em; text-align: center; font-size: 19px; }
.tbh-round--pause { margin-inline-start: 6px; }
.tbh-round--pause .tbh-round__play, .tbh-round--pause[aria-pressed="true"] .tbh-round__pause { display: none; }
.tbh-round--pause[aria-pressed="true"] .tbh-round__play { display: block; }
.tbh-hero__niche { position: relative; width: 100%; max-width: 500px; margin-top: clamp(24px, 3vw, 44px); margin-inline: auto 0; aspect-ratio: 500 / 620; }
.tbh-arch { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }
.tbh-arch__opening { fill: #fff; }
.tbh-arch__studs { fill: none; stroke: var(--night); stroke-linecap: round; }
.tbh-arch__studs--outer { stroke-width: 7; stroke-dasharray: 0 17; }
.tbh-arch__studs--inner { stroke-width: 4; stroke-dasharray: 0 11; }
.tbh-niche { position: absolute; inset: 21% 11% 4.5%; }
.tbh-niche__book { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 0; }
/* A wide photo (several Bibles side by side) comes out of the doorway: it overlaps the studs rather than shrinking. */
.tbh-niche__book img { flex: none; max-width: 132%; max-height: 100%; width: auto; height: auto; object-fit: contain; object-position: bottom; filter: drop-shadow(0 2px 2px rgba(4, 43, 83, .3)) drop-shadow(0 16px 22px rgba(4, 43, 83, .28)); }
.tbh-niche__word { position: absolute; inset-inline: 6%; bottom: 100%; margin-bottom: 2.4%; font-size: clamp(19px, 1vw + 8px, 23px); font-style: italic; line-height: 1.15; color: var(--blue); }
body.tbh .tbh-niche__word[dir="auto"], body.tbh[dir="rtl"] .tbh-niche__word[dir="auto"] { text-align: center; }
@media (max-width: 767.98px) {
    .tbh-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .tbh-hero__copy { padding-block: 34px 12px; }
    .tbh-hero__niche { max-width: 300px; margin: 14px auto 0; }
}

/* ---------- Reading languages ---------- */
.tbh-tongues { background: var(--night); color: #fff; }
.tbh-tongues__row { display: flex; align-items: stretch; flex-wrap: wrap; gap: 0 clamp(16px, 2vw, 32px); }
.tbh-tongues__title { align-self: center; font-size: 23px; font-style: italic; font-weight: 400; color: var(--gilt); }
.tbh-tongues__list { display: flex; flex: 1 1 auto; }
.tbh-tongues__list li { flex: 0 1 auto; border-inline-start: 1px solid rgba(255, 255, 255, .22); }
.tbh-tongues__list a { display: flex; flex-direction: column; justify-content: center; gap: 3px; height: 100%; padding: 16px clamp(16px, 2.4vw, 34px); transition: background-color .2s ease; }
.tbh-tongues__list a:hover { background: var(--blue); }
.tbh-tongues__name { font-size: 30px; font-weight: 500; line-height: 1.15; }
.tbh-tongues__count { font-family: var(--sans); font-size: 12.5px; color: #bcd2e2; }
.tbh-tongues__notice { display: flex; align-items: center; gap: 10px; margin-inline-start: auto; font-size: 19px; font-style: italic; color: #e8f1f7; }
.tbh-tongues__notice svg { width: 24px; height: 24px; flex: none; fill: none; stroke: var(--gilt); stroke-width: 1.3; }
@media (max-width: 767.98px) {
    .tbh-tongues__row { padding-block: 14px; }
    .tbh-tongues__title { flex: 1 0 100%; margin-bottom: 6px; }
    .tbh-tongues__list { flex: 1 0 100%; }
    .tbh-tongues__list li { flex: 1 1 0; }
    .tbh-tongues__list li:first-child { border-inline-start: 0; }
    .tbh-tongues__list li:first-child a { padding-inline-start: 0; }
    .tbh-tongues__list a { padding: 6px 12px; }
    .tbh-tongues__name { font-size: 23px; }
    .tbh-tongues__notice { flex: 1 0 100%; margin: 10px 0 0; font-size: 17px; }
}

/* ---------- The shelves ---------- */
.tbh-shelves { padding-block: clamp(44px, 5vw, 76px) clamp(36px, 4vw, 60px); }
.tbh-shelves .tbh-heading { margin-bottom: 6px; }
.tbh-shelf { display: grid; grid-template-columns: minmax(200px, 270px) minmax(0, 1fr) auto; align-items: end; gap: 28px; padding-top: 14px; border-bottom: 1px solid var(--night); }
.tbh-shelf__name { padding-bottom: 10px; font-size: clamp(30px, 1.6vw + 14px, 40px); font-weight: 500; line-height: 1.05; transition: color .2s ease; }
.tbh-shelf__name sup { top: -.9em; margin-inline-end: .28em; font-family: var(--sans); font-size: 12px; font-weight: 500; color: var(--oxblood); }
.tbh-shelf__books { display: flex; align-items: flex-end; gap: 16px; height: 142px; padding-top: 10px; overflow: hidden; }
.tbh-shelf__books img { flex: none; height: 132px; width: auto; max-width: 150px; object-fit: contain; object-position: bottom; filter: drop-shadow(0 1px 1px rgba(4, 43, 83, .28)) drop-shadow(2px 2px 5px rgba(4, 43, 83, .16)); transition: transform .3s ease; }
.tbh-shelf__count { padding-bottom: 14px; font-size: 19px; font-style: italic; color: var(--muted); white-space: nowrap; }
.tbh-page a.tbh-shelf:hover .tbh-shelf__name { color: var(--blue); }
.tbh-shelf:hover .tbh-shelf__books img { transform: translateY(-8px); }
.tbh-shelf:hover .tbh-shelf__books img:nth-child(2) { transition-delay: .03s; }
.tbh-shelf:hover .tbh-shelf__books img:nth-child(3) { transition-delay: .06s; }
.tbh-shelf:hover .tbh-shelf__books img:nth-child(4) { transition-delay: .09s; }
.tbh-shelf:hover .tbh-shelf__books img:nth-child(5) { transition-delay: .12s; }
.tbh-shelf:hover .tbh-shelf__books img:nth-child(6) { transition-delay: .15s; }
.tbh-shelf:hover .tbh-shelf__books img:nth-child(7) { transition-delay: .18s; }
.tbh-shelf:hover .tbh-shelf__books img:nth-child(8) { transition-delay: .21s; }
@media (max-width: 767.98px) {
    .tbh-shelf { grid-template-columns: minmax(0, 1fr) auto; gap: 0 14px; padding-top: 12px; }
    .tbh-shelf__name { padding-bottom: 8px; font-size: 28px; }
    .tbh-shelf__count { padding-bottom: 10px; font-size: 17px; }
    .tbh-shelf__books { grid-column: 1 / -1; grid-row: 2; height: 104px; gap: 10px; margin-inline-end: calc(-1 * var(--gutter)); }
    .tbh-shelf__books img { height: 96px; max-width: 110px; }
}

/* ---------- A book: no box around it, it stands on its line ---------- */
.tbh-book { position: relative; min-width: 0; }
.tbh-book > .loading { z-index: 3; background: rgba(4, 43, 83, .55); }
.tbh-book > .loading i { color: #fff; }
.tbh-book__cover { display: flex; align-items: flex-end; }
.tbh-book__cover img { max-width: 100%; object-fit: contain; object-position: left bottom; filter: drop-shadow(0 1px 1px rgba(4, 43, 83, .28)) drop-shadow(3px 3px 8px rgba(4, 43, 83, .17)); transition: transform .3s ease; }
body.tbh[dir="rtl"] .tbh-book__cover img { object-position: right bottom; }
.tbh-book__cover:hover img { transform: translateY(-6px); }
.tbh-book__rubric { display: flex; flex-wrap: wrap; gap: 0 10px; min-height: 20px; font-family: var(--sans); font-size: 12px; font-weight: 500; line-height: 20px; color: var(--oxblood); }
.tbh-book__out { color: var(--muted); }
.tbh-book__title { font-size: 21px; line-height: 1.16; overflow-wrap: anywhere; }
.tbh-page .tbh-book__title a:hover { color: var(--blue); }
.tbh-book__author { color: var(--muted); font-size: 17px; font-style: italic; line-height: 1.3; }
.tbh-book__foot { display: flex; align-items: center; gap: 6px; }
.tbh-book__price { margin-inline-end: auto; font-size: 21px; font-weight: 500; line-height: 1.15; white-space: nowrap; }
.tbh-book__price span { font-size: 15px; }
.tbh-book__price ins { text-decoration: none; color: var(--oxblood); }
.tbh-book__price del { display: block; color: var(--muted); font-size: 15px; font-weight: 400; }
body.tbh .tbh-book__price del span { font-size: inherit; }
.tbh-book__wish { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 34px; height: 36px; background: none !important; border: 0 !important; color: var(--night) !important; transition: color .2s ease; }
.tbh-book__wish svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.tbh-book__wish:hover { color: var(--oxblood) !important; }
.tbh-book__wish.btn-primary { color: var(--oxblood) !important; }
.tbh-book__wish.btn-primary svg { fill: currentColor; }
.tbh-book__add { display: inline-flex; align-items: center; justify-content: center; flex: none; height: 36px; padding: 0 11px; border: 1px solid var(--night); color: var(--night); font-family: var(--sans); font-size: 12.5px; font-weight: 500; white-space: nowrap; transition: background-color .2s ease, color .2s ease; }
.tbh-page a.tbh-book__add:hover { background: var(--night); color: #fff; }

/* In a rail: the book's line continues from one book to the next, like a shelf. */
.tbh-book--rail { flex: 0 0 auto; width: 214px; scroll-snap-align: start; }
.tbh-book--rail .tbh-book__cover { height: 262px; padding-top: 10px; padding-inline-end: 26px; border-bottom: 1px solid var(--night); }
.tbh-book--rail .tbh-book__cover img { height: 240px; width: auto; }
.tbh-book--rail .tbh-book__body { display: flex; flex-direction: column; padding-top: 10px; padding-inline-end: 26px; }
.tbh-book--rail .tbh-book__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; min-height: 2.32em; overflow: hidden; }
.tbh-book--rail .tbh-book__author { min-height: 1.3em; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tbh-book--rail .tbh-book__foot { margin-top: auto; padding-top: 12px; }

.tbh-rail { padding-block: clamp(30px, 3.4vw, 50px); }
.tbh-rail + .tbh-rail .tbh-rail__grid::before { content: ""; grid-column: 1 / -1; height: 1px; margin-top: calc(-1 * clamp(30px, 3.4vw, 50px)); margin-bottom: clamp(10px, 1.6vw, 22px); background: var(--rule); }
.tbh-rail__grid { display: grid; grid-template-columns: 216px minmax(0, 1fr); column-gap: 36px; }
.tbh-rail__head { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 12px; }
.tbh-rail__head h2 { font-size: clamp(32px, 1.2vw + 18px, 38px); line-height: 1.06; overflow-wrap: anywhere; }
.tbh-rail__arrows { display: flex; margin-inline-start: -11px; }
.tbh-rail.is-static .tbh-rail__arrows { display: none; }
.tbh-rail__track { display: flex; margin-inline-end: calc(-1 * var(--outer)); padding-inline-end: var(--outer); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.tbh-rail__track::-webkit-scrollbar { display: none; }
@media (max-width: 991.98px) {
    .tbh-rail__grid { grid-template-columns: minmax(0, 1fr); }
    .tbh-rail__head { flex-direction: row; align-items: baseline; flex-wrap: wrap; justify-content: space-between; margin-bottom: 6px; padding-top: 0; }
    .tbh-rail__arrows { display: none; }
    .tbh-rail__track { margin-inline-start: calc(-1 * var(--gutter)); padding-inline-start: var(--gutter); scroll-padding-inline-start: var(--gutter); }
    .tbh-rail__track--few { margin-inline-start: 0; padding-inline-start: 0; }
    .tbh-book--rail { width: 176px; }
    .tbh-book--rail .tbh-book__cover { height: 214px; padding-inline-end: 20px; }
    .tbh-book--rail .tbh-book__cover img { height: 196px; }
    .tbh-book--rail .tbh-book__body { padding-inline-end: 20px; }
    .tbh-book--rail .tbh-book__title { font-size: 19px; }
    .tbh-book--rail .tbh-book__author { font-size: 16px; }
    .tbh-book--rail .tbh-book__foot { flex-wrap: wrap; }
    .tbh-book--rail .tbh-book__price { flex: 1 0 100%; margin-bottom: 4px; }
    .tbh-book--rail .tbh-book__add { flex: 1 1 auto; }
    .tbh-book--rail .tbh-book__wish { order: 1; }
}

.tbh-rail__track--few { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 28px clamp(24px, 3vw, 44px); margin-inline-end: 0; padding-inline-end: 0; padding-top: 12px; overflow: visible; }
.tbh-rail__track--few .tbh-book--lead { grid-template-columns: minmax(0, 200px) minmax(0, 1fr); }
.tbh-rail__track--few .tbh-book--lead .tbh-book__cover img { max-height: 280px; }
.tbh-rail__track--few .tbh-book--lead .tbh-book__title { font-size: clamp(28px, 1.2vw + 14px, 36px); line-height: 1.1; }
.tbh-rail__track--few .tbh-book--lead .tbh-book__author { font-size: 20px; }
.tbh-rail__track--few .tbh-book--lead .tbh-book__price { font-size: 26px; }
.tbh-rail__track--few .tbh-book--lead .tbh-book__add { height: 40px; }

/* ---------- Lead selection ---------- */
.tbh-lead { padding-block: clamp(44px, 5vw, 76px); background: var(--mist); }
.tbh-lead__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(28px, 4.4vw, 72px); margin-top: 28px; }
.tbh-book--lead { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: clamp(24px, 3vw, 44px); align-items: end; }
.tbh-book--lead .tbh-book__cover img { width: auto; height: auto; max-height: 450px; filter: drop-shadow(0 2px 2px rgba(4, 43, 83, .3)) drop-shadow(8px 12px 18px rgba(4, 43, 83, .24)); }
.tbh-book--lead .tbh-book__title { font-size: clamp(38px, 2.2vw + 14px, 52px); line-height: 1.04; }
.tbh-book--lead .tbh-book__author { margin-top: 10px; font-size: 23px; }
.tbh-book--lead .tbh-book__summary { margin-top: 18px; font-size: 20px; line-height: 1.35; }
.tbh-book--lead .tbh-book__foot { gap: 10px; margin-top: 22px; }
.tbh-book--lead .tbh-book__price { font-size: 32px; }
.tbh-book--lead .tbh-book__price span { font-size: 20px; }
.tbh-book--lead .tbh-book__add { height: 48px; padding: 0 22px; font-size: 14px; }
.tbh-lead__others li + li { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--rule); }
.tbh-book--row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; align-items: end; }
.tbh-book--row .tbh-book__cover img { width: auto; height: auto; max-height: 92px; }
.tbh-book--row .tbh-book__rubric:empty { display: none; }
.tbh-book--row .tbh-book__rubric { min-height: 0; }
.tbh-book--row .tbh-book__title { font-size: 20px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
.tbh-book--row .tbh-book__author { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tbh-book--row .tbh-book__foot { margin-top: 2px; }
.tbh-book--row .tbh-book__price { font-size: 19px; }
.tbh-book--row .tbh-book__wish { height: 30px; }
.tbh-book--row .tbh-book__add { height: 30px; }
@media (max-width: 991.98px) {
    .tbh-lead__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    .tbh-book--lead, .tbh-rail__track--few .tbh-book--lead { grid-template-columns: minmax(0, 1fr); }
    .tbh-book--lead .tbh-book__cover img { max-height: 320px; }
    .tbh-book--lead .tbh-book__foot { flex-wrap: wrap; }
}

/* ---------- A set of books ---------- */
.tbh-pack { margin-block: clamp(20px, 3vw, 44px); padding-bottom: clamp(28px, 3vw, 44px); background: var(--night); color: #fff; }
.tbh-pack .tbh-frieze { margin-bottom: clamp(20px, 3vw, 44px); padding-top: 14px; background-origin: content-box; background-clip: content-box; height: 42px; }
.tbh-pack__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.tbh-pack__kicker { font-size: 22px; font-style: italic; color: var(--gilt); }
.tbh-pack h2 { margin-top: 6px; font-size: clamp(36px, 2.6vw + 12px, 56px); line-height: 1.05; }
.tbh-pack__price { margin-top: 14px; font-size: clamp(30px, 1.2vw + 18px, 38px); line-height: 1.2; }
.tbh-pack__price small { font-size: 21px; font-style: italic; color: #cfe0ec; }
.tbh-pack .tbh-button { margin-top: 24px; }
.tbh-pack__image { display: flex; justify-content: center; }
.tbh-pack__image img { max-width: min(100%, 460px); max-height: 280px; width: auto; height: auto; filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .4)); }
@media (max-width: 767.98px) {
    .tbh-pack__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- The House ---------- */
.tbh-house { padding-block: clamp(50px, 6vw, 96px); background: var(--mist); margin-top: clamp(20px, 3vw, 44px); }
.tbh-house + .tbh-rail { padding-top: clamp(44px, 5vw, 76px); }
.tbh-house__grid { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.tbh-house__door { position: relative; aspect-ratio: 500 / 620; }
.tbh-arch--door .tbh-arch__opening { fill: var(--blue); }
.tbh-arch--door .tbh-arch__studs { stroke: var(--gilt); }
.tbh-house__word { position: absolute; inset: 24% 14% 6%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: #fff; text-align: center; }
.tbh-house__word [lang="ar"] { font-size: clamp(38px, 3.6vw, 56px); font-weight: 700; line-height: 1.35; }
.tbh-house__word [lang="fr"] { font-size: clamp(32px, 3vw, 46px); font-style: italic; line-height: 1.1; color: var(--gilt); }
.tbh-house__word [lang="en"] { font-size: clamp(26px, 2.3vw, 34px); line-height: 1.2; }
.tbh-house__copy h2 { font-size: clamp(44px, 4vw + 8px, 72px); line-height: 1.02; }
.tbh-house__text { max-width: 30em; margin-top: 18px; font-size: clamp(22px, .8vw + 14px, 27px); line-height: 1.3; }
.tbh-figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 32px; padding-block: 18px; border-block: 1px solid var(--night); }
.tbh-figures > div { display: flex; flex-direction: column; min-width: 0; }
.tbh-figures dd { font-size: clamp(36px, 2vw + 14px, 50px); font-weight: 500; line-height: 1; color: var(--blue); white-space: nowrap; }
.tbh-figures dt { order: 1; margin-top: 4px; font-size: 17px; font-style: italic; font-weight: 400; line-height: 1.2; color: var(--muted); }
.tbh-house__address { margin-top: 22px; font-size: 21px; font-style: italic; }
.tbh-house__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 22px; }
@media (max-width: 767.98px) {
    .tbh-house__grid { grid-template-columns: minmax(0, 1fr); }
    .tbh-house__door { width: min(72%, 270px); margin-inline: auto; }
    .tbh-house__word { inset-inline: 8%; }
    .tbh-house__word [lang="ar"] { font-size: 31px; }
    .tbh-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Authors: real portraits, brought to the page's blue ---------- */
.tbh-authors { gap: 0; }
.tbh-authors > li { flex: 0 0 auto; width: 176px; padding-inline-end: 26px; scroll-snap-align: start; }
.tbh-author { display: block; }
.tbh-author__photo { display: block; position: relative; aspect-ratio: 5 / 6; overflow: hidden; border-radius: 999px 999px 0 0; background: var(--blue); }
.tbh-author__photo::after { content: ""; position: absolute; inset: 0; background: #bcd8ea; mix-blend-mode: multiply; transition: opacity .3s ease; }
.tbh-author__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); mix-blend-mode: screen; transition: filter .3s ease; }
.tbh-author:hover .tbh-author__photo img { filter: none; mix-blend-mode: normal; }
.tbh-author:hover .tbh-author__photo::after { opacity: 0; }
.tbh-author__name { display: block; margin-top: 10px; font-size: 20px; font-weight: 500; line-height: 1.15; }
.tbh-author__count { display: block; margin-top: 2px; font-size: 17px; font-style: italic; color: var(--muted); }
.tbh-page a.tbh-author:hover .tbh-author__name { color: var(--blue); }

/* ---------- News ---------- */
.tbh-news { padding-block: clamp(30px, 3.4vw, 50px); }
.tbh-news__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px clamp(20px, 3vw, 40px); margin-top: 22px; }
.tbh-news__item img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.tbh-news__date { display: block; margin-top: 12px; font-size: 17px; font-style: italic; color: var(--muted); }
.tbh-news__item h3 { font-size: 24px; line-height: 1.15; }
.tbh-page .tbh-news__item a:hover h3 { color: var(--blue); }
@media (max-width: 767.98px) {
    .tbh-news__list { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Services ---------- */
.tbh-services { margin-top: clamp(14px, 2vw, 30px); border-top: 1px solid var(--rule); }
.tbh-services__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; padding-block: 24px; }
.tbh-services__list li { font-size: 17px; font-style: italic; line-height: 1.25; color: var(--muted); }
.tbh-services__list strong { display: block; font-size: 21px; font-style: normal; font-weight: 500; color: var(--night); }
@media (max-width: 767.98px) {
    .tbh-services__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
}

/* ---------- Footer ---------- */
.tbh-footer { padding-top: 18px; background: var(--night); color: #e6eff5; font-size: 18px; }
.tbh-footer a { color: inherit; }
.tbh-footer a:hover { color: var(--gilt); text-decoration: none; }
.tbh-footer__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 32px; padding-block: 40px 44px; }
.tbh-footer__logo img { display: block; width: 190px; height: auto; }
.tbh-footer address { margin: 18px 0 0; font-style: normal; }
.tbh-footer__house p { margin: 10px 0 0; }
.tbh-footer__networks { display: flex; gap: 16px; margin: 16px 0 0; padding: 0; list-style: none; font-size: 15px; }
.tbh-footer h2 { margin: 0 0 12px; color: var(--gilt); font-family: var(--serif); font-size: 21px; font-style: italic; font-weight: 400; }
.tbh-footer nav ul { margin: 0; padding: 0; list-style: none; }
.tbh-footer nav li + li { margin-top: 5px; }
.tbh-footer__end { background: #fff; color: var(--night); }
.tbh-footer__end .tbh-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; padding-block: 14px; }
.tbh-footer__end p { margin: 0 auto 0 0; font-size: 16px; }
body.tbh[dir="rtl"] .tbh-footer__end p { margin: 0 0 0 auto; }
.tbh-footer__end img { height: 25px; width: auto; }
.tbh-footer__selects { display: flex; gap: 10px; }
.tbh-footer__selects .btn { border: 1px solid var(--rule) !important; font-family: var(--sans); font-size: 13px; }
body.tbh .back-to-top { display: none; width: 48px; height: 48px; padding: 0; border-radius: 0; background: var(--night); color: #fff; line-height: 48px; text-align: center; }
body.tbh .back-to-top:hover { background: var(--blue); }
body.tbh .back-to-top i { margin: 0 !important; font-size: 18px !important; line-height: 48px; }
@media (max-width: 767.98px) {
    .tbh-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tbh-footer__house { grid-column: 1 / -1; }
    .tbh-footer__end p { flex: 1 0 100%; }
}

/* ---------- Shared panels and messages ---------- */
body.tbh .btn-dark { background: var(--night); border-color: var(--night); }
body.tbh .btn-dark:hover { background: var(--blue); border-color: var(--blue); }
body.tbh .alertify-notifier .ajs-message { border-radius: 0; font-family: var(--serif); font-size: 18px; text-shadow: none; }
body.tbh .alertify-notifier .ajs-message.ajs-success { background: var(--night); color: #fff; }
body.tbh .alertify-notifier .ajs-message.ajs-error { background: var(--oxblood); color: #fff; }

/* ---------- Arabic ---------- */
body.tbh[dir="rtl"] .tbh-copy__title { line-height: 1.2; letter-spacing: 0; }
body.tbh[dir="rtl"] .tbh-copy__kicker, body.tbh[dir="rtl"] .tbh-tongues__notice, body.tbh[dir="rtl"] .tbh-book__author { font-style: normal; }
body.tbh[dir="rtl"] .tbh-book__title, body.tbh[dir="rtl"] .tbh-heading h2, body.tbh[dir="rtl"] .tbh-rail__head h2 { line-height: 1.3; }
.tbh-tongues__name[lang="ar"] { line-height: 1.2; }

@media (prefers-reduced-motion: reduce) {
    .tbh-stack > *, .tbh-shelf__books img, .tbh-book__cover img, .tbh-author__photo img { transition: none; }
    .tbh-shelf:hover .tbh-shelf__books img, .tbh-book__cover:hover img { transform: none; }
    .tbh-rail__track { scroll-behavior: auto; }
}

/* ========== Shared with every page ========== */
body.tbh h1, body.tbh h2, body.tbh h3, body.tbh h4, body.tbh h5, body.tbh h6 { font-family: var(--serif); font-weight: 500; color: inherit; }
body.tbh a:hover { text-decoration: none; }
body.tbh .btn { border-radius: 0 !important; font-family: var(--serif); font-size: 20px; font-weight: 500; line-height: 1.2; box-shadow: none !important; }
body.tbh :is(.btn-dark, .btn-primary, .btn-primary-green, .btn-secondary, .btn-success) { background: var(--night); border-color: var(--night); color: #fff; }
body.tbh :is(.btn-dark, .btn-primary, .btn-primary-green, .btn-secondary, .btn-success):hover { background: var(--blue); border-color: var(--blue); color: #fff; }
body.tbh :is(.btn-outline-dark, .btn-outline-primary) { background: transparent; border-color: var(--night); color: var(--night); }
body.tbh :is(.btn-outline-dark, .btn-outline-primary):hover { background: var(--night); border-color: var(--night); color: #fff; }
body.tbh :is(.form-control, .input-text):not(.tbh-qty input) { min-height: 46px; height: auto; padding: 8px 12px; border: 1px solid #9fb2c2; border-radius: 0; background-color: #fff; box-shadow: none; color: var(--night); font-family: var(--serif); font-size: 19px; }
body.tbh :is(.form-control, .input-text):focus { border-color: var(--blue); outline: 1px solid var(--blue); outline-offset: 0; box-shadow: none; }
body.tbh :is(.form-control, .input-text)::placeholder { color: var(--muted); opacity: 1; }
body.tbh .alert { border-radius: 0; font-size: 18px; }
body.tbh .page-link { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 0 !important; background: transparent; color: var(--night); font-size: 20px; box-shadow: none; }
body.tbh .page-link:hover { background: var(--mist); color: var(--blue); }
body.tbh .page-item.active .page-link { background: var(--night); color: #fff; }
body.tbh .page-item.disabled .page-link { background: transparent; color: #9fb2c2; }
.tbh-pagination { margin-top: 44px; }
.tbh-pagination .pagination { flex-wrap: wrap; justify-content: center; gap: 2px; margin: 0; }

/* Header parts that do not depend on any other stylesheet. */
body.tbh .bh-header-actions { align-items: center; flex-wrap: nowrap; }
body.tbh .bh-header-actions .nav-link { display: flex; align-items: center; gap: 8px; }
body.tbh .bh-action-label { white-space: nowrap; }
body.tbh .bh-header-actions #cartCount, body.tbh .bh-header-actions #wishlistCount { top: 3px; left: 19px; right: auto !important; font-size: 9px; line-height: 1; }
body.tbh[dir="rtl"] .bh-header-actions #cartCount, body.tbh[dir="rtl"] .bh-header-actions #wishlistCount { left: auto; right: 19px !important; }
body.tbh #site-header .topbar__nav--right > .nav-item:nth-child(2) { order: -1; }
body.tbh #site-header .site-navigation .nav-item { border: 0 !important; }
body.tbh .site-search .form-control { width: 1%; }
body.tbh .site-search .input-group-text { padding: 0 !important; border-color: transparent !important; background: transparent !important; color: #fff; font-size: 20px; }
body.tbh .site-search button { display: flex; justify-content: center; align-items: center; padding: 0; border: 0; cursor: pointer; }

/* The title band of an inner page. */
.tbh-pagehead { padding-block: 22px 28px; background: var(--blue); color: #fff; }
.tbh-pagehead h1 { margin: 6px 0 0; font-size: clamp(38px, 2.8vw + 14px, 60px); line-height: 1.05; color: #fff; overflow-wrap: anywhere; }
.tbh-crumbs { font-size: 17px; font-style: italic; color: #d4e7f3; }
.tbh-crumbs a { color: inherit; }
.tbh-crumbs > span[aria-hidden] { margin-inline: 4px; opacity: .6; }
body.tbh .tbh-crumbs a:hover { color: var(--gilt); }
.tbh-crumbs--ink { padding-block: 18px 6px; color: var(--muted); }
body.tbh .tbh-crumbs--ink a:hover { color: var(--blue); }
body.tbh[dir="rtl"] .tbh-crumbs { font-style: normal; }

.tbh-button--small { min-height: 44px; padding: 6px 20px; font-size: 19px; }
.tbh-page :is(.tbh-select select) { min-height: 44px; padding: 6px 30px 6px 10px; border: 1px solid #9fb2c2; border-radius: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23042b53' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 10px center; color: var(--night); font-family: var(--serif); font-size: 18px; -webkit-appearance: none; appearance: none; cursor: pointer; }
body.tbh[dir="rtl"] .tbh-select select { padding: 6px 10px 6px 30px; background-position: left 10px center; }
.tbh-select { margin: 0; }
.tbh-empty { padding: 56px 0; text-align: center; font-size: 24px; }
.tbh-empty .tbh-button { margin-top: 18px; }

/* Text coming from the back office. */
.tbh-prose { font-size: 20px; line-height: 1.42; overflow-wrap: anywhere; }
.tbh-prose :is(p, ul, ol) { margin: 0 0 .7em; }
.tbh-prose > :last-child { margin-bottom: 0; }
.tbh-prose :is(h2, h3, h4) { margin: .9em 0 .3em; font-size: 1.25em; }
.tbh-prose :is(span, font, div) { font-family: inherit !important; font-size: inherit !important; color: inherit !important; background: none !important; }
.tbh-prose a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.tbh-prose img { max-width: 100%; height: auto; }

/* ========== Catalogue ========== */
.tbh-catalog { display: grid; grid-template-columns: 262px minmax(0, 1fr); gap: 0 clamp(28px, 3.4vw, 52px); padding-block: 30px 72px; }
.tbh-catalog__main { min-width: 0; }
.tbh-catalog__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding-bottom: 14px; border-bottom: 2px solid var(--night); }
.tbh-catalog__count { margin-inline-end: auto; font-size: 18px; font-style: italic; color: var(--muted); }
body.tbh[dir="rtl"] .tbh-catalog__count { font-style: normal; }
.tbh-catalog__filters { display: none; align-items: center; gap: 8px; min-height: 44px; padding: 6px 14px; border: 1px solid var(--night); font-size: 18px; }
.tbh-catalog__filters svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.tbh-catalog__views { display: flex; }
.tbh-catalog__views button { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #9fb2c2; background: #fff; color: var(--night); cursor: pointer; }
.tbh-catalog__views button + button { margin-inline-start: -1px; }
.tbh-catalog__views button[aria-pressed="true"] { position: relative; border-color: var(--night); background: var(--night); color: #fff; }
.tbh-catalog__views svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.tbh-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.tbh-chips a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 3px 10px; background: var(--mist); font-size: 18px; transition: background-color .2s ease, color .2s ease; }
.tbh-page .tbh-chips a:hover { background: var(--night); color: #fff; }
.tbh-chips svg { width: 14px; height: 14px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; }

.tbh-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(192px, 1fr)); gap: 34px 0; margin-top: 8px; }
.tbh-grid > li { display: flex; min-width: 0; }
.tbh-book--grid { width: 100%; display: flex; flex-direction: column; }
.tbh-book--grid .tbh-book__body { flex: 1 1 auto; }
.tbh-book__summary { display: none; }
.tbh-book--grid .tbh-book__cover img { height: 240px; }
.tbh-grid.is-list { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 0; }
.tbh-grid.is-list .tbh-book--grid { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0 28px; padding-block: 22px; border-bottom: 1px solid var(--rule); }
.tbh-grid.is-list .tbh-book__cover { height: auto; padding: 0; border: 0; align-items: flex-start; }
.tbh-grid.is-list .tbh-book__cover img { height: auto; max-height: 210px; width: auto; }
.tbh-grid.is-list .tbh-book__body { padding: 0; }
.tbh-grid.is-list .tbh-book__title { font-size: 28px; line-height: 1.12; min-height: 0; -webkit-line-clamp: 3; }
.tbh-grid.is-list .tbh-book__author { font-size: 19px; }
.tbh-grid.is-list .tbh-book__summary { display: block; margin-top: 8px; font-size: 18px; line-height: 1.35; }
.tbh-grid.is-list .tbh-book__foot { justify-content: flex-start; margin-top: 12px; padding: 0; }
.tbh-grid.is-list .tbh-book__price { margin-inline-end: 18px; }
.tbh-book--lead .tbh-book__summary { display: block; }

/* Filters: a column on large screens, a side panel on small ones. */
.tbh-filters__head { display: none; align-items: center; justify-content: space-between; padding: 12px 18px; border-bottom: 1px solid var(--rule); }
.tbh-filters__head h2 { margin: 0; font-size: 26px; }
.tbh-filter { padding-block: 12px; border-bottom: 1px solid var(--rule); font-size: 18px; }
.tbh-filter:first-of-type { border-top: 2px solid var(--night); }
.tbh-filter summary { display: flex; align-items: center; justify-content: space-between; min-height: 32px; font-size: 22px; font-weight: 500; line-height: 1.15; cursor: pointer; list-style: none; }
.tbh-filter summary::-webkit-details-marker { display: none; }
.tbh-filter summary::after { content: "+"; font-family: var(--sans); font-size: 18px; font-weight: 400; }
.tbh-filter[open] summary::after { content: "−"; }
.tbh-filter ul { margin: 4px 0 0; padding: 0; list-style: none; }
.tbh-filter li a { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding-block: 3px; line-height: 1.2; }
.tbh-filter li[hidden] { display: none; }
.tbh-filter small { flex: none; font-family: var(--sans); font-size: 11.5px; color: var(--muted); }
.tbh-page .tbh-filter a:hover { color: var(--blue); }
.tbh-filter a.is-active { color: var(--blue); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.tbh-filter__tree > li + li { margin-top: 6px; }
.tbh-filter__tree > li > a { font-weight: 500; }
.tbh-filter__tree ul { margin-inline-start: 12px; padding-inline-start: 10px; border-inline-start: 1px solid var(--rule); }
.tbh-filter__long { max-height: 300px; overflow-y: auto; padding-inline-end: 6px !important; }
.tbh-filter__search { width: 100%; min-height: 40px; margin-top: 6px; padding: 4px 10px; border: 1px solid #9fb2c2; border-radius: 0; color: var(--night); font-family: var(--serif); font-size: 18px; }
.tbh-filter__search:focus { outline: 1px solid var(--blue); border-color: var(--blue); }
.tbh-filter__price { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.tbh-filter__price label { flex: 1 1 100px; margin: 0; font-size: 16px; font-style: italic; color: var(--muted); }
.tbh-filter__price input { display: block; width: 100%; min-height: 42px; margin-top: 2px; padding: 4px 10px; border: 1px solid #9fb2c2; color: var(--night); font-family: var(--serif); font-size: 18px; font-style: normal; }
.tbh-filter__price input:focus { outline: 1px solid var(--blue); border-color: var(--blue); }
@media (min-width: 992px) {
    /* The side panel script hides it until its button is used: on large screens it simply is a column. */
    body.tbh .tbh-filters { position: static; display: block !important; width: auto; height: auto; max-width: none; opacity: 1 !important; visibility: visible !important; transform: none; z-index: auto; background: none; box-shadow: none; overflow: visible; }
}
@media (max-width: 991.98px) {
    .tbh-catalog { grid-template-columns: minmax(0, 1fr); padding-top: 18px; }
    .tbh-catalog__filters { display: inline-flex; }
    .tbh-catalog__count { flex: 1 0 100%; }
    .tbh-filters__head { display: flex; }
    body.tbh .tbh-filters { width: min(88vw, 360px); overflow-y: auto; background: #fff; }
    .tbh-filter { padding-inline: 18px; }
    .tbh-filter:first-of-type { border-top: 0; }
    .tbh-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
    .tbh-book--grid .tbh-book__cover img { height: 200px; }
    .tbh-book--grid .tbh-book__cover { height: 214px; }
}
@media (max-width: 575.98px) {
    .tbh-grid.is-list .tbh-book--grid { grid-template-columns: 96px minmax(0, 1fr); gap: 0 16px; }
    .tbh-grid.is-list .tbh-book__cover img { max-height: 140px; }
    .tbh-grid.is-list .tbh-book__title { font-size: 22px; }
    .tbh-grid.is-list .tbh-book__summary { display: none; }
    .tbh-grid.is-list .tbh-book__foot { flex-wrap: wrap; }
}

/* ========== Product ========== */
.tbh-product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: start; padding-block: 20px clamp(36px, 4vw, 60px); }
.tbh-gallery__stage { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-bottom: 1px solid var(--night); }
.tbh-gallery__stage::-webkit-scrollbar { display: none; }
.tbh-gallery__stage figure { flex: 0 0 100%; display: flex; align-items: flex-end; justify-content: center; height: clamp(340px, 42vw, 560px); margin: 0; padding: 16px 0 0; scroll-snap-align: center; }
.tbh-gallery__stage img { max-width: 92%; max-height: 100%; width: auto; height: auto; object-fit: contain; object-position: bottom; filter: drop-shadow(0 2px 2px rgba(4, 43, 83, .28)) drop-shadow(8px 12px 18px rgba(4, 43, 83, .22)); }
.tbh-gallery__thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.tbh-gallery__thumbs button { display: flex; align-items: flex-end; justify-content: center; width: 64px; height: 76px; padding: 4px; border: 1px solid transparent; border-bottom-color: var(--rule); background: none; cursor: pointer; }
.tbh-gallery__thumbs button[aria-current] { border-color: var(--night); }
.tbh-gallery__thumbs img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.tbh-product__summary .tbh-book__rubric { min-height: 20px; font-size: 13px; }
.tbh-product__summary h1 { margin: 2px 0 0; font-size: clamp(38px, 3vw + 12px, 62px); line-height: 1.05; overflow-wrap: anywhere; }
body.tbh[dir="rtl"] .tbh-product__summary h1 { line-height: 1.25; }
.tbh-product__by { margin-top: 12px; font-size: 24px; font-style: italic; line-height: 1.2; color: var(--muted); }
.tbh-page .tbh-product__by a:hover { color: var(--blue); }
.tbh-product__edition { font-size: 21px; }
body.tbh[dir="rtl"] .tbh-product__by { font-style: normal; }
.tbh-product__price { margin-top: 20px; font-size: clamp(34px, 1vw + 22px, 42px); font-weight: 500; line-height: 1.1; }
.tbh-product__price span { font-size: .62em; }
.tbh-product__price ins { text-decoration: none; color: var(--oxblood); }
.tbh-product__price del { margin-inline-start: 12px; color: var(--muted); font-size: .58em; font-weight: 400; }
.tbh-product__text { margin-top: 18px; }
.tbh-buy { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.tbh-buy .tbh-button { flex: 1 1 260px; min-height: 56px; border: 0; cursor: pointer; font-size: 23px; }
.tbh-qty { display: flex; align-items: stretch; height: 56px; border: 1px solid var(--night); }
.tbh-qty a { display: flex; align-items: center; justify-content: center; width: 44px; color: var(--night); }
.tbh-qty a:hover { background: var(--mist); color: var(--blue); }
.tbh-qty svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.tbh-qty input { width: 54px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; text-align: center; color: var(--night); font-family: var(--serif); font-size: 22px; -moz-appearance: textfield; }
.tbh-qty input::-webkit-outer-spin-button, .tbh-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tbh-qty input:focus { outline: 1px solid var(--blue); outline-offset: -2px; }
.tbh-product__out { display: inline-block; margin-top: 24px; padding: 10px 18px; background: var(--mist); font-size: 22px; font-style: italic; color: var(--oxblood); }
body.tbh[dir="rtl"] .tbh-product__out { font-style: normal; }
.tbh-product__actions { display: flex; flex-wrap: wrap; gap: 6px 26px; margin-top: 16px; font-size: 19px; }
.tbh-product__actions a { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; }
.tbh-product__actions svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.3; }
.tbh-page .tbh-product__actions a:hover { color: var(--blue); }
.tbh-product__actions a.is-on { color: var(--oxblood); }
.tbh-product__actions a.is-on svg { fill: currentColor; }
.tbh-stores { margin-top: 22px; border-top: 1px solid var(--rule); font-size: 18px; }
.tbh-stores li { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding-block: 7px; border-bottom: 1px solid var(--rule); }
.tbh-stores strong { font-weight: 400; font-style: italic; color: var(--oxblood); white-space: nowrap; }
.tbh-stores strong.is-in { color: var(--blue); }
body.tbh[dir="rtl"] .tbh-stores strong { font-style: normal; }
.tbh-product__audio { margin-top: 22px; }
.tbh-product__audio audio { width: 100%; margin-top: 6px; }
.tbh-product__extract { margin-bottom: clamp(30px, 4vw, 56px); }
.tbh-product__more { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 30px clamp(28px, 5vw, 80px); padding-block: 22px clamp(30px, 4vw, 50px); border-top: 2px solid var(--night); }
.tbh-product__more h2 { margin-bottom: 12px; font-size: clamp(28px, 1vw + 18px, 34px); line-height: 1.1; }
.tbh-details { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 400px), 1fr)); gap: 0 clamp(28px, 5vw, 80px); margin: 0; font-size: 19px; }
.tbh-details > div { display: grid; grid-template-columns: minmax(110px, 2fr) minmax(0, 3fr); gap: 16px; padding-block: 7px; border-bottom: 1px solid var(--rule); }
.tbh-details dt { font-style: italic; font-weight: 400; color: var(--muted); }
body.tbh[dir="rtl"] .tbh-details dt { font-style: normal; }
.tbh-details dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
    .tbh-product { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .tbh-gallery__stage figure { height: 340px; }
    .tbh-buy .tbh-button { flex-basis: 180px; }
}

/* ========== Cart, wishlist ========== */
.tbh-narrow { max-width: calc(980px + 2 * var(--gutter)); }
.tbh-order { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: clamp(28px, 4vw, 64px); align-items: start; padding-block: 30px 72px; }
.tbh-lines { border-top: 2px solid var(--night); }
.tbh-narrow > .tbh-lines { margin-block: 30px 72px; }
.tbh-line { position: relative; display: grid; grid-template-columns: 80px minmax(0, 1fr) auto minmax(92px, auto) 44px; gap: 8px 20px; align-items: center; padding-block: 16px; border-bottom: 1px solid var(--rule); }
.tbh-line > .loading { z-index: 3; background: rgba(4, 43, 83, .55); }
.tbh-line > .loading i { color: #fff; }
.tbh-line__cover { display: flex; align-items: flex-end; justify-content: center; height: 104px; }
.tbh-line__cover img { max-width: 100%; max-height: 100%; width: auto; height: auto; filter: drop-shadow(0 1px 1px rgba(4, 43, 83, .28)) drop-shadow(2px 2px 5px rgba(4, 43, 83, .16)); }
.tbh-line__info { min-width: 0; }
.tbh-line__info h2 { font-size: 23px; line-height: 1.15; overflow-wrap: anywhere; }
.tbh-page .tbh-line__info h2 a:hover { color: var(--blue); }
.tbh-line__by { margin-top: 3px; font-size: 17px; font-style: italic; line-height: 1.25; color: var(--muted); }
body.tbh[dir="rtl"] .tbh-line__by { font-style: normal; }
.tbh-line__unit { margin-top: 4px; font-size: 17px; color: var(--muted); }
.tbh-line__unit ins { text-decoration: none; color: var(--oxblood); }
.tbh-line__qty { display: flex; align-items: center; gap: 6px; margin: 0; }
.tbh-qty--small { height: 44px; }
.tbh-qty--small a { width: 36px; }
.tbh-qty--small input { width: 40px; font-size: 19px; }
.tbh-line__update { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: var(--night); color: #fff; cursor: pointer; }
.tbh-line__update.d-none { display: none; }
.tbh-line__update:hover { background: var(--blue); }
.tbh-line__qty-text { font-size: 18px; font-style: italic; color: var(--muted); }
.tbh-line__total { font-size: 22px; font-weight: 500; line-height: 1.15; text-align: end; white-space: nowrap; }
.tbh-line__total span { font-size: 15px; }
.tbh-line__total ins { text-decoration: none; color: var(--oxblood); }
.tbh-line__total del { display: block; color: var(--muted); font-size: 15px; font-weight: 400; }
.tbh-line__remove { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--muted); transition: color .2s ease; }
.tbh-page a.tbh-line__remove:hover { color: var(--oxblood); }
.tbh-line__remove svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.tbh-order__back { margin-top: 18px; }
.tbh-line--wish { grid-template-columns: 80px minmax(0, 1fr) auto auto 44px; }
.tbh-summary { position: sticky; top: 18px; padding: 22px 24px 24px; background: var(--mist); }
.tbh-summary h2 { font-size: 28px; line-height: 1.1; }
.tbh-summary__rows { margin: 14px 0 0; }
.tbh-summary__rows > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding-block: 7px; border-bottom: 1px solid var(--rule); font-size: 19px; }
.tbh-summary__rows dt { font-weight: 400; }
.tbh-summary__rows dd { margin: 0; white-space: nowrap; }
.tbh-summary__total { border-bottom: 0 !important; font-size: 26px !important; font-weight: 500; }
.tbh-summary__total dt { font-weight: 500; }
.tbh-summary__go { display: flex; width: 100%; margin-top: 12px; }
.tbh-coupon { margin-top: 20px; }
.tbh-coupon label { display: block; margin-bottom: 4px; font-size: 18px; font-style: italic; color: var(--muted); }
body.tbh[dir="rtl"] .tbh-coupon label { font-style: normal; }
.tbh-coupon__row { display: flex; gap: 8px; }
.tbh-coupon__row .form-control { flex: 1 1 auto; min-width: 0; width: auto; }
.tbh-button--line { background: transparent; border: 1px solid var(--night); cursor: pointer; }
.tbh-button--line:hover { background: var(--night); color: #fff !important; }
@media (max-width: 991.98px) {
    .tbh-order { grid-template-columns: minmax(0, 1fr); }
    .tbh-summary { position: static; }
}
@media (max-width: 767.98px) {
    .tbh-line, .tbh-line--wish { grid-template-columns: 64px minmax(0, 1fr) 44px; grid-template-areas: "cover info remove" "cover qty total"; gap: 8px 12px; align-items: start; }
    .tbh-line__cover { grid-area: cover; height: 88px; }
    .tbh-line__info { grid-area: info; }
    .tbh-line__info h2 { font-size: 21px; }
    .tbh-line__remove { grid-area: remove; margin-top: -8px; }
    .tbh-line__qty, .tbh-line__qty-text, .tbh-line__add { grid-area: qty; justify-self: start; }
    .tbh-line__total { grid-area: total; grid-column: 3 / 3; justify-self: end; align-self: center; }
    .tbh-line, .tbh-line--wish { grid-template-areas: "cover info info" "cover qty total"; }
    .tbh-line__remove { position: absolute; top: 8px; inset-inline-end: -10px; }
    .tbh-line__info { padding-inline-end: 34px; }
    .tbh-line__total { grid-column: auto; }
}

/* ========== Order received ========== */
.tbh-receipt { padding-block: 30px 72px; }
.tbh-receipt__thanks { font-size: clamp(26px, 1.4vw + 16px, 34px); line-height: 1.15; }
.tbh-receipt__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px 24px; margin: 22px 0 0; padding-block: 16px; border-block: 1px solid var(--night); }
.tbh-receipt__facts dt { font-size: 16px; font-style: italic; font-weight: 400; color: var(--muted); }
.tbh-receipt__facts dd { margin: 0; font-size: 21px; font-weight: 500; }
.tbh-receipt section { margin-top: 30px; }
.tbh-receipt h2 { font-size: 28px; line-height: 1.1; }
.tbh-receipt__items { margin-top: 10px; }
.tbh-receipt__items li { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; padding-block: 9px; border-bottom: 1px solid var(--rule); font-size: 19px; }
.tbh-receipt__name small { display: block; font-size: 16px; font-style: italic; color: var(--muted); }
.tbh-receipt__price { white-space: nowrap; }
.tbh-receipt__addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0 40px; }
.tbh-receipt address { margin-top: 8px; font-size: 19px; font-style: normal; line-height: 1.35; }

/* ========== Forms, tables ========== */
.tbh-lede { max-width: 42em; margin-top: 8px; font-size: 22px; line-height: 1.3; }
.tbh-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin-bottom: 18px; }
.tbh-field--wide { grid-column: 1 / -1; }
.tbh-field label { display: block; margin-bottom: 4px; font-size: 18px; }
.tbh-field label.error, .tbh-forms label.error { margin: 4px 0 0; color: var(--oxblood); font-size: 16px; font-style: italic; }
.tbh-track { padding-block: 28px 72px; }
.tbh-track__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 20px; }
.tbh-track__form .tbh-field { flex: 1 1 280px; }
.tbh-track__form .tbh-button { min-height: 46px; border: 0; cursor: pointer; }
.tbh-table-wrap { margin-top: 28px; overflow-x: auto; }
.tbh-table { width: 100%; border-collapse: collapse; font-size: 19px; }
.tbh-table th { padding: 8px 12px 8px 0; border-bottom: 2px solid var(--night); font-size: 18px; font-style: italic; font-weight: 400; text-align: start; color: var(--muted); }
.tbh-table td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
@media (max-width: 575.98px) {
    .tbh-fields { grid-template-columns: minmax(0, 1fr); }
}

/* Checkout, publishing and the other long forms keep their theme grid: only their surfaces change. */
.tbh-forms { padding-block: 26px 72px; }
.tbh-forms :is(.border, .border-gray-900) { border-color: var(--rule) !important; }
.tbh-forms .form-label, .tbh-forms label { font-size: 18px; color: var(--night); }
.tbh-forms abbr.required { color: var(--oxblood); text-decoration: none; border: 0; }
.tbh-forms .text-danger { color: var(--oxblood) !important; font-size: 16px; }
.tbh-forms h3 { font-size: 26px !important; line-height: 1.15; }
.tbh-forms .woocommerce-info { padding: 12px 16px !important; border: 0 !important; background: var(--mist); font-size: 18px; }
.tbh-forms .woocommerce-info a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.tbh-forms .woocommerce-info::before { display: none; }
.tbh-forms .checkout_coupon { background: #fff; }
.tbh-forms .col2-set > .border, .tbh-forms #checkoutAccordion { background: #fff; }
.tbh-forms #order_review .p-4d875 { padding: 16px 18px !important; }
.tbh-forms #order_review .p-4d875.border { border-width: 0 0 1px !important; }
.tbh-forms #checkoutAccordion { border: 0 !important; background: var(--mist); }
.tbh-forms .checkout-title { font-size: 24px !important; }
.tbh-forms table.shop_table { width: 100%; margin: 0; border: 0; font-size: 18px; }
.tbh-forms table.shop_table :is(th, td) { padding: 5px 0; border: 0; background: none; font-size: inherit; font-weight: 400; vertical-align: top; }
.tbh-forms table.shop_table td:last-child { text-align: end; }
.tbh-forms table.shop_table .order-total :is(th, td, strong) { font-size: 24px; font-weight: 500; }
.tbh-forms #shipping_method, .tbh-forms .payment_methods { margin: 0; padding: 0; list-style: none; }
.tbh-forms #shipping_method li, .tbh-forms .payment_methods li { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 5px 0; }
.tbh-forms :is(#shipping_method, .payment_methods) input[type="radio"] { flex: none; width: 18px; height: 18px; margin: 4px 0 0; accent-color: var(--night); }
.tbh-forms :is(#shipping_method, .payment_methods) label { margin: 0; line-height: 1.3; }
.tbh-forms :is(#shipping_method, .payment_methods) input:disabled + label { color: var(--muted); }
.tbh-forms .payment_methods label img { margin-inline-start: 6px; }
.tbh-forms #place_order, .tbh-forms #sidebarNavTogglerCheckout { min-height: 58px; padding-block: 14px !important; font-size: 23px; }
.tbh-forms #place_order:disabled { opacity: .55; }
body.tbh .social-button { padding-inline-start: 52px; padding-inline-end: 8px; border-radius: 0; font-family: var(--sans); font-size: 12.5px; line-height: 1.2; letter-spacing: 0; text-transform: none; display: flex; align-items: center; }
body.tbh .social-button span { text-transform: none; }
.tbh-forms label.error { display: block; color: var(--oxblood); font-size: 16px; font-style: italic; }
.tbh-sell .btn { min-height: 52px; }

/* ========== Contact ========== */
.tbh-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 30px clamp(32px, 6vw, 96px); padding-block: 34px 60px; }
.tbh-contact h2 { font-size: clamp(30px, 1.2vw + 18px, 38px); line-height: 1.1; }
.tbh-contact__info .tbh-prose { margin-top: 12px; }
.tbh-contact address { margin-top: 18px; font-size: 21px; font-style: normal; }
.tbh-contact__lines { margin-top: 10px; font-size: 21px; }
.tbh-page .tbh-contact__lines a:hover { color: var(--blue); }
.tbh-contact h3 { margin-top: 20px; font-size: 22px; }
.tbh-contact__networks { display: flex; gap: 8px; margin-top: 6px; }
.tbh-contact__networks a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--night); transition: background-color .2s ease, color .2s ease; }
.tbh-page .tbh-contact__networks a:hover { background: var(--night); color: #fff; }
.tbh-contact__form form { margin-top: 14px; }
.tbh-contact__form .tbh-button { border: 0; cursor: pointer; }
.tbh-contact__map { display: block; width: 100%; border: 0; }
body.tbh .modal-content { border: 0; border-radius: 0; }
body.tbh .modal-header { border-color: var(--rule); }
@media (max-width: 767.98px) {
    .tbh-contact { grid-template-columns: minmax(0, 1fr); }
}

/* ========== Stores ========== */
.tbh-stores-page { display: grid; grid-template-columns: minmax(280px, 5fr) minmax(0, 7fr); min-height: 460px; }
.tbh-store-list { padding-inline-start: max(var(--gutter), calc((100vw - 1320px) / 2)); padding-block: 14px; }
.tbh-store { display: block; width: 100%; padding: 16px 18px 16px 0; border: 0; border-bottom: 1px solid var(--rule); background: none; color: var(--night); font-family: var(--serif); font-size: 19px; line-height: 1.3; text-align: start; cursor: pointer; }
.tbh-store strong { display: block; font-size: 26px; font-weight: 500; line-height: 1.15; }
.tbh-store span { display: block; color: var(--muted); }
.tbh-store[aria-pressed="true"] strong { color: var(--blue); }
.tbh-store:hover strong { color: var(--blue); }
.tbh-store-maps iframe { display: block; width: 100%; height: 100%; min-height: 460px; border: 0; }
.tbh-store-maps iframe[hidden] { display: none; }
@media (max-width: 767.98px) {
    .tbh-stores-page { grid-template-columns: minmax(0, 1fr); }
    .tbh-store-list { padding-inline: var(--gutter); }
    .tbh-store-maps iframe { min-height: 340px; }
}

/* ========== About ========== */
.tbh-about { padding-block: 34px 44px; }
.tbh-about__text { max-width: 860px; }
.tbh-prose--lead { font-size: clamp(21px, .6vw + 16px, 25px); line-height: 1.34; }
.tbh-about__text > p { margin-top: 18px; }
.tbh-about__figures { max-width: 860px; }
.tbh-about__band { padding-block: clamp(36px, 4vw, 60px); background: var(--mist); }
.tbh-about__band h2, .tbh-about__section h2 { font-size: clamp(34px, 2vw + 16px, 46px); line-height: 1.06; }
.tbh-about__section { padding-block: clamp(36px, 4vw, 60px); }
.tbh-points { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 22px clamp(20px, 3vw, 44px); margin-top: 22px; }
.tbh-points li { font-size: 19px; line-height: 1.32; }
.tbh-points sup { top: -.5em; margin-inline-end: .3em; font-family: var(--sans); font-size: 12px; font-weight: 500; color: var(--oxblood); }
.tbh-points strong { font-size: 23px; font-weight: 500; line-height: 1.15; }
.tbh-points strong::after { content: ""; display: block; height: 5px; }

/* ========== Legal text, blog ========== */
.tbh-legal { padding-block: 30px 72px; }
.tbh-legal h6 { margin: 26px 0 8px; font-size: 26px !important; line-height: 1.15; }
.tbh-legal :is(p, li) { font-size: 19px !important; line-height: 1.42; }
.tbh-legal ul { padding-inline-start: 22px; }
.tbh-blog .widget { border-color: var(--rule) !important; }
.tbh-blog .title { font-size: 22px !important; }
.tbh-blog img { max-width: 100%; height: auto; }
.tbh-blog a:hover { color: var(--blue); }

/* ========== Side panels ========== */
body.tbh .u-sidebar { font-family: var(--serif); }
body.tbh .u-sidebar :is(input.form-control) { font-family: var(--serif); }
body.tbh .u-sidebar h2 { font-weight: 500; }

/* ========== Page not found ========== */
.tbh-error { margin: 0; }
.tbh-error main { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; padding: 28px 18px; text-align: center; }
.tbh-error__door { position: relative; width: min(58vw, 230px); aspect-ratio: 500 / 620; margin-bottom: 22px; }
.tbh-error__door span { position: absolute; inset: 30% 0 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: clamp(44px, 6vw, 64px); font-weight: 500; }
.tbh-error h1 { margin: 0; font-size: clamp(32px, 2vw + 20px, 48px); line-height: 1.1; color: var(--night); }
.tbh-error p { margin: 10px 0 0; font-size: 21px; color: var(--muted); }
.tbh-error a { color: var(--night); text-decoration: none; }
.tbh-error .tbh-link { text-decoration: underline; }
.tbh-error__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; margin-top: 22px !important; }

/* The real photographs of the house. */
.tbh-house__photo { position: absolute; inset-inline-start: 13.2%; bottom: 0; width: 73.6%; height: 89%; object-fit: cover; object-position: 42% 74%; border-radius: 50% 50% 0 0 / 33.2% 33.2% 0 0; }
.tbh-about__photo { margin: 0; }
.tbh-about__photo img { display: block; width: 100%; height: clamp(220px, 34vw, 480px); object-fit: cover; object-position: center 62%; }
.tbh-store-side { display: flex; flex-direction: column; }
.tbh-store-photo { width: calc(100% - 18px); max-width: 420px; aspect-ratio: 4 / 3; margin-block: 8px 24px; margin-inline-start: max(var(--gutter), calc((100vw - 1320px) / 2)); object-fit: cover; object-position: center 52%; }
@media (max-width: 767.98px) {
    .tbh-store-photo { width: auto; margin-inline: var(--gutter); max-width: none; }
}

/* Messages after an action. */
body.tbh .alert { margin: 0; border: 0; }
body.tbh .alert-danger { background: #f6e6e8; color: var(--oxblood); }
body.tbh .alert-success { background: var(--mist); color: var(--night); }
